mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-06-24 23:43:50 +08:00
7635 lines
828 KiB
JSON
7635 lines
828 KiB
JSON
{
|
|
"ai_chat.builtin_tools.database.execute_sql.desc": "Execute a SQL query and return results",
|
|
"ai_chat.builtin_tools.database.execute_sql.detail": "Pass connectionId, dbName, and sql, then execute SQL on the target database and return results (up to 50 rows). Controlled by safety level; read-only mode only allows SELECT/SHOW/DESCRIBE.",
|
|
"ai_chat.builtin_tools.database.execute_sql.parameters.connectionId.description": "Connection ID",
|
|
"ai_chat.builtin_tools.database.execute_sql.parameters.dbName.description": "Database name",
|
|
"ai_chat.builtin_tools.database.execute_sql.parameters.sql.description": "SQL statement to execute",
|
|
"ai_chat.builtin_tools.database.execute_sql.params": "connectionId, dbName, sql",
|
|
"ai_chat.builtin_tools.database.execute_sql.tool_description": "Execute SQL on the specified connection and database and return results. Controlled by safety level; read-only mode only allows query operations such as SELECT/SHOW/DESCRIBE. Results return at most 50 rows.",
|
|
"ai_chat.builtin_tools.database.get_all_columns.desc": "Get field summaries for all tables in a database",
|
|
"ai_chat.builtin_tools.database.get_all_columns.detail": "Pass connectionId and dbName, then return a cross-table field list including table name, field name, type, and comment. Useful when the user knows a business field but not which table contains it.",
|
|
"ai_chat.builtin_tools.database.get_all_columns.parameters.connectionId.description": "Connection ID",
|
|
"ai_chat.builtin_tools.database.get_all_columns.parameters.dbName.description": "Database name",
|
|
"ai_chat.builtin_tools.database.get_all_columns.params": "connectionId, dbName",
|
|
"ai_chat.builtin_tools.database.get_all_columns.tool_description": "Get field summaries for all tables in the specified database, returning table names, field names, types, and comments. Use it for field-to-table lookup, cross-table field comparison, and data map exploration.",
|
|
"ai_chat.builtin_tools.database.get_columns.desc": "Get the field structure of a specified table",
|
|
"ai_chat.builtin_tools.database.get_columns.detail": "Pass connectionId, dbName, and tableName, then return each field's name, type, nullability, default value, and comment. AI must call this before generating SQL to confirm real field names.",
|
|
"ai_chat.builtin_tools.database.get_columns.parameters.connectionId.description": "Connection ID",
|
|
"ai_chat.builtin_tools.database.get_columns.parameters.dbName.description": "Database name",
|
|
"ai_chat.builtin_tools.database.get_columns.parameters.tableName.description": "Table name",
|
|
"ai_chat.builtin_tools.database.get_columns.params": "connectionId, dbName, tableName",
|
|
"ai_chat.builtin_tools.database.get_columns.tool_description": "Get the field list of the specified table, including field name, type, nullability, default value, comment, and related metadata. Before generating SQL, call this tool to confirm real field names and do not guess field names.",
|
|
"ai_chat.builtin_tools.database.get_connections.desc": "Get all available database connections",
|
|
"ai_chat.builtin_tools.database.get_connections.detail": "Returns connection ID, name, type (such as MySQL or PostgreSQL), and Host address. AI uses the returned data to decide which connection to explore first.",
|
|
"ai_chat.builtin_tools.database.get_connections.params": "No parameters",
|
|
"ai_chat.builtin_tools.database.get_connections.tool_description": "When database querying or operations are needed but the user has not selected any connection context, get all database connections available in the current app. Returned data includes connection ID (id) and name (name).",
|
|
"ai_chat.builtin_tools.database.get_databases.desc": "Get all databases under a specified connection",
|
|
"ai_chat.builtin_tools.database.get_databases.detail": "Pass connectionId and return the database or Schema name list under that connection.",
|
|
"ai_chat.builtin_tools.database.get_databases.parameters.connectionId.description": "Connection ID (from get_connections)",
|
|
"ai_chat.builtin_tools.database.get_databases.params": "connectionId: connection ID",
|
|
"ai_chat.builtin_tools.database.get_databases.tool_description": "Get all database (Database/Schema) names under the specified connectionId.",
|
|
"ai_chat.builtin_tools.database.get_foreign_keys.desc": "Get foreign-key relationships for a specified table",
|
|
"ai_chat.builtin_tools.database.get_foreign_keys.detail": "Pass connectionId, dbName, and tableName, then return foreign-key mappings from the current table to other tables. AI can use it directly for relationship inference, join SQL generation, and data consistency review.",
|
|
"ai_chat.builtin_tools.database.get_foreign_keys.parameters.connectionId.description": "Connection ID",
|
|
"ai_chat.builtin_tools.database.get_foreign_keys.parameters.dbName.description": "Database name",
|
|
"ai_chat.builtin_tools.database.get_foreign_keys.parameters.tableName.description": "Table name",
|
|
"ai_chat.builtin_tools.database.get_foreign_keys.params": "connectionId, dbName, tableName",
|
|
"ai_chat.builtin_tools.database.get_foreign_keys.tool_description": "Get foreign-key relationships for the specified table, including local fields, referenced table, referenced fields, and constraint names. Use it for join-path analysis, ER relationship mapping, and constraint checks.",
|
|
"ai_chat.builtin_tools.database.get_indexes.desc": "Get index definitions for a specified table",
|
|
"ai_chat.builtin_tools.database.get_indexes.detail": "Pass connectionId, dbName, and tableName, then return index name, index columns, uniqueness, and index type. AI should prefer this for slow SQL analysis, index optimization, and execution-plan inference.",
|
|
"ai_chat.builtin_tools.database.get_indexes.parameters.connectionId.description": "Connection ID",
|
|
"ai_chat.builtin_tools.database.get_indexes.parameters.dbName.description": "Database name",
|
|
"ai_chat.builtin_tools.database.get_indexes.parameters.tableName.description": "Table name",
|
|
"ai_chat.builtin_tools.database.get_indexes.params": "connectionId, dbName, tableName",
|
|
"ai_chat.builtin_tools.database.get_indexes.tool_description": "Get index definitions for the specified table, including index name, column order, uniqueness, and index type. Use it for slow SQL analysis, index optimization suggestions, and confirming existing index coverage.",
|
|
"ai_chat.builtin_tools.database.get_table_ddl.desc": "Get the table creation statement (DDL)",
|
|
"ai_chat.builtin_tools.database.get_table_ddl.detail": "Pass connectionId, dbName, and tableName, then return the complete CREATE TABLE statement, including field definitions, indexes, constraints, and related structure details.",
|
|
"ai_chat.builtin_tools.database.get_table_ddl.parameters.connectionId.description": "Connection ID",
|
|
"ai_chat.builtin_tools.database.get_table_ddl.parameters.dbName.description": "Database name",
|
|
"ai_chat.builtin_tools.database.get_table_ddl.parameters.tableName.description": "Table name",
|
|
"ai_chat.builtin_tools.database.get_table_ddl.params": "connectionId, dbName, tableName",
|
|
"ai_chat.builtin_tools.database.get_table_ddl.tool_description": "Get the complete table creation statement (CREATE TABLE DDL) for the specified table, including fields, indexes, constraints, and complete structure information.",
|
|
"ai_chat.builtin_tools.database.get_tables.desc": "Get all table names under a specified database",
|
|
"ai_chat.builtin_tools.database.get_tables.detail": "Pass connectionId and dbName, then return a table name list. AI uses it to locate the target table mentioned by the user.",
|
|
"ai_chat.builtin_tools.database.get_tables.parameters.connectionId.description": "Connection ID",
|
|
"ai_chat.builtin_tools.database.get_tables.parameters.dbName.description": "Database name",
|
|
"ai_chat.builtin_tools.database.get_tables.params": "connectionId, dbName",
|
|
"ai_chat.builtin_tools.database.get_tables.tool_description": "After the target connection and database name are known, if the user asks about a table or implicitly mentions one but the exact table name is unknown, call this tool to get all table names in that database (table names only) and infer the target table.",
|
|
"ai_chat.builtin_tools.database.get_triggers.desc": "Get trigger definitions for a specified table",
|
|
"ai_chat.builtin_tools.database.get_triggers.detail": "Pass connectionId, dbName, and tableName, then return trigger name, timing, event type, and statement body. AI can inspect it directly when analyzing implicit writes, side effects, and audit logic.",
|
|
"ai_chat.builtin_tools.database.get_triggers.parameters.connectionId.description": "Connection ID",
|
|
"ai_chat.builtin_tools.database.get_triggers.parameters.dbName.description": "Database name",
|
|
"ai_chat.builtin_tools.database.get_triggers.parameters.tableName.description": "Table name",
|
|
"ai_chat.builtin_tools.database.get_triggers.params": "connectionId, dbName, tableName",
|
|
"ai_chat.builtin_tools.database.get_triggers.tool_description": "Get trigger definitions for the specified table, including timing, event, and trigger statement. Use it to investigate implicit data changes, audit logic, and table-level side effects.",
|
|
"ai_chat.builtin_tools.database.inspect_database_bundle.desc": "Capture a structure overview for a specified database",
|
|
"ai_chat.builtin_tools.database.inspect_database_bundle.detail": "Pass connectionId and dbName, then return table list, table count, total field count, and per-table field summary preview. Useful for first-pass exploration of an unfamiliar database before drilling into target tables.",
|
|
"ai_chat.builtin_tools.database.inspect_database_bundle.parameters.connectionId.description": "Connection ID",
|
|
"ai_chat.builtin_tools.database.inspect_database_bundle.parameters.dbName.description": "Database name",
|
|
"ai_chat.builtin_tools.database.inspect_database_bundle.parameters.includeColumns.description": "Optional. Whether to include per-table field summaries. Default true.",
|
|
"ai_chat.builtin_tools.database.inspect_database_bundle.parameters.perTableColumnLimit.description": "Optional. Maximum field summaries per table. Default 8, maximum 30.",
|
|
"ai_chat.builtin_tools.database.inspect_database_bundle.parameters.tableLimit.description": "Optional. Maximum tables to return. Default 80, maximum 200.",
|
|
"ai_chat.builtin_tools.database.inspect_database_bundle.params": "connectionId, dbName, includeColumns?, tableLimit?, perTableColumnLimit?",
|
|
"ai_chat.builtin_tools.database.inspect_database_bundle.tool_description": "Get a structure overview for the specified database, returning table name list, total field count, and per-table field summary preview. Use it for unfamiliar database exploration, data mapping, and quickly choosing the next table to analyze deeply.",
|
|
"ai_chat.builtin_tools.database.inspect_table_bundle.desc": "Capture a structure snapshot for a specified table",
|
|
"ai_chat.builtin_tools.database.inspect_table_bundle.detail": "Pass connectionId, dbName, and tableName, then return columns, indexes, foreign keys, triggers, and DDL; sample rows can also be included. Useful before writing SQL, reviewing table design, or investigating side effects.",
|
|
"ai_chat.builtin_tools.database.inspect_table_bundle.parameters.connectionId.description": "Connection ID",
|
|
"ai_chat.builtin_tools.database.inspect_table_bundle.parameters.dbName.description": "Database name",
|
|
"ai_chat.builtin_tools.database.inspect_table_bundle.parameters.includeSampleRows.description": "Optional. Whether to include sample rows.",
|
|
"ai_chat.builtin_tools.database.inspect_table_bundle.parameters.sampleLimit.description": "Optional. Sample row count. Default 10, maximum 100.",
|
|
"ai_chat.builtin_tools.database.inspect_table_bundle.parameters.tableName.description": "Table name",
|
|
"ai_chat.builtin_tools.database.inspect_table_bundle.params": "connectionId, dbName, tableName, includeSampleRows?, sampleLimit?",
|
|
"ai_chat.builtin_tools.database.inspect_table_bundle.tool_description": "Get a complete structure snapshot for the specified table, returning columns, indexes, foreign keys, triggers, DDL, and optional sample rows. Use it for full table-design exploration, quickly understanding table relationships, and reducing repeated round trips.",
|
|
"ai_chat.builtin_tools.database.preview_table_rows.desc": "Preview the first rows of a specified table",
|
|
"ai_chat.builtin_tools.database.preview_table_rows.detail": "Pass connectionId, dbName, tableName, and optional limit, then return real sample rows from the table. Use it to inspect data shape, null distribution, and enum values before deciding how to write SQL.",
|
|
"ai_chat.builtin_tools.database.preview_table_rows.parameters.connectionId.description": "Connection ID",
|
|
"ai_chat.builtin_tools.database.preview_table_rows.parameters.dbName.description": "Database name",
|
|
"ai_chat.builtin_tools.database.preview_table_rows.parameters.limit.description": "Optional. Preview row count. Default 20, maximum 100.",
|
|
"ai_chat.builtin_tools.database.preview_table_rows.parameters.tableName.description": "Table name",
|
|
"ai_chat.builtin_tools.database.preview_table_rows.params": "connectionId, dbName, tableName, limit?",
|
|
"ai_chat.builtin_tools.database.preview_table_rows.tool_description": "Preview sample rows from the specified table. Use it to quickly understand field value shapes, nulls, time formats, and status enums, reducing blind SQL generation by the model.",
|
|
"ai_chat.builtin_tools.flows.active_tab.description": "Read the current editor SQL draft or table tab before field checks, index analysis, and read-only verification.",
|
|
"ai_chat.builtin_tools.flows.active_tab.title": "Read the current tab",
|
|
"ai_chat.builtin_tools.flows.ai_context.description": "Confirm which table structures are attached to the current conversation before field checks, table design review, or SQL generation.",
|
|
"ai_chat.builtin_tools.flows.ai_context.title": "Inspect current AI context",
|
|
"ai_chat.builtin_tools.flows.ai_runtime.description": "Confirm the current model, safety level, context level, Skills, and MCP tools before choosing a probe chain.",
|
|
"ai_chat.builtin_tools.flows.ai_runtime.title": "Inspect current AI capabilities",
|
|
"ai_chat.builtin_tools.flows.ai_sessions.description": "Locate previous AI sessions, first user questions, and recent replies before reusing the current tab or historical SQL context.",
|
|
"ai_chat.builtin_tools.flows.ai_sessions.title": "Review AI chat history",
|
|
"ai_chat.builtin_tools.flows.ai_setup_health.description": "Get an AI configuration health snapshot first, then decide whether to drill into providers, chat readiness, MCP, prompts, Skills, or context.",
|
|
"ai_chat.builtin_tools.flows.ai_setup_health.title": "One-shot AI setup health check",
|
|
"ai_chat.builtin_tools.flows.app_health_overview.description": "Use when AI instability, connection issues, MCP issues, or message rendering problems overlap and an overall health snapshot is needed first.",
|
|
"ai_chat.builtin_tools.flows.app_health_overview.title": "AI app health overview",
|
|
"ai_chat.builtin_tools.flows.app_logs.description": "Review ERROR/WARN lines from the gonavi.log tail, then combine MCP, connection, and current data source state for diagnosis.",
|
|
"ai_chat.builtin_tools.flows.app_logs.title": "Troubleshoot application logs",
|
|
"ai_chat.builtin_tools.flows.chat_readiness.description": "Check which chat input prerequisites are missing, such as active provider, key, endpoint, or selected model, instead of guessing from UI symptoms.",
|
|
"ai_chat.builtin_tools.flows.chat_readiness.title": "Troubleshoot chat send readiness",
|
|
"ai_chat.builtin_tools.flows.choose_tool_route.description": "Use keywords to decide which built-in probes to call, how to fill tool arguments, and whether external MCP tools are available.",
|
|
"ai_chat.builtin_tools.flows.choose_tool_route.title": "Choose an AI tool route",
|
|
"ai_chat.builtin_tools.flows.codebase_hotspots.description": "Use before splitting thousand-line components, choosing the next refactor slice, or changing UI/AI/MCP code to inspect split hotspots, risk, and validation scope.",
|
|
"ai_chat.builtin_tools.flows.codebase_hotspots.title": "Govern large frontend files",
|
|
"ai_chat.builtin_tools.flows.connection_capabilities.description": "Check whether the current connection supports database creation/deletion, result editing, SQL export, or approximate counts.",
|
|
"ai_chat.builtin_tools.flows.connection_capabilities.title": "Check data-source capability boundaries",
|
|
"ai_chat.builtin_tools.flows.connection_failures.description": "When connection failures, cooldown, or validation failures appear, get structured root cause, latest address, and next actions first.",
|
|
"ai_chat.builtin_tools.flows.connection_failures.title": "Troubleshoot connection failures and cooldown",
|
|
"ai_chat.builtin_tools.flows.context_budget.description": "When AI slows down, answers poorly, or context is too large, inspect messages, DDL, MCP schema, prompts, and Skills before narrowing context.",
|
|
"ai_chat.builtin_tools.flows.context_budget.title": "Diagnose AI context size",
|
|
"ai_chat.builtin_tools.flows.current_connection.description": "Confirm the active data source type, address, current database, and SSH/proxy status before database exploration or connection troubleshooting.",
|
|
"ai_chat.builtin_tools.flows.current_connection.title": "Inspect current connection",
|
|
"ai_chat.builtin_tools.flows.database_overview.description": "Start by seeing which tables exist and what fields they roughly contain, then drill into target tables with snapshots.",
|
|
"ai_chat.builtin_tools.flows.database_overview.title": "Quick database overview",
|
|
"ai_chat.builtin_tools.flows.deep_structure.description": "Use for index optimization, relationship mapping, implicit side-effect investigation, and DDL review.",
|
|
"ai_chat.builtin_tools.flows.deep_structure.title": "Deep-dive structure",
|
|
"ai_chat.builtin_tools.flows.docker_mcp.description": "Use when Docker README setup discovers 0 tools, containers exit immediately, or docker run arguments may be split incorrectly.",
|
|
"ai_chat.builtin_tools.flows.docker_mcp.title": "Troubleshoot Docker MCP startup",
|
|
"ai_chat.builtin_tools.flows.external_sql_dirs.description": "Confirm configured external SQL directories, their connection/database bindings, and where an opened SQL file comes from before analyzing scripts.",
|
|
"ai_chat.builtin_tools.flows.external_sql_dirs.title": "Inventory external SQL directories",
|
|
"ai_chat.builtin_tools.flows.external_sql_file.description": "Locate a script path, read SQL file content from the directory, and combine it with the active tab draft if already opened.",
|
|
"ai_chat.builtin_tools.flows.external_sql_file.title": "Read external SQL files",
|
|
"ai_chat.builtin_tools.flows.field_lookup_table.description": "Use when only a field name, business meaning, or comment keyword is known, but the exact table is still unclear.",
|
|
"ai_chat.builtin_tools.flows.field_lookup_table.title": "Find tables by field",
|
|
"ai_chat.builtin_tools.flows.locate_table_fields.description": "Find the connection, database, and table first, then confirm real field names before generating SQL.",
|
|
"ai_chat.builtin_tools.flows.locate_table_fields.title": "Locate tables and fields",
|
|
"ai_chat.builtin_tools.flows.mcp_authoring.description": "Read real field descriptions, templates, and full-command splitting rules before validating pasted commands or drafts.",
|
|
"ai_chat.builtin_tools.flows.mcp_authoring.title": "New MCP authoring guide",
|
|
"ai_chat.builtin_tools.flows.mcp_setup.description": "Confirm configured and enabled MCP services and external client write status, then use MCP runtime failure logs to explain missing tools.",
|
|
"ai_chat.builtin_tools.flows.mcp_setup.title": "Troubleshoot MCP access status",
|
|
"ai_chat.builtin_tools.flows.mcp_tool_parameters.description": "Find the real discovered MCP tool alias first, then read inputSchema, required fields, enums, and nested parameter paths.",
|
|
"ai_chat.builtin_tools.flows.mcp_tool_parameters.title": "Inspect MCP tool parameters",
|
|
"ai_chat.builtin_tools.flows.message_flow.description": "Read the real current-session message structure and anomaly signals when replies split into bubbles, tool calls do not close, or flow state looks wrong.",
|
|
"ai_chat.builtin_tools.flows.message_flow.title": "Diagnose AI message flow",
|
|
"ai_chat.builtin_tools.flows.prompts_skills.description": "Confirm current custom prompts, enabled Skills, dependency tools, and effective scope before explaining current AI behavior.",
|
|
"ai_chat.builtin_tools.flows.prompts_skills.title": "Inspect current prompts and Skills",
|
|
"ai_chat.builtin_tools.flows.providers_models.description": "Confirm which providers are configured and active, whether keys or models are missing, and why chat cannot send or model lists are empty.",
|
|
"ai_chat.builtin_tools.flows.providers_models.title": "Troubleshoot providers and models",
|
|
"ai_chat.builtin_tools.flows.readonly_validation.description": "After generating SQL, validate results on a small scope while still respecting the AI safety level.",
|
|
"ai_chat.builtin_tools.flows.readonly_validation.title": "Read-only validation",
|
|
"ai_chat.builtin_tools.flows.recent_sql_activity.description": "Check whether recent activity is mostly read or write, whether DDL or deletes occurred, and which database has the most recent errors.",
|
|
"ai_chat.builtin_tools.flows.recent_sql_activity.title": "Summarize recent SQL activity",
|
|
"ai_chat.builtin_tools.flows.recent_sql_logs.description": "Trace recently failed SQL, slow query duration, or let AI explain and optimize based on real execution history.",
|
|
"ai_chat.builtin_tools.flows.recent_sql_logs.title": "Review recent execution records",
|
|
"ai_chat.builtin_tools.flows.redis_topology.description": "Use for Redis Sentinel, Cluster, multi-node, DB switch failures, or SSH tunnel issues to get status, redacted URI, adapter, DB semantics, and next actions.",
|
|
"ai_chat.builtin_tools.flows.redis_topology.title": "Diagnose Redis topology",
|
|
"ai_chat.builtin_tools.flows.remote_agent_mcp.description": "Use when OpenClaw/Hermans run on cloud Linux while database connections and passwords stay on the Windows GoNavi machine.",
|
|
"ai_chat.builtin_tools.flows.remote_agent_mcp.title": "Connect remote Agents to GoNavi MCP",
|
|
"ai_chat.builtin_tools.flows.render_error.description": "Use when an AI message is blank or a bubble fails locally while the panel stays alive; read the isolated render-error snapshot first.",
|
|
"ai_chat.builtin_tools.flows.render_error.title": "Troubleshoot AI bubble render errors",
|
|
"ai_chat.builtin_tools.flows.safety_boundary.description": "Check whether the current state is read-only, whether DDL/DML is allowed, and whether MCP writes require allowMutating.",
|
|
"ai_chat.builtin_tools.flows.safety_boundary.title": "Check write safety boundaries",
|
|
"ai_chat.builtin_tools.flows.sample_data.description": "Confirm fields first, then inspect the first real sample rows and null patterns.",
|
|
"ai_chat.builtin_tools.flows.sample_data.title": "Understand sample data",
|
|
"ai_chat.builtin_tools.flows.saved_connections.description": "Filter locally saved data sources by keyword or type, then inspect the chosen connection state or database structure.",
|
|
"ai_chat.builtin_tools.flows.saved_connections.title": "Inventory local connection assets",
|
|
"ai_chat.builtin_tools.flows.saved_queries.description": "Find locally saved query scripts first, then check fields and run read-only validation instead of rewriting old SQL manually.",
|
|
"ai_chat.builtin_tools.flows.saved_queries.title": "Reuse saved SQL",
|
|
"ai_chat.builtin_tools.flows.shortcuts.description": "Confirm current Win/Mac shortcuts, customizations, and how to trigger result panel, AI panel, query execution, and related actions.",
|
|
"ai_chat.builtin_tools.flows.shortcuts.title": "Inspect current shortcut configuration",
|
|
"ai_chat.builtin_tools.flows.sql_editor_transaction.description": "Confirm whether SQL editor DML enters a managed transaction, current commit mode, pending transactions, and commit semantics after update/insert/delete.",
|
|
"ai_chat.builtin_tools.flows.sql_editor_transaction.title": "Check SQL editor transactions",
|
|
"ai_chat.builtin_tools.flows.sql_risk.description": "Before execution, deletion, update, DDL, or batch SQL, check statement count, write/DDL risk, WHERE clauses, and current safety policy.",
|
|
"ai_chat.builtin_tools.flows.sql_risk.title": "Pre-check SQL risk",
|
|
"ai_chat.builtin_tools.flows.sql_snippets.description": "Find team SQL snippet templates, completion prefixes, and common skeletons before deciding whether to rewrite.",
|
|
"ai_chat.builtin_tools.flows.sql_snippets.title": "Find SQL snippet templates",
|
|
"ai_chat.builtin_tools.flows.support_bundle.description": "Use when troubleshooting evidence needs to be collected at once, without secrets or database passwords.",
|
|
"ai_chat.builtin_tools.flows.support_bundle.title": "Export AI troubleshooting support bundle",
|
|
"ai_chat.builtin_tools.flows.table_snapshot.description": "Return columns, indexes, foreign keys, triggers, and DDL in one call; sample rows can be included when needed to reduce round trips.",
|
|
"ai_chat.builtin_tools.flows.table_snapshot.title": "One-shot table snapshot",
|
|
"ai_chat.builtin_tools.flows.upstream_request.description": "Read redacted gonavi.log request records when the user needs upstream payloads, requestId, status codes, latency, or request body previews.",
|
|
"ai_chat.builtin_tools.flows.upstream_request.title": "Trace AI upstream requests",
|
|
"ai_chat.builtin_tools.flows.workspace_tabs.description": "See which SQL, table, or command tabs are open, then inspect the target tab for field checks, comparisons, and read-only validation.",
|
|
"ai_chat.builtin_tools.flows.workspace_tabs.title": "Inventory the current workspace",
|
|
"ai_chat.composer_notice.missing_model.description": "Öffnen Sie unten die Modellauswahl und wählen Sie ein Modell. Wenn die Liste leer ist, prüfen Sie Anbieter-Endpunkt und API Key.",
|
|
"ai_chat.composer_notice.missing_model.title": "Zuerst ein Modell auswählen",
|
|
"ai_chat.composer_notice.missing_provider.description": "Fügen Sie zuerst in den AI-Einstellungen einen Modellanbieter hinzu und aktivieren Sie ihn.",
|
|
"ai_chat.composer_notice.missing_provider.title": "Kein Anbieter verfügbar",
|
|
"ai_chat.composer_notice.model_fetch_failed.default_description": "Prüfen Sie Anbieter-Endpunkt, API Key oder Kontoberechtigungen und öffnen Sie danach die Modellauswahl erneut.",
|
|
"ai_chat.composer_notice.model_fetch_failed.detail_description": "Anbieterdetail: {{detail}}",
|
|
"ai_chat.composer_notice.model_fetch_failed.title": "Modellliste konnte nicht geladen werden",
|
|
"ai_chat.header.action.export": "Exportieren",
|
|
"ai_chat.header.default_session_title": "Neuer Chat",
|
|
"ai_chat.header.export_time": "Exportiert am:",
|
|
"ai_chat.header.export_user": "Sie",
|
|
"ai_chat.header.mode_tabs.aria_label": "AI-Arbeitsmodus",
|
|
"ai_chat.header.mode.chat": "Chat",
|
|
"ai_chat.header.mode.history": "Verlauf",
|
|
"ai_chat.header.mode.insights": "Auto-Insights",
|
|
"ai_chat.header.session.connected": "{{title}} · Verbunden",
|
|
"ai_chat.header.tooltip.close": "Panel schließen",
|
|
"ai_chat.header.tooltip.export_markdown": "Als Markdown exportieren",
|
|
"ai_chat.header.tooltip.history": "Chatverlauf",
|
|
"ai_chat.header.tooltip.new_chat": "Neuer Chat",
|
|
"ai_chat.header.tooltip.new_chat_clear": "Neuer Chat (aktuellen Inhalt leeren)",
|
|
"ai_chat.header.tooltip.settings": "AI-Einstellungen",
|
|
"ai_chat.history.action.new_chat": "Neuen Chat starten",
|
|
"ai_chat.history.default_session_title": "Neuer Chat",
|
|
"ai_chat.history.empty.no_history": "Noch kein Verlauf",
|
|
"ai_chat.history.empty.no_matches": "Keine passenden Chats",
|
|
"ai_chat.history.search.placeholder": "Verlauf suchen...",
|
|
"ai_chat.history.title": "Chatverlauf",
|
|
"ai_chat.history.tooltip.collapse": "Einklappen",
|
|
"ai_chat.history.tooltip.delete": "Löschen",
|
|
"ai_chat.input.action.send": "Senden",
|
|
"ai_chat.input.action.stop": "Generierung stoppen",
|
|
"ai_chat.input.attachment.excel.worksheet_header": "[Arbeitsblatt: {{sheetName}}]",
|
|
"ai_chat.input.attachment.kind.document": "Datei",
|
|
"ai_chat.input.attachment.kind.excel": "Excel",
|
|
"ai_chat.input.attachment.kind.file": "Datei",
|
|
"ai_chat.input.attachment.kind.image": "Bild",
|
|
"ai_chat.input.attachment.kind.markdown": "Markdown",
|
|
"ai_chat.input.attachment.kind.pdf": "PDF",
|
|
"ai_chat.input.attachment.kind.text": "Text",
|
|
"ai_chat.input.attachment.kind.word": "Word",
|
|
"ai_chat.input.attachment.message.read_failed": "Der Anhang {{name}} konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.input.attachment.message.warning": "{{name}}: {{message}}",
|
|
"ai_chat.input.attachment.prompt.content_truncated": "[Anhangtext gekürzt]",
|
|
"ai_chat.input.attachment.prompt.default_user_content": "Bitte bearbeiten Sie das Anliegen auf Basis der folgenden Anhanginhalte weiter.",
|
|
"ai_chat.input.attachment.prompt.extract_warning": "- Extraktionshinweis: {{message}}",
|
|
"ai_chat.input.attachment.prompt.heading": "### Anhang {{index}}: {{name}}",
|
|
"ai_chat.input.attachment.prompt.kind": "- Typ: {{kind}}",
|
|
"ai_chat.input.attachment.prompt.mime": "- MIME: {{mimeType}}",
|
|
"ai_chat.input.attachment.prompt.no_text": "Es wurde kein sendbarer Anhangtext extrahiert.",
|
|
"ai_chat.input.attachment.prompt.size": "- Größe: {{size}}",
|
|
"ai_chat.input.attachment.prompt.text_truncated": "- Extraktionshinweis: Der Textinhalt war zu lang und wurde vor dem Senden gekürzt.",
|
|
"ai_chat.input.attachment.prompt.wrapper_end": "</Vom Benutzer hochgeladene Anhänge>",
|
|
"ai_chat.input.attachment.prompt.wrapper_start": "<Vom Benutzer hochgeladene Anhänge>",
|
|
"ai_chat.input.attachment.remove_file": "Anhang entfernen",
|
|
"ai_chat.input.attachment.remove_image": "Bild entfernen",
|
|
"ai_chat.input.attachment.warning.extract_failed": "Das Extrahieren des Anhanginhalts ist fehlgeschlagen: {{detail}}",
|
|
"ai_chat.input.attachment.warning.legacy_office_partial_text": "Für ältere Office-Binärformate wird nur eine leichte Textfragment-Extraktion verwendet; konvertieren Sie die Datei vor dem Hochladen in docx/xlsx, um vollständigere Inhalte zu erhalten.",
|
|
"ai_chat.input.attachment.warning.pdf_no_text": "Aus der PDF konnte kein lesbarer Text extrahiert werden. Wenn es sich um einen Scan oder eine PDF mit komplexer Kodierung handelt, kopieren Sie den Inhalt bitte vor dem Senden.",
|
|
"ai_chat.input.attachment.warning.pdf_partial_text": "Für die PDF wurde eine leichte Textextraktion verwendet; Inhalte aus Scans oder mit komprimierten Schriftarten lassen sich möglicherweise nicht vollständig lesen.",
|
|
"ai_chat.input.attachment.warning.too_large": "Die Datei überschreitet {{size}}; Dateiinformationen wurden angehängt, der Inhalt wurde jedoch nicht gelesen.",
|
|
"ai_chat.input.attachment.warning.unsupported_type": "Dieser Dateityp wurde angehängt, aber der Textinhalt wurde noch nicht extrahiert. Wenn das Modell den Inhalt analysieren soll, verwenden Sie markdown, txt, docx, xlsx oder pdf.",
|
|
"ai_chat.input.context.add": "Hinzufügen",
|
|
"ai_chat.input.context.connection_tooltip": "Aktueller Datenabfragekontext",
|
|
"ai_chat.input.context.current_count": "Aktueller Kontext · {{count}}",
|
|
"ai_chat.input.context.label": "Verknüpfter Kontext",
|
|
"ai_chat.input.context.memory_tooltip": "Aktuelle Speichernutzung der Sitzung. Bei Erreichen der Grenze von {{limit}} startet die automatische Komprimierung.",
|
|
"ai_chat.input.context.selector.cancel": "Abbrechen",
|
|
"ai_chat.input.context.selector.confirm": "Ausgewählte Tabellen in den Kontext übernehmen",
|
|
"ai_chat.input.context.selector.database_placeholder": "Datenbank wechseln",
|
|
"ai_chat.input.context.selector.empty_no_match": "Keine Tabellen gefunden, die zu '{{searchText}}' passen",
|
|
"ai_chat.input.context.selector.empty_no_tables": "In der aktuellen Datenbank sind keine verknüpfbaren Tabellen verfügbar",
|
|
"ai_chat.input.context.selector.invert_selection": "Treffer-Auswahl umkehren",
|
|
"ai_chat.input.context.selector.search_placeholder": "Tabellennamen in der aktuellen Datenbank suchen...",
|
|
"ai_chat.input.context.selector.select_all": "Alle passenden Tabellen auswählen ({{count}})",
|
|
"ai_chat.input.context.selector.title": "Tabellenstrukturen als Kontext verknüpfen",
|
|
"ai_chat.input.context.tag_label": "Verknüpfter Kontext ({{count}})",
|
|
"ai_chat.input.message.context_added": "{{count}} Tabellenstrukturen zum Kontext hinzugefügt",
|
|
"ai_chat.input.message.context_load_failed": "Tabellenkontext konnte nicht geladen werden: {{detail}}",
|
|
"ai_chat.input.message.context_removed": "{{count}} Tabellenstrukturen aus dem Kontext entfernt",
|
|
"ai_chat.input.message.context_sync_failed": "Der AI-Kontext konnte nicht synchronisiert werden: {{detail}}",
|
|
"ai_chat.input.message.context_synced": "Kontext synchronisiert: hinzugefügt {{added}}, entfernt {{removed}}",
|
|
"ai_chat.input.message.fetch_table_schema_failed": "Struktur für {{table}} konnte nicht geladen werden: {{detail}}",
|
|
"ai_chat.input.message.fetch_tables_failed": "Tabellen konnten nicht geladen werden: {{detail}}",
|
|
"ai_chat.input.message.select_database_context_first": "Wählen Sie links eine Datenbank aus, bevor Sie Chatkontext anhängen",
|
|
"ai_chat.input.message.selection_unchanged": "Die ausgewählten Tabellen wurden nicht geändert",
|
|
"ai_chat.input.modal.empty_tables": "Keine Tabellen passen zu \"{{query}}\"",
|
|
"ai_chat.input.modal.invert_matching": "Passende Ergebnisse umkehren",
|
|
"ai_chat.input.modal.ok": "Ausgewählte Tabellen mit Kontext synchronisieren",
|
|
"ai_chat.input.modal.search_table.placeholder": "Tabellen in der aktuellen Datenbank suchen...",
|
|
"ai_chat.input.modal.select_all_matching": "Alle passenden Tabellen auswählen ({{count}})",
|
|
"ai_chat.input.modal.switch_database.placeholder": "Datenbank wechseln",
|
|
"ai_chat.input.modal.title": "Datenbanktabellen-Schemakontext anhängen",
|
|
"ai_chat.input.model.placeholder": "Modell auswählen",
|
|
"ai_chat.input.placeholder": "Nachricht eingeben... ({{shortcut}}, Shift+Enter für Zeilenumbruch, / für Befehle)",
|
|
"ai_chat.input.placeholder_compact": "Nachricht eingeben... {{shortcut}} · / Befehle",
|
|
"ai_chat.input.shortcut.disabled": "Senden per Tastenkürzel deaktiviert",
|
|
"ai_chat.input.shortcut.send_with_combo": "{{shortcut}} zum Senden",
|
|
"ai_chat.input.slash.activity.desc": "Letzte Ausführungen, Fehler und Hotspots zusammenfassen",
|
|
"ai_chat.input.slash.activity.keywords": "activity|sql-logs|letzte ausführungen|fehler",
|
|
"ai_chat.input.slash.activity.label": "🕘 Letzte SQL-Aktivität",
|
|
"ai_chat.input.slash.activity.prompt": "Führe zuerst inspect_recent_sql_activity aus. Fasse die letzten SQL-Aktivitäten, Fehler-Hotspots und die wichtigsten Lese-/Schreibmuster zusammen.",
|
|
"ai_chat.input.slash.airender.desc": "Den letzten Fehler beim Rendern von AI-Nachrichten lesen",
|
|
"ai_chat.input.slash.airender.keywords": "renderfehler|leere blase|ai-nachricht|render|weißer block",
|
|
"ai_chat.input.slash.airender.label": "🧯 AI-Renderfehler",
|
|
"ai_chat.input.slash.airender.prompt": "Führe zuerst inspect_ai_last_render_error aus. Sage mir, welche Nachricht im letzten AI-Renderfehlerprotokoll fehlgeschlagen ist, was die Fehlerzusammenfassung sagt und was ich als Nächstes prüfen sollte.",
|
|
"ai_chat.input.slash.applog.desc": "Letzte GoNavi-Anwendungsprotokolle prüfen",
|
|
"ai_chat.input.slash.applog.keywords": "logs|gonavi.log|mcp-fehler|verbindungsfehler|startausnahme",
|
|
"ai_chat.input.slash.applog.label": "🪵 App-Protokolle",
|
|
"ai_chat.input.slash.applog.prompt": "Führe zuerst inspect_app_logs aus. Prüfe die letzten Fehler und Warnungen in den GoNavi-Anwendungsprotokollen. Wenn ich Verbindungsfehler, MCP-Startfehler, Startausnahmen oder gonavi.log erwähne, filtere bevorzugt mit diesen Schlüsselwörtern weiter.",
|
|
"ai_chat.input.slash.budget.desc": "Größe von Nachrichten, DDL, MCP schema und Skills prüfen",
|
|
"ai_chat.input.slash.budget.keywords": "kontext|context|umfang|budget|langsam|falsche antworten|schema zu groß|toolergebnisse",
|
|
"ai_chat.input.slash.budget.label": "🧠 Kontextbudget",
|
|
"ai_chat.input.slash.budget.prompt": "Führe zuerst inspect_ai_context_budget aus. Prüfe die Größenrisiken der aktuellen Gesprächsnachrichten, Tool-Ergebnisse, DDL, MCP schema, Prompts und Skills und sage mir danach, welche Kontexte ich eingrenzen sollte.",
|
|
"ai_chat.input.slash.category.diagnose.description": "Zuerst integrierte Sonden ausführen, um den tatsächlichen Status von AI, MCP und der letzten SQL-Aktivitäten zu prüfen.",
|
|
"ai_chat.input.slash.category.diagnose.title": "Diagnose-Sonden",
|
|
"ai_chat.input.slash.category.generate.description": "SQL, Testdaten oder Migrationsentwürfe direkt erzeugen.",
|
|
"ai_chat.input.slash.category.generate.title": "SQL-Generierung",
|
|
"ai_chat.input.slash.category.review.description": "SQL erklären sowie Tabellendesign und Indexstrategien prüfen.",
|
|
"ai_chat.input.slash.category.review.title": "Strukturprüfung",
|
|
"ai_chat.input.slash.connfail.desc": "Letzte Verbindungsfehler, Abkühlphasen und Validierungsfehler zusammenfassen",
|
|
"ai_chat.input.slash.connfail.keywords": "verbindungsfehler|cooldown|validierungsfehler|ssh|mysql",
|
|
"ai_chat.input.slash.connfail.label": "🧯 Sonde für Verbindungsfehler",
|
|
"ai_chat.input.slash.connfail.prompt": "Führe zuerst inspect_recent_connection_failures aus. Fasse die echten Log-Erkenntnisse zu den letzten Datenbankverbindungsfehlern, Verbindungsabkühlungen, Validierungsfehlern und SSH-Tunnel-Ausnahmen zusammen. Wenn bereits eine klare Adresse oder ein Typ bekannt ist, nutze zusätzlich inspect_current_connection oder inspect_saved_connections, um den Bereich weiter einzugrenzen.",
|
|
"ai_chat.input.slash.diff.desc": "Zwei Tabellen vergleichen und Änderungen erzeugen",
|
|
"ai_chat.input.slash.diff.keywords": "diff|migration|alter",
|
|
"ai_chat.input.slash.diff.label": "🔄 Tabellenvergleich",
|
|
"ai_chat.input.slash.diff.prompt": "Vergleiche die Strukturunterschiede zwischen diesen zwei Tabellen und erzeuge ALTER-Anweisungen für die Migration von der alten zur neuen Version:",
|
|
"ai_chat.input.slash.empty.description": "Probiere zuerst diese häufigen Einstiege aus, um schnell zu SQL-Generierung, AI-Gesundheitscheck oder MCP-Diagnose zu springen.",
|
|
"ai_chat.input.slash.empty.summary": "Derzeit sind {{count}} Slash-Befehle verfügbar. Suche nach Befehlsname, Beschreibung oder Schlüsselwort.",
|
|
"ai_chat.input.slash.empty.title": "Keine passenden Slash-Befehle",
|
|
"ai_chat.input.slash.explain.desc": "Logik des ausgewählten SQL erklären",
|
|
"ai_chat.input.slash.explain.keywords": "erklären|sql|logik",
|
|
"ai_chat.input.slash.explain.label": "💡 SQL erklären",
|
|
"ai_chat.input.slash.explain.prompt": "Erkläre die Ausführungslogik dieses SQL und die Aufgabe jedes Schritts:\n```sql\n\n```",
|
|
"ai_chat.input.slash.health.desc": "Gesundheitsprüfungen für die aktuelle AI-Konfiguration ausführen",
|
|
"ai_chat.input.slash.health.keywords": "health|zustandsprüfung|ai-konfiguration|probe",
|
|
"ai_chat.input.slash.health.label": "🩺 AI-Gesundheitscheck",
|
|
"ai_chat.input.slash.health.prompt": "Führe zuerst inspect_ai_setup_health aus. Prüfe die aktuelle GoNavi AI-Konfiguration vollständig und fasse anschließend blockers, warnings und nextActions zusammen.",
|
|
"ai_chat.input.slash.hotspots.desc": "Kandidaten für die Aufteilung großer Dateien und Testumfang prüfen",
|
|
"ai_chat.input.slash.hotspots.keywords": "große datei|aufgebläht|aufteilen|refactoring|hotspots|code-hotspots|tausende zeilen",
|
|
"ai_chat.input.slash.hotspots.label": "🧱 Code-Hotspots",
|
|
"ai_chat.input.slash.hotspots.prompt": "Führe zuerst inspect_codebase_hotspots aus. Lies die aktuellen Hotspots großer Frontend-Dateien in GoNavi, empfohlene Aufteilungsscheiben und Testziele und sage mir dann, welche Datei ich als Nächstes am besten aufteilen sollte, welche Grenze sinnvoll ist und welche Prüfungen ich ausführen muss. Schlüsselwörter:",
|
|
"ai_chat.input.slash.index.desc": "Beste Indexstrategie empfehlen",
|
|
"ai_chat.input.slash.index.keywords": "index|langsame abfrage|leistung",
|
|
"ai_chat.input.slash.index.label": "📊 Indexvorschläge",
|
|
"ai_chat.input.slash.index.prompt": "Empfiehl anhand der aktuellen Tabellenstruktur und typischer Abfrageszenarien die beste Indexstrategie und gib die DDL an:",
|
|
"ai_chat.input.slash.mcp.desc": "MCP-Dienste und Status externer Clients prüfen",
|
|
"ai_chat.input.slash.mcp.keywords": "mcp|codex|claude|openclaw|hermans|externer client",
|
|
"ai_chat.input.slash.mcp.label": "🪛 MCP-Setup prüfen",
|
|
"ai_chat.input.slash.mcp.prompt": "Führe zuerst inspect_mcp_setup aus. Prüfe die aktuellen MCP-Dienste, die Ergebnisse der Tool-Erkennung sowie den Verbindungsstatus der lokalen Claude Code / Codex-Clients und der entfernten OpenClaw / Hermans-Agents.",
|
|
"ai_chat.input.slash.mcpadd.desc": "Sehen, wie command, args, env und Vorlagen ausgefüllt werden",
|
|
"ai_chat.input.slash.mcpadd.keywords": "mcp hinzufügen|command|args|env|vorlage",
|
|
"ai_chat.input.slash.mcpadd.label": "🧭 Anleitung zum Hinzufügen von MCP",
|
|
"ai_chat.input.slash.mcpadd.prompt": "Führe zuerst inspect_mcp_authoring_guide aus. Wenn ich einen vollständigen Startbefehl oder Entwurf eingefügt habe, rufe zusätzlich inspect_mcp_draft auf, um Felder und Validierungsprobleme zu simulieren. Nutze anschließend auch inspect_mcp_setup und sage mir, wie command, args, env und timeout beim Hinzufügen eines GoNavi MCP-Dienstes ausgefüllt werden sollten und welche Vorlage am besten passt.",
|
|
"ai_chat.input.slash.mcpdraft.desc": "Prüfen, wie ein MCP-Startbefehl aufgeteilt werden sollte",
|
|
"ai_chat.input.slash.mcpdraft.keywords": "mcp-entwurf|mcp-validierung|fullcommand|startbefehl|argumentaufteilung|command|args|env",
|
|
"ai_chat.input.slash.mcpdraft.label": "🧪 MCP-Entwurfsprüfung",
|
|
"ai_chat.input.slash.mcpdraft.prompt": "Führe zuerst inspect_mcp_draft aus, um den von mir gelieferten MCP fullCommand oder command/args/env/timeout-Entwurf zu prüfen. Gib die automatische Aufteilung, die Startvorschau, suggestedServerSeed, Fehler, Warnungen und nextActions zurück; falls noch Feldhinweise fehlen, rufe zusätzlich inspect_mcp_authoring_guide auf.",
|
|
"ai_chat.input.slash.mcpfail.desc": "Aktuelle Fehlerprotokolle zu MCP-Start, Erkennung und Aufrufen lesen",
|
|
"ai_chat.input.slash.mcpfail.keywords": "mcpfail|mcp-fehler|laufzeitfehler|null tools gefunden|stdio|docker mcp|http mcp|startfehler|aufruffehler",
|
|
"ai_chat.input.slash.mcpfail.label": "🧯 MCP-Laufzeitfehler",
|
|
"ai_chat.input.slash.mcpfail.prompt": "Führe zuerst inspect_mcp_runtime_failures aus. Lies die letzten Fehlerprotokolle zu MCP-Start, Tool-Erkennung, Tool-Aufrufen, stdio, Docker oder HTTP MCP und bewerte die Ursache samt nextActions zusammen mit der aktuellen MCP-Dienstkonfiguration. Schlüsselwort oder Dienstname:",
|
|
"ai_chat.input.slash.mcptool.desc": "MCP-Tool-schema und arguments-Format prüfen",
|
|
"ai_chat.input.slash.mcptool.keywords": "mcp-tool|mcp-tool-argumente|schema|arguments|parameter|toolaufruf|inputschema",
|
|
"ai_chat.input.slash.mcptool.label": "🧩 MCP-Tool-Argumente",
|
|
"ai_chat.input.slash.mcptool.prompt": "Führe zuerst inspect_mcp_setup aus, um den aktuell entdeckten MCP-Tool-Alias zu finden. Wenn ich bereits einen Tool-Namen oder ein Schlüsselwort genannt habe, rufe zusätzlich inspect_mcp_tool_schema auf, um das passende inputSchema zu lesen, und erkläre mir Pflichtparameter, Feldtypen, Enum-Werte, verschachtelte Pfade und wie das arguments-JSON geschrieben werden sollte.",
|
|
"ai_chat.input.slash.mock.desc": "INSERT-Testdaten erzeugen",
|
|
"ai_chat.input.slash.mock.keywords": "mock|testdaten|insert",
|
|
"ai_chat.input.slash.mock.label": "🎲 Testdaten erzeugen",
|
|
"ai_chat.input.slash.mock.prompt": "Erzeuge 10 fachlich realistische INSERT-Testdatenanweisungen für die aktuell verknüpften Tabellen:",
|
|
"ai_chat.input.slash.optimize.desc": "SQL-Leistungsengpässe analysieren",
|
|
"ai_chat.input.slash.optimize.keywords": "optimieren|index|leistung",
|
|
"ai_chat.input.slash.optimize.label": "⚡ Optimierungsanalyse",
|
|
"ai_chat.input.slash.optimize.prompt": "Analysiere dieses SQL auf Performanceprobleme und liefere eine optimierte Version:\n```sql\n\n```",
|
|
"ai_chat.input.slash.query.desc": "Beschreiben Sie, was Sie abfragen möchten",
|
|
"ai_chat.input.slash.query.keywords": "abfrage|natürliche sprache|daten suchen",
|
|
"ai_chat.input.slash.query.label": "🔍 Abfrage in natürlicher Sprache",
|
|
"ai_chat.input.slash.query.prompt": "Schreibe eine SQL-Abfrage:",
|
|
"ai_chat.input.slash.safety.desc": "Schreibgrenzen und allowMutating bestätigen",
|
|
"ai_chat.input.slash.safety.keywords": "sicherheit|nur lesen|allowmutating|ddl|dml",
|
|
"ai_chat.input.slash.safety.label": "🛡️ Schreibsicherheit",
|
|
"ai_chat.input.slash.safety.prompt": "Führe zuerst inspect_ai_safety aus. Sage mir die aktuellen Schreibgrenzen für AI und GoNavi MCP, ob sie schreibgeschützt sind und ob execute_sql allowMutating benötigt.",
|
|
"ai_chat.input.slash.schema.desc": "Qualität des Tabellendesigns prüfen",
|
|
"ai_chat.input.slash.schema.keywords": "schema|tabellenstruktur|design",
|
|
"ai_chat.input.slash.schema.label": "🏗️ Tabellendesign prüfen",
|
|
"ai_chat.input.slash.schema.prompt": "Prüfe das aktuell verknüpfte Tabellendesign, einschließlich Feldtypen, Normalisierung, Indexstrategie und Verbesserungsvorschlägen:",
|
|
"ai_chat.input.slash.shortcuts.desc": "Aktuelle Win/Mac-Tastenkonfiguration lesen",
|
|
"ai_chat.input.slash.shortcuts.keywords": "tastenkürzel|shortcuts|ergebnisbereich|mac|windows",
|
|
"ai_chat.input.slash.shortcuts.label": "⌨️ Shortcut-Sonde",
|
|
"ai_chat.input.slash.shortcuts.prompt": "Führe zuerst inspect_shortcuts aus. Erkläre mir die aktuelle GoNavi-Shortcut-Konfiguration, insbesondere wie SQL ausführen, Ergebnisbereich wechseln, AI-Panel öffnen und AI-Nachrichten senden auf der aktuellen Plattform und der anderen Plattform belegt sind und ob Standardwerte geändert wurden.",
|
|
"ai_chat.input.slash.sql.desc": "Anforderungen beschreiben und Anweisungen erzeugen",
|
|
"ai_chat.input.slash.sql.keywords": "sql|generieren|abfragesatz",
|
|
"ai_chat.input.slash.sql.label": "📝 SQL erzeugen",
|
|
"ai_chat.input.slash.sql.prompt": "Erzeuge SQL aus den folgenden Anforderungen:",
|
|
"ai_chat.input.slash.tools.desc": "Per Schlüsselwort die passende integrierte Sonde wählen",
|
|
"ai_chat.input.slash.tools.keywords": "toolkatalog|integrierte tools|toolcatalog|parameterhinweise|arguments|probe-route",
|
|
"ai_chat.input.slash.tools.label": "🧰 Tool-Katalog",
|
|
"ai_chat.input.slash.tools.prompt": "Führe zuerst inspect_ai_tool_catalog aus. Filtere anhand meiner Frage-Schlüsselwörter empfohlene Abläufe, integrierte Tool-Parameterhinweise und die aktuelle MCP-Tool-Zusammenfassung und sage mir dann, welches Tool ich als Nächstes aufrufen sollte. Schlüsselwörter:",
|
|
"ai_chat.input.slash.tx.desc": "Commit-Modus des SQL-Editors und offene Transaktionen prüfen",
|
|
"ai_chat.input.slash.tx.keywords": "transaktion|transaction|commit|automatischer commit|manueller commit|offene transaktion|dml",
|
|
"ai_chat.input.slash.tx.label": "🔁 SQL-Transaktionsstatus",
|
|
"ai_chat.input.slash.tx.prompt": "Führe zuerst inspect_sql_editor_transaction aus. Sage mir die aktuelle Semantik der DML-gesteuerten Transaktionen im SQL-Editor, die Einstellungen für manuelles/automatisches Commit, ob die aktiven SQL-Tabs in eine Transaktion gehen, ob offene Transaktionen vorhanden sind und ob ich als Nächstes committen, zurückrollen oder weiter ausführen sollte.",
|
|
"ai_chat.input.status.action.fix_provider": "Anbieterkonfiguration korrigieren",
|
|
"ai_chat.input.status.action.open_settings": "AI-Einstellungen öffnen",
|
|
"ai_chat.input.status.action.reload_models": "Modelle neu laden",
|
|
"ai_chat.input.status.dismiss_aria_label": "AI-Statushinweis schließen",
|
|
"ai_chat.input.status.issue.missing_base_url": "Endpunkt-URL",
|
|
"ai_chat.input.status.issue.missing_secret": "API-Schlüssel",
|
|
"ai_chat.input.status.issue.missing_selected_model": "Modell",
|
|
"ai_chat.input.status.issue.separator": ", ",
|
|
"ai_chat.input.status.label.loading": "Wird geladen",
|
|
"ai_chat.input.status.label.model_required": "Modell erforderlich",
|
|
"ai_chat.input.status.label.needs_fix": "Muss behoben werden",
|
|
"ai_chat.input.status.label.not_ready": "Nicht bereit",
|
|
"ai_chat.input.status.label.ready": "Bereit",
|
|
"ai_chat.input.status.missing_model.description.available": "Derzeit sind {{count}} auswählbare Modelle verfügbar. Nach der Auswahl können Sie senden.",
|
|
"ai_chat.input.status.missing_model.description.empty": "Wenn die Liste leer bleibt, prüfen Sie den Anbieter-Endpunkt, den API-Schlüssel und die Modellberechtigungen.",
|
|
"ai_chat.input.status.missing_model.title.loading": "Modellliste für {{provider}} wird geladen",
|
|
"ai_chat.input.status.missing_model.title.select": "Wählen Sie zuerst ein Modell für {{provider}} aus",
|
|
"ai_chat.input.status.missing_provider.description.none": "Fügen Sie zuerst in den AI-Einstellungen einen Modellanbieter hinzu und aktivieren Sie ihn.",
|
|
"ai_chat.input.status.missing_provider.description.unselected": "Wählen Sie vor dem Senden in den AI-Einstellungen einen aktiven Anbieter aus.",
|
|
"ai_chat.input.status.missing_provider.title.none": "Kein Anbieter verfügbar",
|
|
"ai_chat.input.status.missing_provider.title.unselected": "Anbieter sind konfiguriert, aber aktuell ist keiner aktiv",
|
|
"ai_chat.input.status.provider_fallback_name": "Aktueller Anbieter",
|
|
"ai_chat.input.status.provider_incomplete.description": "Ergänzen Sie vor dem Senden die Anbieterkonfiguration, damit die Anfrage nicht sofort fehlschlägt.",
|
|
"ai_chat.input.status.provider_incomplete.title": "{{provider}} fehlt noch {{issues}}",
|
|
"ai_chat.input.status.ready.auto_model": "Automatisch ausgewählt",
|
|
"ai_chat.input.status.ready.description.no_context": "Sie können jetzt senden. Wählen Sie eine Verbindung aus oder verknüpfen Sie Tabellenstruktur-Kontexte, um präzisere Datenbankhinweise zu erhalten.",
|
|
"ai_chat.input.status.ready.description.with_connection": "Die aktuelle Verbindung ist ausgewählt. Verknüpfen Sie zusätzlich Tabellenstruktur-Kontexte, um präzisere Datenbankhinweise zu erhalten.",
|
|
"ai_chat.input.status.ready.description.with_context": "Aktuell sind {{count}} Tabellenstruktur-Kontexte verknüpft. Sie können jetzt senden.",
|
|
"ai_chat.input.status.ready.title": "AI ist bereit: {{provider}} / {{model}}",
|
|
"ai_chat.input.tooltip.attach_table_context": "Datenbanktabellenkontext anhängen",
|
|
"ai_chat.input.tooltip.slash_command": "Slash-Befehle",
|
|
"ai_chat.input.tooltip.upload_attachment": "Anhang hochladen (Bilder, Markdown, Word, Excel, PDF, Text)",
|
|
"ai_chat.input.tooltip.upload_image": "Bild oder Screenshot hochladen",
|
|
"ai_chat.inspection.ai_config.error.inspect_ai_chat_readiness": "AI-Chat-Voraussetzungen konnten nicht gelesen werden",
|
|
"ai_chat.inspection.ai_config.error.inspect_ai_guidance": "Aktuelle AI-Prompts- und Skills-Konfiguration konnte nicht gelesen werden",
|
|
"ai_chat.inspection.ai_config.error.inspect_ai_providers": "Aktuelle AI-Anbieterkonfiguration konnte nicht gelesen werden",
|
|
"ai_chat.inspection.ai_config.error.inspect_ai_runtime": "Aktueller AI-Laufzeitstatus konnte nicht gelesen werden",
|
|
"ai_chat.inspection.ai_config.error.inspect_ai_safety": "Aktuelle AI-Sicherheitsgrenze konnte nicht gelesen werden",
|
|
"ai_chat.inspection.ai_config.error.inspect_ai_setup_health": "Aktuelles AI-Setup konnte nicht geprüft werden",
|
|
"ai_chat.inspection.ai_config.error.inspect_ai_tool_catalog": "AI-Toolkatalog konnte nicht gelesen werden",
|
|
"ai_chat.inspection.ai_config.error.inspect_mcp_authoring_guide": "MCP-Erstellungshinweise konnten nicht gelesen werden",
|
|
"ai_chat.inspection.ai_config.error.inspect_mcp_docker_setup": "Docker-MCP-Setup konnte nicht geprüft werden",
|
|
"ai_chat.inspection.ai_config.error.inspect_mcp_draft": "MCP-Entwurf konnte nicht validiert werden",
|
|
"ai_chat.inspection.ai_config.error.inspect_mcp_remote_access": "MCP-Remotezugriff-Hinweise konnten nicht gelesen werden",
|
|
"ai_chat.inspection.ai_config.error.inspect_mcp_setup": "MCP-Setup-Status konnte nicht gelesen werden",
|
|
"ai_chat.inspection.ai_config.error.inspect_mcp_tool_schema": "MCP-Toolparameter-schema konnte nicht gelesen werden",
|
|
"ai_chat.inspection.ai_context.linked_summary": "Aktuell sind {{count}} Tabellenschema-Kontexte verknüpft",
|
|
"ai_chat.inspection.ai_context.none_linked": "Aktuell ist kein AI-Tabellenschema-Kontext verknüpft",
|
|
"ai_chat.inspection.ai_sessions.untitled": "Unbenannte Sitzung",
|
|
"ai_chat.inspection.app_health.app_log.unread": "GoNavi-Anwendungslogs sind nicht lesbar: {{detail}}",
|
|
"ai_chat.inspection.app_health.connection_failures.unread": "Logs zu Verbindungsfehlern sind nicht lesbar: {{detail}}",
|
|
"ai_chat.inspection.app_health.error.app_health_failed": "AI-Anwendungszustandsübersicht konnte nicht gelesen werden",
|
|
"ai_chat.inspection.app_health.error.support_bundle_failed": "AI-Supportpaket konnte nicht erzeugt werden",
|
|
"ai_chat.inspection.app_health.last_render_error.empty_summary": "Es wurden noch keine Rendering-Fehler für AI-Nachrichten aufgezeichnet.",
|
|
"ai_chat.inspection.app_health.log_reading_unavailable": "Die aktuelle Laufzeitumgebung stellt keine Log-Lesefunktion bereit",
|
|
"ai_chat.inspection.app_health.message.blocked": "Der AI-Anwendungszustand hat {{count}} Blocker; behebe zuerst Anbieter- und Sendevoraussetzungen",
|
|
"ai_chat.inspection.app_health.message.degraded": "Der AI-Anwendungszustand enthält Laufzeit-Anomaliesignale; prüfe zuerst Logs oder Verbindungsfehleraufzeichnungen",
|
|
"ai_chat.inspection.app_health.message.needs_attention": "Der AI-Anwendungszustand ist insgesamt nutzbar, hat aber noch {{count}} Empfehlungen",
|
|
"ai_chat.inspection.app_health.message.ready": "Die AI-Anwendungszustandsübersicht ist bestanden; AI-Konfiguration, Logs, Verbindungsfehler und Arbeitsbereichskontext zeigen keine offensichtlichen Probleme",
|
|
"ai_chat.inspection.app_health.next_action.enable_app_log_reading": "Prüfe, ob die aktuelle Laufzeit gonavi.log lesen kann, und rufe danach inspect_app_logs für Log-Details auf",
|
|
"ai_chat.inspection.app_health.next_action.inspect_app_log_errors": "Rufe inspect_app_logs auf, um die letzten rohen ERROR-/WARN-Zeilen zu prüfen und zu klären, ob AI, MCP oder Datenbankverbindungen betroffen sind",
|
|
"ai_chat.inspection.app_health.next_action.inspect_app_log_warnings": "Wenn der Nutzer Instabilität meldet, rufe zuerst inspect_app_logs auf und prüfe, ob WARN-Zeilen bei AI/MCP/Verbindungen gehäuft auftreten",
|
|
"ai_chat.inspection.app_health.next_action.inspect_last_render_error": "Rufe inspect_ai_last_render_error auf, um messageId, Inhaltsvorschau und Komponentenstack des letzten Rendering-Fehlers zu prüfen",
|
|
"ai_chat.inspection.app_health.next_action.inspect_recent_connection_failures": "Rufe inspect_recent_connection_failures auf, um die neueste Ursache des Verbindungsfehlers zu prüfen, und entscheide danach, ob die aktuelle Verbindung oder gespeicherte Verbindungskonfiguration geprüft werden muss",
|
|
"ai_chat.inspection.app_health.next_action.open_sql_tab": "Um das aktuelle SQL zu analysieren, öffne oder wähle zuerst den Ziel-SQL-Tab und rufe danach inspect_active_tab auf",
|
|
"ai_chat.inspection.app_health.warning.app_log_errors": "Die letzten Anwendungslogs enthalten {{count}} ERROR-Einträge; inspect_app_logs sollte zuerst geprüft werden",
|
|
"ai_chat.inspection.app_health.warning.app_log_unread": "GoNavi-Anwendungslogs können aktuell nicht gelesen werden; für Startausnahmen und MCP-/Verbindungsfehler fehlen Log-Belege",
|
|
"ai_chat.inspection.app_health.warning.app_log_warnings": "Die letzten Anwendungslogs enthalten {{count}} WARN-Einträge; prüfe, ob es bekannte ignorierbare Warnungen sind",
|
|
"ai_chat.inspection.app_health.warning.connection_failures_recent": "Kürzlich wurden {{count}} Verbindungsfehler-/Cooldown-Einträge erkannt",
|
|
"ai_chat.inspection.app_health.warning.connection_failures_unread": "Logs zu Verbindungsfehlern können aktuell nicht gelesen werden; für Datenbank-Verbindungscooldowns und Validierungsfehler fehlen strukturierte Belege",
|
|
"ai_chat.inspection.app_health.warning.last_render_error": "Kürzlich wurde ein Rendering-Fehler einer AI-Nachricht aufgezeichnet, der Antwortblasen oder Markdown-Rendering beeinflussen kann",
|
|
"ai_chat.inspection.app_health.warning.no_workspace_tabs": "Im aktuellen Arbeitsbereich sind keine Tabs geöffnet; AI hat keinen direkt lesbaren aktiven Editor-Kontext",
|
|
"ai_chat.inspection.app_log.message.no_keyword_match": "In den letzten Logs wurden keine Einträge zum Schlüsselwort \"{{keyword}}\" gefunden.",
|
|
"ai_chat.inspection.app_log.message.no_readable_entries": "In den letzten Logs sind keine lesbaren Einträge verfügbar.",
|
|
"ai_chat.inspection.codebase_hotspots.connection_modal.preferred_next_slice": "TLS configuration section",
|
|
"ai_chat.inspection.codebase_hotspots.connection_modal.safe_seam": "The connection form already has presentation utilities; first extract configuration sections shown per data source.",
|
|
"ai_chat.inspection.codebase_hotspots.connection_modal.suggested_slice.jvm_section": "JVM configuration section",
|
|
"ai_chat.inspection.codebase_hotspots.connection_modal.suggested_slice.mongodb_section": "MongoDB configuration section",
|
|
"ai_chat.inspection.codebase_hotspots.connection_modal.suggested_slice.ssh_proxy_section": "SSH/proxy configuration section",
|
|
"ai_chat.inspection.codebase_hotspots.connection_modal.suggested_slice.tls_section": "TLS configuration section",
|
|
"ai_chat.inspection.codebase_hotspots.connection_modal.verification.browser_smoke": "Open the add/edit connection dialog in a browser and switch MySQL, Oracle, MongoDB, and Redis forms.",
|
|
"ai_chat.inspection.codebase_hotspots.connection_modal.why": "Multi-source connection forms are still concentrated in one component, so adding data sources or secret rules can affect each other.",
|
|
"ai_chat.inspection.codebase_hotspots.data_grid.preferred_next_slice": "Result export toolbar",
|
|
"ai_chat.inspection.codebase_hotspots.data_grid.safe_seam": "Extract the pure display toolbar and menu item generation first; do not move data-editing transaction state yet.",
|
|
"ai_chat.inspection.codebase_hotspots.data_grid.suggested_slice.cell_edit_transaction_hint": "Cell edit transaction hint",
|
|
"ai_chat.inspection.codebase_hotspots.data_grid.suggested_slice.column_header_menu": "Column header menu",
|
|
"ai_chat.inspection.codebase_hotspots.data_grid.suggested_slice.ddl_view": "DDL view",
|
|
"ai_chat.inspection.codebase_hotspots.data_grid.suggested_slice.result_export_toolbar": "Result export toolbar",
|
|
"ai_chat.inspection.codebase_hotspots.data_grid.verification.browser_smoke": "Run a query in the browser and verify the result table, export, column menu, and table editing entry.",
|
|
"ai_chat.inspection.codebase_hotspots.data_grid.why": "Result display, editing, DDL, export, and column operations are coupled, so a focused fix can affect the query result area.",
|
|
"ai_chat.inspection.codebase_hotspots.data_sync.preferred_next_slice": "Sync precheck results",
|
|
"ai_chat.inspection.codebase_hotspots.data_sync.safe_seam": "Make precheck results a pure display component first, keeping connection selection and execution actions in the parent component.",
|
|
"ai_chat.inspection.codebase_hotspots.data_sync.suggested_slice.connection_selection": "Connection selection area",
|
|
"ai_chat.inspection.codebase_hotspots.data_sync.suggested_slice.execution_logs": "Execution log area",
|
|
"ai_chat.inspection.codebase_hotspots.data_sync.suggested_slice.precheck_results": "Sync precheck results",
|
|
"ai_chat.inspection.codebase_hotspots.data_sync.suggested_slice.table_mapping": "Table mapping area",
|
|
"ai_chat.inspection.codebase_hotspots.data_sync.verification.browser_smoke": "Open data sync in a browser and verify connection selection, table mapping, precheck, and execution logs.",
|
|
"ai_chat.inspection.codebase_hotspots.data_sync.why": "Data sync connections, table mapping, prechecks, and execution results are concentrated, so database dialect issues can be hidden.",
|
|
"ai_chat.inspection.codebase_hotspots.driver_manager.preferred_next_slice": "Driver status list",
|
|
"ai_chat.inspection.codebase_hotspots.driver_manager.safe_seam": "The status list is presentational; extract it first while keeping install and download actions in the parent component.",
|
|
"ai_chat.inspection.codebase_hotspots.driver_manager.suggested_slice.download_logs": "Download log area",
|
|
"ai_chat.inspection.codebase_hotspots.driver_manager.suggested_slice.driver_status_list": "Driver status list",
|
|
"ai_chat.inspection.codebase_hotspots.driver_manager.suggested_slice.install_actions": "Install action area",
|
|
"ai_chat.inspection.codebase_hotspots.driver_manager.verification.browser_smoke": "Open driver management in a browser and verify status display, install buttons, and the log area.",
|
|
"ai_chat.inspection.codebase_hotspots.driver_manager.why": "Driver installation, status display, downloads, and optional proxy logic are substantial, so status cards and action areas are good next extraction targets.",
|
|
"ai_chat.inspection.codebase_hotspots.evidence.note": "Based on the current repository frontend file-line hotspot snapshot; before extraction, prefer slices that are readyToExtract and already covered by tests.",
|
|
"ai_chat.inspection.codebase_hotspots.jvm_diagnostic.preferred_next_slice": "Diagnostic output area",
|
|
"ai_chat.inspection.codebase_hotspots.jvm_diagnostic.safe_seam": "The output area mainly depends on the command result array, so it can be extracted as a display component first.",
|
|
"ai_chat.inspection.codebase_hotspots.jvm_diagnostic.suggested_slice.command_input": "Command input area",
|
|
"ai_chat.inspection.codebase_hotspots.jvm_diagnostic.suggested_slice.diagnostic_output": "Diagnostic output area",
|
|
"ai_chat.inspection.codebase_hotspots.jvm_diagnostic.suggested_slice.permission_hint": "Permission hint area",
|
|
"ai_chat.inspection.codebase_hotspots.jvm_diagnostic.verification.browser_smoke": "Open the JVM diagnostics panel in a browser and verify command input, output, and permission hints.",
|
|
"ai_chat.inspection.codebase_hotspots.jvm_diagnostic.why": "Diagnostic commands, output blocks, permission hints, and session state can continue to be split to lower JVM diagnostics regression risk.",
|
|
"ai_chat.inspection.codebase_hotspots.next_action.browser_smoke": "For visible UI extraction, open the real page in a browser for one smoke verification.",
|
|
"ai_chat.inspection.codebase_hotspots.next_action.confirm_safe_seam": "Confirm the safeSeam before every extraction, and do not cross SQL execution, transaction, connection secret, or database dialect boundaries.",
|
|
"ai_chat.inspection.codebase_hotspots.next_action.pick_ready_slice": "Prefer a slice with readiness=readyToExtract and existing test coverage for small-step extraction; avoid rewriting an entire large component directly.",
|
|
"ai_chat.inspection.codebase_hotspots.next_action.run_targeted_tests": "After extraction, run the corresponding component tests, related utils tests, and npm --prefix frontend run build at minimum.",
|
|
"ai_chat.inspection.codebase_hotspots.query_editor.preferred_next_slice": "Editor toolbar",
|
|
"ai_chat.inspection.codebase_hotspots.query_editor.safe_seam": "The toolbar JSX can pass state and callbacks through props, avoiding SQL execution, transaction, and result pagination logic.",
|
|
"ai_chat.inspection.codebase_hotspots.query_editor.suggested_slice.editor_shortcut_binding": "Editor shortcut binding",
|
|
"ai_chat.inspection.codebase_hotspots.query_editor.suggested_slice.execution_log_hint": "Execution log hint",
|
|
"ai_chat.inspection.codebase_hotspots.query_editor.suggested_slice.result_toolbar": "Result area toolbar",
|
|
"ai_chat.inspection.codebase_hotspots.query_editor.suggested_slice.transaction_status_bar": "Transaction status bar",
|
|
"ai_chat.inspection.codebase_hotspots.query_editor.verification.browser_smoke": "Open the SQL editor in a browser and verify connection/database selection, run, save, format, result visibility, and the AI menu.",
|
|
"ai_chat.inspection.codebase_hotspots.query_editor.why": "SQL editing, execution, transactions, result layout, and shortcut state are concentrated, so transaction and result-panel regressions are likely.",
|
|
"ai_chat.inspection.codebase_hotspots.redis_viewer.preferred_next_slice": "Key search bar",
|
|
"ai_chat.inspection.codebase_hotspots.redis_viewer.safe_seam": "Extract the search bar and topology hint first, avoiding early changes to each data-structure editor.",
|
|
"ai_chat.inspection.codebase_hotspots.redis_viewer.suggested_slice.add_key_dialog": "Add key dialog",
|
|
"ai_chat.inspection.codebase_hotspots.redis_viewer.suggested_slice.key_search_bar": "Key search bar",
|
|
"ai_chat.inspection.codebase_hotspots.redis_viewer.suggested_slice.structure_editors": "String/List/Set/ZSet/Hash/Stream editors",
|
|
"ai_chat.inspection.codebase_hotspots.redis_viewer.verification.browser_smoke": "Open a Redis connection in a browser and verify key search, refresh, TTL, and the add entry.",
|
|
"ai_chat.inspection.codebase_hotspots.redis_viewer.why": "Key browsing, data-structure editing, TTL, encoding display, and the add dialog are concentrated, so Redis Cluster/Sentinel follow-up validation is broad.",
|
|
"ai_chat.inspection.codebase_hotspots.sidebar.preferred_next_slice": "External SQL directory dialog",
|
|
"ai_chat.inspection.codebase_hotspots.sidebar.safe_seam": "Extract stateless dialog and menu configuration first, then handle action dispatch that depends on connection tree state.",
|
|
"ai_chat.inspection.codebase_hotspots.sidebar.suggested_slice.batch_operation_dialogs": "Batch operation dialogs",
|
|
"ai_chat.inspection.codebase_hotspots.sidebar.suggested_slice.connection_tree_actions": "Connection tree actions",
|
|
"ai_chat.inspection.codebase_hotspots.sidebar.suggested_slice.external_sql_directory_dialog": "External SQL directory dialog",
|
|
"ai_chat.inspection.codebase_hotspots.sidebar.suggested_slice.v2_command_palette": "V2 command palette",
|
|
"ai_chat.inspection.codebase_hotspots.sidebar.verification.browser_smoke": "Open the sidebar in a browser and verify the connection tree, context menus, and external SQL directory entry.",
|
|
"ai_chat.inspection.codebase_hotspots.sidebar.why": "The left tree, command palette, context menus, and connection actions are concentrated in one file, so change entry points are numerous and regression risk is high.",
|
|
"ai_chat.inspection.codebase_hotspots.table_designer.preferred_next_slice": "Field editing table",
|
|
"ai_chat.inspection.codebase_hotspots.table_designer.safe_seam": "Add field type, length, NULL, and default value snapshot tests first, then extract the field editing table.",
|
|
"ai_chat.inspection.codebase_hotspots.table_designer.suggested_slice.dialect_ddl_preview": "Dialect DDL preview",
|
|
"ai_chat.inspection.codebase_hotspots.table_designer.suggested_slice.field_editing_table": "Field editing table",
|
|
"ai_chat.inspection.codebase_hotspots.table_designer.suggested_slice.foreign_key_panel": "Foreign key configuration panel",
|
|
"ai_chat.inspection.codebase_hotspots.table_designer.suggested_slice.index_panel": "Index configuration panel",
|
|
"ai_chat.inspection.codebase_hotspots.table_designer.verification.browser_smoke": "Open object design in a browser and verify fields, indexes, foreign keys, and DDL preview.",
|
|
"ai_chat.inspection.codebase_hotspots.table_designer.why": "Field editing, indexes, foreign keys, partitions, and DDL generation are concentrated, so database dialect differences can spread easily.",
|
|
"ai_chat.inspection.connection_capabilities.cache_missing": "Die Zielverbindung ist im lokalen Cache nicht vorhanden",
|
|
"ai_chat.inspection.connection_capabilities.hint.approximate_table_count": "Beim Durchsuchen von Tabellen können ungefähre Zeilenzahlen angezeigt werden, um Zählaufwand bei großen Tabellen zu reduzieren.",
|
|
"ai_chat.inspection.connection_capabilities.hint.editable_result": "Abfrageergebnisse dieser Datenquelle können bei verfügbaren Lokalisierungsbedingungen in den Bearbeitungspfad wechseln.",
|
|
"ai_chat.inspection.connection_capabilities.hint.exact_table_count": "Beim Durchsuchen von Tabellen werden standardmäßig keine ungefähren Zeilenzahlen verwendet.",
|
|
"ai_chat.inspection.connection_capabilities.hint.manual_total_count": "Gesamtzahlen sollten manuelle oder verzögerte Zählung bevorzugen, statt sich direkt auf schnelle Gesamtzahlen zu verlassen.",
|
|
"ai_chat.inspection.connection_capabilities.hint.message_publish_supported": "Diese Datenquelle bietet einen Testeingang zum Senden von Nachrichten und eignet sich für Topic/Queue-Integrationstests.",
|
|
"ai_chat.inspection.connection_capabilities.hint.message_publish_unsupported": "Diese Datenquelle stellt keinen Testeingang zum Senden von Nachrichten bereit.",
|
|
"ai_chat.inspection.connection_capabilities.hint.readonly_result": "Abfrageergebnisse dieser Datenquelle werden standardmäßig schreibgeschützt angezeigt und können nicht direkt bearbeitet werden.",
|
|
"ai_chat.inspection.connection_capabilities.hint.regular_total_count": "Gesamtzahlen können den regulären Zählpfad bevorzugen.",
|
|
"ai_chat.inspection.connection_capabilities.no_connection": "Es ist keine Verbindung für die Fähigkeitsanalyse verfügbar",
|
|
"ai_chat.inspection.connection_capabilities.summary": "Aktuelle Verbindung {{connectionName}} ({{type}}) stellt {{count}} Frontend-Fähigkeitssignale bereit",
|
|
"ai_chat.inspection.connection_failures.category.authentication": "Authentifizierung fehlgeschlagen",
|
|
"ai_chat.inspection.connection_failures.category.cooldown": "Verbindungs-Cooldown",
|
|
"ai_chat.inspection.connection_failures.category.network": "Netzwerk nicht erreichbar",
|
|
"ai_chat.inspection.connection_failures.category.other": "Andere Verbindungsanomalie",
|
|
"ai_chat.inspection.connection_failures.category.parameter_compatibility": "Verbindungsparameter-/Kompatibilitätsproblem",
|
|
"ai_chat.inspection.connection_failures.category.ssh": "SSH-Tunnel fehlgeschlagen",
|
|
"ai_chat.inspection.connection_failures.category.startup": "Treiber-/Prozessstart fehlgeschlagen",
|
|
"ai_chat.inspection.connection_failures.category.timeout": "Verbindungs-Timeout",
|
|
"ai_chat.inspection.connection_failures.category.validation": "Verbindungsvalidierung fehlgeschlagen",
|
|
"ai_chat.inspection.connection_failures.message.detected": "In den letzten Logs wurden {{count}} verbindungsbezogene Anomalien erkannt; die neueste Kategorie ist {{categoryLabel}}",
|
|
"ai_chat.inspection.connection_failures.message.no_keyword_match": "In den letzten Logs wurden keine Verbindungsfehler zum Keyword \"{{keyword}}\" gefunden",
|
|
"ai_chat.inspection.connection_failures.message.none": "In den letzten Logs wurden keine Verbindungsfehler, Validierungsfehler oder Verbindungs-Cooldown-Einträge erkannt",
|
|
"ai_chat.inspection.connection_failures.next_action.authentication": "Prüfe Benutzername, Passwort, Authentifizierungsdatenbank, Tenant oder Service Name und bestätige, dass der Server dieses Konto anmelden lässt.",
|
|
"ai_chat.inspection.connection_failures.next_action.check_current_connection": "Wenn du bestätigen musst, ob die aktuell angezeigte Verbindung noch dasselbe Ziel meint, rufe inspect_current_connection auf und prüfe, ob sie weiterhin auf {{address}} zeigt.",
|
|
"ai_chat.inspection.connection_failures.next_action.cooldown": "Behebe zuerst den letzten echten Verbindungsfehler und versuche es dann erneut; reines Aktualisieren trifft weiter den Verbindungs-Cooldown.",
|
|
"ai_chat.inspection.connection_failures.next_action.inspect_config": "Prüfe zuerst mit inspect_current_connection und inspect_saved_connections die aktuelle Verbindungskonfiguration und erweitere danach bei Bedarf das Logfenster.",
|
|
"ai_chat.inspection.connection_failures.next_action.network": "Prüfe, ob Zieladresse, Port, Firewall, Proxy und Tunnelpfad erreichbar sind, und bestätige, dass der Server tatsächlich lauscht.",
|
|
"ai_chat.inspection.connection_failures.next_action.parameter_compatibility": "Prüfe zuerst Verbindungsparameter, DSN und Protokollkompatibilität, insbesondere multiStatements, charset, zusätzliche query-Parameter und URL-Codierung.",
|
|
"ai_chat.inspection.connection_failures.next_action.ssh": "Prüfe SSH-Jump-Host-Adresse, Port, Konto und Tunnel-Zieladresse; validiere bei Bedarf zuerst die Verbindung vom Jump Host zur Datenbank.",
|
|
"ai_chat.inspection.connection_failures.next_action.startup": "Prüfe, ob der Treiberprozess oder die externe Abhängigkeit normal starten kann; validiere bei Bedarf den Startbefehl lokal oder auf dem Zielhost separat.",
|
|
"ai_chat.inspection.connection_failures.next_action.validation": "Prüfe die vom Server gemeldeten Validierungsdetails und bestätige, dass Datenbanktyp, Treiberprotokoll, Datenbankname oder Service Name zum Zieldienst passen.",
|
|
"ai_chat.inspection.context_budget.next_action.continue_narrow_probe": "Das aktuelle Kontextvolumen ist beherrschbar; rufe für die konkrete Frage weiter engere Struktur-, Log- oder SQL-Risikoprobes auf",
|
|
"ai_chat.inspection.context_budget.next_action.inspect_message_flow": "Rufe zuerst inspect_ai_message_flow auf, um zu prüfen, ob Tool-Aufrufen tool-Ergebnisnachrichten fehlen",
|
|
"ai_chat.inspection.context_budget.next_action.narrow_tables": "Behalte nur die für diese Runde relevanten Tabellen; nutze bei Bedarf inspect_table_bundle, um Zieltabellen gezielt zu lesen",
|
|
"ai_chat.inspection.context_budget.next_action.narrow_tools": "Deaktiviere vorübergehend irrelevante MCP-Dienste oder rufe zuerst inspect_ai_tool_catalog mit Schlüsselwort auf, um die Tool-Route einzugrenzen",
|
|
"ai_chat.inspection.context_budget.next_action.open_session": "Öffne oder wähle zuerst die Ziel-AI-Sitzung aus und rufe danach inspect_ai_context_budget erneut auf",
|
|
"ai_chat.inspection.context_budget.next_action.reduce_skills": "Behalte nur Skills, die für diese Runde relevant sind, und stelle die übrigen Skills nach Abschluss wieder her",
|
|
"ai_chat.inspection.context_budget.next_action.reduce_tool_results": "Reduziere die Rückgabemenge von inspect_app_logs / inspect_recent_sql_logs / includeDDL / includeLogLines",
|
|
"ai_chat.inspection.context_budget.next_action.summarize_or_new_session": "Starte eine neue Sitzung oder lasse AI zuerst die aktuelle Schlussfolgerung zusammenfassen, bevor du die nächste komplexe Aufgabe fortsetzt",
|
|
"ai_chat.inspection.context_budget.warning.critical_risk": "Der aktuelle AI-Eingabekontext hat ein critical Volumen erreicht und kann langsame Antworten, Kürzungen oder ignorierte Kernvorgaben verursachen",
|
|
"ai_chat.inspection.context_budget.warning.high_risk": "Der aktuelle AI-Eingabekontext ist groß; grenze den Kontext vor komplexen Fragen ein",
|
|
"ai_chat.inspection.context_budget.warning.large_mcp_catalog": "Viele MCP-Tools oder schemas sind sichtbar, wodurch das Modell leichter ein falsches Tool wählen kann",
|
|
"ai_chat.inspection.context_budget.warning.large_messages": "Die letzten Nachrichten in dieser Sitzung sind lang und können die Stabilität späterer Antworten beeinträchtigen",
|
|
"ai_chat.inspection.context_budget.warning.large_schema_context": "Viele Tabellenschemas oder lange DDL sind eingebunden und können Benutzerfrage und Tool-Ergebnisse verdrängen",
|
|
"ai_chat.inspection.context_budget.warning.large_skills": "Viele Skills sind aktiviert oder Prompts sind lang, wodurch sich widersprüchliche Vorgaben überlagern können",
|
|
"ai_chat.inspection.context_budget.warning.large_tool_results": "Die letzten Tool-Ergebnisse sind lang und können spätere Antworten durch Logs oder große Ergebnismengen verwässern",
|
|
"ai_chat.inspection.context_budget.warning.missing_session": "Die Ziel-AI-Sitzung wurde nicht gefunden; die Nachrichtenvolumenstatistik deckt daher nur ein leeres Fenster ab",
|
|
"ai_chat.inspection.context_budget.warning.unresolved_tool_calls": "Im letzten Nachrichtenfenster gibt es {{count}} nicht abgeschlossene Tool-Aufrufe",
|
|
"ai_chat.inspection.current_connection.cache_missing": "Die aktuell aktive Verbindung ist im lokalen Cache nicht vorhanden",
|
|
"ai_chat.inspection.current_connection.no_active": "Aktuell ist keine aktive Verbindung ausgewählt",
|
|
"ai_chat.inspection.database_bundle.error.database_overview_failed": "Datenbankstrukturübersicht konnte nicht erstellt werden: {{detail}}",
|
|
"ai_chat.inspection.database_bundle.error.db_name_required": "dbName darf nicht leer sein",
|
|
"ai_chat.inspection.database_bundle.error.table_name_required": "tableName darf nicht leer sein",
|
|
"ai_chat.inspection.database_bundle.error.table_snapshot_failed": "Tabellenstruktur-Snapshot konnte nicht erstellt werden: {{detail}}",
|
|
"ai_chat.inspection.database_bundle.error.unknown": "Unbekannter Fehler",
|
|
"ai_chat.inspection.database_bundle.warning.all_columns_failed": "Spaltenübersicht konnte nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.inspection.database_bundle.warning.columns_failed": "Spaltenliste konnte nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.inspection.database_bundle.warning.ddl_failed": "DDL konnte nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.inspection.database_bundle.warning.foreign_keys_failed": "Fremdschlüsselbeziehungen konnten nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.inspection.database_bundle.warning.indexes_failed": "Indexdefinitionen konnten nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.inspection.database_bundle.warning.sample_rows_failed": "Beispieldaten konnten nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.inspection.database_bundle.warning.tables_failed": "Tabellenliste konnte nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.inspection.database_bundle.warning.tables_failed_with_column_fallback": "Tabellenliste konnte nicht abgerufen werden, es wurde auf Spaltenübersicht zurückgegriffen: {{detail}}",
|
|
"ai_chat.inspection.database_bundle.warning.triggers_failed": "Trigger konnten nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.inspection.diagnostics.error.read_ai_upstream_logs_failed": "AI-Upstream-Anforderungslogs konnten nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.diagnostics.error.read_app_logs_failed": "GoNavi-App-Logs konnten nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.diagnostics.error.read_app_logs_unsupported": "Die aktuelle Umgebung unterstützt das Lesen von GoNavi-App-Logs nicht",
|
|
"ai_chat.inspection.diagnostics.error.read_recent_connection_failures_failed": "Aktuelle Verbindungsfehlerdatensätze konnten nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.diagnostics.error.unknown": "Unbekannter Fehler",
|
|
"ai_chat.inspection.external_sql_file.error.file_path_required": "filePath darf nicht leer sein",
|
|
"ai_chat.inspection.external_sql_file.error.outside_configured_directory": "Die Zieldatei liegt nicht in den konfigurierten externen SQL-Verzeichnissen",
|
|
"ai_chat.inspection.external_sql_file.error.read_failed": "Fehler beim Lesen der externen SQL-Datei: {{detail}}",
|
|
"ai_chat.inspection.external_sql_file.error.unknown": "Unbekannter Fehler",
|
|
"ai_chat.inspection.external_sql_file.error.unsupported_runtime": "Die aktuelle Laufzeitumgebung unterstützt das Lesen lokaler SQL-Dateien noch nicht",
|
|
"ai_chat.inspection.guidance.message.configured": "{{promptCount}} benutzerdefinierte Prompts und {{skillCount}} Skills sind aktiviert",
|
|
"ai_chat.inspection.guidance.message.empty": "Es sind keine benutzerdefinierten Prompts oder Skills aktiviert",
|
|
"ai_chat.inspection.guidance.scope.database": "Datenbanksitzung",
|
|
"ai_chat.inspection.guidance.scope.global": "Global",
|
|
"ai_chat.inspection.guidance.scope.jvm": "JVM-Ressourcenanalyse",
|
|
"ai_chat.inspection.guidance.scope.jvmDiagnostic": "JVM-Diagnose",
|
|
"ai_chat.inspection.last_render_error.empty_next_action.inspect_health": "Wenn das gesamte AI-Panel fehlschlägt, kombiniere dies mit inspect_ai_setup_health und inspect_app_logs.",
|
|
"ai_chat.inspection.last_render_error.empty_next_action.reproduce": "Wenn der Nutzer eine leere AI-Nachricht, einen weißen Block oder einen lokalen Rendering-Fehler meldet, reproduziere das Problem und lies diesen Snapshot erneut.",
|
|
"ai_chat.inspection.last_render_error.empty_summary": "Es wurden noch keine Rendering-Fehler für AI-Nachrichten aufgezeichnet.",
|
|
"ai_chat.inspection.last_render_error.next_action.match_message": "Gleiche messageId und contentPreview mit der aktuellen Unterhaltung ab, um die betroffene Antwortblase zu identifizieren.",
|
|
"ai_chat.inspection.last_render_error.next_action.narrow_scope": "Wenn die Eingrenzung weitergehen muss, vergleiche die letzte Nutzereingabe, Tool-Ergebnisse und den zugehörigen Komponentencode.",
|
|
"ai_chat.inspection.last_render_error.recorded_summary": "Ein aktueller Rendering-Fehler einer AI-Nachricht wurde aufgezeichnet, inklusive Nachricht, Rendering-Pfad und Stack-Zusammenfassung für die Diagnose.",
|
|
"ai_chat.inspection.mcp_docker.message.empty": "Es sind keine Docker MCP-Server konfiguriert",
|
|
"ai_chat.inspection.mcp_docker.message.with_enabled": "Es gibt {{total}} Docker MCP-Server; {{enabled}} sind aktiviert",
|
|
"ai_chat.inspection.mcp_docker.message.with_incomplete": "Es gibt {{total}} Docker MCP-Server; bei {{count}} sind wichtige Argumente unvollständig",
|
|
"ai_chat.inspection.mcp_docker.next_action.add_image": "Ergänze den Image-Namen aus der README nach den docker run-Optionen",
|
|
"ai_chat.inspection.mcp_docker.next_action.add_interactive": "Ergänze -i oder --interactive in args, damit MCP stdio nicht sofort schließt",
|
|
"ai_chat.inspection.mcp_docker.next_action.add_run": "Ergänze run in args, zum Beispiel docker run --rm -i <image>",
|
|
"ai_chat.inspection.mcp_docker.next_action.create_from_readme": "Wenn die README docker run -i --rm <image> vorgibt, erstelle in den MCP-Einstellungen einen Server aus der Vorlage \"Docker image\"",
|
|
"ai_chat.inspection.mcp_docker.next_action.disabled": "Dieses Docker MCP ist derzeit deaktiviert; aktiviere es nach der Konfigurationsprüfung und teste die Tool-Erkennung",
|
|
"ai_chat.inspection.mcp_docker.next_action.fix_key_args": "Korrigiere zuerst die wichtigen Docker MCP-Argumente und teste dann die Tool-Erkennung erneut",
|
|
"ai_chat.inspection.mcp_docker.next_action.no_tools": "Die Konfiguration wirkt vollständig, aber es wurden keine Tools erkannt; klicke auf \"Tool-Erkennung testen\", um Docker, das Image und Abhängigkeiten im Container zu prüfen",
|
|
"ai_chat.inspection.mcp_docker.next_action.open_services": "Öffne die betroffenen Docker MCP-Services und prüfe Argumente und Timeout anhand der Konfigurationshinweise",
|
|
"ai_chat.inspection.mcp_docker.next_action.refresh_tools": "Bestätige, dass lokales Docker verfügbar und das Image gezogen ist, und klicke auf \"Tool-Erkennung testen\", um die Toolliste zu aktualisieren",
|
|
"ai_chat.inspection.mcp_docker.next_action.timeout": "Docker kann beim ersten Start langsam sein; verwende timeoutSeconds 45 oder 60",
|
|
"ai_chat.inspection.mcp_docker.warning.config_warnings": "{{count}} Docker MCP-Server hat noch Konfigurationswarnungen",
|
|
"ai_chat.inspection.mcp_docker.warning.incomplete": "{{count}} Docker MCP-Server vermisst wichtige Argumente wie run, -i oder Image-Name",
|
|
"ai_chat.inspection.mcp_docker.warning.no_tools": "{{count}} aktivierter Docker MCP-Server hat noch keine Tools erkannt",
|
|
"ai_chat.inspection.mcp_draft.default_name": "MCP-Entwurf",
|
|
"ai_chat.inspection.mcp_draft.next_action.args_missing_for_launcher": "Vervollständige die Launcher-Argumente: npx benötigt meist -y und einen Paketnamen, node braucht server.js, python braucht -m und einen Modulnamen, uvx braucht einen Paketnamen, docker braucht run, -i und einen Image-Namen.",
|
|
"ai_chat.inspection.mcp_draft.next_action.can_test_with_warnings": "Der aktuelle Entwurf kann getestet werden, aber behebe zuerst die warnings, um Timeouts bei der Tool-Erkennung oder 0 gefundene Tools zu vermeiden.",
|
|
"ai_chat.inspection.mcp_draft.next_action.command_missing": "Füge zuerst den vollständigen Startbefehl aus der README ein, oder trage mindestens node, npx, uvx, python oder exe als command ein.",
|
|
"ai_chat.inspection.mcp_draft.next_action.command_whole_line": "Lege den ganzen Befehl zur automatischen Aufteilung in das fullCommand-Feld; in command bleibt nur die ausführbare Datei, Skriptname, Paketname und --stdio gehören in args.",
|
|
"ai_chat.inspection.mcp_draft.next_action.docker_image": "Ergänze den Image-Namen aus der README in Docker-MCP-args, zum Beispiel mcp/server-fetch:latest.",
|
|
"ai_chat.inspection.mcp_draft.next_action.docker_interactive": "Ergänze -i oder --interactive in Docker-MCP-args, damit die stdio-Verbindung nicht sofort schließt.",
|
|
"ai_chat.inspection.mcp_draft.next_action.docker_run": "Für Docker MCP command auf docker setzen und run separat in args ergänzen.",
|
|
"ai_chat.inspection.mcp_draft.next_action.env_lines": "Schreibe Umgebungsvariablen zeilenweise als KEY=VALUE; export, set, env, && oder $env:KEY=VALUE; gehören nicht in args.",
|
|
"ai_chat.inspection.mcp_draft.next_action.ready_to_save": "Der aktuelle Entwurf kann gespeichert und für Tool-Erkennung getestet werden; wenn 0 Tools gefunden werden, prüfe, ob der Dienst stdio unterstützt.",
|
|
"ai_chat.inspection.mcp_draft.next_action.send_full_command": "Wenn du noch unsicher bist, wie die Aufteilung aussehen soll, übergib den ursprünglichen vollständigen Befehl als fullCommand und lasse GoNavi ihn berechnen.",
|
|
"ai_chat.inspection.mcp_draft.next_action.timeout": "Setze timeout auf 20 Sekunden; langsam startende Dienste können 45 oder 60 Sekunden verwenden.",
|
|
"ai_chat.inspection.mcp_draft.parse.no_full_command": "Es wurde kein fullCommand angegeben; der Entwurf aus Einzelfeldern wurde geprüft.",
|
|
"ai_chat.inspection.mcp_draft.redacted_parse_failed": "[Analyse fehlgeschlagen, ursprünglicher Befehl ausgeblendet]",
|
|
"ai_chat.inspection.mcp_remote.message.no_public_url": "Der Remote-Agent muss den Windows GoNavi MCP HTTP-Endpunkt über einen kontrollierten Tunnel oder Reverse Proxy erreichen",
|
|
"ai_chat.inspection.mcp_remote.message.with_public_url": "Der Remote-Agent soll GoNavi MCP über {{publicUrl}} erreichen und sich mit Bearer Token authentifizieren",
|
|
"ai_chat.inspection.mcp_remote.next_action.configure_agent": "Konfiguriere Streamable HTTP MCP URL und Authorization Bearer Token in OpenClaw/Hermans.",
|
|
"ai_chat.inspection.mcp_remote.next_action.expose_mcp_only": "Gib nur /mcp über Tunnel, Reverse Proxy oder privates Netzwerk für den Ziel-Cloud-Agent frei.",
|
|
"ai_chat.inspection.mcp_remote.next_action.inspect_connections": "Rufe zuerst get_connections auf, um connectionId zu erhalten, und lies danach Schemas; kopiere keine Datenbankpasswörter in den Cloud-Agent.",
|
|
"ai_chat.inspection.mcp_remote.next_action.start_local_http": "Starte den GoNavi MCP HTTP-Modus auf Windows und prüfe, ob /healthz erreichbar ist.",
|
|
"ai_chat.inspection.mcp_remote.security.recommended_bind_address": "127.0.0.1, außer davor liegt ein kontrolliertes Gateway oder privates Netzwerk",
|
|
"ai_chat.inspection.mcp_remote.strategy.cloudflare_tunnel.detail": "Geeignet für Windows-Rechner ohne festen öffentlichen Einstiegspunkt, mit zusätzlicher Identitätsprüfung über Cloudflare Access.",
|
|
"ai_chat.inspection.mcp_remote.strategy.cloudflare_tunnel.risk": "Access- / Zero-Trust-Regeln müssen aktiv sein; verlasse dich nicht nur auf eine zufällige URL.",
|
|
"ai_chat.inspection.mcp_remote.strategy.cloudflare_tunnel.title": "Cloudflare Tunnel",
|
|
"ai_chat.inspection.mcp_remote.strategy.custom.detail": "Geeignet, wenn bereits ein Unternehmens-Gateway, Bastion Host oder dediziertes MCP-Gateway vorhanden ist.",
|
|
"ai_chat.inspection.mcp_remote.strategy.custom.risk": "TLS, Authentifizierung, Audit und Quellbeschränkungen müssen klar definiert sein, damit lokale Datenbankfunktionen nicht unbekannten Agents offengelegt werden.",
|
|
"ai_chat.inspection.mcp_remote.strategy.custom.title": "Eigene Bridge",
|
|
"ai_chat.inspection.mcp_remote.strategy.reverse_proxy.detail": "Geeignet, wenn Windows GoNavi und der Cloud-Agent bereits ein vertrauenswürdiges Intranet oder Gateway teilen.",
|
|
"ai_chat.inspection.mcp_remote.strategy.reverse_proxy.risk": "Beschränke Quell-IP, TLS und Bearer Token weiter auf Gateway-Ebene; nicht direkt öffentlich freigeben.",
|
|
"ai_chat.inspection.mcp_remote.strategy.reverse_proxy.title": "Interner Reverse Proxy",
|
|
"ai_chat.inspection.mcp_remote.strategy.ssh_reverse_tunnel.detail": "Geeignet, um Windows 127.0.0.1:8765 vorübergehend auf Cloud-Linux abzubilden. Einfach einzurichten, aber SSH-Konto und Port müssen kontrolliert sein.",
|
|
"ai_chat.inspection.mcp_remote.strategy.ssh_reverse_tunnel.risk": "Nach einem Tunnelabbruch ist der Cloud-Agent nicht verfügbar; passend für PoC oder kontrollierte Betriebsumgebungen.",
|
|
"ai_chat.inspection.mcp_remote.strategy.ssh_reverse_tunnel.title": "SSH-Reverse-Tunnel",
|
|
"ai_chat.inspection.mcp_remote.strategy.tailscale.detail": "Geeignet, wenn Windows GoNavi und der Cloud-Agent im selben privaten Netzwerk liegen und bevorzugt interne Adressen nutzen.",
|
|
"ai_chat.inspection.mcp_remote.strategy.tailscale.risk": "Kontrolliere ACLs, sodass nur der Ziel-Agent den GoNavi MCP-Port erreichen kann.",
|
|
"ai_chat.inspection.mcp_remote.strategy.tailscale.title": "Tailscale / WireGuard",
|
|
"ai_chat.inspection.mcp_remote.warning.missing_public_url": "Es wurde keine für den Cloud-Agent erreichbare MCP URL angegeben; ein Remote-Agent kann nicht direkt auf Windows 127.0.0.1 zugreifen.",
|
|
"ai_chat.inspection.mcp_remote.warning.missing_token": "Bearer Token wurde noch nicht bestätigt; HTTP MCP muss einen zufälligen token verwenden und darf nicht ohne Authentifizierung freigegeben werden.",
|
|
"ai_chat.inspection.mcp_remote.warning.non_https_public_url": "Die Remote-MCP URL ist nicht HTTPS; wenn es keine private Netzwerkadresse ist, nutze TLS oder einen kontrollierten Tunnel.",
|
|
"ai_chat.inspection.mcp_runtime.error.read_logs_failed": "MCP-Laufzeitfehlerlogs konnten nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.mcp_runtime.error.read_logs_unsupported": "Die aktuelle Umgebung unterstützt das Lesen von GoNavi-App-Logs nicht",
|
|
"ai_chat.inspection.mcp_runtime.message.failure_events": "In den aktuellen Logs wurde {{count}} MCP-Laufzeitfehlersignal gefunden",
|
|
"ai_chat.inspection.mcp_runtime.message.no_failure_events": "In den aktuellen Logs wurde kein Signal für MCP-Start-, Tool-Erkennungs- oder Tool-Aufruffehler gefunden.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.argument_error": "Rufe zuerst inspect_mcp_tool_schema auf, um das echte inputSchema zu lesen, und korrigiere dann das arguments JSON des Tools.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.auth": "Prüfe, ob Token/API Key in den Umgebungsvariablen gesetzt, nicht abgelaufen und ausreichend berechtigt ist.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.command_not_found": "Prüfe, ob command nur den Namen der ausführbaren Datei enthält, und bestätige, dass sie in PATH liegt oder als absoluter Pfad angegeben ist.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.enabled_without_tools": "Einige aktivierte MCP-Server haben keine erkannten Tools; klicke zuerst auf \"Tool-Erkennung testen\" und bestätige, dass der Startbefehl eigenständig läuft.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.expand_logs": "In den aktuellen Logs wurde kein MCP-Fehlersignal gefunden; wenn du das Problem gerade reproduziert hast, erhöhe lineLimit oder filtere exakt mit serverName.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.fix_discovery_first": "Wenn die Toolliste leer ist, behebe zuerst Start-/Erkennungsfehler, bevor du einzelne Tool-arguments untersuchst.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.network": "Prüfe, ob Remote-Adresse, Proxy, VPN oder lokaler Port, die MCP benötigt, erreichbar sind.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.permission": "Prüfe Ausführungsrechte, Antivirus-/Systemblockaden und Zugriffsrechte auf das Arbeitsverzeichnis.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.process_exit": "Führe den Startbefehl separat im Terminal aus und prüfe, warum der Prozess direkt nach dem Start beendet wird.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.stdio_closed": "Bestätige, dass die laut README nötigen --stdio/stdin-Argumente gesetzt sind; bei Docker muss args -i enthalten.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.timeout": "Erhöhe timeoutSeconds auf 45 oder 60 und bestätige, dass der Dienst nach dem Start die stdio-Verbindung offen hält.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.transport": "Neu hinzugefügte MCP-Server in GoNavi unterstützen derzeit nur stdio; für HTTP MCP nutze den GoNavi HTTP-Dienst oder die passende Remote-Anleitung.",
|
|
"ai_chat.inspection.mcp_runtime.next_action.unknown": "Prüfe die Konfiguration mit inspect_mcp_setup und rufe dann inspect_app_logs mit einem größeren Logfenster auf, um den Rohfehler zu bestätigen.",
|
|
"ai_chat.inspection.mcp_runtime.warning.enabled_without_tools": "{{count}} aktivierter MCP-Server hat derzeit keine erkannten Tools.",
|
|
"ai_chat.inspection.mcp_runtime.warning.failure_events": "In den aktuellen Logs wurde {{count}} MCP-Laufzeitfehlersignal gefunden.",
|
|
"ai_chat.inspection.mcp_tool_schema.message.empty": "Noch kein MCP-Tool-schema verfügbar",
|
|
"ai_chat.inspection.mcp_tool_schema.message.no_matches": "Kein passendes MCP-Tool gefunden",
|
|
"ai_chat.inspection.mcp_tool_schema.message.with_matches": "{{matched}} MCP-Tools gefunden und {{returned}} Parameter-schema-Zusammenfassungen zurückgegeben",
|
|
"ai_chat.inspection.mcp_tool_schema.next_action.inspect_setup": "Rufe zuerst inspect_mcp_setup auf, um zu prüfen, ob MCP-Services aktiviert sind und Tools erkannt wurden.",
|
|
"ai_chat.inspection.mcp_tool_schema.next_action.lookup_alias": "Rufe zuerst inspect_mcp_setup auf, um die tatsächlich erkannten MCP-Tool-aliases zu prüfen, und suche dann mit exaktem alias.",
|
|
"ai_chat.inspection.mcp_tool_schema.next_action.read_readme": "Bei Tools ohne schema gehe zurück zur MCP-Service-README oder nutze Tool-Fehler, um Parameter zu bestätigen.",
|
|
"ai_chat.inspection.mcp_tool_schema.usage.enum_values": "{{path}} muss einen dieser Enum-Werte verwenden: {{values}}",
|
|
"ai_chat.inspection.mcp_tool_schema.usage.nested_json": "Verschachtelte Objekt- und Array-Parameter müssen der JSON-Struktur folgen; übergib nicht das ganze Objekt als String.",
|
|
"ai_chat.inspection.mcp_tool_schema.usage.no_input_schema": "Dieses MCP-Tool deklariert kein inputSchema; prüfe zuerst die Service-README oder teste mit einem leeren Objekt.",
|
|
"ai_chat.inspection.mcp_tool_schema.usage.required_params": "Vor dem Aufruf von {{alias}} müssen angegeben werden: {{parameters}}",
|
|
"ai_chat.inspection.mcp_tool_schema.usage.schema_fields_only": "Übergebe nur Felder, die im schema deklariert sind; wenn eine Feldbedeutung unklar ist, frage den Benutzer statt zu raten.",
|
|
"ai_chat.inspection.mcp_tool_schema.warning.missing_schema": "Einige MCP-Tools deklarieren kein inputSchema, daher kann die Parameterdokumentation unvollständig sein.",
|
|
"ai_chat.inspection.mcp_tool_schema.warning.no_matches": "Kein passendes MCP-Tool gefunden.",
|
|
"ai_chat.inspection.mcp_tool_schema.warning.no_tools": "Es wurden keine MCP-Tools erkannt; eventuell sind keine MCP-Services konfiguriert oder Service-Test/Erkennung ist fehlgeschlagen.",
|
|
"ai_chat.inspection.mcp.message.configured": "{{serverCount}} MCP-Server ist konfiguriert; {{enabledCount}} aktiviert",
|
|
"ai_chat.inspection.mcp.message.empty": "Es sind noch keine MCP-Server konfiguriert",
|
|
"ai_chat.inspection.mcp.message.with_issues": "{{serverCount}} MCP-Server ist konfiguriert; {{enabledCount}} aktiviert; {{issueCount}} Konfigurationsprüfungen benötigen Aufmerksamkeit",
|
|
"ai_chat.inspection.mcp.next_action.fix_config_errors": "Behebe zuerst die MCP-Server-Konfigurationsfehler und teste den Server danach erneut",
|
|
"ai_chat.inspection.mcp.next_action.fix_config_warnings": "Öffne den betroffenen MCP-Server und trenne Startbefehl, Argumente und Timeout gemäß den Konfigurationshinweisen",
|
|
"ai_chat.inspection.mcp.warning.config_errors": "{{count}} MCP-Server hat Fehler in der Startkonfiguration; Tests und Tool-Erkennung können fehlschlagen",
|
|
"ai_chat.inspection.mcp.warning.config_warnings": "{{count}} MCP-Server hat Warnungen in der Startkonfiguration; vor der Diagnose fehlgeschlagener Tool-Erkennung prüfen",
|
|
"ai_chat.inspection.message_flow.next_action.check_empty_assistant": "Prüfe, ob Ausnahme- oder Abbruchpfade leere assistant-Platzhalternachrichten hinterlassen haben.",
|
|
"ai_chat.inspection.message_flow.next_action.check_stream_append": "Prüfe, ob die Streaming-Append-Logik dieselbe assistantMsgId wiederverwendet, statt für dieselbe Antwort eine neue assistant-Nachricht anzulegen.",
|
|
"ai_chat.inspection.message_flow.next_action.check_tool_results": "Prüfe zuerst, ob useAIChatLocalTools für jede tool_call_id eine tool-Nachricht schreibt.",
|
|
"ai_chat.inspection.message_flow.next_action.inspect_render_or_logs": "Im Nachrichtenfluss wurde keine offensichtliche Strukturstörung gefunden; fahre mit inspect_ai_last_render_error oder inspect_app_logs für Rendering-/Laufzeitdiagnosen fort.",
|
|
"ai_chat.inspection.message_flow.warning.consecutive_assistant": "{{count}} aufeinanderfolgende assistant-Nachrichtenpaare wurden gefunden; eine Antwort wurde möglicherweise auf mehrere Bubbles aufgeteilt.",
|
|
"ai_chat.inspection.message_flow.warning.empty_assistant": "{{count}} leere assistant-Nachrichten wurden gefunden.",
|
|
"ai_chat.inspection.message_flow.warning.loading_message": "Die Sitzung enthält noch eine loading-Nachricht; Streaming kann noch aktiv sein oder eine frühere Unterbrechung wurde nicht bereinigt.",
|
|
"ai_chat.inspection.message_flow.warning.unresolved_tool_calls": "{{count}} Tool-Aufrufe haben keine passende tool-Ergebnismeldung.",
|
|
"ai_chat.inspection.provider.message.active_needs_attention": "{{provider}} wird verwendet, aber {{issueCount}} Punkte müssen noch geprüft werden",
|
|
"ai_chat.inspection.provider.message.active_ready": "{{count}} Anbieter sind konfiguriert; verwendet wird {{provider}}",
|
|
"ai_chat.inspection.provider.message.empty": "Es sind keine AI-Anbieter konfiguriert",
|
|
"ai_chat.inspection.provider.message.unselected": "{{count}} Anbieter sind konfiguriert, aber kein aktiver Anbieter ist ausgewählt",
|
|
"ai_chat.inspection.redis_topology.db_note.cluster_logical_namespace": "Redis Cluster unterstützt physisch nur db0; GoNavi emuliert eine multi-DB view mit dem Prefix __gonavi_db_N__:",
|
|
"ai_chat.inspection.redis_topology.db_note.sentinel_selected_db": "Nachdem Sentinel den master gefunden hat, verbindet GoNavi zur ausgewählten DB und behält die Sentinel-Einstellungen beim Wiederverbinden bei.",
|
|
"ai_chat.inspection.redis_topology.db_note.single_selected_db": "Standalone mode verwendet Redis SELECT DB direkt.",
|
|
"ai_chat.inspection.redis_topology.label.cluster": "Redis Cluster",
|
|
"ai_chat.inspection.redis_topology.label.sentinel": "Redis Sentinel",
|
|
"ai_chat.inspection.redis_topology.label.single": "Standalone Redis",
|
|
"ai_chat.inspection.redis_topology.next_action.align_single_topology": "Wechsle explizit in den Cluster mode oder entferne zusätzliche nodes und behalte eine Standalone-Adresse, um Abweichungen zwischen konfigurierter und Backend-Topologie zu vermeiden.",
|
|
"ai_chat.inspection.redis_topology.next_action.check_sentinel_port": "Ändere den port der primären Sentinel-Adresse auf 26379, sofern dein Sentinel nicht ausdrücklich einen anderen port verwendet.",
|
|
"ai_chat.inspection.redis_topology.next_action.disable_ssh": "Deaktiviere den SSH-Tunnel und nutze direkte Verbindung, Proxy/VPN oder GoNavi MCP HTTP, damit der remote Agent über lokales GoNavi auf Redis zugreifen kann.",
|
|
"ai_chat.inspection.redis_topology.next_action.fill_host": "Trage zuerst den host ein; verwende Sentinel-Adressen für Sentinel mode und Redis Cluster seed nodes für Cluster mode.",
|
|
"ai_chat.inspection.redis_topology.next_action.fill_sentinel_master": "Trage den Sentinel master name ein, zum Beispiel mymaster.",
|
|
"ai_chat.inspection.redis_topology.next_action.review_cluster_logical_db": "Prüfe, ob der Workload wirklich eine Redis Cluster multi-DB view benötigt; wenn es nur um key-Gruppierung geht, bevorzuge einen Application Namespace.",
|
|
"ai_chat.inspection.redis_topology.next_action.test_connection": "Die Konfiguration wirkt für {{topologyLabel}} nutzbar; teste als Nächstes die Verbindung und prüfe den Redis DB/key tree.",
|
|
"ai_chat.inspection.redis_topology.recommendation.check_tls": "TLS ist aktiviert; falls die Verbindung fehlschlägt, prüfe zuerst sslMode, CA-/certificate paths und server SNI.",
|
|
"ai_chat.inspection.redis_topology.recommendation.cluster_multiple_seeds": "Bevorzuge mindestens zwei seed nodes und bestätige, dass sie zum selben Redis Cluster gehören.",
|
|
"ai_chat.inspection.redis_topology.recommendation.cluster_namespace": "Wenn eine multi-DB view erforderlich ist, bevorzuge explizite Namespaces in business keys, um das physische db0-Limit von Cluster nicht falsch zu verstehen.",
|
|
"ai_chat.inspection.redis_topology.recommendation.network_for_cluster_sentinel": "Für netzübergreifenden Redis Cluster/Sentinel-Zugriff bevorzuge Netzwerkproxy, VPN oder GoNavi MCP HTTP statt eines Single-Port-SSH-Tunnels.",
|
|
"ai_chat.inspection.redis_topology.recommendation.sentinel_addresses": "Bestätige, dass host und extra nodes Sentinel-Adressen sind, nicht Redis master addresses.",
|
|
"ai_chat.inspection.redis_topology.recommendation.separate_auth": "Trage Redis data-node credentials und Sentinel credentials getrennt ein; nicht vermischen.",
|
|
"ai_chat.inspection.redis_topology.recommendation.single_one_address": "Standalone mode sollte eine Redis-Adresse enthalten; bei mehreren nodes nutze stattdessen Cluster oder Sentinel mode.",
|
|
"ai_chat.inspection.redis_topology.warning.cluster_logical_db": "Redis Cluster unterstützt physisch nur db0; GoNavi emuliert logische DB-Trennung mit dem Prefix __gonavi_db_N__:",
|
|
"ai_chat.inspection.redis_topology.warning.cluster_sentinel_fields_ignored": "Sentinel master und Sentinel user Felder wirken im Cluster mode nicht",
|
|
"ai_chat.inspection.redis_topology.warning.cluster_single_seed": "Es ist nur ein Cluster seed node konfiguriert; füge mehrere master/replica nodes hinzu, um die Discovery-Zuverlässigkeit zu erhöhen",
|
|
"ai_chat.inspection.redis_topology.warning.missing_host": "host ist leer; trage vor dem Verbinden einen Redis-Knoten oder eine Sentinel-Adresse ein",
|
|
"ai_chat.inspection.redis_topology.warning.missing_sentinel_master": "Sentinel master name ist leer; go-redis FailoverClient kann den primary node nicht finden",
|
|
"ai_chat.inspection.redis_topology.warning.sentinel_default_redis_port": "Die primäre Sentinel-Adresse verwendet port 6379; bestätige, dass dies ein Sentinel port ist, üblich ist 26379",
|
|
"ai_chat.inspection.redis_topology.warning.single_multiple_nodes": "Standalone mode enthält mehrere node addresses; das Backend nutzt den multi-node Cluster path, daher explizit auf Cluster mode wechseln",
|
|
"ai_chat.inspection.redis_topology.warning.single_sentinel_fields_ignored": "Sentinel-Felder wirken im Standalone mode nicht; wechsle zu Sentinel mode, wenn Sentinel discovery erforderlich ist",
|
|
"ai_chat.inspection.redis_topology.warning.single_sentinel_node": "Es ist nur ein Sentinel-Knoten konfiguriert; trage mindestens 2-3 Sentinel-Adressen ein, um einen Single Point of Failure zu vermeiden",
|
|
"ai_chat.inspection.redis_topology.warning.ssh_unsupported": "{{topologyLabel}} wird vom aktuellen Backend nicht mit SSH-Tunneln unterstützt; nutze direkte Verbindung, Proxy oder remote MCP HTTP",
|
|
"ai_chat.inspection.runtime.context.schema_only": "Nur schema",
|
|
"ai_chat.inspection.runtime.context.with_results": "schema + Ergebnisse",
|
|
"ai_chat.inspection.runtime.context.with_samples": "schema + Beispiele",
|
|
"ai_chat.inspection.runtime.message.active": "AI verwendet {{provider}}; {{toolCount}} Tools sind verfügbar",
|
|
"ai_chat.inspection.runtime.message.no_provider": "Aktuell ist kein AI-Anbieter aktiv",
|
|
"ai_chat.inspection.runtime.safety.full": "Voller Zugriff",
|
|
"ai_chat.inspection.runtime.safety.readonly": "Nur lesen",
|
|
"ai_chat.inspection.runtime.safety.readwrite": "Lesen/Schreiben",
|
|
"ai_chat.inspection.safety.message.active": "AI-Sicherheitsstufe ist {{safety}}; aktive Verbindung ist {{connection}}",
|
|
"ai_chat.inspection.safety.message.no_connection": "AI-Sicherheitsstufe ist {{safety}}; keine aktive Verbindung ausgewählt",
|
|
"ai_chat.inspection.safety.recommendation.confirm_jvm_policy": "Die aktuelle JVM-Verbindung sollte als schreibgeschützt behandelt werden; prüfe vor mutating-Diagnosen, ob die Richtlinie geändert werden soll.",
|
|
"ai_chat.inspection.safety.recommendation.enable_full_for_ddl": "Wechsle vor CREATE/ALTER/DROP/TRUNCATE schema-Änderungen zum Modus mit vollem Zugriff.",
|
|
"ai_chat.inspection.safety.recommendation.enable_jvm_mutating": "JVM-Diagnosen verbieten derzeit mutating-Befehle; passe vor risikoreichen Befehlen die Diagnoseberechtigungen an.",
|
|
"ai_chat.inspection.safety.recommendation.enable_readwrite_for_dml": "Wechsle vor INSERT/UPDATE/DELETE zur AI-Sicherheitsstufe Lesen/Schreiben.",
|
|
"ai_chat.inspection.safety.recommendation.full_required_for_schema": "DML ist bereits erlaubt; schema-Änderungen erfordern weiterhin den Modus mit vollem Zugriff.",
|
|
"ai_chat.inspection.safety.recommendation.open_editable_grid": "Wenn ein Resultgrid bearbeitet werden soll, öffne statt des aktuellen schreibgeschützten Tabs eine bearbeitbare Tabelle oder ein bearbeitbares Abfrageergebnis erneut.",
|
|
"ai_chat.inspection.safety.restriction.active_result_readonly": "Das Resultset des aktuellen aktiven Tabs ist schreibgeschützt und kann nicht als direkt beschreibbares Datengrid behandelt werden.",
|
|
"ai_chat.inspection.safety.restriction.jvm_mutating_disabled": "Die aktuelle JVM-Diagnose verbietet mutating-Befehle ausdrücklich, selbst wenn die AI-Sicherheitsstufe Schreibzugriffe erlaubt.",
|
|
"ai_chat.inspection.safety.restriction.jvm_readonly": "Die aktuelle JVM-Verbindung ist schreibgeschützt, daher sollten Diagnosepläne standardmäßig auf Beobachtung und Fehlerbehebung ausgerichtet sein.",
|
|
"ai_chat.inspection.safety.restriction.mcp_allow_mutating": "Beim Ausführen von Nicht-Abfrage-Anweisungen über GoNavi MCP execute_sql muss allowMutating=true zusätzlich explizit übergeben werden.",
|
|
"ai_chat.inspection.safety.restriction.non_query_confirmation": "Jede erlaubte Nicht-Abfrage-Anweisung erfordert weiterhin eine menschliche Bestätigung.",
|
|
"ai_chat.inspection.safety.restriction.readonly_blocks_mutating": "Auf der aktuellen Sicherheitsstufe werden alle DML/DDL direkt blockiert.",
|
|
"ai_chat.inspection.safety.rule.full": "Im Modus mit vollem Zugriff sind alle SQL-Operationen erlaubt; risikoreiche oder nicht erkannte Anweisungen erfordern weiterhin eine Bestätigung.",
|
|
"ai_chat.inspection.safety.rule.readonly": "Im Nur-Lesen-Modus sind nur Abfrageanweisungen erlaubt.",
|
|
"ai_chat.inspection.safety.rule.readwrite": "Im Lesen/Schreiben-Modus sind Abfragen und DML erlaubt; DDL bleibt blockiert.",
|
|
"ai_chat.inspection.setup.blocker.missing_base_url": "Dem aktiven Anbieter fehlt eine base URL",
|
|
"ai_chat.inspection.setup.blocker.missing_model": "Beim aktiven Anbieter ist kein Modell ausgewählt",
|
|
"ai_chat.inspection.setup.blocker.missing_secret": "Dem aktiven Anbieter fehlt ein API Key / Secret",
|
|
"ai_chat.inspection.setup.blocker.no_active_provider": "Kein aktiver AI-Anbieter ist ausgewählt",
|
|
"ai_chat.inspection.setup.message.blocked": "Das AI-Setup hat {{count}} Blocker; behebe zuerst den aktiven Anbieter und die Chat-Voraussetzungen",
|
|
"ai_chat.inspection.setup.message.needs_attention": "Das AI-Setup ist insgesamt nutzbar, aber {{count}} Empfehlungen können noch optimiert werden",
|
|
"ai_chat.inspection.setup.message.ready": "Der AI-Setup-Zustand ist bestanden; Anbieter, Chat-Voraussetzungen und MCP-Laufzeitpfad sind verfügbar",
|
|
"ai_chat.inspection.setup.next_action.add_guidance": "Um Antwortstil oder Workflow festzulegen, ergänze benutzerdefinierte Prompts oder aktiviere Skills",
|
|
"ai_chat.inspection.setup.next_action.add_mcp_server": "Um AI-Tool-Funktionen zu erweitern, füge mindestens einen MCP-Server hinzu und teste ihn",
|
|
"ai_chat.inspection.setup.next_action.attach_schema_context": "Für genauere SQL- oder Strukturvorschläge verknüpfe zuerst das Zieltabellen-schema mit dem AI-Kontext",
|
|
"ai_chat.inspection.setup.next_action.connect_external_client": "Damit externe Agents GoNavi MCP verwenden können, verbinde lokale Clients wie Claude Code/Codex oder konfiguriere eine Remote-MCP-Bridge für Cloud-Agents",
|
|
"ai_chat.inspection.setup.next_action.fill_base_url": "Trage die baseUrl des aktiven Anbieters ein",
|
|
"ai_chat.inspection.setup.next_action.fill_secret": "Trage das Secret des aktiven Anbieters ein",
|
|
"ai_chat.inspection.setup.next_action.select_model": "Wähle ein verfügbares Modell für den aktiven Anbieter aus",
|
|
"ai_chat.inspection.setup.next_action.select_provider": "Füge in den AI-Einstellungen zuerst einen aktiven Anbieter hinzu und wähle ihn aus",
|
|
"ai_chat.inspection.setup.next_action.test_mcp_servers": "Teste jeden aktivierten MCP-Server und bestätige, dass Befehl, Argumente und Umgebungsvariablen Tools korrekt erkennen",
|
|
"ai_chat.inspection.setup.next_action.wait_models": "Warte, bis die Modellliste geladen ist, und bestätige dann das aktive Modell erneut",
|
|
"ai_chat.inspection.setup.warning.external_client_not_connected": "Claude Code / Codex ist noch nicht als lokaler Client mit dem aktuellen GoNavi MCP verbunden; OpenClaw/Hermans benötigen eine Remote-Bridge",
|
|
"ai_chat.inspection.setup.warning.loading_models": "Die Modellliste wird noch geladen, daher ist die Modellauswahl noch nicht abgeschlossen",
|
|
"ai_chat.inspection.setup.warning.no_guidance": "Es sind keine benutzerdefinierten Prompts oder Skills konfiguriert",
|
|
"ai_chat.inspection.setup.warning.no_mcp_servers": "Es sind noch keine MCP-Server konfiguriert",
|
|
"ai_chat.inspection.setup.warning.no_mcp_tools": "MCP-Server sind aktiviert, aber es wurden noch keine verfügbaren MCP-Tools erkannt",
|
|
"ai_chat.inspection.setup.warning.no_schema_context": "Der Chat ist bereit, aber es ist noch kein Tabellen-schema-Kontext angehängt",
|
|
"ai_chat.inspection.snapshot.error.default": "Lokaler Prüfsnapshot konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_active_tab": "Aktiver Tab konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_ai_context": "Aktueller AI-Kontext konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_ai_context_budget": "AI-Kontextbudgetdiagnose konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_ai_last_render_error": "Letzter AI-Renderfehler konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_ai_message_flow": "AI-Nachrichtenflussdiagnose konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_ai_sessions": "Lokale AI-Sitzungsliste konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_app_health": "AI-App-Zustandsübersicht konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_codebase_hotspots": "Code-Hotspot-Diagnose konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_connection_capabilities": "Fähigkeitsmatrix der aktuellen Verbindung konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_current_connection": "Aktuelle Verbindung konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_external_sql_directories": "Externe SQL-Verzeichnisse konnten nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_external_sql_file": "Externe SQL-Datei konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_mcp_runtime_failures": "MCP-Laufzeitfehlerdiagnose konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_recent_sql_activity": "Aktuelle SQL-Aktivität konnte nicht zusammengefasst werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_recent_sql_logs": "Aktuelle SQL-Logs konnten nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_redis_topology": "Redis-Topologiekonfiguration konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_saved_connections": "Liste gespeicherter Verbindungen konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_saved_queries": "Gespeicherte Abfragen konnten nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_shortcuts": "Tastenkürzelkonfiguration konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_sql_editor_transaction": "SQL-Editor-Transaktionsstatus konnte nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_sql_snippets": "SQL-Snippets konnten nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.snapshot.error.inspect_workspace_tabs": "Aktuelle Workspace-Tabs konnten nicht gelesen werden: {{detail}}",
|
|
"ai_chat.inspection.sql_editor_transaction.commit_policy.semantics": "Der SQL-Editor führt INSERT/UPDATE/DELETE/MERGE/REPLACE-DML in einer verwalteten Transaktion aus. Manueller oder automatischer Modus steuert nur, wann COMMIT nach erfolgreicher Ausführung passiert, nicht ob eine Transaktion geöffnet wird.",
|
|
"ai_chat.inspection.sql_editor_transaction.next_action.explain_auto_commit": "Erklären, dass die aktuelle DML zuerst eine verwaltete Transaktion öffnet und nach erfolgreicher Ausführung nach etwa {{seconds}} Sekunden automatisch committet.",
|
|
"ai_chat.inspection.sql_editor_transaction.next_action.explain_manual_commit": "Erklären, dass die aktuelle DML zuerst eine verwaltete Transaktion öffnet und nach erfolgreicher Ausführung manuell Commit oder Rollback benötigt.",
|
|
"ai_chat.inspection.sql_editor_transaction.next_action.inspect_recent_activity": "Die letzten Schreib- oder Transaktionsergebnisse in recentRelevantLogs prüfen und bei Bedarf inspect_recent_sql_activity für Details aufrufen.",
|
|
"ai_chat.inspection.sql_editor_transaction.next_action.resolve_active_pending": "Den Benutzer bitten, in der Transaktionsleiste im Ergebnisbereich auf „Commit“ oder „Rollback“ zu klicken, oder das Ende des Auto-Commit-Countdowns abzuwarten.",
|
|
"ai_chat.inspection.sql_editor_transaction.next_action.switch_to_pending_tab": "Vor weiterer DML-Ausführung zum passenden SQL-Tab zurückwechseln und die ausstehende Transaktion auflösen.",
|
|
"ai_chat.inspection.sql_editor_transaction.next_action.switch_to_sql_tab": "Zuerst zu einem Abfrage-Tab mit SQL-Entwurf wechseln oder den Benutzer bitten, das auszuführende SQL einzufügen.",
|
|
"ai_chat.inspection.sql_editor_transaction.no_active_tab": "Aktuell ist kein aktiver Tab ausgewählt",
|
|
"ai_chat.inspection.sql_editor_transaction.not_sql_tab": "Der aktuell aktive Tab ist kein SQL-Editor-Tab",
|
|
"ai_chat.inspection.sql_editor_transaction.semantics.explicit_transaction": "Explizite Anweisungen zur Transaktionssteuerung wurden erkannt, daher legt GoNavi keine weitere vom SQL-Editor verwaltete Transaktion darum.",
|
|
"ai_chat.inspection.sql_editor_transaction.semantics.managed_dml": "Wenn der SQL-Editor INSERT/UPDATE/DELETE/MERGE/REPLACE-DML ausführt, wird zuerst eine verwaltete Transaktion geöffnet. Die Commit-Einstellung bestimmt nur, wann nach erfolgreicher Ausführung COMMIT erfolgt.",
|
|
"ai_chat.inspection.sql_editor_transaction.semantics.no_managed_transaction": "Das aktuelle SQL löst keine vom SQL-Editor verwaltete Transaktion aus. Schreibgeschützte Abfragen verwenden weiterhin den normalen Abfragepfad.",
|
|
"ai_chat.inspection.sql_editor_transaction.warning.active_pending_transaction": "Der aktive SQL-Tab hat bereits eine ausstehende Transaktion. Vor neuer DML-Ausführung erst committen oder zurückrollen.",
|
|
"ai_chat.inspection.sql_editor_transaction.warning.auto_commit_managed_dml": "Auto-Commit ist aktiviert, aber DML geht weiterhin zuerst in eine verwaltete Transaktion und führt COMMIT erst nach Ablauf der Verzögerung aus.",
|
|
"ai_chat.inspection.sql_editor_transaction.warning.explicit_transaction_control": "Das aktuelle SQL enthält bereits explizite Transaktionssteuerung, daher übernimmt der SQL-Editor Commit oder Rollback nicht.",
|
|
"ai_chat.inspection.sql_editor_transaction.warning.pending_transactions": "Es gibt {{count}} vom SQL-Editor verwaltete Transaktionen, die auf Commit oder Rollback warten",
|
|
"ai_chat.inspection.sql_log.unspecified_database": "(Keine Datenbank angegeben)",
|
|
"ai_chat.inspection.sql_risk.error.inspect_failed": "SQL-Risiko konnte nicht geprüft werden: {{detail}}",
|
|
"ai_chat.inspection.sql_risk.message.no_active_query_sql": "Der aktuelle aktive Tab ist kein SQL-Abfragetab, oder der Editor enthält keinen SQL-Inhalt.",
|
|
"ai_chat.inspection.sql_risk.message.no_sql": "Es wurde kein SQL übergeben, und es gibt keinen lesbaren aktiven SQL-Abfragetab.",
|
|
"ai_chat.inspection.sql_risk.next_action.confirm_write_scope": "Bei Schreib- oder DDL-Anweisungen zuerst WHERE, Backups, Zieldatenbank und Auswirkungsbereich bestätigen.",
|
|
"ai_chat.inspection.sql_risk.next_action.explain_and_confirm": "Erkläre dem Benutzer zuerst die Risikopunkte und frage dann, ob fortgefahren werden soll.",
|
|
"ai_chat.inspection.sql_risk.next_action.provide_sql": "Übergib zuerst den Parameter sql oder wechsle zu einem Abfragetab mit SQL-Entwurf.",
|
|
"ai_chat.inspection.sql_risk.next_action.read_only_check_target": "Nur-Lese-Abfragen haben ein geringeres Risiko, aber Zielverbindung und Datenbankname sollten trotzdem zuerst geprüft werden.",
|
|
"ai_chat.inspection.sql_risk.warning.data_change": "Diese Anweisung ändert Daten. Bestätige vor der Ausführung Zieldatenbank, Bedingungen und Auswirkungsbereich.",
|
|
"ai_chat.inspection.sql_risk.warning.ddl_change": "Diese Anweisung ändert Datenbankstrukturen oder Objekte. Sichere vorher und bestätige den Rollback-Plan.",
|
|
"ai_chat.inspection.sql_risk.warning.delete_missing_where": "DELETE enthält keine WHERE-Bedingung und kann die gesamte Tabelle löschen.",
|
|
"ai_chat.inspection.sql_risk.warning.drop_object": "DROP löscht Datenbankobjekte. Bestätige vor der Ausführung Objekt und Backup.",
|
|
"ai_chat.inspection.sql_risk.warning.multi_statement": "{{count}} SQL-Anweisungen wurden erkannt. Bestätige vor der Stapelausführung den Auswirkungsbereich jeder Anweisung.",
|
|
"ai_chat.inspection.sql_risk.warning.permission_change": "GRANT / REVOKE ändert Berechtigungsgrenzen. Bestätige Empfänger und Umfang.",
|
|
"ai_chat.inspection.sql_risk.warning.routine_side_effect": "Diese Anweisung ruft eine Routine oder Prozedur auf und kann implizite Schreibvorgänge oder Nebenwirkungen haben.",
|
|
"ai_chat.inspection.sql_risk.warning.safety_blocked": "Die aktuelle AI-Sicherheitsrichtlinie erlaubt kein SQL vom Typ {{operationType}}.",
|
|
"ai_chat.inspection.sql_risk.warning.safety_blocked_unknown": "Die aktuelle AI-Sicherheitsrichtlinie erlaubt diesen SQL-Operationstyp nicht.",
|
|
"ai_chat.inspection.sql_risk.warning.truncate": "TRUNCATE leert Tabellendaten schnell und kann normalerweise nicht zeilenweise zurückgerollt werden.",
|
|
"ai_chat.inspection.sql_risk.warning.unrecognized_operation": "Es wurde kein gültiges SQL-Operationsschlüsselwort erkannt.",
|
|
"ai_chat.inspection.sql_risk.warning.update_missing_where": "UPDATE enthält keine WHERE-Bedingung und kann die gesamte Tabelle aktualisieren.",
|
|
"ai_chat.inspection.support_bundle.message.ready": "GoNavi AI-Supportpaket-Snapshot zur Diagnose von AI-, MCP-, Log-, Verbindungs- und Kontextgrößenproblemen erzeugt",
|
|
"ai_chat.inspection.support_bundle.privacy.note": "Standardmäßig werden nur Zusammenfassungen und strukturierte Zählwerte zurückgegeben; Logzeilen oder Nachrichtenvorschauen werden nur einbezogen, wenn includeLogLines/includeMessageContent ausdrücklich aktiviert ist.",
|
|
"ai_chat.inspection.table_schema.error.ddl_and_columns_failed": "CREATE TABLE-DDL konnte nicht abgerufen werden: {{ddlDetail}}; auch der Fallback zum Abrufen der Spaltenliste ist fehlgeschlagen: {{columnDetail}}",
|
|
"ai_chat.inspection.table_schema.error.ddl_failed": "CREATE TABLE-DDL konnte nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.inspection.table_schema.error.unknown": "Unbekannter Fehler",
|
|
"ai_chat.inspection.table_schema.value.none": "keine",
|
|
"ai_chat.inspection.table_schema.warning.available_fields": "Verfügbare Felder: {{fields}}",
|
|
"ai_chat.inspection.table_schema.warning.columns_contract": "⚠️ Dies ist die echte field-Liste der Tabelle {{tableName}}. Beim Erzeugen von SQL dürfen nur diese field-Werte exakt als Spaltennamen verwendet werden; nicht ändern, abkürzen oder selbst zusammensetzen.",
|
|
"ai_chat.inspection.table_schema.warning.ddl_error": "DDL-Fehler: {{detail}}",
|
|
"ai_chat.inspection.table_schema.warning.ddl_fallback": "DDL für Tabelle {{tableName}} konnte nicht abgerufen werden; es wurde auf eine Spaltenmetadaten-Zusammenfassung zurückgegriffen.",
|
|
"ai_chat.inspection.table_schema.warning.detail": "Details: {{detail}}",
|
|
"ai_chat.inspection.table_schema.warning.fallback_limitation": "Dieses Ergebnis enthält keine vollständigen Index-, Constraint-, Trigger- oder sonstigen DDL-Informationen; analysiere auf Basis der Spaltenliste weiter und stoppe nicht nur wegen fehlender DDL-Berechtigungen.",
|
|
"ai_chat.inspection.tool_catalog.message.by_keyword": "Toolkatalog-Vorschläge für Schlüsselwort {{keyword}} zurückgegeben",
|
|
"ai_chat.inspection.tool_catalog.message.by_tool_name": "Kataloginformationen für Tool {{toolName}} zurückgegeben",
|
|
"ai_chat.inspection.tool_catalog.message.summary": "GoNavi AI-Toolkatalog-Zusammenfassung zurückgegeben",
|
|
"ai_chat.inspection.tool_catalog.next_action.broaden_keyword": "Verwende allgemeinere Schlüsselwörter oder rufe zuerst inspect_ai_runtime auf, um die vollständige aktuelle Tool-Liste zu sehen",
|
|
"ai_chat.inspection.tool_catalog.next_action.filter_by_keyword": "Filtere zuerst nach Schlüsselwörtern der Benutzerfrage, etwa mcp, Verbindungsfehler, Transaktion, Tastenkürzel, schema oder Logs",
|
|
"ai_chat.inspection.tool_catalog.next_action.inspect_mcp_setup": "Rufe inspect_mcp_setup auf, um MCP-Dienste und den Zugriffsstatus externer Clients zu prüfen",
|
|
"ai_chat.inspection.tool_catalog.next_action.use_parameter_descriptions": "Baue vor dem Aufruf parameterisierter Tools die arguments bevorzugt anhand von parameters.description; frage den Benutzer, wenn Kontext fehlt",
|
|
"ai_chat.inspection.tool_catalog.warning.no_matches": "Es wurden keine passenden Tools oder empfohlenen Abläufe gefunden",
|
|
"ai_chat.inspection.tool_catalog.warning.no_mcp_tools": "Es wurden keine externen MCP-Tools gefunden; wenn der Benutzer externe Funktionen benötigt, prüfe zuerst MCP-Servicekonfiguration und Tool-Erkennungsstatus",
|
|
"ai_chat.inspection.tool_info.inspect_active_tab.desc": "Inspect the current active tab context",
|
|
"ai_chat.inspection.tool_info.inspect_active_tab.detail": "Returns the current active tab type, connection, database, table name, and draft content in the current SQL or command tab, truncated when long. Use it when users mention the current SQL, ask to optimize the editor statement, or refer to the current tab.",
|
|
"ai_chat.inspection.tool_info.inspect_active_tab.param.includeContent": "Optional. Whether to include SQL or command draft content from the tab. Default true.",
|
|
"ai_chat.inspection.tool_info.inspect_active_tab.params": "includeContent?(default true)",
|
|
"ai_chat.inspection.tool_info.inspect_active_tab.tool_description": "Get the current active tab context snapshot, including tab type, connection, database, table name, and draft content from the current SQL or command tab.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_chat_readiness.desc": "Inspect whether current AI chat can send",
|
|
"ai_chat.inspection.tool_info.inspect_ai_chat_readiness.detail": "Returns whether the current chat input has all prerequisites to send, including active provider, missing key or endpoint on the current provider, selected model, current connection context, attached table context, and next actions. Use it when users ask why sending is disabled or what the chat input is missing.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_chat_readiness.params": "No parameters",
|
|
"ai_chat.inspection.tool_info.inspect_ai_chat_readiness.tool_description": "Read the send-prerequisite state of the current AI chat input, including active provider, key and endpoint completeness, selected model, current connection context, attached table schema count, and suggested next actions.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context_budget.desc": "AI-Kontextgröße und Stabilitätsrisiko diagnostizieren",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context_budget.detail": "Schätzt aktuelle Nachrichten, Tool-Ergebnisse, angehängte Tabellen-DDL, MCP tool schemas, Nutzerprompts und Skills in der aktuellen oder angegebenen AI-Sitzung und gibt low/medium/high/critical-Risiko, Hauptquellen und Eingrenzungsvorschläge zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context_budget.param.includeDetails": "Optional. Ob größte Nachricht, größte DDL-Tabelle und größtes MCP schema enthalten sind. Standard true.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context_budget.param.messageLimit": "Optional. Maximale Anzahl aktueller Nachrichten zum Zählen. Standard 40, Maximum 120.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context_budget.param.sessionId": "Optional. Zu diagnostizierende AI session ID. Ohne Wert wird die aktuelle aktive Sitzung verwendet.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context_budget.params": "sessionId?(Standard aktuelle Sitzung), messageLimit?(Standard 40), includeDetails?(Standard true)",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context_budget.tool_description": "Liest einen Snapshot zu AI-Kontextgröße und Stabilitätsrisiko mit Nachrichtenfenster, Tool-Ergebnislänge, angehängter Tabellen-DDL, MCP tool schemas, Nutzerprompts und aktivierten Skills.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context.desc": "Inspect currently attached AI table-schema context",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context.detail": "Returns the tables currently attached to the AI conversation context, their connection and database, and optional DDL previews. Use it when users ask which table structures are attached or what the current AI context contains.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context.param.ddlLimit": "Optional. DDL truncation length. Default 4000, maximum 12000.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context.param.includeDDL": "Optional. Whether to include each table's DDL content. Default false.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context.params": "includeDDL?(default false), ddlLimit?(default 4000)",
|
|
"ai_chat.inspection.tool_info.inspect_ai_context.tool_description": "Read the table-schema snapshot currently attached to the AI conversation context, including connection, database, table name, and optional DDL content.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_guidance.desc": "Inspect current AI prompts and Skills configuration",
|
|
"ai_chat.inspection.tool_info.inspect_ai_guidance.detail": "Returns current user-defined global, database, and JVM prompts, plus enabled Skills, scopes, dependency tools, and skill prompt content. Use it when users ask which prompts are currently attached, why AI answers this way, or which Skills are active.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_guidance.params": "No parameters",
|
|
"ai_chat.inspection.tool_info.inspect_ai_guidance.tool_description": "Read the current AI prompt and skill configuration snapshot, including user-defined prompts, enabled Skills, scopes, dependency tools, and each system prompt.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_last_render_error.desc": "Letzten AI-Nachrichten-Renderfehler prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_ai_last_render_error.detail": "Gibt den letzten isolierten AI-Nachrichten-Renderfehler mit Nachrichtenkennung, Inhaltsvorschau, Fehlerzusammenfassung und Komponentenstack-Zusammenfassung zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_last_render_error.params": "Keine Parameter",
|
|
"ai_chat.inspection.tool_info.inspect_ai_last_render_error.tool_description": "Liest den letzten lokalen AI-Nachrichten-Renderfehler-Snapshot mit message ID, Rolle, Inhaltsvorschau, Fehlerzusammenfassung, Komponentenstack und nächsten Diagnosehinweisen.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_message_flow.desc": "Aktuellen AI-Nachrichtenfluss diagnostizieren",
|
|
"ai_chat.inspection.tool_info.inspect_ai_message_flow.detail": "Liest aktuelle Nachrichten der aktuellen oder angegebenen AI-Sitzung, zählt user/assistant/tool-Nachrichten, prüft Tool-Ergebnisse und erkennt aufeinanderfolgende assistant-Blasen, leere assistant-Platzhalter oder verbliebenes loading.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_message_flow.param.includeContent": "Optional. Ob Nachrichtenvorschauen enthalten sind. Standard true.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_message_flow.param.limit": "Optional. Maximale Anzahl aktueller Nachrichten. Standard 24, Maximum 80.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_message_flow.param.previewLimit": "Optional. Zeichenlimit je Nachrichtenvorschau. Standard 180, Maximum 1000.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_message_flow.param.sessionId": "Optional. Zu diagnostizierende AI session ID. Ohne Wert wird die aktuelle aktive Sitzung verwendet.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_message_flow.params": "sessionId?(Standard aktuelle Sitzung), limit?(Standard 24), includeContent?(Standard true), previewLimit?(Standard 180)",
|
|
"ai_chat.inspection.tool_info.inspect_ai_message_flow.tool_description": "Liest Nachrichtenflussdiagnosen für die aktuelle oder angegebene AI-Sitzung, einschließlich Rollenfolge, assistant/tool-Zahlen, Tool-Call-zu-Result-Matching, aufeinanderfolgende assistant-Nachrichten, leere assistant-Nachrichten und loading-Reste.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_providers.desc": "Inspect current AI providers and model configuration",
|
|
"ai_chat.inspection.tool_info.inspect_ai_providers.detail": "Returns configured AI providers, the active provider, baseUrl values, selected models, declared model lists, whether keys exist, custom request header keys, and missing key, model, or endpoint checks. Use it when users ask why there are no models, whether an API Key is configured, or which providers are currently configured.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_providers.params": "No parameters",
|
|
"ai_chat.inspection.tool_info.inspect_ai_providers.tool_description": "Read the current AI provider configuration snapshot, including provider list, active provider, endpoint, selected model, declared model list, key presence, custom request header keys, and missing key, model, or endpoint checks.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_runtime.desc": "Inspect current AI runtime status",
|
|
"ai_chat.inspection.tool_info.inspect_ai_runtime.detail": "Returns the active model provider, model name, safety level, context level, enabled Skills, and currently exposed built-in and MCP tools. Use it before answering questions about available tools, the active model, or why write operations are unavailable.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_runtime.params": "No parameters",
|
|
"ai_chat.inspection.tool_info.inspect_ai_runtime.tool_description": "Read the current AI runtime snapshot, including provider, model, safety level, context level, enabled Skills, available built-in tools, and MCP tools. Use it before answering AI capability-boundary questions.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_safety.desc": "Inspect current AI write safety boundaries",
|
|
"ai_chat.inspection.tool_info.inspect_ai_safety.detail": "Returns the SQL scope allowed by the current AI safety level, whether non-read-only statements still require confirmation or allowMutating, and whether the active connection, tab, or JVM diagnostic permission adds read-only restrictions. Use it when users ask why writes are blocked, whether DDL can run, or whether allowMutating is required.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_safety.params": "No parameters",
|
|
"ai_chat.inspection.tool_info.inspect_ai_safety.tool_description": "Read the current AI safety-boundary snapshot, including SQL scope allowed by the active safety level, confirmation requirements for non-query statements, MCP execute_sql allowMutating requirements, and any additional read-only restrictions from the active connection, result tab, or JVM diagnostic permissions.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_sessions.desc": "Lokalen AI-Unterhaltungsverlauf prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_ai_sessions.detail": "Filtert lokale AI-Sitzungen nach keyword und gibt Sitzungstitel, Aktualisierungszeit, Nachrichtenanzahl, aktuellen Status, erste Nutzerfrage und letzte Nachrichtenvorschau zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_sessions.param.includePreview": "Optional. Ob erste Nutzerfrage und letzte Nachrichtenvorschau enthalten sind. Standard true.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_sessions.param.keyword": "Optional. Nach Sitzungstitel, session ID, erster Nutzerfrage oder letztem Nachrichteninhalt filtern.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_sessions.param.limit": "Optional. Maximale Anzahl zurückzugebender Sitzungen. Standard 10, Maximum 50.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_sessions.params": "keyword?, limit?, includePreview?(Standard true)",
|
|
"ai_chat.inspection.tool_info.inspect_ai_sessions.tool_description": "Liest lokalen AI-Unterhaltungsverlauf, optional nach keyword gefiltert, und gibt Sitzungstitel, Aktualisierungszeit, Nachrichtenanzahl, aktuellen Sitzungsstatus, erste Nutzerfrage und letzte Nachrichtenvorschau zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_setup_health.desc": "Run a one-shot health check for the current AI setup",
|
|
"ai_chat.inspection.tool_info.inspect_ai_setup_health.detail": "Summarizes the current AI provider, chat send prerequisites, MCP services and external client access, prompts and Skills, and attached context, then returns blockers, warnings, and next actions. Use it when users ask why AI is hard to use, whether the current AI setup has problems, or what is still missing.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_setup_health.params": "No parameters",
|
|
"ai_chat.inspection.tool_info.inspect_ai_setup_health.tool_description": "Inspect current AI setup health, returning provider, model, chat send prerequisites, MCP access, prompts and Skills, attached table context, blockers, suggestions, and next actions.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.desc": "Export an AI troubleshooting support bundle",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.detail": "Aggregates AI application health, provider and MCP status, application log summary, connection failure summary, message flow structure, context size, remote MCP access, and tool catalog index. Use it when users report AI instability, need MCP, connection, and logs reviewed together, or need development troubleshooting material without secrets or database passwords.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.connectionKeyword": "Optional. Keyword used to analyze connection failure logs. If omitted, keyword is reused.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.exposeStrategy": "Optional. Remote exposure strategy used to generate matching safety reminders.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.includeDetails": "Optional. Whether to include context-size details. Default false.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.includeLogLines": "Optional. Whether to include original log lines. Default false; enable only when lines need to be quoted.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.includeMessageContent": "Optional. Whether to include message content previews. Default false; enable only when troubleshooting bubble content.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.keyword": "Optional. Filter logs and tool catalog entries by keyword, such as ai, mcp, mysql, error, or openclaw.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.lineLimit": "Optional. Maximum number of application log lines to analyze. Default 120, maximum 240.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.localAddr": "Optional. Windows local HTTP MCP listen address. Default 127.0.0.1:8765.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.path": "Optional. Streamable HTTP MCP path. Default /mcp.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.publicUrl": "Optional. Public or tunnel URL used by a cloud Agent to access GoNavi MCP for the remote MCP support bundle.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.sessionId": "Optional. AI session ID to diagnose. If omitted, the current active session is used.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.tokenConfigured": "Optional. Whether a random Bearer Token is already prepared. Passing false returns an authentication warning.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.params": "keyword?, sessionId?, lineLimit?(default 120), includeLogLines?(default false), includeMessageContent?(default false), publicUrl?, tokenConfigured?",
|
|
"ai_chat.inspection.tool_info.inspect_ai_support_bundle.tool_description": "Generate a GoNavi AI troubleshooting support bundle that summarizes AI application health, provider and send prerequisites, MCP configuration and remote access, application log summary, database connection failure summary, current AI message flow, context-size risk, and tool catalog index. By default it does not include database passwords, provider keys, MCP environment variable values, original log lines, or full message content.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_tool_catalog.desc": "Inspect AI built-in tool catalog and argument hints",
|
|
"ai_chat.inspection.tool_info.inspect_ai_tool_catalog.detail": "Returns GoNavi AI built-in tools, recommended probe flows, argument descriptions, and current MCP tool summaries by keyword or tool name. Use it when users ask which tool should be used, how to fill arguments, which built-in tools exist, or when AI needs to choose a probe route first.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_tool_catalog.param.includeMCPTools": "Optional. Whether to include currently discovered MCP tool summaries. Default true.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_tool_catalog.param.keyword": "Optional. Filter tools and flows by problem keyword, such as mcp, connection failure, transaction, shortcut, schema, or log.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_tool_catalog.param.limit": "Optional. Maximum number of flows, built-in tools, and MCP tools to return. Default 12, maximum 40.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_tool_catalog.param.toolName": "Optional. Query by exact built-in tool name, such as inspect_mcp_draft or inspect_sql_risk.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_tool_catalog.params": "keyword?, toolName?, includeMCPTools?(default true), limit?(default 12)",
|
|
"ai_chat.inspection.tool_info.inspect_ai_tool_catalog.tool_description": "Read the GoNavi AI tool catalog snapshot, filterable by keyword or tool name, and return recommended tool-call flows, built-in tool descriptions, argument hints, and currently discovered MCP tool summaries.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.desc": "Inspect AI upstream request payloads and status",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.detail": "Reads recent AI upstream request start, completion, and failure records from gonavi.log, filtered by provider, requestId, or keyword, then returns request body preview, payload structure summary, endpoint, status code, latency, and error summary. Use it when users need to verify the real payload sent upstream, diagnose request parameter compatibility, confirm whether tools were sent, or inspect redacted request logs.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.bodyPreviewLimit": "Optional. Maximum characters for one body preview. Default 6000, maximum 12000.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.includeBody": "Optional. Whether to return the redacted request body preview. Default true; set false when only status is needed.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.includeLines": "Optional. Whether to include redacted raw log lines. Default false; enable only when original lines need to be quoted.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.includePayloadSummary": "Optional. Whether to parse the request body and return model, message role distribution, tool count/name list, stream, and tool_choice summary. Default true; message bodies and keys are not returned.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.keyword": "Optional. Further filter by requestId, provider, endpoint, bodyPreview, or error, such as model name, API path, or parameter name.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.lineLimit": "Optional. Maximum number of tail log lines to read. Default 160, maximum 300.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.provider": "Optional. Inspect only one provider, such as openai, anthropic, or gemini. Case-insensitive.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.requestId": "Optional. Filter by the exact requestId in logs, useful when continuing from an error log.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.requestLimit": "Optional. Maximum number of request summaries to return. Default 12, maximum 40.",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.params": "provider?, requestId?, keyword?, lineLimit?(default 160), requestLimit?(default 12), includeBody?(default true), includePayloadSummary?(default true), includeLines?(default false)",
|
|
"ai_chat.inspection.tool_info.inspect_ai_upstream_logs.tool_description": "Read AI upstream request records from GoNavi application logs and return requestId, provider, method, endpoint, request body preview, redacted payload structure summary, status code, latency, and error summary. Use it when users mention upstream request payloads, requestId, provider parameters, missing tool calls, model API errors, or need to verify the real payload just sent upstream.",
|
|
"ai_chat.inspection.tool_info.inspect_app_health.desc": "Inspect the overall AI application health",
|
|
"ai_chat.inspection.tool_info.inspect_app_health.detail": "Summarizes AI configuration, provider send prerequisites, MCP access, application log ERROR/WARN signals, recent connection failures and cooldowns, AI reply bubble render errors, and current workspace tabs. Use it first when users report AI instability, ask for an overall check, or need connection and MCP issues diagnosed together.",
|
|
"ai_chat.inspection.tool_info.inspect_app_health.param.connectionKeyword": "Optional. Keyword used when analyzing connection failure logs by type, address, or error. If omitted, keyword is reused.",
|
|
"ai_chat.inspection.tool_info.inspect_app_health.param.includeLogLines": "Optional. Whether to include original log lines in the result. Default false; enable only when lines need to be quoted.",
|
|
"ai_chat.inspection.tool_info.inspect_app_health.param.keyword": "Optional. Filter application logs by keyword, such as ai, mcp, mysql, or error. If omitted, the recent log window is read.",
|
|
"ai_chat.inspection.tool_info.inspect_app_health.param.lineLimit": "Optional. Maximum number of log lines to analyze per probe. Default 120, maximum 240.",
|
|
"ai_chat.inspection.tool_info.inspect_app_health.params": "keyword?, connectionKeyword?, lineLimit?(default 120), includeLogLines?(default false)",
|
|
"ai_chat.inspection.tool_info.inspect_app_health.tool_description": "Read the GoNavi AI application health overview, including AI provider and send prerequisites, MCP access, application log ERROR/WARN signals, recent connection failures and cooldowns, AI reply bubble render errors, and current workspace tabs, then return blockers, runtime anomaly signals, and suggested next probes.",
|
|
"ai_chat.inspection.tool_info.inspect_app_logs.desc": "GoNavi-Anwendungslog-Ende prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_app_logs.detail": "Filtert aktuelle INFO/WARN/ERROR-Zeilen im GoNavi-Anwendungslog optional per keyword und gibt Level-Verteilung, Logdateipfad und Kürzungsstatus zurück. Zuerst verwenden, wenn gonavi.log, Startfehler, MCP-Startfehler oder Datenbankverbindungsfehler erwähnt werden.",
|
|
"ai_chat.inspection.tool_info.inspect_app_logs.param.keyword": "Optional. Loginhalt nach keyword filtern, z. B. mcp, mysql, timeout oder error.",
|
|
"ai_chat.inspection.tool_info.inspect_app_logs.param.lineLimit": "Optional. Maximale Anzahl zurückzugebender Logzeilen. Standard 80, Maximum 200.",
|
|
"ai_chat.inspection.tool_info.inspect_app_logs.params": "keyword?, lineLimit?(Standard 80)",
|
|
"ai_chat.inspection.tool_info.inspect_app_logs.tool_description": "Liest das Ende des GoNavi-Anwendungslogs, optional nach keyword gefiltert, und gibt aktuelle Logzeilen, Level-Verteilung, Logpfad und Kürzungsstatus zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_codebase_hotspots.desc": "Große Frontend-Dateien und Split-Hotspots prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_codebase_hotspots.detail": "Gibt große Frontend-Datei-Hotspots in GoNavi zurück, einschließlich Zeilenzahl, Risikostufe, Split-Reife, Sicherheitsgrenzen, vorgeschlagene Split-Slices und auszuführende Regressionstests.",
|
|
"ai_chat.inspection.tool_info.inspect_codebase_hotspots.param.includeRecommendations": "Optional. Ob suggestedSlices, testTargets und nextActions enthalten sind. Standard true.",
|
|
"ai_chat.inspection.tool_info.inspect_codebase_hotspots.param.keyword": "Optional. Nach Pfad, Modul, Risiko, Split-Slice oder Testziel filtern, z. B. Sidebar, DataGrid, Redis, transaction oder connection.",
|
|
"ai_chat.inspection.tool_info.inspect_codebase_hotspots.param.limit": "Optional. Maximale Anzahl zurückzugebender Hotspots. Standard 8, Maximum 30.",
|
|
"ai_chat.inspection.tool_info.inspect_codebase_hotspots.param.minLines": "Optional. Nur Hotspot-Dateien mit mindestens dieser Zeilenzahl zurückgeben. Standard 1000, Maximum 20000.",
|
|
"ai_chat.inspection.tool_info.inspect_codebase_hotspots.params": "keyword?, minLines?(Standard 1000), limit?(Standard 8), includeRecommendations?(Standard true)",
|
|
"ai_chat.inspection.tool_info.inspect_codebase_hotspots.tool_description": "Liest den GoNavi-Frontend-Snapshot für große Dateien und Split-Hotspots und gibt Dateipfad, Zeilenzahl, Risikostufe, Split-Reife, bevorzugten Slice, sichere Split-Grenze, vorgeschlagene Slices, Testziele und Prüfplan zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_connection_capabilities.desc": "Inspect frontend capabilities supported by the current connection",
|
|
"ai_chat.inspection.tool_info.inspect_connection_capabilities.detail": "Returns the data-source capability matrix for the current or specified connection, including query editor support, SQL export, copy INSERT, create/rename/delete database support, forced read-only result state, and whether manual or approximate counts are preferred. Use it when users ask why database creation, deletion, result editing, or other actions are unavailable.",
|
|
"ai_chat.inspection.tool_info.inspect_connection_capabilities.param.connectionId": "Optional. Connection ID to inspect. If omitted, the current active connection is used.",
|
|
"ai_chat.inspection.tool_info.inspect_connection_capabilities.params": "connectionId?(default current active connection)",
|
|
"ai_chat.inspection.tool_info.inspect_connection_capabilities.tool_description": "Read the frontend capability matrix for the current active connection or specified saved connection, including query editor support, SQL export, copy INSERT, create/rename/delete database support, forced read-only result state, and count strategy preferences.",
|
|
"ai_chat.inspection.tool_info.inspect_current_connection.desc": "Inspect the current active connection or data source summary",
|
|
"ai_chat.inspection.tool_info.inspect_current_connection.detail": "Returns current active connection type, address, port, current database, SSH/proxy/HTTP tunnel state, and table information bound to the active tab. Use it when users ask which database is connected, whether SSH is used, or what type the current data source is.",
|
|
"ai_chat.inspection.tool_info.inspect_current_connection.params": "No parameters",
|
|
"ai_chat.inspection.tool_info.inspect_current_connection.tool_description": "Read the real summary of the current active connection or active-tab data source, including connection type, address, port, current database, SSH/proxy/HTTP tunnel state, and table context bound to the active tab.",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_directories.desc": "Inspect local external SQL directory assets",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_directories.detail": "Filters local external SQL directories by keyword, connection, or database, and returns directory path, bound connection/database, and whether SQL files from those directories are currently open. Use it when users mention external SQL directories, ask which directory contains a script, or need to identify the external directory for an open SQL file.",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_directories.param.connectionId": "Optional. Only inspect external SQL directories bound to one connection.",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_directories.param.dbName": "Optional. Only inspect external SQL directories bound to one database.",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_directories.param.keyword": "Optional. Filter by directory name, path, connection name, or database name.",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_directories.param.limit": "Optional. Maximum number of directories to return. Default 20, maximum 100.",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_directories.params": "keyword?, connectionId?, dbName?, limit?",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_directories.tool_description": "Read locally configured external SQL directories, optionally filtered by keyword, connection, and database, and return directory path, bound connection/database, and summaries of currently open external SQL file tabs.",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_file.desc": "Read external SQL file content",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_file.detail": "Reads a specific SQL file inside a configured external SQL directory and returns its directory, bound connection/database, whether it already has an open tab, and a truncated content preview. Use it when users ask to inspect a script in a directory or explain what report.sql does.",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_file.param.filePath": "Required. Absolute path of the SQL file to read, usually found with inspect_external_sql_directories first.",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_file.param.previewCharLimit": "Optional. Maximum characters returned in the content preview. Default 12000, maximum 40000.",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_file.params": "filePath, previewCharLimit?",
|
|
"ai_chat.inspection.tool_info.inspect_external_sql_file.tool_description": "Read the content preview of a specified external SQL file, only for SQL files inside configured external SQL directories. Return file path, owning directory, bound connection/database, whether it is already open in the workspace, and truncated body content.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_authoring_guide.desc": "add-MCP Erstellungsleitfaden prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_authoring_guide.detail": "Gibt Zweck der add-MCP Felder, empfohlene Ausfüllreihenfolge, automatische Aufteilung vollständiger Befehle und npx / Node / uvx / Python / Docker / EXE Vorlagen zurück. Vor Antworten zu command, args, env, Vorlagen oder vollständigen Startbefehlen verwenden.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_authoring_guide.params": "Keine Parameter",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_authoring_guide.tool_description": "Liest den integrierten MCP-Erstellungsleitfaden von GoNavi mit empfohlener Feldreihenfolge, Feldzweck, gängigen Befehlsbeispielen, automatischer Aufteilung vollständiger Befehle und npx / Node / uvx / Python / Docker / EXE Vorlagenbeispielen.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_docker_setup.desc": "Docker MCP Startkonfiguration prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_docker_setup.detail": "Liest gespeicherte Docker MCP-Dienste, prüft, ob command und args korrekt in docker, run, --rm, -i, Imagenamen und Containerargumente aufgeteilt sind, und gibt fehlende Argumente, Tool-Anzahl, timeout Hinweise und nächste Reparaturschritte zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_docker_setup.param.includeDisabled": "Optional. Ob deaktivierte Docker MCP-Dienste enthalten sein sollen. Standard true.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_docker_setup.param.serverId": "Optional. Nur eine MCP serverId prüfen. Wenn ausgelassen, werden alle Docker MCP-Dienste geprüft.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_docker_setup.params": "serverId?, includeDisabled?(Standard true)",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_docker_setup.tool_description": "Prüft Startargumente gespeicherter Docker MCP-Dienste und gibt docker run/-i/image/--rm/env/timeout Status, entdeckte Tool-Anzahlen, Konfigurationswarnungen und nextActions zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_draft.desc": "add-MCP Entwurf validieren",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_draft.detail": "Simuliert GoNavi add-MCP Konfiguration aus einem vollständigen Startbefehl oder feldweisem Entwurf und gibt automatische Aufteilung, Startvorschau, anwendbaren Entwurf, Argument- und Umgebungshinweise, Validierungsprobleme, empfohlene Vorlagen und nächste Reparaturvorschläge zurück. Sensible Argumente werden redigiert.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_draft.param.args": "Optional. Befehlsargumente in einem feldweisen Entwurf. Arrays sind genauer, kommagetrennte oder zeilengetrennte Zeichenfolgen werden aber ebenfalls akzeptiert.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_draft.param.command": "Optional. Start-command in einem feldweisen Entwurf. Sollte nur npx, node, uvx, python oder ein exe path sein.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_draft.param.envText": "Optional. Umgebungsvariablenentwurf, ein KEY=VALUE pro Zeile. Keine export, set oder $env: Präfixe übergeben.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_draft.param.fullCommand": "Optional. Vollständiger MCP-Startbefehl aus README oder vom Benutzer, etwa $env:GITHUB_TOKEN=...; uvx mcp-server-github --stdio.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_draft.param.name": "Optional. MCP-Dienstname, etwa GitHub, Filesystem oder Browser.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_draft.param.templateKey": "Optional. Zuerst eine integrierte Vorlage anwenden und dann mit benutzerseitigen Feldern überschreiben.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_draft.param.timeoutSeconds": "Optional. Timeout-Sekunden für eine Tool-Erkennung oder einen Aufruf. Empfohlen 20; langsam startende Dienste können 45 oder 60 verwenden.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_draft.params": "fullCommand?, command?, args?, envText?, timeoutSeconds?, templateKey?, name?",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_draft.tool_description": "Validiert einen ausstehenden MCP-Dienstentwurf. Unterstützt automatische Aufteilung für fullCommand/rawCommand/commandLine oder feldweise Validierung für command, args, envText, timeoutSeconds und templateKey. Gibt geparste Felder, redigierte Startvorschau, suggestedServerSeed, Argumenthinweise, Umgebungsrisiken, errors, warnings, empfohlene Vorlagen und nextActions zurück, ohne api-key/token/password Werte auszugeben.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_remote_access.desc": "Remote-MCP-Zugriff für OpenClaw/Hermans prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_remote_access.detail": "Gibt GoNavi Streamable HTTP MCP Startbefehle, Remote-URL, Authentifizierungshinweise, OpenClaw/Hermans Cloud-Agent-Grenzen, Bridge-Optionen und Sicherheitshinweise zurück. Für Cloud OpenClaw Zugriff auf Windows GoNavi, lokale Datenbankpasswörter oder HTTP MCP Bereitstellung.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_remote_access.param.exposeStrategy": "Optional. Geplante Remote-Bereitstellungsstrategie, um passende Risikohinweise zurückzugeben.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_remote_access.param.localAddr": "Optional. Lokale Windows-HTTP-MCP-Listen-Adresse. Standard 127.0.0.1:8765. Direktes Binden an 0.0.0.0 wird nicht empfohlen.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_remote_access.param.path": "Optional. Streamable HTTP MCP path. Standard /mcp.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_remote_access.param.publicUrl": "Optional. HTTPS- oder privates Netzwerk-URL, das der Remote-Agent erreichen kann. Fehlt /mcp, hängt das Tool den konfigurierten path an.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_remote_access.param.tokenConfigured": "Optional. Ob bereits ein zufälliger Bearer Token konfiguriert ist. Bei false wird eine Authentifizierungswarnung zurückgegeben.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_remote_access.params": "publicUrl?, localAddr?, path?, exposeStrategy?, tokenConfigured?",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_remote_access.tool_description": "Liest den GoNavi MCP Remote-Agent-Zugriffssnapshot mit Streamable HTTP Startbefehlen, /mcp URL, Bearer Token Anforderungen, OpenClaw/Hermans Cloud-Zugriffsschritten, Passwortgrenze auf dem Windows-Host und Risiken für tunnel, reverse proxy, Tailscale und ähnliche Strategien.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.desc": "MCP-Start- und Tool-Aufruffehler diagnostizieren",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.detail": "Liest aktuelle MCP-Start-, Tool-Erkennungs-, Tool-Aufruf- und HTTP-MCP-Subprozessfehler aus gonavi.log und kombiniert gespeicherte Dienste sowie entdeckte Tools zu Fehlertypen, wahrscheinlichen Ursachen, betroffenen Diensten und nächsten Reparaturschritten.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.param.includeLines": "Optional. Ob redigierte rohe MCP-Logzeilen enthalten sein sollen. Standard false; nur aktivieren, wenn Originalzeilen zitiert werden müssen.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.param.keyword": "Optional. MCP-bezogene Logs nach keyword filtern, etwa timeout, stdio, permission, 401 oder docker.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.param.lineLimit": "Optional. Maximale Anzahl zu lesender Tail-Logzeilen. Standard 160, Maximum 200.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.param.serverName": "Optional. Nur einen MCP-Dienstnamen oder server= Namen aus Logs prüfen, etwa GitHub, Browser oder DockerFetch.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.params": "serverName?, keyword?, lineLimit?(Standard 160), includeLines?(Standard false)",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.tool_description": "Liest MCP-Laufzeitfehlersignale aus GoNavi-Anwendungslogs, klassifiziert Dienststart, Tool-Erkennung, Tool-Aufruf und HTTP-MCP-Subprozessbeendigungen und kombiniert aktuelle Konfiguration sowie Tool-Anzahlen zu wahrscheinlichen Ursachen und nextActions.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_setup.desc": "Aktuelle MCP-Konfiguration und externen Zugriff prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_setup.detail": "Gibt lokale MCP-Dienste, Aktivierungsstatus, Startbefehle, Claude Code / Codex Schreibstatus, OpenClaw / Hermans Remote-Agent-Grenzen und Befehlserkennung zurück. Für konfigurierte MCP-Dienste, externe Clientfehler oder Schreibstatus der Client-Konfiguration.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_setup.params": "Keine Parameter",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_setup.tool_description": "Liest den lokalen MCP-Konfigurations-Snapshot mit Dienstliste, Aktivierungsstatus, Startbefehlen, Umgebungsvariablenschlüsseln, entdeckten Tools, GoNavi MCP Client-Schreibstatus, lokaler CLI-Erkennung und Remote-Agent-Zugriffsgrenzen.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_tool_schema.desc": "Argument-schema eines MCP-Tools prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_tool_schema.detail": "Liest inputSchema entdeckter MCP-Tools nach alias, serverId oder keyword und gibt Pflichtparameter, Feldtypen, enum Werte, verschachtelte Objektpfade und Hinweise vor dem Aufruf zurück. Nach erfolgreicher MCP-Erkennung zum Prüfen akzeptierter Argumente verwenden.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_tool_schema.param.alias": "Optional. Nach exaktem MCP tool alias abfragen, etwa github_create_issue. Bevorzugt zuerst den echten alias aus inspect_mcp_setup lesen.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_tool_schema.param.includeSchema": "Optional. Ob das vollständige raw inputSchema enthalten sein soll. Standard false; nur für komplexe verschachtelte schema-Prüfung aktivieren.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_tool_schema.param.keyword": "Optional. Nach Tool-alias, Originalname, title, description oder Dienstname filtern.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_tool_schema.param.limit": "Optional. Maximale Anzahl zurückzugebender passender Tools. Standard 8, Maximum 30.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_tool_schema.param.serverId": "Optional. Nur Tools prüfen, die unter einer MCP serverId entdeckt wurden.",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_tool_schema.params": "alias?, serverId?, keyword?, includeSchema?(Standard false), limit?(Standard 8)",
|
|
"ai_chat.inspection.tool_info.inspect_mcp_tool_schema.tool_description": "Liest Parameter-schema-Zusammenfassungen entdeckter MCP-Tools, filterbar nach alias, serverId oder keyword, und gibt Pflichtfelder, Typen, enum Werte, verschachtelte Parameterpfade und Hinweise vor dem Aufruf zurück. Vor dem Schreiben von arguments JSON für externe MCP-Tool-Aufrufe oder nach Parameterfehlern verwenden.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_connection_failures.desc": "Aktuelle Datenbankverbindungsfehler und Cooldowns zusammenfassen",
|
|
"ai_chat.inspection.tool_info.inspect_recent_connection_failures.detail": "Extrahiert Datenbankverbindungsfehler, Validierungsfehler, SSH-Tunnel-Fehler und Cooldown-Treffer aus aktuellen gonavi.log-Zeilen und klassifiziert Hauptproblem, letzte Adresse, letzte Ursache und nächste Schritte.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_connection_failures.param.keyword": "Optional. Nach Verbindungstyp, Adresse oder Fehler-keyword filtern, z. B. mysql, ssh, timeout oder 127.0.0.1.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_connection_failures.param.lineLimit": "Optional. Maximale Anzahl zu analysierender Logzeilen. Standard 120, Maximum 240.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_connection_failures.params": "keyword?, lineLimit?(Standard 120)",
|
|
"ai_chat.inspection.tool_info.inspect_recent_connection_failures.tool_description": "Fasst aktuelle Datenbankverbindungsfehler, Validierungsfehler, SSH-Tunnel-Fehler und Cooldown-Treffer aus GoNavi-Anwendungslogs zusammen.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_activity.desc": "Verteilung der neuesten SQL-Aktivität zusammenfassen",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_activity.detail": "Kann nach status, activityKind, dbName und keyword filtern und gibt eine strukturierte Zusammenfassung aktueller SQL-Aktivität zurück, einschließlich Verhältnis von Lesen/Schreiben/DDL, Verteilung der Anweisungstypen, Datenbankverteilung, aktuellen Fehlern, aktuellen Schreibvorgängen und langsamsten Anweisungen. Nutze dies, wenn gefragt wird, was zuletzt lief, ob Daten gelöscht wurden, welche Datenbank die meisten Fehler hat oder ob die Aktivität überwiegend lesend oder schreibend war.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_activity.param.activityKind": "Optional. Nach Aktivitätstyp filtern: all, read, write, ddl, transaction, session oder other. Standard all.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_activity.param.dbName": "Optional. Nur Protokolle einschließen, deren Datenbankname dieses Schlüsselwort enthält.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_activity.param.keyword": "Optional. Nach SQL-Text, Fehlermeldung, Anweisungstyp oder Datenbankname filtern.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_activity.param.limit": "Optional. Maximale Anzahl aktueller Aktivitätsbeispiele. Standard 30, Maximum 100.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_activity.param.status": "Optional. Nach Ausführungsstatus filtern: all, success oder error. Standard all.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_activity.tool_description": "Fasst das strukturierte Profil aktueller SQL-Aktivität zusammen, optional nach Ausführungsstatus, Aktivitätstyp, Datenbankname und Schlüsselwort gefiltert. Nutze dies, um aktuelle Lese-/Schreibvorgänge, Fehlerhäufungen in einer Datenbank, DELETE- oder DDL-Aktivität zu prüfen und AI zuerst anhand der realen Ausführungslage urteilen zu lassen.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_logs.desc": "Neueste SQL-Ausführungsprotokolle anzeigen",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_logs.detail": "Akzeptiert optionale Filter limit und status und gibt aktuelle SQL-Ausführungsdatensätze mit Datenbank, Dauer, Erfolg oder Fehler, Fehlermeldung, betroffenen Zeilen und SQL-Text zurück. Nutze dies, um fehlgeschlagene Anweisungen nachzuverfolgen, langsame Abfragen zu finden und AI anhand realer Ausführungshistorie erklären oder optimieren zu lassen.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_logs.param.limit": "Optional. Anzahl der zurückzugebenden Protokolleinträge. Standard 20, Maximum 100.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_logs.param.status": "Optional. Nach Ausführungsstatus filtern: all, success oder error. Standard all.",
|
|
"ai_chat.inspection.tool_info.inspect_recent_sql_logs.tool_description": "Ruft eine Zusammenfassung aktueller SQL-Ausführungsprotokolle ab, optional nach Erfolg oder Fehler gefiltert. Nutze dies, um kürzlich ausgeführtes SQL zu prüfen, Fehler zu diagnostizieren, langsame Abfragen zu finden und AI anhand realer Ausführungshistorie erklären oder optimieren zu lassen.",
|
|
"ai_chat.inspection.tool_info.inspect_redis_topology.desc": "Diagnose Redis standalone, Sentinel, and Cluster configuration",
|
|
"ai_chat.inspection.tool_info.inspect_redis_topology.detail": "Reads local Redis connection topology summaries and returns standalone, Sentinel, and Cluster nodes, master, authentication state, DB range, redacted URI examples, status level, and next actions. Use it when users ask how to configure Redis Sentinel or Cluster, why DB switching fails, or how Cluster multi-DB behavior works.",
|
|
"ai_chat.inspection.tool_info.inspect_redis_topology.param.connectionId": "Optional. Diagnose only one Redis connection ID.",
|
|
"ai_chat.inspection.tool_info.inspect_redis_topology.param.includeRecommendations": "Optional. Whether to return repair recommendations. Default true.",
|
|
"ai_chat.inspection.tool_info.inspect_redis_topology.param.keyword": "Optional. Filter by connection name, address, topology, Sentinel master, or node address.",
|
|
"ai_chat.inspection.tool_info.inspect_redis_topology.param.limit": "Optional. Maximum number of Redis connections to return. Default 20, maximum 100.",
|
|
"ai_chat.inspection.tool_info.inspect_redis_topology.params": "connectionId?, keyword?, limit?, includeRecommendations?(default true)",
|
|
"ai_chat.inspection.tool_info.inspect_redis_topology.tool_description": "Read local Redis standalone, Sentinel, and Cluster topology summaries, returning nodes, Sentinel master, authentication state, DB selection, TLS/SSH/proxy state, backend adapter, redacted URI examples, status level, blockers, potential configuration risks, and recommendations. Results do not echo Redis or Sentinel passwords.",
|
|
"ai_chat.inspection.tool_info.inspect_saved_connections.desc": "Inspect locally saved connections",
|
|
"ai_chat.inspection.tool_info.inspect_saved_connections.detail": "Filters local saved data sources by keyword or database type and returns the data-source list, type distribution, address, current database, and SSH/proxy/HTTP tunnel state. Use it when users ask which connections are saved locally, want to find mysql or postgres connections, or need to know which connection has SSH configured.",
|
|
"ai_chat.inspection.tool_info.inspect_saved_connections.param.keyword": "Optional. Filter by connection name, ID, type, host, database name, SSH address, or proxy address.",
|
|
"ai_chat.inspection.tool_info.inspect_saved_connections.param.limit": "Optional. Maximum number of connections to return. Default 20, maximum 100.",
|
|
"ai_chat.inspection.tool_info.inspect_saved_connections.param.type": "Optional. Only inspect one database type, such as mysql, postgres, redis, or mongodb.",
|
|
"ai_chat.inspection.tool_info.inspect_saved_connections.params": "keyword?, type?, limit?",
|
|
"ai_chat.inspection.tool_info.inspect_saved_connections.tool_description": "Read locally saved connections, optionally filtered by keyword and database type, and return each connection's type, address, current database, SSH/proxy/HTTP tunnel summary, and related metadata.",
|
|
"ai_chat.inspection.tool_info.inspect_saved_queries.desc": "Lokal gespeicherte SQL-Abfragen prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_saved_queries.detail": "Filtert lokal gespeicherte Abfragen nach keyword, Verbindung oder Datenbank und gibt Abfragename, Verbindung, Datenbank und SQL-Vorschau zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_saved_queries.param.connectionId": "Optional. Nur gespeicherte Abfragen unter einer Verbindung prüfen.",
|
|
"ai_chat.inspection.tool_info.inspect_saved_queries.param.dbName": "Optional. Nur gespeicherte Abfragen unter einer Datenbank prüfen.",
|
|
"ai_chat.inspection.tool_info.inspect_saved_queries.param.includeSql": "Optional. Ob eine SQL-Vorschau enthalten ist. Standard true.",
|
|
"ai_chat.inspection.tool_info.inspect_saved_queries.param.keyword": "Optional. Nach Abfragename, SQL-Text, Verbindungsname oder Datenbankname filtern.",
|
|
"ai_chat.inspection.tool_info.inspect_saved_queries.param.limit": "Optional. Maximale Anzahl zurückzugebender Abfragen. Standard 12, Maximum 50.",
|
|
"ai_chat.inspection.tool_info.inspect_saved_queries.params": "keyword?, connectionId?, dbName?, limit?, includeSql?(Standard true)",
|
|
"ai_chat.inspection.tool_info.inspect_saved_queries.tool_description": "Liest lokal gespeicherte SQL-Abfragen, optional nach keyword, Verbindung und Datenbank gefiltert, und gibt Name, Verbindung, Datenbank und SQL-Vorschau zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_shortcuts.desc": "Aktuelle Shortcut-Konfiguration und Plattformunterschiede prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_shortcuts.detail": "Gibt Shortcut-Aktionen, aktuelle Plattformbindung, Windows/macOS-Kombinationen, Nutzeränderungen und Vergleich mit Standardwerten zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_shortcuts.param.action": "Optional. Nach exaktem action key filtern, z. B. toggleQueryResultsPanel, sendAIChatMessage oder toggleAIPanel.",
|
|
"ai_chat.inspection.tool_info.inspect_shortcuts.param.includeAllPlatforms": "Optional. Ob sowohl Windows- als auch macOS-Bindungen enthalten sind. Standard true.",
|
|
"ai_chat.inspection.tool_info.inspect_shortcuts.param.includeDisabled": "Optional. Ob aktuell deaktivierte Shortcuts enthalten sind. Standard true.",
|
|
"ai_chat.inspection.tool_info.inspect_shortcuts.param.keyword": "Optional. Nach Aktionsname, Beschreibung, Bereich, Tastenkombination oder Default filtern.",
|
|
"ai_chat.inspection.tool_info.inspect_shortcuts.params": "action?, keyword?, includeDisabled?(Standard true), includeAllPlatforms?(Standard true)",
|
|
"ai_chat.inspection.tool_info.inspect_shortcuts.tool_description": "Liest den aktuellen GoNavi-Shortcut-Konfigurationssnapshot, optional nach Aktionsname oder keyword gefiltert, und gibt aktuelle Plattformbindung, Windows/macOS-Bindungen, Defaults und Anpassungsstatus zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_sql_editor_transaction.desc": "Commit-Status der SQL-Editor-Transaktion anzeigen",
|
|
"ai_chat.inspection.tool_info.inspect_sql_editor_transaction.detail": "Gibt die Semantik verwalteter DML-Transaktionen im SQL-Editor, die aktuelle manuelle oder automatische Commit-Einstellung, ob der aktive SQL-Tab in eine verwaltete Transaktion wechselt, ausstehende Transaktionen sowie aktuelle Schreib- oder Transaktionsausführungen zurück. Nutze dies bei Fragen zur Bedeutung von manuellem oder automatischem Commit, zu uncommitted transactions oder dazu, ob update/insert/delete automatisch committet.",
|
|
"ai_chat.inspection.tool_info.inspect_sql_editor_transaction.param.includeSqlPreview": "Optional. Ob eine SQL-Vorschau aus dem aktiven SQL-Tab zurückgegeben wird. Standard true.",
|
|
"ai_chat.inspection.tool_info.inspect_sql_editor_transaction.tool_description": "Liest einen Snapshot des Transaktionsstatus im SQL-Editor, einschließlich der realen Semantik, dass DML immer in eine verwaltete Transaktion geht, aktuellem Commit-Modus, Auto-Commit-Verzögerung, ob der aktive SQL-Tab eine verwaltete Transaktion auslöst, ausstehenden Transaktionen und aktuellen Schreib- oder Transaktionsprotokollen. Nutze dies bei Fragen zu manuellem Commit, Auto Commit, uncommitted transactions oder ob DML nach Ausführung committet.",
|
|
"ai_chat.inspection.tool_info.inspect_sql_risk.desc": "Ausführungsrisiko für aktuelles oder angegebenes SQL prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_sql_risk.detail": "Liest übergebenes SQL oder den Inhalt des aktuellen aktiven Abfrage-Tabs, erkennt mehrere Anweisungen, Schreibvorgänge, DDL, DELETE/UPDATE ohne WHERE, DROP/TRUNCATE und weitere Risiken und kombiniert das Ergebnis mit der aktuellen AI-Sicherheitsrichtlinie, um zu entscheiden, ob Ausführung erlaubt ist. Nutze dies, bevor AI SQL ausführt, Risiken erklärt oder bestätigt, ob eine SQL-Anweisung laufen darf.",
|
|
"ai_chat.inspection.tool_info.inspect_sql_risk.param.previewCharLimit": "Optional. Maximale Zeichenanzahl für die SQL-Vorschau. Standard 12000, Maximum 40000.",
|
|
"ai_chat.inspection.tool_info.inspect_sql_risk.param.sql": "Optional. Zu prüfendes SQL. Wenn leer, wird standardmäßig der SQL-Entwurf des aktuellen aktiven Abfrage-Tabs gelesen.",
|
|
"ai_chat.inspection.tool_info.inspect_sql_risk.tool_description": "Prüft das Ausführungsrisiko von übergebenem SQL oder dem aktuellen SQL im aktiven Abfrage-Tab und gibt Anweisungsanzahl, Aktivitätstyp, Risikostufe, Risikopunkte, nötige Benutzerbestätigung und das aktuelle Ergebnis der AI-Sicherheitsrichtlinie zurück. Nutze dies vor Antworten oder Fortsetzung, wenn Benutzer Ausführen, Löschen, Aktualisieren, DDL, Batch-SQL oder die Ausführbarkeit einer SQL-Anweisung anfragen.",
|
|
"ai_chat.inspection.tool_info.inspect_sql_snippets.desc": "SQL-Snippet-Vorlagen prüfen",
|
|
"ai_chat.inspection.tool_info.inspect_sql_snippets.detail": "Gibt lokale SQL-Snippet-prefix, Name, Beschreibung und Vorlagenvorschau zurück, optional nach keyword gefiltert.",
|
|
"ai_chat.inspection.tool_info.inspect_sql_snippets.param.includeBody": "Optional. Ob eine Vorschau des Vorlageninhalts enthalten ist. Standard true.",
|
|
"ai_chat.inspection.tool_info.inspect_sql_snippets.param.keyword": "Optional. Nach prefix, Name, Beschreibung oder Vorlageninhalt filtern.",
|
|
"ai_chat.inspection.tool_info.inspect_sql_snippets.param.limit": "Optional. Maximale Anzahl zurückzugebender Snippets. Standard 20, Maximum 80.",
|
|
"ai_chat.inspection.tool_info.inspect_sql_snippets.params": "keyword?, limit?, includeBody?(Standard true)",
|
|
"ai_chat.inspection.tool_info.inspect_sql_snippets.tool_description": "Liest lokale SQL-Snippet-Vorlagen, optional nach keyword gefiltert, und gibt prefix, Name, Beschreibung und Vorlagenvorschau zurück.",
|
|
"ai_chat.inspection.tool_info.inspect_workspace_tabs.desc": "Inspect currently open workspace tabs",
|
|
"ai_chat.inspection.tool_info.inspect_workspace_tabs.detail": "Returns the list of tabs open in the current workspace, which one is active, and each tab's connection, database, table name, and related context. Use it when users ask which SQL tabs are open, what exists in the workspace, or want to compare several query tabs.",
|
|
"ai_chat.inspection.tool_info.inspect_workspace_tabs.param.includeContent": "Optional. Whether to include SQL or command draft content from tabs. Default false.",
|
|
"ai_chat.inspection.tool_info.inspect_workspace_tabs.param.limit": "Optional. Maximum number of tabs to return. Default 12, maximum 30.",
|
|
"ai_chat.inspection.tool_info.inspect_workspace_tabs.params": "limit?(default 12), includeContent?(default false)",
|
|
"ai_chat.inspection.tool_info.inspect_workspace_tabs.tool_description": "Get an overview of currently open workspace tabs, including active tab, tab type, connection, database, table name, and optional SQL or command draft content.",
|
|
"ai_chat.inspection.upstream_logs.message.empty": "In den aktuellen Logs wurden keine AI-Upstream-Anfragen gefunden. Sende zuerst eine AI-Nachricht oder versuche es mit einem größeren lineLimit erneut.",
|
|
"ai_chat.inspection.upstream_logs.next_action.confirm_logging": "Bestätige, dass der aktuelle Build AI-Upstream-Anfragelogs enthält.",
|
|
"ai_chat.inspection.upstream_logs.next_action.filter_request_body": "Um vollständige Eingaben zu prüfen, filtere zuerst exakt per requestId und prüfe dann, ob bodyPreview gekürzt wurde.",
|
|
"ai_chat.inspection.upstream_logs.next_action.inspect_timeout": "Wenn nur ein Start ohne Abschluss/Fehler vorhanden ist, prüfe weiter mit inspect_app_logs oder erhöhe lineLimit, um ein Timeout auszuschließen.",
|
|
"ai_chat.inspection.upstream_logs.next_action.read_warn_error": "Wenn weiterhin keine Einträge vorhanden sind, rufe inspect_app_logs auf, um die letzten WARN/ERROR-Rohlogs zu lesen.",
|
|
"ai_chat.inspection.upstream_logs.next_action.send_message": "Sende eine AI-Chatnachricht und rufe dieses Tool danach erneut auf.",
|
|
"ai_chat.inspection.upstream_logs.warning.invalid_json": "Der request body ist kein vollständiges JSON. Er wurde möglicherweise im Log gekürzt, daher kann keine strukturierte Zusammenfassung erzeugt werden.",
|
|
"ai_chat.inspection.upstream_logs.warning.large_input": "Der Eingabetext ist groß. Grenze bei Bedarf den Kontext ein oder reduziere Log-/DDL-Inhalte.",
|
|
"ai_chat.inspection.upstream_logs.warning.missing_messages": "Es wurden keine Felder messages, contents, system oder prompt gefunden. Prüfe, ob das Upstream-Protokoll der Erwartung entspricht.",
|
|
"ai_chat.inspection.upstream_logs.warning.missing_tools": "Das payload enthält keine tools/functions; das Modell kann daher keinen Tool-Aufruf starten.",
|
|
"ai_chat.inspection.upstream_logs.warning.not_json_object": "Der request body ist kein JSON object; Modell-, Nachrichten- und Tool-Felder können nicht erkannt werden.",
|
|
"ai_chat.inspection.workspace.no_active_tab": "Aktuell ist kein aktiver Tab ausgewählt",
|
|
"ai_chat.mcp_client.install.action.connected": "{{label}} ist verbunden; keine Neuinstallation nötig",
|
|
"ai_chat.mcp_client.install.action.copy_remote": "Remote-Verbindungsanleitung für {{label}} kopieren",
|
|
"ai_chat.mcp_client.install.action.install": "In {{label}} installieren (externes Tool)",
|
|
"ai_chat.mcp_client.install.action.update": "{{label}}-Verbindungskonfiguration aktualisieren",
|
|
"ai_chat.mcp_client.install.detection.detected": "Lokaler Befehl {{command}} erkannt. Starte {{label}} nach Verbindung oder Update neu, um zu prüfen.",
|
|
"ai_chat.mcp_client.install.detection.not_detected": "Lokaler Befehl {{command}} wurde nicht erkannt. Wenn die CLI noch nicht in PATH ist, kannst du die Konfiguration für {{label}} trotzdem zuerst schreiben und später neu starten.",
|
|
"ai_chat.mcp_client.install.detection.remote": "{{label}} läuft normalerweise nicht auf dieser Windows-Maschine. Eine lokale Erkennung des Befehls {{command}} ist nicht nötig; konfiguriere in der Cloud eine Remote-MCP-Bridge-URL.",
|
|
"ai_chat.mcp_client.install.intro.description": "Claude Code und Codex schreiben lokale MCP-Konfiguration auf Benutzerebene. Cloud-Agents wie OpenClaw und Hermans verwenden eine Remote-Verbindungsanleitung, damit Datenbankpasswörter nicht in die Cloud kopiert werden.",
|
|
"ai_chat.mcp_client.install.intro.title": "Dies verbindet GoNavi MCP mit Claude Code / Codex / OpenClaw / Hermans für externe Toolaufrufe. Es installiert kein Plugin in GoNavi selbst.",
|
|
"ai_chat.mcp_client.install.message.already_connected": "{{label}} ist bereits mit dem aktuellen GoNavi MCP verbunden. Kein erneutes Schreiben nötig.",
|
|
"ai_chat.mcp_client.install.message.claude_not_supported": "Diese Version unterstützt die automatische Claude Code MCP-Installation noch nicht",
|
|
"ai_chat.mcp_client.install.message.codex_not_supported": "Diese Version unterstützt die automatische Codex MCP-Installation noch nicht",
|
|
"ai_chat.mcp_client.install.message.config_path_copied": "Konfigurationsdateipfad kopiert",
|
|
"ai_chat.mcp_client.install.message.config_path_copy_failed": "Konfigurationsdateipfad konnte nicht kopiert werden",
|
|
"ai_chat.mcp_client.install.message.config_path_missing": "Kein Konfigurationsdateipfad zum Kopieren verfügbar",
|
|
"ai_chat.mcp_client.install.message.install_failed": "Installation von {{label}} MCP fehlgeschlagen",
|
|
"ai_chat.mcp_client.install.message.install_success": "MCP-Konfiguration auf Benutzerebene für {{label}} geschrieben",
|
|
"ai_chat.mcp_client.install.message.launch_command_copied": "Startbefehl kopiert",
|
|
"ai_chat.mcp_client.install.message.launch_command_copy_failed": "Startbefehl konnte nicht kopiert werden",
|
|
"ai_chat.mcp_client.install.message.launch_command_missing": "Kein Startbefehl zum Kopieren verfügbar",
|
|
"ai_chat.mcp_client.install.message.refresh_failed": "Client-Installationsstatus konnte nicht aktualisiert werden",
|
|
"ai_chat.mcp_client.install.message.remote_guide_copied": "Remote-Verbindungsanleitung für {{label}} kopiert",
|
|
"ai_chat.mcp_client.install.message.remote_guide_copy_failed": "Remote-Verbindungsanleitung für {{label}} konnte nicht kopiert werden",
|
|
"ai_chat.mcp_client.install.option.connected": "Dieses GoNavi MCP ist bereits mit diesem Client verbunden.",
|
|
"ai_chat.mcp_client.install.option.error": "Der Verbindungsstatus wirkt ungewöhnlich. Vor Änderungen zuerst aktualisieren.",
|
|
"ai_chat.mcp_client.install.option.missing": "Das aktuelle GoNavi MCP ist hier noch nicht verbunden.",
|
|
"ai_chat.mcp_client.install.option.remote": "Für Cloud-Agents: schema-only liest standardmäßig die GoNavi-Struktur, ohne Datenbankpasswörter zu kopieren oder execute_sql freizugeben.",
|
|
"ai_chat.mcp_client.install.option.stale": "Ein alter GoNavi-Eintrag wurde erkannt. Aktualisiere ihn auf den aktuellen Installationspfad.",
|
|
"ai_chat.mcp_client.install.repeat_avoidance": "Wenn dieses GoNavi bereits verbunden ist, wird die Hauptschaltfläche deaktiviert, um doppelte Schreibvorgänge zu vermeiden.",
|
|
"ai_chat.mcp_client.install.selected.connected": "Mit aktuellem GoNavi verbunden; keine erneute Aktion nötig",
|
|
"ai_chat.mcp_client.install.selected.error": "Statuslesen ist ungewöhnlich; Erkennung zuerst aktualisieren",
|
|
"ai_chat.mcp_client.install.selected.missing": "GoNavi MCP ist noch nicht verbunden",
|
|
"ai_chat.mcp_client.install.selected.remote": "Remote-MCP-Bridge konfigurieren; Datenbankpasswörter bleiben auf der GoNavi-Maschine",
|
|
"ai_chat.mcp_client.install.selected.stale": "Alter Verbindungseintrag vorhanden; auf den aktuellen GoNavi-Pfad aktualisieren",
|
|
"ai_chat.mcp_client.install.selector.aria_label": "Externen Client für GoNavi MCP auswählen",
|
|
"ai_chat.mcp_client.install.selector.choice_title": "Externen Client auswählen",
|
|
"ai_chat.mcp_client.install.selector.description": "Wähle zuerst einen Zielclient. Lokale CLIs können die Konfiguration automatisch schreiben oder aktualisieren; Remote-Agents müssen über MCP-Bridge oder Tunnel auf das aktuelle GoNavi zugreifen und sollten keine Datenbankpasswörter speichern.",
|
|
"ai_chat.mcp_client.install.selector.hint.active_local": "Ausgewählt. Nur dieser Client wird geschrieben oder aktualisiert.",
|
|
"ai_chat.mcp_client.install.selector.hint.active_remote": "Ausgewählt. Die Remote-Verbindungsanleitung wird kopiert.",
|
|
"ai_chat.mcp_client.install.selector.hint.inactive_local": "Klicken, um zu diesem Client zu wechseln.",
|
|
"ai_chat.mcp_client.install.selector.hint.inactive_remote": "Klicken, um die Remote-Verbindungsmethode anzuzeigen.",
|
|
"ai_chat.mcp_client.install.selector.step.restart.detail": "Lokale CLI nach dem Neustart prüfen. Cloud-Agents nach Konfiguration der Remote-MCP-URL prüfen.",
|
|
"ai_chat.mcp_client.install.selector.step.restart.title": "Ziel neu starten oder konfigurieren",
|
|
"ai_chat.mcp_client.install.selector.step.target.detail": "Lokale Claude/Codex-Clients können automatisch installiert werden. OpenClaw/Hermans verwenden eine Remote-Verbindungsanleitung.",
|
|
"ai_chat.mcp_client.install.selector.step.target.title": "Zielclient auswählen",
|
|
"ai_chat.mcp_client.install.selector.step.write.detail": "Die automatische Installation ändert nur MCP-Konfiguration auf Benutzerebene. Remote-Agents kopieren die Bridge-Anleitung.",
|
|
"ai_chat.mcp_client.install.selector.step.write.title": "Konfiguration schreiben oder kopieren",
|
|
"ai_chat.mcp_client.install.selector.title": "Externen Client verbinden",
|
|
"ai_chat.mcp_client.install.state.connected": "Verbindungsstatus des externen Tools: mit diesem GoNavi verbunden",
|
|
"ai_chat.mcp_client.install.state.error": "Verbindungsstatus des externen Tools: Lesen fehlgeschlagen",
|
|
"ai_chat.mcp_client.install.state.missing": "Verbindungsstatus des externen Tools: nicht verbunden",
|
|
"ai_chat.mcp_client.install.state.remote": "Verbindungsstatus des externen Tools: Remote-MCP-Bridge erforderlich",
|
|
"ai_chat.mcp_client.install.state.stale": "Verbindungsstatus des externen Tools: alte Konfiguration gefunden, Update nötig",
|
|
"ai_chat.mcp_client.install.status_tone.connected": "Verbunden",
|
|
"ai_chat.mcp_client.install.status_tone.not_connected": "Nicht verbunden",
|
|
"ai_chat.mcp_client.install.status_tone.remote_bridge": "Remote-Bridge",
|
|
"ai_chat.mcp_client.install.status_tone.status_error": "Statusfehler",
|
|
"ai_chat.mcp_client.install.status_tone.update_required": "Update nötig",
|
|
"ai_chat.mcp_client.install.status.cli_prefix": "CLI-Erkennung: {{status}}",
|
|
"ai_chat.mcp_client.install.status.cli.detected": "{{command}} erkannt",
|
|
"ai_chat.mcp_client.install.status.cli.not_detected": "{{command}} wurde nicht erkannt; Konfiguration kann trotzdem zuerst geschrieben werden",
|
|
"ai_chat.mcp_client.install.status.cli.remote": "Remote-Agent benötigt keine lokale Erkennung des Befehls {{command}}",
|
|
"ai_chat.mcp_client.install.status.command_path": "Befehlspfad: {{path}}",
|
|
"ai_chat.mcp_client.install.status.config_file": "Konfigurationsdatei: {{path}}",
|
|
"ai_chat.mcp_client.install.status.copy_command": "Startbefehl kopieren",
|
|
"ai_chat.mcp_client.install.status.copy_config": "Konfigurationspfad kopieren",
|
|
"ai_chat.mcp_client.install.status.current_state": "Aktueller Status: {{status}}",
|
|
"ai_chat.mcp_client.install.status.current_target": "Aktueller Zielclient: {{label}}",
|
|
"ai_chat.mcp_client.install.status.detection_missing": "Kein Verbindungsstatus erkannt",
|
|
"ai_chat.mcp_client.install.status.detection_result": "Erkennungsergebnis: {{message}}",
|
|
"ai_chat.mcp_client.install.status.launch_command": "Startbefehl: {{command}}",
|
|
"ai_chat.mcp_client.install.status.no_client": "Kein Client ausgewählt",
|
|
"ai_chat.mcp_client.install.status.refresh": "Status aktualisieren",
|
|
"ai_chat.mcp_client.install.status.remote_boundary": "Remote-Verbindungsgrenze: Datenbankverbindungsdaten und Passwörter bleiben in Windows GoNavi. Cloud-Agents lesen Verbindungszusammenfassungen, Tabellen und DDL standardmäßig über schema-only MCP-Tools; execute_sql wird nicht registriert. Für maschinenübergreifenden Zugriff GoNavi Streamable HTTP mit token, Tunnel oder Reverse Proxy verwenden.",
|
|
"ai_chat.mcp_client.install.status.title": "Status des ausgewählten Clients",
|
|
"ai_chat.mcp_client.install.summary.connected": "{{label}} ist mit diesem GoNavi MCP verbunden und kann es direkt aufrufen.",
|
|
"ai_chat.mcp_client.install.summary.error": "Der Verbindungsstatus für {{label}} konnte nicht gelesen werden. Aktualisiere zuerst die Erkennung.",
|
|
"ai_chat.mcp_client.install.summary.missing": "Dieses GoNavi MCP ist noch nicht mit {{label}} verbunden.",
|
|
"ai_chat.mcp_client.install.summary.remote": "{{label}} läuft normalerweise in der Cloud oder auf einer anderen Maschine und benötigt eine Remote-MCP-Bridge, um dieses GoNavi aufzurufen.",
|
|
"ai_chat.mcp_client.install.summary.stale": "{{label}} hat bereits einen alten GoNavi-Eintrag. Nach dem Update zeigt er auf dieses GoNavi.",
|
|
"ai_chat.message.action.copied": "Kopiert",
|
|
"ai_chat.message.action.copied_error_raw": "Originalfehler kopiert",
|
|
"ai_chat.message.action.copy_error_raw": "Originalfehler kopieren",
|
|
"ai_chat.message.action.copy_full": "Volltext kopieren",
|
|
"ai_chat.message.action.delete": "Nachricht löschen",
|
|
"ai_chat.message.action.edit": "Diese Nachricht bearbeiten, spätere Einträge entfernen und erneut senden",
|
|
"ai_chat.message.action.retry": "Aus der vorherigen Benutzernachricht neu generieren",
|
|
"ai_chat.message.code.collapse": "Code einklappen",
|
|
"ai_chat.message.code.copied": "Kopiert",
|
|
"ai_chat.message.code.copy": "Code kopieren",
|
|
"ai_chat.message.code.execute": "Ausführen",
|
|
"ai_chat.message.code.execute_failed": "Ausführung fehlgeschlagen",
|
|
"ai_chat.message.code.execute_tooltip": "Jetzt ausführen, gesteuert durch die AI-Sicherheitsrichtlinie",
|
|
"ai_chat.message.code.executing": "Wird ausgeführt...",
|
|
"ai_chat.message.code.expand_all": "Gesamten Code aufklappen",
|
|
"ai_chat.message.code.insert": "Einfügen",
|
|
"ai_chat.message.code.insert_tooltip": "Dieses SQL in den Abfragearbeitsbereich einfügen, um es schnell zu bearbeiten oder auszuführen",
|
|
"ai_chat.message.code.preview": "Vorschau",
|
|
"ai_chat.message.code.preview_collapse": "Einklappen",
|
|
"ai_chat.message.code.preview_result": "Vorschauergebnis ({{rows}} Zeilen x {{columns}} Spalten)",
|
|
"ai_chat.message.code.preview_tooltip": "Abfrageergebnisse im Chat anzeigen, maximal 20 Zeilen",
|
|
"ai_chat.message.code.query_no_result": "Die Abfrage lieferte keine Ergebnisse",
|
|
"ai_chat.message.code.view_result": "Ergebnis anzeigen ({{rows}} Zeilen)",
|
|
"ai_chat.message.image_alt": "Angehängtes Bild {{index}}",
|
|
"ai_chat.message.jvm.apply_diagnostic": "Auf Diagnosekonsole anwenden",
|
|
"ai_chat.message.jvm.apply_preview": "Auf JVM-Vorschau anwenden",
|
|
"ai_chat.message.jvm.diagnostic_target_not_found": "Kein Diagnosekonsolen-Tab passt zu diesem Plan. Öffnen Sie die ursprüngliche Zielkonsole, bevor Sie ihn anwenden.",
|
|
"ai_chat.message.jvm.missing_diagnostic_context": "Diesem Diagnoseplan fehlt der Kontext des Ursprungstabs. Generieren Sie ihn in der Ziel-Diagnosekonsole erneut.",
|
|
"ai_chat.message.jvm.missing_plan_context": "Diesem JVM-Plan fehlt der Kontext des Ursprungstabs. Generieren Sie ihn auf der Ziel-JVM-Ressourcenseite erneut.",
|
|
"ai_chat.message.jvm.plan_target_not_found": "Kein Ressourcentab passt zu diesem JVM-Plan. Öffnen Sie die ursprüngliche Zielressource, bevor Sie ihn anwenden.",
|
|
"ai_chat.message.mermaid.parse_failed": "Mermaid-Analyse fehlgeschlagen: {{detail}}",
|
|
"ai_chat.message.mermaid.render_failed": "Mermaid-Rendering fehlgeschlagen: {{detail}}",
|
|
"ai_chat.message.render_error.body": "Der restliche Verlauf bleibt nutzbar. Sie können diese fehlerhafte Nachricht löschen, bevor Sie fortfahren.",
|
|
"ai_chat.message.render_error.delete": "Diese Nachricht löschen",
|
|
"ai_chat.message.render_error.retry": "Rendern erneut versuchen",
|
|
"ai_chat.message.render_error.title": "Diese AI-Nachricht konnte nicht gerendert werden und wurde isoliert",
|
|
"ai_chat.message.render_error.unknown": "Unbekannter Renderfehler",
|
|
"ai_chat.message.role.user": "Sie",
|
|
"ai_chat.message.security.blocked": "🔒 Sicherheitsrichtlinie blockiert: Die aktuelle Sicherheitsstufe erlaubt keine {{operationType}}-SQL-Operationen. Passen Sie die Sicherheitsstufe in den AI-Einstellungen an.",
|
|
"ai_chat.message.security.confirm_execute": "Ausführen",
|
|
"ai_chat.message.security.confirm_title": "⚠️ Sicherheitsbestätigung",
|
|
"ai_chat.message.security.default_warning": "Dieses SQL ist eine {{operationType}}-Operation. Ausführen?",
|
|
"ai_chat.message.thinking.active": "Denkt...",
|
|
"ai_chat.message.thinking.count": "({{count}} Zeichen)",
|
|
"ai_chat.message.thinking.title": "Denkprozess",
|
|
"ai_chat.message.tool_call.done": "Datenprüfungen abgeschlossen ({{count}} Elemente)",
|
|
"ai_chat.message.tool_call.execute_sql": "Schreibgeschützte SQL-Prüfung ausführen",
|
|
"ai_chat.message.tool_call.get_all_columns": "Spalten über Tabellen hinweg zusammenfassen",
|
|
"ai_chat.message.tool_call.get_columns": "Echte Spaltendefinitionen prüfen",
|
|
"ai_chat.message.tool_call.get_connections": "Verfügbare Verbindungsinformationen laden",
|
|
"ai_chat.message.tool_call.get_databases": "Datenbankliste scannen",
|
|
"ai_chat.message.tool_call.get_foreign_keys": "Fremdschlüsselbeziehungen zuordnen",
|
|
"ai_chat.message.tool_call.get_indexes": "Indexdefinitionen prüfen",
|
|
"ai_chat.message.tool_call.get_table_ddl": "CREATE TABLE-Anweisung extrahieren",
|
|
"ai_chat.message.tool_call.get_tables": "Tabellenstrukturinformationen analysieren",
|
|
"ai_chat.message.tool_call.get_triggers": "Triggerlogik prüfen",
|
|
"ai_chat.message.tool_call.inspect_active_tab": "Aktiven Tab lesen",
|
|
"ai_chat.message.tool_call.inspect_ai_chat_readiness": "Aktuellen AI-Chat-Vorbereitungsstatus lesen",
|
|
"ai_chat.message.tool_call.inspect_ai_context_budget": "Risiko des AI-Kontextumfangs diagnostizieren",
|
|
"ai_chat.message.tool_call.inspect_ai_guidance": "Aktuelle AI-Prompt- und Skill-Konfiguration lesen",
|
|
"ai_chat.message.tool_call.inspect_ai_last_render_error": "Letzten AI-Renderingfehler lesen",
|
|
"ai_chat.message.tool_call.inspect_ai_message_flow": "Aktuellen AI-Nachrichtenfluss diagnostizieren",
|
|
"ai_chat.message.tool_call.inspect_ai_providers": "Aktuelle AI-Anbieter- und Modellkonfiguration lesen",
|
|
"ai_chat.message.tool_call.inspect_ai_runtime": "Aktuellen AI-Laufzeitstatus lesen",
|
|
"ai_chat.message.tool_call.inspect_ai_safety": "Aktuelle AI-Sicherheitsgrenze lesen",
|
|
"ai_chat.message.tool_call.inspect_ai_sessions": "Lokale AI-Verlaufssitzungen prüfen",
|
|
"ai_chat.message.tool_call.inspect_ai_support_bundle": "AI-Supportpaket zur Fehlerdiagnose erzeugen",
|
|
"ai_chat.message.tool_call.inspect_ai_tool_catalog": "AI-Toolkatalog und Parameterhinweise lesen",
|
|
"ai_chat.message.tool_call.inspect_app_logs": "GoNavi-Anwendungsprotokolle prüfen",
|
|
"ai_chat.message.tool_call.inspect_codebase_hotspots": "Codebasis-Hotspotdateien lesen",
|
|
"ai_chat.message.tool_call.inspect_connection_capabilities": "Aktuelle Verbindungsfähigkeitsmatrix lesen",
|
|
"ai_chat.message.tool_call.inspect_current_connection": "Aktuelle Verbindungsübersicht lesen",
|
|
"ai_chat.message.tool_call.inspect_database_bundle": "Datenbankstrukturübersicht abrufen",
|
|
"ai_chat.message.tool_call.inspect_external_sql_directories": "Externe SQL-Verzeichnisse prüfen",
|
|
"ai_chat.message.tool_call.inspect_external_sql_file": "Externe SQL-Datei lesen",
|
|
"ai_chat.message.tool_call.inspect_mcp_authoring_guide": "MCP-Erstellungsleitfaden lesen",
|
|
"ai_chat.message.tool_call.inspect_mcp_draft": "MCP-Entwurf validieren",
|
|
"ai_chat.message.tool_call.inspect_mcp_runtime_failures": "MCP-Laufzeitfehler diagnostizieren",
|
|
"ai_chat.message.tool_call.inspect_mcp_setup": "Aktuellen MCP-Konfigurationsstatus lesen",
|
|
"ai_chat.message.tool_call.inspect_mcp_tool_schema": "MCP-Toolparameter-schema lesen",
|
|
"ai_chat.message.tool_call.inspect_recent_connection_failures": "Neueste Verbindungsfehler zusammenfassen",
|
|
"ai_chat.message.tool_call.inspect_recent_sql_activity": "Neueste SQL-Aktivität zusammenfassen",
|
|
"ai_chat.message.tool_call.inspect_recent_sql_logs": "Neueste SQL-Ausführungsprotokolle prüfen",
|
|
"ai_chat.message.tool_call.inspect_redis_topology": "Redis-Topologiekonfiguration diagnostizieren",
|
|
"ai_chat.message.tool_call.inspect_saved_connections": "Lokal gespeicherte Verbindungen prüfen",
|
|
"ai_chat.message.tool_call.inspect_saved_queries": "Lokal gespeicherte Abfragen suchen",
|
|
"ai_chat.message.tool_call.inspect_shortcuts": "Aktuelle Tastenkürzel lesen",
|
|
"ai_chat.message.tool_call.inspect_sql_editor_transaction": "Transaktionsstatus des SQL-Editors lesen",
|
|
"ai_chat.message.tool_call.inspect_sql_snippets": "SQL-Snippetvorlagen lesen",
|
|
"ai_chat.message.tool_call.inspect_table_bundle": "Vollständigen Tabellenstruktur-Snapshot abrufen",
|
|
"ai_chat.message.tool_call.inspect_workspace_tabs": "Aktuelle Arbeitsbereich-Tabs prüfen",
|
|
"ai_chat.message.tool_call.preview_table_rows": "Echte Beispieldaten anzeigen",
|
|
"ai_chat.message.tool_call.running": "Datenprüfungen werden ausgeführt...",
|
|
"ai_chat.message.tool_result.char_count": "{{count}} Zeichen",
|
|
"ai_chat.message.tool_result.no_data": "Keine Daten",
|
|
"ai_chat.message.tool_result.title": "Prüfergebnis ({{name}})",
|
|
"ai_chat.message.wait.connecting": "Verbindung wird hergestellt",
|
|
"ai_chat.panel.error.html_response": "Der Server hat eine ungewöhnliche HTML-Antwort zurückgegeben, möglicherweise wegen Gateway-Timeout oder nicht verfügbarem Dienst",
|
|
"ai_chat.panel.error.http_server": "HTTP {{code}} Serverfehler",
|
|
"ai_chat.panel.error.truncated_suffix": "...(gekürzt)",
|
|
"ai_chat.panel.error.unknown": "Unbekannter Fehler",
|
|
"ai_chat.panel.history.empty": "Noch kein Chatverlauf",
|
|
"ai_chat.panel.insight.context.empty_body": "Wenn AI auf einer Tabellenseite geöffnet wird, wird die aktuelle Tabelle automatisch verknüpft. Kontext kann auch manuell oberhalb des Eingabefelds hinzugefügt werden.",
|
|
"ai_chat.panel.insight.context.empty_title": "Noch keine Tabellenstruktur verknüpft",
|
|
"ai_chat.panel.insight.context.linked_body": "Diese Unterhaltung enthält Strukturkontext für {{tables}}.",
|
|
"ai_chat.panel.insight.context.linked_title": "{{count}} Tabellen verknüpft",
|
|
"ai_chat.panel.insight.context.more_tables_suffix": " und weitere Tabellen",
|
|
"ai_chat.panel.insight.context.table_separator": ", ",
|
|
"ai_chat.panel.insight.query.empty_body": "Nach dem Ausführen einer Abfrage erscheinen hier SQL-Hinweise für die Optimierungsanalyse.",
|
|
"ai_chat.panel.insight.query.empty_title": "Noch keine Laufzeitdaten für Abfragen",
|
|
"ai_chat.panel.insight.query.slowest_title": "Langsamste aktuelle Abfrage {{duration}}ms",
|
|
"ai_chat.panel.insight.status.empty_body": "Noch keine SQL-Protokolle.",
|
|
"ai_chat.panel.insight.status.failed_title": "{{count}} aktuelle Abfragefehler",
|
|
"ai_chat.panel.insight.status.ok_title": "Aktueller Abfragestatus normal",
|
|
"ai_chat.panel.insight.status.recent_body": "{{count}} aktuelle SQL-Einträge wurden erfasst. AI kann sie direkt erklären oder optimieren.",
|
|
"ai_chat.panel.insight.write.detected_body": "Für SQL mit Schreibzugriff sollten vor dem Commit eine Vorschau und Rollback-Anweisungen erzeugt werden.",
|
|
"ai_chat.panel.insight.write.detected_title": "{{count}} Schreiboperationen erkannt",
|
|
"ai_chat.panel.insight.write.readonly_body": "AI priorisiert standardmäßig Erklärungen, SELECT-Generierung, Schema-Analyse und Indexoptimierung.",
|
|
"ai_chat.panel.insight.write.readonly_title": "Der Schwerpunkt liegt aktuell auf Nur-Lese-Analyse",
|
|
"ai_chat.panel.jvm_diagnostic.permission.allowed": "erlaubt",
|
|
"ai_chat.panel.jvm_diagnostic.permission.forbidden": "verboten",
|
|
"ai_chat.panel.jvm_diagnostic.policy.plan_first": "Diagnosebefehle dürfen generiert werden, aber liefere immer zuerst den Plan und lasse den Nutzer entscheiden, ob er ausgeführt wird.",
|
|
"ai_chat.panel.jvm_diagnostic.policy.read_only": "Antworte standardmäßig als Nur-Lese-Diagnose; generiere nur observe-, trace- und Troubleshooting-Befehle und nimm nicht an, dass bereits etwas ausgeführt wurde.",
|
|
"ai_chat.panel.jvm_runtime.policy.preview_required": "Schreibbare Verbindung, aber jede Änderung muss zuerst eine Vorschau erzeugen und auf menschliche Bestätigung warten.",
|
|
"ai_chat.panel.jvm_runtime.policy.read_only": "Nur-Lese-Verbindung; analysiere nur und generiere Änderungspläne, und nimm niemals an, dass Schreibvorgänge bereits ausgeführt wurden.",
|
|
"ai_chat.panel.jvm_runtime.resource_path.current": "Aktueller resourcePath: {{resourcePath}}",
|
|
"ai_chat.panel.jvm_runtime.resource_path.missing": "Aktuell ist kein konkreter resourcePath ausgewählt.",
|
|
"ai_chat.panel.local_tool.execute_sql.description": "Führt eine SQL-Abfrage auf der angegebenen Verbindung und Datenbank aus und gibt das Ergebnis zurück. Durch die Sicherheitsstufe gesteuert: Im Nur-Lese-Modus sind nur SELECT/SHOW/DESCRIBE und ähnliche Abfrageoperationen zulässig. Es werden höchstens 50 Zeilen zurückgegeben.",
|
|
"ai_chat.panel.local_tool.get_columns.description": "Ruft die field-Liste der angegebenen Tabelle ab, einschließlich field-Namen, Typen, NULL-Zulässigkeit, Standardwerten, Kommentaren und weiteren Metadaten. Vor dem Generieren von SQL muss dieses Tool aufgerufen werden, um echte field-Namen zu bestätigen; field-Namen dürfen nicht geraten werden.",
|
|
"ai_chat.panel.local_tool.get_connections.description": "Wenn eine Datenbank abgefragt oder bearbeitet werden soll, aber kein Verbindungskontext ausgewählt ist, werden alle in der App verfügbaren Datenbankverbindungen abgerufen. Die zurückgegebenen Daten enthalten Verbindungs-ID (id) und Name (name).",
|
|
"ai_chat.panel.local_tool.get_databases.description": "Ruft alle Datenbanknamen (Database/Schema) unter der angegebenen Verbindung (connectionId) ab.",
|
|
"ai_chat.panel.local_tool.get_table_ddl.description": "Ruft das vollständige CREATE TABLE DDL der angegebenen Tabelle ab, einschließlich fields, Indizes, Constraints und vollständiger Strukturinformationen.",
|
|
"ai_chat.panel.local_tool.get_tables.description": "Nachdem Zielverbindung und dbName feststehen, rufe dieses Tool auf, wenn der Benutzer eine Tabelle erwähnt oder danach fragt, du aber den exakten tableName nicht kennst. Es liefert alle Tabellennamen dieser Datenbank (nur Tabellennamen), damit du die Zieltabelle ableiten kannst.",
|
|
"ai_chat.panel.local_tool.param.connection_id": "connectionId (Verbindungs-ID)",
|
|
"ai_chat.panel.local_tool.param.connection_id_from_get_connections": "connectionId (aus get_connections)",
|
|
"ai_chat.panel.local_tool.param.db_name": "dbName (Datenbankname)",
|
|
"ai_chat.panel.local_tool.param.sql": "Auszuführende SQL-Anweisung",
|
|
"ai_chat.panel.local_tool.param.table_name": "tableName (Tabellenname)",
|
|
"ai_chat.panel.message.empty_response": "❌ Das Modell hat keinen Inhalt zurückgegeben. Möglicherweise greift ein Ratenlimit, der Kontext ist überlastet oder die Anfrage wurde abgelehnt.",
|
|
"ai_chat.panel.message.error": "❌ Fehler: {{detail}}",
|
|
"ai_chat.panel.message.request_interrupted": "❌ Anfrage unterbrochen: Es wurde keine konkrete Antwort empfangen.",
|
|
"ai_chat.panel.message.send_failed": "❌ Senden fehlgeschlagen: {{detail}}",
|
|
"ai_chat.panel.message.service_not_ready": "❌ AI Service ist nicht bereit",
|
|
"ai_chat.panel.model_control.continue_after_summary": "Setze anhand des neuesten Status und der Explorationsergebnisse oben deine noch nicht abgeschlossene Analyse fort oder führe den nächsten Schritt aus.",
|
|
"ai_chat.panel.model_control.force_tool_call": "Verwende direkt einen function call, um das Tool aufzurufen und die Aktion auszuführen; beschreibe den Plan nicht nur als Text.",
|
|
"ai_chat.panel.notice.fetch_models_failed": "Modellliste konnte nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.panel.probe.consecutive_failed": "⚠️ Prüfungen sind 3 Runden in Folge fehlgeschlagen und wurden beendet. Prüfen Sie den Verbindungsstatus und versuchen Sie es erneut.",
|
|
"ai_chat.panel.probe.max_rounds": "⚠️ Werkzeugaufrufe haben das Limit von {{count}} Runden erreicht und wurden beendet. Senden Sie eine neue Nachricht, um weiter zu erkunden.",
|
|
"ai_chat.panel.prompt.jvm_diagnostic": "Du bist der JVM-Diagnoseassistent von GoNavi. Der aktuelle Tab ist eine Arthas-kompatible Diagnose-Workbench, und das Ziel ist ein strukturierter Diagnoseplan, der zurück in die Diagnosekonsole eingefügt werden kann.\n\nAktuelle Verbindung: {{connectionName}}\nZielhost: {{host}}\nDiagnose-transport: {{transport}}\nUmgebung: {{environment}}\nVerbindungsrichtlinie: {{readOnlyPolicy}}\nBefehlsberechtigungen: observe={{observePolicy}}, trace={{tracePolicy}}, mutating={{mutatingPolicy}}\n\nAntwortregeln:\n1. Du darfst mit einer kurzen Analyse beginnen, aber die Antwort muss genau einen ```json Codeblock enthalten.\n2. JSON-Felder sind strikt auf intent, transport, command, riskLevel, reason, expectedSignals beschränkt.\n3. Das Feld transport muss dem oben gezeigten Diagnose-transport entsprechen; erfinde keinen anderen transport.\n4. command muss ein einzelner Diagnosebefehl sein, ohne shell-Prompt, Zeilenumbruch-Verkettung, mehrere Befehle oder Code-Fence.\n5. riskLevel darf nur low, medium oder high sein.\n6. expectedSignals muss ein String-Array sein, das die nach der Ausführung zu beobachtenden Signale beschreibt.\n7. Wenn Berechtigungen eine Operationskategorie verbieten, gib keine Befehle dieser Kategorie aus; erkläre die Einschränkung direkt, wenn die Anfrage nicht erfüllbar ist.",
|
|
"ai_chat.panel.prompt.jvm_runtime": "Du bist der JVM-Laufzeitanalyseassistent von GoNavi. Der aktuelle Kontext ist nicht SQL, sondern die JVM-Ressourcen-Workbench.\n\nAktuelle Verbindung: {{connectionName}}\nZielhost: {{host}}\nProvider-Modus: {{providerMode}}\nUmgebung: {{environment}}\nVerbindungsrichtlinie: {{connectionPolicy}}\nStatus des resourcePath: {{resourcePathStatus}}\n\nAntwortregeln:\n1. Du darfst Ressourcenstruktur, Risiken, Änderungsvorschläge und Rollback-Vorschläge erklären.\n2. Wenn der Nutzer einen JVM-Änderungsplan verlangt, gib genau einen ```json Codeblock aus und beschränke JSON-Felder strikt auf targetType, selector, action, payload, reason.\n3. Bevorzuge für action Werte, die im aktuellen Ressourcen-Snapshot oder in Metadaten bereits als supportedActions deklariert sind; wenn die aktuelle Ressource nichts deklariert, leite sie nur vorsichtig aus dem Snapshot-Inhalt ab.\n4. Bevorzuge den aktuellen resourcePath für selector.resourcePath; wenn der aktuelle Pfad unbekannt ist, sage klar, dass keine genaue Zielauswahl möglich ist, und erfinde keinen Pfad.\n5. payload darf nur {\"format\":\"json\",\"value\":{...}} oder {\"format\":\"text\",\"value\":\"...\"} verwenden; gib keine Skripte, Befehle oder nackten Werte aus.\n6. Gib keine Skripte, Befehle oder Aussagen wie bereits erfolgreich ausgeführt aus.",
|
|
"ai_chat.panel.prompt.memory_summary": "Dies ist der Verlauf einer überlangen Unterhaltung. Um Kontextplatz freizugeben und zugleich den Kern der Erinnerung zu bewahren, lies ihn sorgfältig und erstelle eine stark verdichtete strukturierte Zusammenfassung auf Basis technischer Fakten, des erkundeten Datenstrukturzustands, des zentralen Nutzeranliegens und des aktuellen Fortschritts.\nHinweise:\n1. Sei objektiv und genau; lasse keine wichtige Geschäftslogik und keine erkundeten Tabellennamen/Felder aus.\n2. Entferne unwirksame Ausführungsschritte, Höflichkeitsfloskeln und die JSON-Rückgabewerte selbst.\n3. Halte den Umfang bei etwa 1000-2000 Wörtern und gib ausschließlich kompaktes Markdown aus.\n4. Beginne direkt mit der Zusammenfassung; keine Begrüßung.",
|
|
"ai_chat.panel.prompt.sql.context_tables": "Du bist ein professioneller Datenbankassistent. Der aktuelle Datenbanktyp ist {{dbDisplayType}}. Erzeuge SQL in diesem Dialekt. Die folgende verknüpfte Tabellenstruktur-DDL wurde vom Benutzer bereitgestellt; berücksichtige sie vorrangig bei der Antwort:\n\n{{ddlChunks}}",
|
|
"ai_chat.panel.prompt.sql.current_database": "Du bist ein professioneller Datenbankassistent. Der aktuelle Datenbanktyp ist {{dbDisplayType}}, und der aktuelle Datenbankname ist {{targetDbName}}. Wenn der Benutzer Informationen zu einer bestimmten Tabelle oder zur aktuellen Datenbank benötigt, kannst du das bereitgestellte get_tables-Tool aktiv aufrufen, um Tabelleninformationen abzurufen.",
|
|
"ai_chat.panel.prompt.sql.no_connections": "Du bist ein professioneller Datenbankassistent. In der App sind aktuell keine Datenbankverbindungen verfügbar.\n\nWenn die Frage des Benutzers Datenbankstruktur oder SQL benötigt, erkläre zuerst, dass get_connections, get_databases, get_tables und get_columns ohne vorhandene Verbindung keine echten Datenbankinformationen abrufen können, und bitte den Benutzer, eine Verbindung zu erstellen und es erneut zu versuchen. Rate keine connectionId, keinen dbName, keine Tabellennamen und keine Feldnamen.\n\nBei allgemeinen Fragen ohne Datenbankabfrage antworte normal.",
|
|
"ai_chat.panel.prompt.sql.no_context": "Du bist ein professioneller Datenbankassistent. Der Benutzer hat in der Oberfläche aktuell keine konkrete Datenbank oder Tabelle als Kontext ausgewählt.\n\nWichtige Regeln:\n1. Wenn du dem Benutzer helfen musst, eine Zieltabelle zu finden, rate niemals Tabellennamen. Du musst Tools aufrufen, um echte Daten abzurufen.\n2. Vollständiger Ablauf: get_connections → get_databases → get_tables → get_columns → SQL erzeugen. Kein Schritt darf übersprungen werden.\n3. [Verbindungspriorität - kritisch] Nach dem Abrufen der Verbindungsliste musst du in dieser Reihenfolge suchen:\n - Erste Priorität: Verbindungen, deren host localhost oder 127.0.0.1 ist oder lokale Maschine bedeutet\n - Zweite Priorität: Verbindungen, deren name oder host dev oder local enthält, oder deren host eine interne IP wie 10.x, 192.168.x oder 172.16-31.x ist\n - Dritte Priorität: andere Verbindungen wie test oder production\n Wenn du die Zieltabelle in einer Verbindung mit höherer Priorität findest, verwende diese Verbindung direkt und suche nicht weiter in Verbindungen mit niedrigerer Priorität.\n4. Wenn die Zieltabelle in der aktuellen Datenbank nicht gefunden wird, musst du weitere Datenbanken prüfen; gib nicht auf.\n5. Stoppe nur, wenn alle möglichen Datenbanken geprüft wurden oder die Zieltabelle eindeutig gefunden wurde.\n6. Bei allgemeinen Fragen ohne Datenbankabfrage antworte normal.\n\nSQL-Erzeugungsregeln (kritisch, strikt befolgen):\n7. [Feldgenauigkeit - absolute Regel] Bevor du SQL erzeugst, musst du get_columns aufrufen, um die echte Feldliste der Zieltabelle abzurufen. Jeder Feldname im SQL muss exakt dem von get_columns zurückgegebenen field-Wert entsprechen, einschließlich Groß-/Kleinschreibung. Erfinde, kürze oder erschließe keine Feldnamen. Wenn das Feld zum Beispiel channel heißt, schreibe channel und nicht pay_channel.\n8. Verwende beim Erzeugen von SQL kein qualifiziertes Präfix im Format \"database.table\"; schreibe nur den Tabellennamen selbst.\n9. Beim Berichten von Ergebnissen müssen Verbindungsname/ID und Datenbankname strikt aus den tatsächlichen Parametern desselben get_tables-Aufrufs stammen. Mische keine connectionId einer Verbindung mit dem dbName einer anderen.\n10. Wenn mehrere Datenbanken ähnliche Namen haben, sage dem Benutzer klar, in welcher Datenbank sich die Zieltabelle befindet.\n11. [Pflicht] Die erste Zeile jedes SQL-Codeblocks muss einen Kontext-Kommentar exakt in diesem Format enthalten: -- @context connectionId=<Verbindungs-ID> dbName=<Datenbankname>. connectionId und dbName müssen aus demselben erfolgreichen get_tables-Aufruf stammen, also aus den tatsächlichen Parameterwerten, die du in diesem Aufruf übergeben hast. Beispiel:\n```sql\n-- @context connectionId=1770778676549 dbName=mkefu_test\nSELECT * FROM users WHERE status = 1;\n```\n\nAktuell verfügbare Verbindungen: [{{connList}}]",
|
|
"ai_chat.panel.render_error.delete": "Diese Nachricht löschen",
|
|
"ai_chat.panel.render_error.description": "Die übrige Unterhaltung bleibt nutzbar. Sie können diese fehlerhafte Nachricht löschen und danach fortfahren.",
|
|
"ai_chat.panel.render_error.retry": "Rendering erneut versuchen",
|
|
"ai_chat.panel.render_error.title": "Diese AI-Nachricht konnte nicht gerendert werden und wurde isoliert",
|
|
"ai_chat.panel.render_error.unknown": "Unbekannter Renderfehler",
|
|
"ai_chat.panel.session.default_title": "Neuer Chat",
|
|
"ai_chat.panel.status.analyzing_chain": "Kette und Logik werden tiefgehend analysiert",
|
|
"ai_chat.panel.status.deep_reasoning": "Das Modell führt eine tiefe Schlussfolgerung aus",
|
|
"ai_chat.panel.status.memory_compress_failed": "❌ Speicherkomprimierung fehlgeschlagen. Der ursprüngliche Kontext wird weiterverwendet...",
|
|
"ai_chat.panel.status.memory_compressing": "⚙️ Die Unterhaltung ist überlastet. Speicherkomprimierung wird gestartet...",
|
|
"ai_chat.panel.status.memory_probe_summary": "[Automatische Speicherumformung] Lange Prüfverlaufsdaten und Chat wurden zu einer Zusammenfassung komprimiert:\n\n{{summary}}",
|
|
"ai_chat.panel.status.memory_summary": "[Automatische Speicherumformung] Der lange Verlauf wurde zu einer Zusammenfassung komprimiert:\n\n{{summary}}",
|
|
"ai_chat.panel.status.model_connecting": "Verbindung zum Modell wird hergestellt",
|
|
"ai_chat.panel.status.returning_runtime_data": "Laufzeitdaten werden an das Modell zurückgegeben",
|
|
"ai_chat.panel.status.summarizing_probe": "Prüfergebnisse werden zusammengefasst",
|
|
"ai_chat.panel.status.waiting_instruction": "Warten auf Operationsanweisung",
|
|
"ai_chat.panel.status.waiting_response": "Warten auf Modellantwort",
|
|
"ai_chat.panel.status.waking_engine": "Schlussfolgerungs-Engine wird geweckt",
|
|
"ai_chat.panel.tool_error.connection_not_found": "Verbindung nicht gefunden",
|
|
"ai_chat.panel.tool_error.fetch_all_columns_failed": "Datenbankweite Spaltenzusammenfassung konnte nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.panel.tool_error.fetch_columns_failed": "Spaltenliste konnte nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.panel.tool_error.fetch_databases_failed": "Datenbankliste konnte nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.panel.tool_error.fetch_foreign_keys_failed": "Fremdschlüsselbeziehungen konnten nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.panel.tool_error.fetch_indexes_failed": "Indexdefinitionen konnten nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.panel.tool_error.fetch_table_ddl_failed": "CREATE TABLE-Anweisung konnte nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.panel.tool_error.fetch_tables_failed": "Tabellenliste konnte nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.panel.tool_error.fetch_triggers_failed": "Triggerdefinitionen konnten nicht abgerufen werden: {{detail}}",
|
|
"ai_chat.panel.tool_error.mcp_failed": "MCP-Tool-Aufruf fehlgeschlagen",
|
|
"ai_chat.panel.tool_error.mcp_failed_with_detail": "MCP-Tool-Aufruf fehlgeschlagen: {{detail}}",
|
|
"ai_chat.panel.tool_error.preview_table_rows_failed": "Tabellenbeispieldaten konnten nicht angezeigt werden: {{detail}}",
|
|
"ai_chat.panel.tool_error.sql_blocked": "Die Sicherheitsrichtlinie hat diese Anfrage blockiert: Die aktuelle Sicherheitsstufe erlaubt kein {{operationType}} SQL. Zeigen Sie dem Benutzer das SQL und bitten Sie ihn, es manuell auszuführen.",
|
|
"ai_chat.panel.tool_error.sql_execute_exception": "SQL-Ausnahme bei der Ausführung: {{detail}}",
|
|
"ai_chat.panel.tool_error.sql_execute_failed": "SQL-Ausführung fehlgeschlagen",
|
|
"ai_chat.panel.tool_error.table_name_required": "tableName darf nicht leer sein",
|
|
"ai_chat.panel.tool_error.unknown_function": "Unbekannte Funktion: {{functionName}}",
|
|
"ai_chat.panel.tool_result.columns_exact_fields": "⚠️ Dies ist die exakte Feldliste der Tabelle {{tableName}}. Verwende beim Erzeugen von SQL nur diese field-Werte als Spaltennamen, exakt wie angegeben. Nicht ändern, abkürzen oder eigene Feldnamen bilden.\nVerfügbare Felder: {{fieldNames}}\nDetails: {{detailJson}}",
|
|
"ai_chat.quick_action.explain_schema": "🔍 Schema erklären",
|
|
"ai_chat.quick_action.explain_schema.hint.with_context": "Felder und Einschränkungen erklären",
|
|
"ai_chat.quick_action.explain_schema.prompt.with_context": "Erkläre die Designabsicht und die Bedeutung der Felder dieser Tabellen ausführlich: {{tables}}",
|
|
"ai_chat.quick_action.explain_schema.title": "Schema erklären",
|
|
"ai_chat.quick_action.explain_sql": "🔍 SQL erklären",
|
|
"ai_chat.quick_action.explain_sql.hint.default": "Ausführungslogik erklären",
|
|
"ai_chat.quick_action.explain_sql.prompt.default": "Erkläre die Ausführungslogik dieser SQL-Anweisung:\n```sql\n\n```",
|
|
"ai_chat.quick_action.explain_sql.title": "SQL erklären",
|
|
"ai_chat.quick_action.generate_sql": "📝 SQL erzeugen",
|
|
"ai_chat.quick_action.generate_sql.hint.default": "Abfrage aus natürlicher Sprache erzeugen",
|
|
"ai_chat.quick_action.generate_sql.hint.with_context": "Abfrage aus natürlicher Sprache erzeugen",
|
|
"ai_chat.quick_action.generate_sql.prompt.default": "Erzeuge eine Abfrage aus der aktuellen Datenbanktabellenstruktur:",
|
|
"ai_chat.quick_action.generate_sql.prompt.with_context": "Erzeuge eine häufig verwendete Abfrage für diese Tabellenstrukturen: {{tables}}",
|
|
"ai_chat.quick_action.generate_sql.title": "SQL erzeugen",
|
|
"ai_chat.quick_action.optimize": "⚡ Optimierungstipps",
|
|
"ai_chat.quick_action.optimize.hint.default": "Performance- und Indexempfehlungen",
|
|
"ai_chat.quick_action.optimize.hint.with_context": "Indizes, Normalisierung und Risiken",
|
|
"ai_chat.quick_action.optimize.prompt.default": "Analysiere die Performance dieser SQL-Anweisung und schlage Optimierungen vor:\n```sql\n\n```",
|
|
"ai_chat.quick_action.optimize.prompt.with_context": "Analysiere das Strukturdesign dieser Tabellen und schlage Optimierungen für Indizes und Abfrageperformance vor: {{tables}}",
|
|
"ai_chat.quick_action.optimize.title": "Optimierungstipps",
|
|
"ai_chat.quick_action.schema_analysis": "🏗️ Schema-Analyse",
|
|
"ai_chat.quick_action.schema_analysis.hint.default": "Strukturqualität analysieren",
|
|
"ai_chat.quick_action.schema_analysis.hint.with_context": "Tabellenbeziehungen und Abhängigkeitsdiagramm",
|
|
"ai_chat.quick_action.schema_analysis.prompt.default": "Analysiere die aktuelle Datenbanktabellenstruktur und schlage Optimierungen vor.",
|
|
"ai_chat.quick_action.schema_analysis.prompt.with_context": "Führe eine vollständige Schema-Analyse für diese Tabellen aus, einschließlich Datentypauswahl, Normalisierungsprüfung und Verbesserungsvorschlägen: {{tables}}",
|
|
"ai_chat.quick_action.schema_analysis.title": "Schema-Analyse",
|
|
"ai_chat.quick_action.table_separator": ", ",
|
|
"ai_chat.system.context.custom_prompt.database": "Der Benutzer hat einen zusaetzlichen Prompt fuer die Datenbanksitzung hinterlegt. Befolge ihn, solange er Sicherheitsregeln und Fakten nicht widerspricht:\n{{content}}",
|
|
"ai_chat.system.context.custom_prompt.global": "Der Benutzer hat einen zusaetzlichen globalen Prompt hinterlegt. Befolge ihn, solange er Sicherheitsregeln und Fakten nicht widerspricht:\n{{content}}",
|
|
"ai_chat.system.context.custom_prompt.jvm": "Der Benutzer hat einen zusaetzlichen Prompt fuer die JVM-Ressourcenanalyse hinterlegt. Befolge ihn, solange er Sicherheitsregeln und Fakten nicht widerspricht:\n{{content}}",
|
|
"ai_chat.system.context.custom_prompt.jvm_diagnostic": "Der Benutzer hat einen zusaetzlichen Prompt fuer die JVM-Diagnose hinterlegt. Befolge ihn, solange er Sicherheitsregeln und Fakten nicht widerspricht:\n{{content}}",
|
|
"ai_chat.system.context.database_with_schema": "Du bist ein professioneller Datenbankassistent. Der Datenbanktyp der aktuellen Verbindung ist {{dbType}}. Erzeuge SQL im {{dbType}}-Dialekt. Die folgenden Tabellenstrukturen wurden vom Benutzer angehaengt; beruecksichtige sie vorrangig:\n\n{{ddlChunks}}",
|
|
"ai_chat.system.context.database_with_target": "Du bist ein professioneller Datenbankassistent. Der Datenbanktyp der aktuellen Verbindung ist {{dbType}}, der aktuelle Datenbankname ist {{dbName}}. Wenn der Benutzer eine bestimmte Tabelle oder Informationen zur aktuellen Datenbank benoetigt, rufe das bereitgestellte Tool get_tables auf, um Tabelleninformationen aktiv zu laden.",
|
|
"ai_chat.system.context.database_without_context": "Du bist ein professioneller Datenbankassistent. Der Benutzer hat in der Oberflaeche keine konkrete Datenbank und keine Tabelle als Kontext ausgewaehlt.\n\nWichtige Regeln:\n1. Wenn du eine Zieltabelle fuer den Benutzer finden musst, rate niemals den Tabellennamen. Rufe Tools auf, um echte Daten zu laden.\n2. Vollstaendiger Ablauf: get_connections -> get_databases -> get_tables -> get_columns -> SQL erzeugen. Kein Schritt darf uebersprungen werden.\n3. Die Verbindungsprioritaet ist wichtig. Pruefe Verbindungen nach dem Laden in dieser Reihenfolge:\n - Erste Prioritaet: host ist localhost oder 127.0.0.1, oder der Verbindungsname weist auf eine lokale Umgebung hin.\n - Zweite Prioritaet: name oder host weist auf Entwicklung/lokal hin, oder host ist eine private IP wie 10.x, 192.168.x oder 172.16-31.x.\n - Dritte Prioritaet: andere Verbindungen wie Test oder Produktion.\n Wenn die Zieltabelle in einer hoeher priorisierten Verbindung gefunden wurde, verwende diese Verbindung direkt und suche nicht in niedriger priorisierten Verbindungen.\n4. Wenn die Zieltabelle in der aktuellen Datenbank nicht gefunden wird, pruefe weitere Datenbanken und gib nicht auf.\n5. Beende die Suche nur, wenn alle moeglichen Datenbanken geprueft wurden oder die Zieltabelle eindeutig gefunden wurde.\n6. Bei normalen Fragen ohne Datenbankabfrage antworte normal.\n\nSQL-Erzeugungsregeln:\n7. Wenn der Benutzer aktuellen Tab, aktuelles SQL, aktuellen Editor oder diese Anweisung erwaehnt, aber keinen Inhalt einfuegt, rufe zuerst inspect_active_tab auf, statt den geoeffneten Inhalt zu raten.\n8. Wenn der Benutzer fragt, welche Tabs offen sind oder welche Abfragen im Workspace liegen, rufe zuerst inspect_workspace_tabs auf und entscheide danach, welcher Tab genauer geprueft wird.\n9. Feldgenauigkeit ist eine absolute Regel. Vor dem Erzeugen von SQL muss get_columns aufgerufen werden, um die echte Feldliste der Zieltabelle zu laden. Jeder Feldname im SQL muss exakt dem von get_columns gelieferten field-Wert entsprechen, einschliesslich Gross-/Kleinschreibung. Felder duerfen nicht zusammengesetzt, abgekuerzt oder geraten werden.\n10. Wenn der Benutzer nach Indexoptimierung, Join-Beziehungen, Trigger-Nebenwirkungen, Constraints oder DDL-Details fragt, rufe nach get_columns bei Bedarf get_indexes, get_foreign_keys, get_triggers und get_table_ddl auf und gib dann die Schlussfolgerung.\n11. Verwende beim Erzeugen von SQL keinen qualifizierten Praefix im Format \"database.table\"; schreibe nur den Tabellennamen.\n12. Beim Bericht muessen Verbindungsname/ID und Datenbankname aus denselben tatsaechlichen get_tables-Parametern stammen. Mische nicht connectionId einer Verbindung mit dbName einer anderen.\n13. Wenn mehrere Datenbanken aehnliche Namen haben, sage klar, in welcher Datenbank die Zieltabelle liegt.\n14. Die erste Zeile jedes SQL-Codeblocks muss einen Kontextkommentar in exakt diesem Format enthalten: -- @context connectionId=<connectionId> dbName=<dbName>. connectionId und dbName muessen aus denselben erfolgreichen get_tables-Aufrufparametern stammen. Beispiel:\n```sql\n-- @context connectionId=1770778676549 dbName=mkefu_test\nSELECT * FROM users WHERE status = 1;\n```\n\nVorhandene Verbindungen: [{{connList}}]",
|
|
"ai_chat.system.context.jvm_diagnostic_policy.read_only": "Standardmaessig mit Read-only-Diagnose denken: nur observe-, trace- und Troubleshooting-Befehle erzeugen und nie annehmen, dass bereits etwas ausgefuehrt wurde.",
|
|
"ai_chat.system.context.jvm_diagnostic_policy.writable": "Diagnosebefehle duerfen erzeugt werden, aber zuerst muss ein Plan gegeben werden; der Benutzer entscheidet, ob er ausgefuehrt wird.",
|
|
"ai_chat.system.context.jvm_diagnostic_prompt": "Du bist der JVM-Diagnoseassistent von GoNavi. Der aktuelle Tab ist eine Arthas-kompatible Diagnose-Workbench. Ziel ist ein strukturierter Diagnoseplan, der in die Diagnosekonsole zurueckgefuehrt werden kann.\n\nAktuelle Verbindung: {{connectionName}}\nZielhost: {{host}}\nDiagnose-transport: {{transport}}\nLaufzeitumgebung: {{environment}}\nVerbindungsrichtlinie: {{connectionPolicy}}\nBefehlsrechte: observe={{observeAllowed}}, trace={{traceAllowed}}, mutating={{mutatingAllowed}}\n\nAntwortregeln:\n1. Eine kurze Analyse ist erlaubt, aber die Antwort muss genau einen ```json Codeblock enthalten.\n2. JSON-Felder sind strikt auf intent, transport, command, riskLevel, reason und expectedSignals begrenzt.\n3. transport muss der aktuelle Wert {{transport}} sein; erfinde keinen anderen transport.\n4. command muss ein einzelner Diagnosebefehl sein, ohne Shell-Prompt, Zeilenverkettung, mehrere Befehle oder Code-Fence.\n5. riskLevel darf nur low, medium oder high sein.\n6. expectedSignals muss ein Array von Strings sein, das die nach der Ausfuehrung zu beobachtenden Signale beschreibt.\n7. Wenn Rechte eine Operationsklasse nicht erlauben, gib keinen Befehl dieser Klasse aus. Wenn die Anfrage nicht erfuellt werden kann, nenne die Einschraenkung direkt.",
|
|
"ai_chat.system.context.jvm_runtime_policy.read_only": "Dies ist eine Read-only-Verbindung. Analysiere nur und erzeuge Aenderungsplaene; nimm niemals an, dass Schreibvorgaenge bereits ausgefuehrt wurden.",
|
|
"ai_chat.system.context.jvm_runtime_policy.writable": "Dies ist eine schreibbare Verbindung, aber jede Aenderung muss zuerst eine Vorschau erzeugen und auf menschliche Bestaetigung warten.",
|
|
"ai_chat.system.context.jvm_runtime_prompt": "Du bist der JVM-Laufzeitanalyseassistent von GoNavi. Der aktuelle Kontext ist nicht SQL, sondern der JVM-Ressourcen-Workspace.\n\nAktuelle Verbindung: {{connectionName}}\nZielhost: {{host}}\nProvider-Modus: {{providerMode}}\nLaufzeitumgebung: {{environment}}\nVerbindungsrichtlinie: {{connectionPolicy}}\n{{resourcePathLine}}\n\nAntwortregeln:\n1. Du darfst Ressourcenstruktur, Risiken, Aenderungsvorschlaege und Rollback-Vorschlaege erklaeren.\n2. Wenn der Benutzer einen JVM-Aenderungsplan verlangt, gib genau einen ```json Codeblock aus und beschraenke JSON-Felder strikt auf targetType, selector, action, payload und reason.\n3. action soll bevorzugt aus supportedActions im aktuellen Ressourcen-Snapshot oder in den Metadaten stammen. Wenn dort nichts deklariert ist, leite vorsichtig aus dem Snapshot ab.\n4. selector.resourcePath soll bevorzugt den aktuellen Ressourcenpfad verwenden. Wenn der Pfad unbekannt ist, sage klar, dass keine genaue Zielauswahl moeglich ist, statt einen Pfad zu erfinden.\n5. payload darf nur {\"format\":\"json\",\"value\":{...}} oder {\"format\":\"text\",\"value\":\"...\"} verwenden; gib keine Skripte, Befehle oder nackten Werte aus.\n6. Gib keine Skripte, Befehle oder Aussagen wie \"bereits erfolgreich ausgefuehrt\" aus.",
|
|
"ai_chat.system.context.jvm_runtime_resource_path": "Aktueller Ressourcenpfad: {{resourcePath}}",
|
|
"ai_chat.system.context.jvm_runtime_resource_path_unselected": "Derzeit ist kein konkreter Ressourcenpfad ausgewaehlt.",
|
|
"ai_chat.system.context.no_connections": "keine Verbindungen",
|
|
"ai_chat.system.context.permission.allowed": "erlaubt",
|
|
"ai_chat.system.context.permission.denied": "verboten",
|
|
"ai_chat.system.context.skill_prompt": "Der aktive Skill \"{{skillName}}\" ({{skillDescription}}) gilt fuer diese Antwort. Befolge seine Einschraenkungen und Arbeitsweise:{{requiredTools}}\n{{content}}",
|
|
"ai_chat.system.context.skill_prompt_without_description": "Der aktive Skill \"{{skillName}}\" gilt fuer diese Antwort. Befolge seine Einschraenkungen und Arbeitsweise:{{requiredTools}}\n{{content}}",
|
|
"ai_chat.system.context.skill_prompt.required_tools": "\nAbhaengige Tools: {{requiredTools}}",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_chat_readiness": "Bei Fragen zu Sendebereitschaft und fehlender AI-Chat-Konfiguration zuerst inspect_ai_chat_readiness aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_context": "Bei Fragen zu AI-Kontext, zugeordneten Tabellen oder eingebundenen Tabellenschemata zuerst inspect_ai_context aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_context_budget": "Bei Fragen zu zu grossem Kontext, langen Tool-Ergebnissen oder instabilen Modellantworten zuerst inspect_ai_context_budget aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_guidance": "Bei Fragen zu aktiven Prompts, Skills oder database/JVM prompt zuerst inspect_ai_guidance aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_last_render_error": "Bei Fragen zu leeren AI-Nachrichten oder Renderfehlern in Antwort-Bubbles zuerst inspect_ai_last_render_error aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_message_flow": "Bei Fragen zu aufgeteilten Antworten, Tool-Call-Fortsetzung oder Nachrichtenfluss zuerst inspect_ai_message_flow aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_providers": "Bei Fragen zu Providern, API Key, Modellliste oder Modellauswahl zuerst inspect_ai_providers aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_runtime": "Bei Fragen zu aktuellem Modell, Sicherheitsstufe, verfuegbaren Tools oder aktivierten Skills / MCP-Tools zuerst inspect_ai_runtime aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_safety": "Bei Fragen zu Schreibschutz, DDL, allowMutating oder Sicherheitsgrenzen zuerst inspect_ai_safety aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_sessions": "Bei Fragen zu frueheren AI-Gespraechen oder passenden Sitzungsverlaeufen zuerst inspect_ai_sessions aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_setup_health": "Bei Fragen zu AI-Einrichtung, Provider, Sendebereitschaft, MCP oder Guidance zuerst inspect_ai_setup_health aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_support_bundle": "Bei Fragen zu Supportmaterial fuer AI, MCP, Verbindungen, Logs und Kontext zuerst inspect_ai_support_bundle aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_tool_catalog": "Bei Fragen zu Tool-Auswahl, Parameterhinweisen oder passendem Diagnose-Tool zuerst inspect_ai_tool_catalog aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_ai_upstream_logs": "Bei Fragen zu Upstream-Anfragen, requestId, payload oder nicht ausgeloesten Tools zuerst inspect_ai_upstream_logs aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_app_health": "Bei Fragen zu instabiler AI, GoNavi AI Gesamtzustand, Verbindungen, MCP, Logs oder Antwort-Bubbles zuerst inspect_app_health aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_app_logs": "Bei Fragen zu gonavi.log, aktuellen Logs, Startfehlern, MCP- oder Datenbankverbindungsfehlern zuerst inspect_app_logs aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_codebase_hotspots": "Bei Fragen zu grossen Dateien, Komponentenaufteilung oder AI/MCP/UI-Aenderungsrisiken zuerst inspect_codebase_hotspots aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_connection_capabilities": "Bei Fragen zu Datenbankaktionen, Ergebnisbearbeitung oder Faehigkeiten der Datenquelle zuerst inspect_connection_capabilities aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_current_connection": "Bei Fragen zu aktueller Verbindung, Datenquelle, Datenbank, Adresse, SSH oder Proxy zuerst inspect_current_connection aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_external_sql_directories": "Bei Fragen zu externen SQL-Verzeichnissen, Skripten oder Herkunft einer SQL-Datei zuerst inspect_external_sql_directories aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_external_sql_file": "Bei Fragen zu konkreten externen SQL-Dateipfaden oder report.sql/job.sql zuerst inspect_external_sql_file aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_mcp_authoring_guide": "Bei Fragen zu command, args, env, timeout oder Vorlagen fuer neue MCP-Server zuerst inspect_mcp_authoring_guide aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_mcp_draft": "Bei Fragen zu MCP-README-Befehl, command/args/env/timeout-Entwurf oder GoNavi MCP-Eingabe zuerst inspect_mcp_draft aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_mcp_runtime_failures": "Bei Fragen zu MCP-Laufzeitfehlern, stdio, Docker MCP oder HTTP MCP Startproblemen zuerst inspect_mcp_runtime_failures aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_mcp_setup": "Bei Fragen zu MCP-Konfiguration, Claude/Codex-Anbindung oder externem Client-Zugriff zuerst inspect_mcp_setup aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_mcp_tool_schema": "Bei Fragen zu MCP-Tool-Argumenten, inputSchema oder arguments JSON zuerst inspect_mcp_tool_schema aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_recent_connection_failures": "Bei Fragen zu Verbindungsfehlern, Cooldown, Validierung, SSH-Tunnel oder Parameterkompatibilitaet zuerst inspect_recent_connection_failures aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_recent_sql_activity": "Bei Fragen zu kuerzlich ausgefuehrtem SQL, geloeschten Daten oder Fehlerhaeufigkeit pro Datenbank zuerst inspect_recent_sql_activity aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_redis_topology": "Bei Fragen zu Redis Sentinel, Redis Cluster, Sentinel master, Redis DB oder mehreren Redis-Knoten zuerst inspect_redis_topology aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_saved_connections": "Bei Fragen zu lokal gespeicherten Verbindungen, MySQL/PostgreSQL/Redis oder SSH/Proxy zuerst inspect_saved_connections aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_saved_queries": "Bei Fragen zu gespeicherten Abfragen, SQL-Historie oder frueheren Skripten zuerst inspect_saved_queries aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_shortcuts": "Bei Fragen zu Shortcuts, Win/Mac-Unterschieden oder geaenderten Tastenkombinationen zuerst inspect_shortcuts aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_sql_editor_transaction": "Bei Fragen zu Manual Commit, Autocommit, offenen Transaktionen oder DML-Transaktionssemantik zuerst inspect_sql_editor_transaction aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_sql_risk": "Bei Fragen zu Ausfuehren, Loeschen, Aktualisieren, DDL, Batch-SQL oder SQL-Risiko zuerst inspect_sql_risk aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.system.inspection_guidance.inspect_sql_snippets": "Bei Fragen zu SQL-Snippets, Vorlagenpraefixen oder haeufig genutzten Vorlagen zuerst inspect_sql_snippets aufrufen, den echten GoNavi Zustand lesen und nicht aus Erinnerung oder UI-Vermutungen antworten.",
|
|
"ai_chat.tools.mcp_fallback_description": "MCP-Tool {{toolName}} von {{serverName}}",
|
|
"ai_chat.welcome.description.default": "Ich bin Ihr Datenbankassistent. Ich kann SQL-Abfragen erzeugen, Schemas analysieren, Ausführungslogik erklären und die Datenbankleistung optimieren.",
|
|
"ai_chat.welcome.description.with_context": "{{count}} Tabellenstrukturen sind verknüpft. Nutzen Sie die Schnellaktionen unten, um mit der Analyse zu beginnen.",
|
|
"ai_chat.welcome.suggestion.channel_distribution.default": "Bestellkanalverteilung der letzten 7 Tage",
|
|
"ai_chat.welcome.suggestion.channel_distribution.with_context": "Verteilung der wichtigsten Kanäle in den letzten 7 Tagen",
|
|
"ai_chat.welcome.suggestion.cleanup.default": "Schreibe SQL zum Bereinigen auffälliger Daten",
|
|
"ai_chat.welcome.suggestion.cleanup.with_context": "Schreibe SQL zum Deaktivieren auffälliger Kanäle",
|
|
"ai_chat.welcome.suggestion.divider": "Oder direkt fragen",
|
|
"ai_chat.welcome.suggestion.low_rows.default": "Warum enthält das aktuelle Ergebnis nur wenige Zeilen?",
|
|
"ai_chat.welcome.suggestion.low_rows.with_context": "Warum hat {{table}} nur wenige Zeilen?",
|
|
"ai_chat.welcome.title": "Hallo, ich bin GoNavi AI",
|
|
"ai_service.backend.builtin_prompt.body.data_analyze": "Du bist der GoNavi AI Assistant, ein erfahrener Datenanalyseexperte mit scharfem Geschäftssinn. Prüfe die Datenstichprobe aus der Abfrage des Nutzers und extrahiere die darin verborgenen wertvollen Informationen.\n\nZiele der Analyse:\n1. Harte Statistik: Fasse die Gesamtzahl der Zeilen und zentrale numerische Kennzahlen zusammen, etwa Extremwerte, Durchschnittswerte und aggregierte Mediane.\n2. Trends und Anomalien: Wenn die Daten Zeitstempel enthalten, erkenne steigende oder fallende Trends; wenn Ausreißer vorhanden sind, markiere sie klar.\n3. Geschäftlichen Wert herausarbeiten: Gib die Daten nicht nur wieder. Kombiniere sichtbare Muster mit AI-Urteilskraft und nenne eine konstruktive Handlungsempfehlung für Entscheider oder Entwickler.\n4. Darstellungsformat: Strukturiere die Analyse als knappen Mini-Report mit Titel und verdichteten Stichpunkten und vermeide flache, mechanische Nacherzählung.",
|
|
"ai_service.backend.builtin_prompt.body.general_chat": "Du bist der GoNavi AI-Assistent, ein spezialisiertes Expertensystem, das tief in den GoNavi-Datenbank- und Cache-Client integriert ist.\nDein Ziel ist es, für Entwickler, DBAs und Data Scientists das nützlichste zweite Gehirn zu sein und professionelle, präzise sowie zukunftsorientierte Lösungen für datenbezogene Aufgaben zu liefern.\n\nKernrolle und Interaktionston:\n- Fachlich fundiert: Beurteile Datenbankprodukte wie MySQL, PostgreSQL, DuckDB und Redis solide, einschließlich Ausführungsplänen, Indizierung und Speicherverhalten.\n- Direkt und praktisch: Vermeide leeres Gerede. Wenn die Absicht des Benutzers klar ist, beginne mit elegantem Code oder Schritten, die direkt nutzbar sind.\n- Strukturiert und gut lesbar: Nutze Markdown-Überschriften, Hervorhebungen und Codeblöcke mit korrekter Sprachkennung wie sql, json oder bash.\n- Produktionssicherheit zuerst: Wenn eine SQL-Anweisung ernsthafte Risiken erzeugen kann, etwa DELETE oder UPDATE ohne WHERE-Klausel oder eine Abfrage, die eine große Produktionstabelle sperren könnte, gib vor dem Fortfahren eine klare Warnung aus.\n\nFähigkeitskarte:\n1. Natürliche Sprache zu Datenoperationen: Übersetze menschliche Absichten in präzise Abfragen oder Befehle.\n2. Ausführungslogik erklären: Erläutere die Logik und Performance-Auswirkungen hinter Abfragen.\n3. Expertenoptimierung: Erkenne Engpässe und schlage Index-, Rewrite- oder Ausführungsstrategien vor.\n4. Daten-Insights: Extrahiere sinnvolle Muster aus Ergebnismengen, statt Zeilen nur nachzuerzählen.\n5. Architekturreview: Bewerte Grenzen des Schemas und schlage Entwicklungspfade vor, die Datenwachstum aushalten.\n\nInteraktionsregeln:\n- Verwende professionelle, kooperative Sprache und passe dich an die vom Benutzer gewählte Oberflächensprache an.\n- Wenn Datenbankcode angefordert wird, verbinde die Antwort mit den Best Practices der jeweiligen Engine. Ist die genaue Version unbekannt, nutze einen standardorientierten Ausgangspunkt und weise auf wichtige Versionsunterschiede hin, zum Beispiel MySQL 8 Window Functions.\n- Lehne nicht vorschnell ab: Wenn der Benutzer SQL verlangt, aber keine detaillierte DDL angehängt ist, nutze den Gesprächskontext und reine Tabellennamenlisten, um die wahrscheinliche Zieltabelle abzuleiten. Ist das nicht möglich, erkläre die bekannten Informationen und frage, welche Tabelle abgefragt werden soll.",
|
|
"ai_service.backend.builtin_prompt.body.schema_insight": "Du bist der GoNavi AI Assistant, ein leitender Datenbankarchitekt für den gesamten Datenbank-Lebenszyklus. In diesem Modus prüfst du die vom Nutzer bereitgestellten Tabellenstrukturen streng nach Normalisierung, Wartbarkeit und Zukunftsfähigkeit.\n\nPrüfperspektiven:\n1. Normalisierungsabwägung: Erkenne offensichtliche denormalisierte Entwürfe und beurteile, ob die Redundanz sinnvoll der Performance dient oder schlicht ein Strukturfehler ist.\n2. Indexrobustheit: Bewerte Primärschlüsselentscheidungen wie Auto-Increment gegenüber UUID, redundante Indizes, die Schreibvorgänge verlangsamen, und fehlende häufig genutzte zusammengesetzte Indizes.\n3. Physische Kapazitätsvorausschau: Prüfe Datentypen wie übergroße VARCHAR-Felder oder unnötige BIGINT-Spalten, die Speicher verschwenden können.\n4. Code-nahe Anleitung: Wenn strukturelle Defekte vorliegen, benenne nicht nur das Problem. Gib bei Bedarf konkrete ALTER TABLE-Verbesserungsskripte an.",
|
|
"ai_service.backend.builtin_prompt.body.sql_explain": "Du bist der GoNavi AI-Assistent, ein erfahrener Senior-Datenbankentwickler mit tiefem Praxiswissen. Erkläre die zugrunde liegende Absicht und Ausführungslogik der SQL-Anweisung des Benutzers in professioneller, klar strukturierter und gut verständlicher Entwicklersprache.\n\nErklärungsrichtlinien:\n1. Makrologik zerlegen: Fasse in einem knappen Satz zusammen, welches fachliche Problem diese SQL-Anweisung lösen soll.\n2. Schrittweise Ausführung erläutern: Zerlege die wichtigsten Klauseln in der tatsächlichen Ausführungsreihenfolge des Executors, etwa FROM -> JOIN -> WHERE -> GROUP BY -> SELECT -> ORDER BY.\n3. Performance-Risiken erkennen: Weise auf wahrscheinliche Fallen hin, zum Beispiel implizite Typkonvertierungen, Funktionsaufrufe ohne Indexnutzung, mögliche Cartesian products oder Full table scans.\n4. Sorgfältig formatieren: Stelle Kernpunkte als Liste dar, hebe wichtige Begriffe fett hervor und halte auch längere Erklärungen gut lesbar.",
|
|
"ai_service.backend.builtin_prompt.body.sql_generate": "Du bist der GoNavi AI-Assistent, ein Experte für Datenbankentwicklung und den Aufbau von SQL-Abfragen. Erzeuge aus der natürlichsprachlichen Anfrage des Benutzers präzise, elegante und performante SQL-Abfragen oder Redis-Befehle.\n\nStrenge Ausgaberegeln:\n1. Priorisiere reine Codeausgabe: Setze Code immer in einen markdown-Codeblock mit korrekter Sprachkennung, zum Beispiel sql oder bash.\n2. Bleibe knapp: Vermeide lange Vorreden und komme direkt zur Antwort.\n3. Schütze die Produktionssicherheit: Bevorzuge parametrisierte Abfragen oder defensive Muster, um SQL-Injection zu vermeiden. Bei DELETE- oder UPDATE-Anweisungen ohne explizite Bedingungen musst du eine deutliche Red-Line-Warnung ausgeben.\n4. Optimiere auf Performance: Ergänze bei großen Abfragen standardmäßig sinnvolle LIMIT-Begrenzungen, etwa LIMIT 100, und bevorzuge effiziente Muster für JOIN und Aggregation.\n5. Kommentiere nur bei Bedarf: Bei komplex verschachtelter Logik füge im Codeblock kurze einzeilige Kommentare hinzu, die die Idee erklären.",
|
|
"ai_service.backend.builtin_prompt.body.sql_optimize": "Du bist der GoNavi AI Assistant, ein Full-Stack-Performance-Engineer und Senior-DBA mit Erfahrung in hochgradig parallel belasteten Systemen im großen Maßstab. Diagnostiziere die ursprüngliche SQL-Anweisung des Nutzers präzise und liefere eine konkrete Performance-Refactoring-Empfehlung.\n\nAnforderungen an Diagnose und Empfehlung:\n1. Performance-Engpässe erkennen: Benenne die Schwachstellen der Anweisung genau, etwa eine ungeeignete treibende Tabelle, nicht nutzbare Covering Indexes oder unnötige Unterabfragen.\n2. Refaktorierte SQL-Version: Wenn Performance-Potenzial besteht, zeige eine gründlich optimierte, leistungsfähige Variante und wahre dabei die logische Äquivalenz.\n3. Ursache erklären: Sage nicht nur, was geändert werden soll, sondern erkläre auch, warum der Executor dadurch schneller arbeitet.\n4. Index-Aufbau empfehlen: Wenn die aktuelle Struktur die Last nicht tragen kann, schlage konkrete DDL-nahe CREATE INDEX-Anweisungen vor und nenne die Begründung, etwa Leftmost-Prefix-Matching.\n5. Priorität bewerten: Schließe die Antwort mit der Dringlichkeit der Optimierung ab: hoch für blockierende oder sperrkritische Risiken, mittel für Durchsatzengpässe und niedrig für langfristige Feinabstimmung.",
|
|
"ai_service.backend.builtin_prompt.title.data_analyze": "Datenanalyse",
|
|
"ai_service.backend.builtin_prompt.title.general_chat": "Allgemeiner Chat-Assistent",
|
|
"ai_service.backend.builtin_prompt.title.schema_insight": "Schemareview",
|
|
"ai_service.backend.builtin_prompt.title.sql_explain": "SQL-Erklärer",
|
|
"ai_service.backend.builtin_prompt.title.sql_generate": "SQL-Generator",
|
|
"ai_service.backend.builtin_prompt.title.sql_optimize": "SQL-Optimierer",
|
|
"ai_service.backend.database_context.column_comment": "Kommentar",
|
|
"ai_service.backend.database_context.column_name": "Spalte",
|
|
"ai_service.backend.database_context.column_nullable": "Nullable",
|
|
"ai_service.backend.database_context.column_primary_key": "Primärschlüssel",
|
|
"ai_service.backend.database_context.column_type": "Typ",
|
|
"ai_service.backend.database_context.database_name": "Datenbankname: {{name}}",
|
|
"ai_service.backend.database_context.database_type": "Datenbanktyp: {{type}}",
|
|
"ai_service.backend.database_context.indexes": "**Indizes:**",
|
|
"ai_service.backend.database_context.row_count": "[ca. {{count}} Zeilen]",
|
|
"ai_service.backend.database_context.sample_data": "**Beispieldaten ({{count}} Zeilen):**",
|
|
"ai_service.backend.database_context.table_heading": "#### Tabelle: {{table}}",
|
|
"ai_service.backend.database_context.table_schema": "### Tabellenstruktur",
|
|
"ai_service.backend.database_context.title": "## Aktueller Datenbankkontext",
|
|
"ai_service.backend.database_context.unique_index": " (eindeutig)",
|
|
"ai_service.backend.database_context.value_no": "Nein",
|
|
"ai_service.backend.database_context.value_yes": "Ja",
|
|
"ai_service.backend.error.active_provider_not_found": "Aktiver AI Provider wurde nicht gefunden",
|
|
"ai_service.backend.error.config_dir_create_failed": "Konfigurationsverzeichnis konnte nicht erstellt werden: {{detail}}",
|
|
"ai_service.backend.error.config_load_failed": "AI-Konfiguration konnte nicht geladen werden: {{detail}}",
|
|
"ai_service.backend.error.config_read_failed": "AI-Konfiguration konnte nicht gelesen werden: {{detail}}",
|
|
"ai_service.backend.error.config_rewrite_failed": "AI-Konfiguration konnte nicht neu geschrieben werden: {{detail}}",
|
|
"ai_service.backend.error.config_serialize_failed": "AI-Konfiguration konnte nicht serialisiert werden: {{detail}}",
|
|
"ai_service.backend.error.config_write_failed": "AI-Konfiguration konnte nicht geschrieben werden: {{detail}}",
|
|
"ai_service.backend.error.daily_secret_store_unavailable": "Daily secret store ist nicht verfügbar: {{detail}}",
|
|
"ai_service.backend.error.editable_provider_not_found": "Zu bearbeitender AI Provider wurde nicht gefunden: {{detail}}",
|
|
"ai_service.backend.error.mcp_command_required": "MCP-Befehl darf nicht leer sein",
|
|
"ai_service.backend.error.mcp_http_executable_resolve_failed": "Die aktuelle GoNavi-Programmdatei konnte nicht ermittelt werden: {{detail}}",
|
|
"ai_service.backend.error.mcp_http_health_status_failed": "healthz gab HTTP {{statusCode}} zurück",
|
|
"ai_service.backend.error.mcp_http_process_exited": "Der GoNavi MCP HTTP-Dienst wurde unerwartet beendet: {{detail}}",
|
|
"ai_service.backend.error.mcp_http_start_failed": "Starten des GoNavi MCP HTTP-Dienstes fehlgeschlagen: {{detail}}",
|
|
"ai_service.backend.error.mcp_http_stop_failed": "Stoppen des GoNavi MCP HTTP-Dienstes fehlgeschlagen: {{detail}}",
|
|
"ai_service.backend.error.mcp_http_subprocess_exited": "Der MCP HTTP-Unterprozess wurde beendet",
|
|
"ai_service.backend.error.mcp_http_token_generate_failed": "MCP HTTP-Token konnte nicht erzeugt werden: {{detail}}",
|
|
"ai_service.backend.error.mcp_server_disabled": "MCP-Dienst ist deaktiviert: {{name}}",
|
|
"ai_service.backend.error.mcp_server_not_found": "MCP-Dienst wurde nicht gefunden: {{serverID}}",
|
|
"ai_service.backend.error.mcp_tool_alias_invalid": "Ungültiger MCP-Tool-Alias: {{alias}}",
|
|
"ai_service.backend.error.mcp_tool_arguments_parse_failed": "MCP-Tool-Argumente konnten nicht geparst werden: {{detail}}",
|
|
"ai_service.backend.error.mcp_transport_unsupported": "Nicht unterstützter MCP-Transport: {{transport}}",
|
|
"ai_service.backend.error.models_http_status_failed": "Modelllisten-Endpunkt hat einen unerwarteten Status zurückgegeben (HTTP {{status}}){{body}}",
|
|
"ai_service.backend.error.models_parse_failed": "Modellliste konnte nicht geparst werden: {{detail}}",
|
|
"ai_service.backend.error.models_remote_unsupported": "Das Auflisten entfernter Modelle wird vom aktuellen Provider nicht unterstützt",
|
|
"ai_service.backend.error.models_request_create_failed": "Modelllisten-Anfrage konnte nicht erstellt werden: {{detail}}",
|
|
"ai_service.backend.error.models_request_failed": "Modellliste konnte nicht angefordert werden: {{detail}}",
|
|
"ai_service.backend.error.provider_auth_failed": "API Key ist ungültig oder die Anfrage wurde abgelehnt (HTTP {{status}}){{body}}",
|
|
"ai_service.backend.error.provider_http_server_error": "Upstream-Server hat einen internen Fehler zurückgegeben (HTTP {{status}}){{body}}",
|
|
"ai_service.backend.error.provider_http_status_failed": "Endpunkt hat einen unerwarteten Status zurückgegeben (HTTP {{status}}){{body}}",
|
|
"ai_service.backend.error.provider_not_configured": "AI Provider ist nicht konfiguriert. Konfigurieren Sie zuerst einen in den Einstellungen.",
|
|
"ai_service.backend.error.provider_request_create_failed": "Anfrage konnte nicht erstellt werden: {{detail}}",
|
|
"ai_service.backend.error.provider_request_serialize_failed": "Anfrage konnte nicht serialisiert werden: {{detail}}",
|
|
"ai_service.backend.error.provider_secret_bundle_parse_failed": "Provider secret bundle konnte nicht geparst werden: {{detail}}",
|
|
"ai_service.backend.error.provider_secret_delete_failed": "Provider secret konnte nicht gelöscht werden: {{detail}}",
|
|
"ai_service.backend.error.provider_secret_load_failed": "AI Provider secret konnte nicht geladen werden (provider={{provider}}): {{detail}}",
|
|
"ai_service.backend.error.provider_secret_read_failed": "Provider secret konnte nicht gelesen werden: {{detail}}",
|
|
"ai_service.backend.error.provider_secret_save_failed": "Provider secret konnte nicht gespeichert werden: {{detail}}",
|
|
"ai_service.backend.error.provider_secret_saved_read_failed": "Gespeicherter Provider secret konnte nicht gelesen werden: {{detail}}",
|
|
"ai_service.backend.error.provider_test_failed": "Verbindungstest fehlgeschlagen: {{detail}}",
|
|
"ai_service.backend.error.secret_store_unavailable": "Secret store ist nicht verfügbar: {{detail}}",
|
|
"ai_service.backend.error.session_corrupt": "Sitzungsdaten sind beschädigt",
|
|
"ai_service.backend.error.session_delete_failed": "Sitzung konnte nicht gelöscht werden: {{detail}}",
|
|
"ai_service.backend.error.session_missing": "Sitzung existiert nicht",
|
|
"ai_service.backend.error.session_provider_messages_serialize_failed": "Provider-Nachrichten der Sitzung konnten nicht serialisiert werden: {{detail}}",
|
|
"ai_service.backend.error.session_serialize_failed": "Sitzungsdaten konnten nicht serialisiert werden: {{detail}}",
|
|
"ai_service.backend.error.session_write_failed": "Sitzung konnte nicht gespeichert werden: {{detail}}",
|
|
"ai_service.backend.error.sessions_dir_create_failed": "sessions-Verzeichnis konnte nicht erstellt werden: {{detail}}",
|
|
"ai_service.backend.error.volcengine_coding_models_empty": "Der aktuelle Endpunkt hat keine verfügbaren Volcengine Coding Plan-Modelle zurückgegeben. Prüfen Sie die Kontoberechtigungen oder wechseln Sie zum Provider \"Volcengine Ark\"",
|
|
"ai_service.backend.message.mcp_test_success": "MCP-Dienstverbindung erfolgreich; {{count}} Tools gefunden",
|
|
"ai_service.backend.message.provider_test_success": "Endpunkt-Verbindungstest erfolgreich",
|
|
"ai_service.backend.message.skill_unnamed": "Unbenanntes Skill",
|
|
"ai_service.backend.provider.image_fallback_prompt": "Bitte beschreibe und analysiere dieses Bild.",
|
|
"ai_service.backend.provider.image_omitted_notice": "[Bild ausgelassen: Das aktuelle Modell oder die Upstream-API unterstützt keine Bildeingaben. Wechsle zu einem vision-fähigen Modell und sende das Bild erneut.]",
|
|
"ai_service.backend.warning.sql_delete_without_where": "Hochriskantes SQL: DELETE ohne WHERE löscht alle Zeilen",
|
|
"ai_service.backend.warning.sql_drop": "Hochriskantes SQL: DROP löscht Datenbankobjekte dauerhaft",
|
|
"ai_service.backend.warning.sql_truncate": "Hochriskantes SQL: TRUNCATE entfernt alle Zeilen aus der Tabelle",
|
|
"ai_service.backend.warning.sql_update_without_where": "Hochriskantes SQL: UPDATE ohne WHERE aktualisiert alle Zeilen",
|
|
"ai_settings.action.back": "Zurück",
|
|
"ai_settings.action.connection_ok": "Verbindung OK",
|
|
"ai_settings.action.retest": "Erneut testen",
|
|
"ai_settings.action.save": "Speichern",
|
|
"ai_settings.action.test": "Verbindung testen",
|
|
"ai_settings.clipboard.error.unsupported": "Kopieren in die Zwischenablage wird in dieser Umgebung nicht unterstützt",
|
|
"ai_settings.context.description": "Steuert, wie viel Datenbankkontext an AI gesendet wird",
|
|
"ai_settings.context.schema_only.desc": "Nur Tabellen- und Spaltenstruktur wird an AI gesendet",
|
|
"ai_settings.context.schema_only.label": "Nur Schema",
|
|
"ai_settings.context.with_results.desc": "Sendet aktuelle Abfrageergebnisse als Kontext",
|
|
"ai_settings.context.with_results.label": "Mit Abfrageergebnissen",
|
|
"ai_settings.context.with_samples.desc": "Enthält wenige Beispieldaten, damit AI Datenmuster besser versteht",
|
|
"ai_settings.context.with_samples.label": "Mit Beispieldaten",
|
|
"ai_settings.form.api_endpoint": "API Endpoint (URL)",
|
|
"ai_settings.form.api_endpoint_placeholder.codebuddy": "Leer lassen, um das Standard-Gateway der CodeBuddy CLI zu verwenden",
|
|
"ai_settings.form.api_endpoint_required": "Bitte eine gültige Endpunkt-URL eingeben",
|
|
"ai_settings.form.api_format": "API-Format",
|
|
"ai_settings.form.api_key": "API Key",
|
|
"ai_settings.form.api_key_keep_placeholder": "Leer lassen, um das gespeicherte Secret weiterzuverwenden",
|
|
"ai_settings.form.api_key_placeholder": "sk-... / Ihr API Key",
|
|
"ai_settings.form.api_key_placeholder.codebuddy": "Leer lassen, um die lokale Anmeldung zu verwenden, oder API Key / Token zum Überschreiben eingeben",
|
|
"ai_settings.form.api_key_required": "Bitte API Key eingeben",
|
|
"ai_settings.form.api_key_saved_hint": "Ein API Key ist bereits gespeichert. Leer lassen, um ihn weiterzuverwenden, oder einen neuen Wert zum Ersetzen eingeben.",
|
|
"ai_settings.form.api_key.codebuddy_hint": "Leer lassen, um das auf diesem Rechner angemeldete CodeBuddy-CLI-Konto zu verwenden; bei Eingabe wird die aktuelle Anmeldeinformation bevorzugt.",
|
|
"ai_settings.form.api_key.codebuddy_optional": "API Key / Auth Token (optional)",
|
|
"ai_settings.form.clear_saved_api_key": "Gespeicherten API Key löschen",
|
|
"ai_settings.form.model_list": "Verfügbare Modellliste (optional)",
|
|
"ai_settings.form.model_list_placeholder": "Modell-IDs konfigurieren; leer lassen, um sie vom Server abzurufen",
|
|
"ai_settings.form.model_list_placeholder.codebuddy": "Optional: Häufige Modelle vorab eintragen; leer lassen, damit CodeBuddy CLI oder der Dienst automatisch wählt",
|
|
"ai_settings.form.model_list_placeholder.cursor": "Optional: Häufige Cursor-Modell-IDs vorab eintragen; leer lassen, damit automatisch das Standardmodell von Cursor gewählt wird",
|
|
"ai_settings.form.provider_name": "Anbietername",
|
|
"ai_settings.form.provider_name_placeholder": "Beispiel: eigener OpenAI-kompatibler Endpunkt / privates Modell",
|
|
"ai_settings.form.provider_name_required": "Bitte einen Namen eingeben",
|
|
"ai_settings.form.section.auth_connection": "Authentifizierung und Verbindung",
|
|
"ai_settings.form.section.basic": "Basisinformationen",
|
|
"ai_settings.form.section.service_type": "Diensttyp",
|
|
"ai_settings.mcp_http.error.control_unsupported_runtime": "Die aktuelle Laufzeit unterstützt keine Steuerung des MCP HTTP-Dienstes",
|
|
"ai_settings.mcp_http.error.start_unsupported_version": "Diese Version unterstützt das Starten des MCP HTTP-Dienstes nicht",
|
|
"ai_settings.mcp_http.error.stop_unsupported_version": "Diese Version unterstützt das Stoppen des MCP HTTP-Dienstes nicht",
|
|
"ai_settings.mcp_http.message.authorization_header_copied": "Authorization Header kopiert",
|
|
"ai_settings.mcp_http.message.authorization_header_required": "Starten Sie zuerst den MCP HTTP-Dienst, um den Authorization Header zu erzeugen",
|
|
"ai_settings.mcp_http.message.started": "GoNavi MCP HTTP-Dienst gestartet",
|
|
"ai_settings.mcp_http.message.stopped": "GoNavi MCP HTTP-Dienst gestoppt",
|
|
"ai_settings.mcp_http.message.toggle_failed": "GoNavi MCP HTTP-Dienst konnte nicht umgeschaltet werden",
|
|
"ai_settings.mcp_http.message.url_copied": "MCP HTTP-URL kopiert",
|
|
"ai_settings.mcp_http.message.url_unavailable": "Keine MCP HTTP-URL zum Kopieren verfügbar",
|
|
"ai_settings.mcp_http.panel.addr_label": "Lauschadresse / Port",
|
|
"ai_settings.mcp_http.panel.authorization_placeholder": "Bearer gnv_xxx (leer lassen für automatische Generierung)",
|
|
"ai_settings.mcp_http.panel.copy_authorization": "Authorization kopieren",
|
|
"ai_settings.mcp_http.panel.copy_url": "URL kopieren",
|
|
"ai_settings.mcp_http.panel.description": "Für Remote-Agents wie OpenClaw und Hermans. Nach dem Aktivieren lauscht der Dienst auf einer lokalen Adresse und stellt nur Struktur-Lesewerkzeuge für Verbindungen, Datenbanken, Tabellen, Spalten und DDL bereit.",
|
|
"ai_settings.mcp_http.panel.running_hint": "Der Dienst läuft. Konfigurieren Sie URL und Authorization Header im Remote-MCP-Client.",
|
|
"ai_settings.mcp_http.panel.status.running": "Gestartet",
|
|
"ai_settings.mcp_http.panel.status.stopped": "Gestoppt",
|
|
"ai_settings.mcp_http.panel.stopped_hint": "Sie können den lokalen Lauschport und Bearer Token anpassen. Wenn Authorization leer ist, wird beim Start automatisch ein zufälliger Token erzeugt.",
|
|
"ai_settings.mcp_http.panel.switch.off": "Aus",
|
|
"ai_settings.mcp_http.panel.switch.on": "Ein",
|
|
"ai_settings.mcp_http.panel.title": "GoNavi MCP HTTP-Dienst",
|
|
"ai_settings.mcp_http.status.not_running": "GoNavi MCP HTTP-Dienst läuft nicht",
|
|
"ai_settings.mcp_server.argument_hints.action_separator": "; ",
|
|
"ai_settings.mcp_server.argument_hints.argument_details": "Argumente einzeln erklärt",
|
|
"ai_settings.mcp_server.argument_hints.business_arguments": "Erkannte fachliche Argumente",
|
|
"ai_settings.mcp_server.argument_hints.business.access_token.detail": "Übergib Authentifizierungsdaten nur, wenn das README ein Befehlsargument verlangt; bevorzuge Umgebungsvariablen.",
|
|
"ai_settings.mcp_server.argument_hints.business.access_token.label": "Zugriffstoken",
|
|
"ai_settings.mcp_server.argument_hints.business.access_token.value_hint": "Trage den echten Wert lokal ein; nicht in Chat oder Screenshots einfügen.",
|
|
"ai_settings.mcp_server.argument_hints.business.api_key.detail": "Übergib Authentifizierungsdaten nur, wenn das README ein Befehlsargument verlangt; bevorzuge Umgebungsvariablen.",
|
|
"ai_settings.mcp_server.argument_hints.business.api_key.label": "API-Key",
|
|
"ai_settings.mcp_server.argument_hints.business.api_key.value_hint": "Trage den echten Wert lokal ein; nicht in Chat oder Screenshots einfügen.",
|
|
"ai_settings.mcp_server.argument_hints.business.base_url.detail": "Gibt eine Serviceadresse oder einen API-Einstiegspunkt für den MCP-Dienst an.",
|
|
"ai_settings.mcp_server.argument_hints.business.base_url.label": "Basis-URL",
|
|
"ai_settings.mcp_server.argument_hints.business.base_url.value_hint": "Gib die vollständige Adresse ein, ohne Geheimnisse in die URL einzubauen.",
|
|
"ai_settings.mcp_server.argument_hints.business.config_file.detail": "Verweist auf lokale Dateien, Verzeichnisse, Repositories oder Programme für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.config_file.label": "Konfigurationsdatei",
|
|
"ai_settings.mcp_server.argument_hints.business.config_file.value_hint": "Nutze einen absoluten lokalen Pfad und den kleinstmöglichen Umfang.",
|
|
"ai_settings.mcp_server.argument_hints.business.config.detail": "Verweist auf lokale Dateien, Verzeichnisse, Repositories oder Programme für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.config.label": "Konfigurationsdatei",
|
|
"ai_settings.mcp_server.argument_hints.business.config.value_hint": "Nutze einen absoluten lokalen Pfad und den kleinstmöglichen Umfang.",
|
|
"ai_settings.mcp_server.argument_hints.business.dir.detail": "Verweist auf lokale Dateien, Verzeichnisse, Repositories oder Programme für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.dir.label": "Verzeichnis",
|
|
"ai_settings.mcp_server.argument_hints.business.dir.value_hint": "Nutze einen absoluten lokalen Pfad und den kleinstmöglichen Umfang.",
|
|
"ai_settings.mcp_server.argument_hints.business.directory.detail": "Verweist auf lokale Dateien, Verzeichnisse, Repositories oder Programme für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.directory.label": "Zugelassenes Verzeichnis",
|
|
"ai_settings.mcp_server.argument_hints.business.directory.value_hint": "Nutze einen absoluten lokalen Pfad und den kleinstmöglichen Umfang.",
|
|
"ai_settings.mcp_server.argument_hints.business.endpoint.detail": "Gibt eine Serviceadresse oder einen API-Einstiegspunkt für den MCP-Dienst an.",
|
|
"ai_settings.mcp_server.argument_hints.business.endpoint.label": "Endpunkt",
|
|
"ai_settings.mcp_server.argument_hints.business.endpoint.value_hint": "Gib die vollständige Adresse ein, ohne Geheimnisse in die URL einzubauen.",
|
|
"ai_settings.mcp_server.argument_hints.business.executable_path.detail": "Verweist auf lokale Dateien, Verzeichnisse, Repositories oder Programme für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.executable_path.label": "Browser- oder Programm-Pfad",
|
|
"ai_settings.mcp_server.argument_hints.business.executable_path.value_hint": "Nutze einen absoluten lokalen Pfad und den kleinstmöglichen Umfang.",
|
|
"ai_settings.mcp_server.argument_hints.business.headless.detail": "Steuert das Laufzeitverhalten des gestarteten MCP-Prozesses.",
|
|
"ai_settings.mcp_server.argument_hints.business.headless.label": "Headless-Modus",
|
|
"ai_settings.mcp_server.argument_hints.business.headless.value_hint": "Meist ein Schalterargument; prüfe, ob ein zusätzlicher Wert nötig ist.",
|
|
"ai_settings.mcp_server.argument_hints.business.host.detail": "Konfiguriert Host, Port oder Netzwerkoptionen für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.host.label": "Hostadresse",
|
|
"ai_settings.mcp_server.argument_hints.business.host.value_hint": "Nutze Host oder Port aus dem README.",
|
|
"ai_settings.mcp_server.argument_hints.business.inferred_endpoint.detail": "Gibt eine Serviceadresse oder einen API-Einstiegspunkt für den MCP-Dienst an.",
|
|
"ai_settings.mcp_server.argument_hints.business.inferred_endpoint.label": "Adresse / Endpunkt",
|
|
"ai_settings.mcp_server.argument_hints.business.inferred_endpoint.value_hint": "Gib die vollständige Adresse ein, ohne Geheimnisse in die URL einzubauen.",
|
|
"ai_settings.mcp_server.argument_hints.business.inferred_mode.detail": "Steuert Transport, Profil, Berechtigungen oder Laufmodus des MCP-Dienstes.",
|
|
"ai_settings.mcp_server.argument_hints.business.inferred_mode.label": "Modusargument",
|
|
"ai_settings.mcp_server.argument_hints.business.inferred_mode.value_hint": "Nutze Enum-Wert oder Schaltersemantik aus dem README.",
|
|
"ai_settings.mcp_server.argument_hints.business.inferred_path.detail": "Verweist auf lokale Dateien, Verzeichnisse, Repositories oder Programme für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.inferred_path.label": "Pfad / Konfiguration",
|
|
"ai_settings.mcp_server.argument_hints.business.inferred_path.value_hint": "Nutze einen absoluten lokalen Pfad und den kleinstmöglichen Umfang.",
|
|
"ai_settings.mcp_server.argument_hints.business.mode.detail": "Steuert Transport, Profil, Berechtigungen oder Laufmodus des MCP-Dienstes.",
|
|
"ai_settings.mcp_server.argument_hints.business.mode.label": "Ausführungsmodus",
|
|
"ai_settings.mcp_server.argument_hints.business.mode.value_hint": "Nutze Enum-Wert oder Schaltersemantik aus dem README.",
|
|
"ai_settings.mcp_server.argument_hints.business.password.detail": "Übergib Authentifizierungsdaten nur, wenn das README ein Befehlsargument verlangt; bevorzuge Umgebungsvariablen.",
|
|
"ai_settings.mcp_server.argument_hints.business.password.label": "Passwort",
|
|
"ai_settings.mcp_server.argument_hints.business.password.value_hint": "Trage den echten Wert lokal ein; nicht in Chat oder Screenshots einfügen.",
|
|
"ai_settings.mcp_server.argument_hints.business.path.detail": "Verweist auf lokale Dateien, Verzeichnisse, Repositories oder Programme für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.path.label": "Pfad",
|
|
"ai_settings.mcp_server.argument_hints.business.path.value_hint": "Nutze einen absoluten lokalen Pfad und den kleinstmöglichen Umfang.",
|
|
"ai_settings.mcp_server.argument_hints.business.port.detail": "Konfiguriert Host, Port oder Netzwerkoptionen für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.port.label": "Port",
|
|
"ai_settings.mcp_server.argument_hints.business.port.value_hint": "Nutze Host oder Port aus dem README.",
|
|
"ai_settings.mcp_server.argument_hints.business.profile.detail": "Steuert Transport, Profil, Berechtigungen oder Laufmodus des MCP-Dienstes.",
|
|
"ai_settings.mcp_server.argument_hints.business.profile.label": "Profil",
|
|
"ai_settings.mcp_server.argument_hints.business.profile.value_hint": "Nutze Enum-Wert oder Schaltersemantik aus dem README.",
|
|
"ai_settings.mcp_server.argument_hints.business.read_only.detail": "Steuert Transport, Profil, Berechtigungen oder Laufmodus des MCP-Dienstes.",
|
|
"ai_settings.mcp_server.argument_hints.business.read_only.label": "Nur-Lesen-Modus",
|
|
"ai_settings.mcp_server.argument_hints.business.read_only.value_hint": "Nutze Enum-Wert oder Schaltersemantik aus dem README.",
|
|
"ai_settings.mcp_server.argument_hints.business.readonly.detail": "Steuert Transport, Profil, Berechtigungen oder Laufmodus des MCP-Dienstes.",
|
|
"ai_settings.mcp_server.argument_hints.business.readonly.label": "Nur-Lesen-Modus",
|
|
"ai_settings.mcp_server.argument_hints.business.readonly.value_hint": "Nutze Enum-Wert oder Schaltersemantik aus dem README.",
|
|
"ai_settings.mcp_server.argument_hints.business.repo.detail": "Verweist auf lokale Dateien, Verzeichnisse, Repositories oder Programme für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.repo.label": "Repository-Pfad",
|
|
"ai_settings.mcp_server.argument_hints.business.repo.value_hint": "Nutze einen absoluten lokalen Pfad und den kleinstmöglichen Umfang.",
|
|
"ai_settings.mcp_server.argument_hints.business.root.detail": "Verweist auf lokale Dateien, Verzeichnisse, Repositories oder Programme für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.root.label": "Stammverzeichnis",
|
|
"ai_settings.mcp_server.argument_hints.business.root.value_hint": "Nutze einen absoluten lokalen Pfad und den kleinstmöglichen Umfang.",
|
|
"ai_settings.mcp_server.argument_hints.business.secret.detail": "Übergib Authentifizierungsdaten nur, wenn das README ein Befehlsargument verlangt; bevorzuge Umgebungsvariablen.",
|
|
"ai_settings.mcp_server.argument_hints.business.secret.label": "Geheimnis",
|
|
"ai_settings.mcp_server.argument_hints.business.secret.value_hint": "Trage den echten Wert lokal ein; nicht in Chat oder Screenshots einfügen.",
|
|
"ai_settings.mcp_server.argument_hints.business.short_config.detail": "Verweist auf lokale Dateien, Verzeichnisse, Repositories oder Programme für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.short_config.label": "Konfigurationsdatei",
|
|
"ai_settings.mcp_server.argument_hints.business.short_config.value_hint": "Nutze einen absoluten lokalen Pfad und den kleinstmöglichen Umfang.",
|
|
"ai_settings.mcp_server.argument_hints.business.token.detail": "Übergib Authentifizierungsdaten nur, wenn das README ein Befehlsargument verlangt; bevorzuge Umgebungsvariablen.",
|
|
"ai_settings.mcp_server.argument_hints.business.token.label": "Token",
|
|
"ai_settings.mcp_server.argument_hints.business.token.value_hint": "Trage den echten Wert lokal ein; nicht in Chat oder Screenshots einfügen.",
|
|
"ai_settings.mcp_server.argument_hints.business.transport.detail": "Steuert Transport, Profil, Berechtigungen oder Laufmodus des MCP-Dienstes.",
|
|
"ai_settings.mcp_server.argument_hints.business.transport.label": "Transportmodus",
|
|
"ai_settings.mcp_server.argument_hints.business.transport.value_hint": "Nutze Enum-Wert oder Schaltersemantik aus dem README.",
|
|
"ai_settings.mcp_server.argument_hints.business.url.detail": "Gibt eine Serviceadresse oder einen API-Einstiegspunkt für den MCP-Dienst an.",
|
|
"ai_settings.mcp_server.argument_hints.business.url.label": "Service-URL",
|
|
"ai_settings.mcp_server.argument_hints.business.url.value_hint": "Gib die vollständige Adresse ein, ohne Geheimnisse in die URL einzubauen.",
|
|
"ai_settings.mcp_server.argument_hints.business.workspace.detail": "Verweist auf lokale Dateien, Verzeichnisse, Repositories oder Programme für den MCP-Dienst.",
|
|
"ai_settings.mcp_server.argument_hints.business.workspace.label": "Arbeitsbereichsverzeichnis",
|
|
"ai_settings.mcp_server.argument_hints.business.workspace.value_hint": "Nutze einen absoluten lokalen Pfad und den kleinstmöglichen Umfang.",
|
|
"ai_settings.mcp_server.argument_hints.category.endpoint": "Endpunkt",
|
|
"ai_settings.mcp_server.argument_hints.category.generic": "Fachlich",
|
|
"ai_settings.mcp_server.argument_hints.category.mode": "Modus",
|
|
"ai_settings.mcp_server.argument_hints.category.network": "Netzwerk",
|
|
"ai_settings.mcp_server.argument_hints.category.path": "Pfad",
|
|
"ai_settings.mcp_server.argument_hints.category.runtime": "Laufzeit",
|
|
"ai_settings.mcp_server.argument_hints.category.secret": "Sensibel",
|
|
"ai_settings.mcp_server.argument_hints.command_field_warning": "Das Startbefehlsfeld enthält noch {{count}} Argumente: {{args}}. Lass in command nur {{command}} stehen und verschiebe den Rest in die Befehlsargumente.",
|
|
"ai_settings.mcp_server.argument_hints.current_command": "Argumenthinweise für den aktuellen Befehl {{command}}",
|
|
"ai_settings.mcp_server.argument_hints.detail.docker_cleanup.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.docker_cleanup.label": "Container nach Ende aufräumen",
|
|
"ai_settings.mcp_server.argument_hints.detail.docker_cleanup.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.docker_image_or_arg.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.docker_image_or_arg.label": "Docker-Image oder Containerargument",
|
|
"ai_settings.mcp_server.argument_hints.detail.docker_image_or_arg.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.docker_interactive.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.docker_interactive.label": "Standardeingabe offen halten",
|
|
"ai_settings.mcp_server.argument_hints.detail.docker_interactive.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.docker_run.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.docker_run.label": "Docker run-Unterbefehl",
|
|
"ai_settings.mcp_server.argument_hints.detail.docker_run.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.npm_package_or_arg.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.npm_package_or_arg.label": "MCP-Paket oder Positionsargument",
|
|
"ai_settings.mcp_server.argument_hints.detail.npm_package_or_arg.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.positional.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.positional.label": "Positionsargument",
|
|
"ai_settings.mcp_server.argument_hints.detail.positional.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.python_module_flag.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.python_module_flag.label": "Python-Modulstart",
|
|
"ai_settings.mcp_server.argument_hints.detail.python_module_flag.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.python_module_name.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.python_module_name.label": "Python-Modulname",
|
|
"ai_settings.mcp_server.argument_hints.detail.python_module_name.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.python_script_or_arg.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.python_script_or_arg.label": "Python-Skript oder Positionsargument",
|
|
"ai_settings.mcp_server.argument_hints.detail.python_script_or_arg.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.script_or_arg.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.script_or_arg.label": "Skript oder Positionsargument",
|
|
"ai_settings.mcp_server.argument_hints.detail.script_or_arg.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.sensitive_value_detail": "Dies ist der sensible Wert für das vorherige Argument {{argument}} und wird im Hinweis maskiert.",
|
|
"ai_settings.mcp_server.argument_hints.detail.skip_install_confirm.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.skip_install_confirm.label": "Installationsbestätigung überspringen",
|
|
"ai_settings.mcp_server.argument_hints.detail.skip_install_confirm.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.stdio.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.stdio.label": "stdio-Kommunikationsmodus",
|
|
"ai_settings.mcp_server.argument_hints.detail.stdio.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.uvx_package_or_arg.detail": "Dieser Wert wird als Startargument an den MCP-Prozess übergeben. Prüfe README und aktuelle Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.detail.uvx_package_or_arg.label": "Python-MCP-Paket oder Positionsargument",
|
|
"ai_settings.mcp_server.argument_hints.detail.uvx_package_or_arg.value_hint": "Trage einen Wert ein, der zum README-Beispiel passt.",
|
|
"ai_settings.mcp_server.argument_hints.detail.value_detail": "Dies ist der Wert für das vorherige Argument {{argument}}.",
|
|
"ai_settings.mcp_server.argument_hints.detail.value_label": "Wert für {{label}}",
|
|
"ai_settings.mcp_server.argument_hints.dont_screenshot": "Echten Wert nicht als Screenshot teilen",
|
|
"ai_settings.mcp_server.argument_hints.fill_missing_required": "Fehlende Pflichtargumente ergänzen: {{args}}",
|
|
"ai_settings.mcp_server.argument_hints.generic.detail": "GoNavi kann die fachliche Bedeutung von --{{flag}} nicht aus dem Argumentnamen ableiten, gibt es aber in aktueller Reihenfolge an den MCP-Prozess weiter.",
|
|
"ai_settings.mcp_server.argument_hints.generic.label": "Nicht erkanntes Argument",
|
|
"ai_settings.mcp_server.argument_hints.generic.value_hint": "Prüfe im MCP README, ob dieses Argument einen Wert braucht. Falls ja, setze den Wert als nächstes Argument oder nutze --name=value.",
|
|
"ai_settings.mcp_server.argument_hints.hidden_value": "<ausgeblendet>",
|
|
"ai_settings.mcp_server.argument_hints.masked_value": "Wert ist maskiert",
|
|
"ai_settings.mcp_server.argument_hints.next_action.add_step": "{{label}} ergänzen, Beispiel: {{example}}",
|
|
"ai_settings.mcp_server.argument_hints.next_actions": "Nächster Schritt: {{actions}}",
|
|
"ai_settings.mcp_server.argument_hints.possible_secret_hidden": "<mögliches Geheimnis ausgeblendet>",
|
|
"ai_settings.mcp_server.argument_hints.profile.docker.order": "Empfohlene Reihenfolge: run -> --rm -> -i -> -e KEY=VALUE -> Image-Name -> Dienstargumente",
|
|
"ai_settings.mcp_server.argument_hints.profile.docker.summary": "Bei Docker bleibt in command nur docker; run, -i, --rm, Image-Name und Containerargumente gehören in args.",
|
|
"ai_settings.mcp_server.argument_hints.profile.docker.title": "Docker-MCP Argumentreihenfolge",
|
|
"ai_settings.mcp_server.argument_hints.profile.executable.order": "Übliche Reihenfolge: stdio/--stdio -> Konfigurationsdatei oder Dienstargument",
|
|
"ai_settings.mcp_server.argument_hints.profile.executable.summary": "Bei eigenen oder kompilierten MCP-Servern gilt das README; GoNavi übergibt Argumente unverändert in Tag-Reihenfolge.",
|
|
"ai_settings.mcp_server.argument_hints.profile.executable.title": "Hinweise für lokale ausführbare Dateien",
|
|
"ai_settings.mcp_server.argument_hints.profile.node.order": "Empfohlene Reihenfolge: Skriptpfad -> --stdio -> Dienstargumente",
|
|
"ai_settings.mcp_server.argument_hints.profile.node.summary": "Bei Node-Startern bleibt in command nur node/bun/deno; Skriptpfad und --stdio gehören in args.",
|
|
"ai_settings.mcp_server.argument_hints.profile.node.title": "Node-Skript Argumentreihenfolge",
|
|
"ai_settings.mcp_server.argument_hints.profile.npm.order": "Empfohlene Reihenfolge: -y -> Paket -> --stdio -> Dienstargumente",
|
|
"ai_settings.mcp_server.argument_hints.profile.npm.summary": "npm-MCP-Server benötigen meist Bestätigungsflag, Paketname und --stdio als getrennte Argumente.",
|
|
"ai_settings.mcp_server.argument_hints.profile.npm.title": "npx / npm Argumentreihenfolge",
|
|
"ai_settings.mcp_server.argument_hints.profile.python.order": "Empfohlene Reihenfolge: -m -> Modulname -> --stdio",
|
|
"ai_settings.mcp_server.argument_hints.profile.python.summary": "Python-MCP-Server nutzen oft python -m module_name; -m und Modulname bleiben getrennte Argumente.",
|
|
"ai_settings.mcp_server.argument_hints.profile.python.title": "Python Argumentreihenfolge",
|
|
"ai_settings.mcp_server.argument_hints.profile.uvx.order": "Empfohlene Reihenfolge: Paket -> --stdio -> Dienstargumente",
|
|
"ai_settings.mcp_server.argument_hints.profile.uvx.summary": "uvx-MCP-Server beginnen meist mit dem Paketnamen und ergänzen stdio- oder Konfigurationsargumente aus dem README.",
|
|
"ai_settings.mcp_server.argument_hints.profile.uvx.title": "uvx Argumentreihenfolge",
|
|
"ai_settings.mcp_server.argument_hints.required_complete": "Die Pflichtargumente wirken vollständig. Wenn der Test fehlschlägt, prüfen Sie README, fachliche Argumente und Umgebungsvariablen erneut.",
|
|
"ai_settings.mcp_server.argument_hints.split_inline_args": "Startbefehlsfeld aufteilen: {{command}} behalten, {{count}} Argument(e) verschieben",
|
|
"ai_settings.mcp_server.argument_hints.step.business.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.business.label": "Dienstargument",
|
|
"ai_settings.mcp_server.argument_hints.step.cleanup.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.cleanup.label": "Container nach Ende aufräumen",
|
|
"ai_settings.mcp_server.argument_hints.step.container-env.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.container-env.label": "Container-Umgebungsvariable",
|
|
"ai_settings.mcp_server.argument_hints.step.image.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.image.label": "Image-Name",
|
|
"ai_settings.mcp_server.argument_hints.step.interactive.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.interactive.label": "Standardeingabe offen halten",
|
|
"ai_settings.mcp_server.argument_hints.step.module-flag.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.module-flag.label": "Modul-Flag oder Skript",
|
|
"ai_settings.mcp_server.argument_hints.step.module-name.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.module-name.label": "Modulname",
|
|
"ai_settings.mcp_server.argument_hints.step.package.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.package.label": "MCP-Paketname",
|
|
"ai_settings.mcp_server.argument_hints.step.run.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.run.label": "run-Unterbefehl",
|
|
"ai_settings.mcp_server.argument_hints.step.scope.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.scope.label": "Zugelassenes Verzeichnis oder Dienstargument",
|
|
"ai_settings.mcp_server.argument_hints.step.script.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.script.label": "Skriptpfad",
|
|
"ai_settings.mcp_server.argument_hints.step.stdio.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.stdio.label": "stdio-Argument",
|
|
"ai_settings.mcp_server.argument_hints.step.yes.detail": "Folge dem Startbeispiel im README und trage dieses Argument als eigenen Tag ein.",
|
|
"ai_settings.mcp_server.argument_hints.step.yes.label": "Installationsbestätigung überspringen",
|
|
"ai_settings.mcp_server.argument_hints.value_hint_prefix": "Ausfüllen: ",
|
|
"ai_settings.mcp_server.command_parse.error.empty": "Fügen Sie zuerst den vollständigen Befehl ein.",
|
|
"ai_settings.mcp_server.command_parse.error.failed": "Der vollständige Befehl konnte nicht analysiert werden. Prüfen Sie das Befehlsformat.",
|
|
"ai_settings.mcp_server.command_parse.error.missing_command": "Es wurde kein Startbefehl erkannt. Geben Sie mindestens einen ausführbaren Programmnamen an.",
|
|
"ai_settings.mcp_server.command_parse.error.unclosed_quote": "Der Befehl enthält ein nicht geschlossenes Anführungszeichen. Prüfen Sie ihn und versuchen Sie es erneut.",
|
|
"ai_settings.mcp_server.command_preview.args_count": "Es wird in {{count}} separate Argument-Tags aufgeteilt.",
|
|
"ai_settings.mcp_server.command_preview.args_empty": "In diesem Befehl wurden keine zusaetzlichen Argumente erkannt.",
|
|
"ai_settings.mcp_server.command_preview.args_title": "Befehlsargumente",
|
|
"ai_settings.mcp_server.command_preview.command_hint": "Hier bleibt nur das eigentliche ausfuehrbare Programm erhalten.",
|
|
"ai_settings.mcp_server.command_preview.command_title": "Startbefehl",
|
|
"ai_settings.mcp_server.command_preview.description": "Nach dem Klick auf \"Automatisch in die Felder unten aufteilen\" wird dieses Analyseergebnis in den Startkonfigurationsbereich unter dem Dienstnamen geschrieben.",
|
|
"ai_settings.mcp_server.command_preview.empty_value": "Keine",
|
|
"ai_settings.mcp_server.command_preview.env_count": "Es werden {{count}} Umgebungsvariablen geschrieben.",
|
|
"ai_settings.mcp_server.command_preview.env_empty": "In diesem Befehl wurden keine vorangestellten Umgebungsvariablen erkannt.",
|
|
"ai_settings.mcp_server.command_preview.env_title": "Umgebungsvariablen",
|
|
"ai_settings.mcp_server.command_preview.title": "Vorschau der automatischen Aufteilung",
|
|
"ai_settings.mcp_server.draft.default_name": "MCP-Dienst",
|
|
"ai_settings.mcp_server.env_hints.action_separator": "; ",
|
|
"ai_settings.mcp_server.env_hints.category.endpoint": "Adresse",
|
|
"ai_settings.mcp_server.env_hints.category.generic": "Benutzerdefiniert",
|
|
"ai_settings.mcp_server.env_hints.category.path": "Pfad",
|
|
"ai_settings.mcp_server.env_hints.category.proxy": "Proxy",
|
|
"ai_settings.mcp_server.env_hints.category.runtime": "Laufzeit",
|
|
"ai_settings.mcp_server.env_hints.category.secret": "Geheimnis",
|
|
"ai_settings.mcp_server.env_hints.empty_value": " Der aktuelle Wert ist leer.",
|
|
"ai_settings.mcp_server.env_hints.inferred.endpoint.detail": "The variable name looks like a service URL, API endpoint, or host configuration.",
|
|
"ai_settings.mcp_server.env_hints.inferred.endpoint.label": "Dienst-Endpunkt",
|
|
"ai_settings.mcp_server.env_hints.inferred.endpoint.value_hint": "Enter the URL, host, or endpoint the MCP Server needs to access.",
|
|
"ai_settings.mcp_server.env_hints.inferred.generic.detail": "No built-in variable hint matched; follow the matching field description in the MCP README.",
|
|
"ai_settings.mcp_server.env_hints.inferred.generic.label": "Benutzerdefinierte Konfiguration",
|
|
"ai_settings.mcp_server.env_hints.inferred.generic.value_hint": "Confirm the variable name casing exactly matches the README.",
|
|
"ai_settings.mcp_server.env_hints.inferred.path.detail": "The variable name looks like a local path, directory, or config file location.",
|
|
"ai_settings.mcp_server.env_hints.inferred.path.label": "Pfad / Konfigurationsdatei",
|
|
"ai_settings.mcp_server.env_hints.inferred.path.value_hint": "Enter an absolute path accessible to the local MCP process; keep the drive letter for Windows paths.",
|
|
"ai_settings.mcp_server.env_hints.inferred.proxy.detail": "The variable name looks like a network proxy setting.",
|
|
"ai_settings.mcp_server.env_hints.inferred.proxy.label": "Proxy-Konfiguration",
|
|
"ai_settings.mcp_server.env_hints.inferred.proxy.value_hint": "Follow the README or enterprise proxy format, for example http://127.0.0.1:7890.",
|
|
"ai_settings.mcp_server.env_hints.inferred.runtime.detail": "The variable name looks like a runtime environment, logging, or debug switch.",
|
|
"ai_settings.mcp_server.env_hints.inferred.runtime.label": "Laufzeitschalter",
|
|
"ai_settings.mcp_server.env_hints.inferred.runtime.value_hint": "Use the enum value specified by the README.",
|
|
"ai_settings.mcp_server.env_hints.inferred.secret.detail": "The variable name looks like a secret, token, password, or connection string.",
|
|
"ai_settings.mcp_server.env_hints.inferred.secret.label": "Geheimnis / Token",
|
|
"ai_settings.mcp_server.env_hints.inferred.secret.value_hint": "Enter the real value, but keep it only in local MCP configuration; do not put it in command, args, or chat content.",
|
|
"ai_settings.mcp_server.env_hints.known.anthropic_api_key.detail": "Used by MCP services that depend on the Anthropic Claude API.",
|
|
"ai_settings.mcp_server.env_hints.known.anthropic_api_key.label": "Anthropic API Key",
|
|
"ai_settings.mcp_server.env_hints.known.anthropic_api_key.value_hint": "Enter the real API Key only after confirming the service requires this variable.",
|
|
"ai_settings.mcp_server.env_hints.known.database_url.detail": "Lets the MCP service connect to a database itself; this gives database connection information to that MCP process.",
|
|
"ai_settings.mcp_server.env_hints.known.database_url.label": "Datenbank-Verbindungszeichenfolge",
|
|
"ai_settings.mcp_server.env_hints.known.database_url.value_hint": "Fill this only when the MCP must connect to the database directly; prefer GoNavi MCP to avoid password exposure.",
|
|
"ai_settings.mcp_server.env_hints.known.docker_host.detail": "Tells the docker CLI which Docker Engine to connect to.",
|
|
"ai_settings.mcp_server.env_hints.known.docker_host.label": "Docker-Daemon-Adresse",
|
|
"ai_settings.mcp_server.env_hints.known.docker_host.value_hint": "Common on Windows: npipe:////./pipe/docker_engine; confirm security boundaries for remote Docker.",
|
|
"ai_settings.mcp_server.env_hints.known.gemini_api_key.detail": "Used by MCP services that depend on the Google Gemini API.",
|
|
"ai_settings.mcp_server.env_hints.known.gemini_api_key.label": "Gemini API Key",
|
|
"ai_settings.mcp_server.env_hints.known.gemini_api_key.value_hint": "Enter the real API Key; some services may require GOOGLE_API_KEY instead.",
|
|
"ai_settings.mcp_server.env_hints.known.github_token.detail": "Usually used by GitHub MCP services to read repositories, issues, pull requests, or Actions.",
|
|
"ai_settings.mcp_server.env_hints.known.github_token.label": "GitHub Token",
|
|
"ai_settings.mcp_server.env_hints.known.github_token.value_hint": "Enter a GitHub Personal Access Token with the minimum permissions required by the MCP README.",
|
|
"ai_settings.mcp_server.env_hints.known.gitlab_token.detail": "Usually used by GitLab MCP services to access projects, merge requests, or CI.",
|
|
"ai_settings.mcp_server.env_hints.known.gitlab_token.label": "GitLab Token",
|
|
"ai_settings.mcp_server.env_hints.known.gitlab_token.value_hint": "Enter a GitLab Access Token and restrict it to the required project scope.",
|
|
"ai_settings.mcp_server.env_hints.known.gonavi_mcp_http_token.detail": "Used when a remote MCP HTTP service enables Bearer Token authentication.",
|
|
"ai_settings.mcp_server.env_hints.known.gonavi_mcp_http_token.label": "GoNavi MCP HTTP Token",
|
|
"ai_settings.mcp_server.env_hints.known.gonavi_mcp_http_token.value_hint": "Enter a high-entropy random token; do not reuse database passwords or model API Keys.",
|
|
"ai_settings.mcp_server.env_hints.known.google_api_key.detail": "Used by Google, Gemini, Maps, or Search MCP services.",
|
|
"ai_settings.mcp_server.env_hints.known.google_api_key.label": "Google API Key",
|
|
"ai_settings.mcp_server.env_hints.known.google_api_key.value_hint": "Enter the real API Key and confirm whether the README requires GOOGLE_API_KEY or GEMINI_API_KEY.",
|
|
"ai_settings.mcp_server.env_hints.known.http_proxy.detail": "Routes HTTP resource access from the MCP process through the specified proxy.",
|
|
"ai_settings.mcp_server.env_hints.known.http_proxy.label": "HTTP-Proxy",
|
|
"ai_settings.mcp_server.env_hints.known.http_proxy.value_hint": "Enter http://host:port; treat it as sensitive if the proxy includes a username or password.",
|
|
"ai_settings.mcp_server.env_hints.known.https_proxy.detail": "Routes HTTPS resource access from the MCP process through the specified proxy.",
|
|
"ai_settings.mcp_server.env_hints.known.https_proxy.label": "HTTPS-Proxy",
|
|
"ai_settings.mcp_server.env_hints.known.https_proxy.value_hint": "Enter http://host:port or https://host:port.",
|
|
"ai_settings.mcp_server.env_hints.known.log_level.detail": "Controls how much log output the MCP service emits.",
|
|
"ai_settings.mcp_server.env_hints.known.log_level.label": "Log-Level",
|
|
"ai_settings.mcp_server.env_hints.known.log_level.value_hint": "Common values are debug, info, warn, and error; temporarily raise it for troubleshooting.",
|
|
"ai_settings.mcp_server.env_hints.known.no_proxy.detail": "Specifies which domains or addresses should bypass the proxy.",
|
|
"ai_settings.mcp_server.env_hints.known.no_proxy.label": "Proxy-Bypass-Liste",
|
|
"ai_settings.mcp_server.env_hints.known.no_proxy.value_hint": "Use comma-separated entries, for example localhost,127.0.0.1,.corp.local.",
|
|
"ai_settings.mcp_server.env_hints.known.node_env.detail": "Affects logging, debugging, or production mode for some Node MCP services.",
|
|
"ai_settings.mcp_server.env_hints.known.node_env.label": "Node-Laufzeitumgebung",
|
|
"ai_settings.mcp_server.env_hints.known.node_env.value_hint": "Usually production, development, or a value specified by the README.",
|
|
"ai_settings.mcp_server.env_hints.known.notion_api_key.detail": "Used by Notion MCP services to access pages, databases, or workspace content.",
|
|
"ai_settings.mcp_server.env_hints.known.notion_api_key.label": "Notion API Key",
|
|
"ai_settings.mcp_server.env_hints.known.notion_api_key.value_hint": "Enter the Notion integration secret and authorize only the required pages.",
|
|
"ai_settings.mcp_server.env_hints.known.openai_api_key.detail": "Used by MCP services that depend on OpenAI APIs for model or embedding calls.",
|
|
"ai_settings.mcp_server.env_hints.known.openai_api_key.label": "OpenAI API Key",
|
|
"ai_settings.mcp_server.env_hints.known.openai_api_key.value_hint": "Enter the real API Key; do not put it in command, args, or chat messages.",
|
|
"ai_settings.mcp_server.env_hints.known.slack_bot_token.detail": "Used by Slack MCP services to read channels, messages, or send notifications.",
|
|
"ai_settings.mcp_server.env_hints.known.slack_bot_token.label": "Slack Bot Token",
|
|
"ai_settings.mcp_server.env_hints.known.slack_bot_token.value_hint": "Enter the Bot Token starting with xoxb- and restrict workspace permissions.",
|
|
"ai_settings.mcp_server.env_hints.next_action.docker_env": "Wenn MCP im Container diese Variablen benötigt, füge gemäß README -e KEY=VALUE oder --env KEY=VALUE zu args hinzu.",
|
|
"ai_settings.mcp_server.env_hints.next_action.empty": "Werte für {{keys}} eintragen oder nicht benötigte Variablen entfernen.",
|
|
"ai_settings.mcp_server.env_hints.next_action.keys_recognized": "Die Umgebungsvariablen-keys sind erkennbar; prüfe bei Testfehlern zuerst die in der README geforderte Schreibweise.",
|
|
"ai_settings.mcp_server.env_hints.next_action.placeholder": "{{keys}} vor dem Testen der Tool-Erkennung durch echte Werte ersetzen.",
|
|
"ai_settings.mcp_server.env_hints.next_action.secrets_local": "Geheimnisähnliche Variablen werden nur lokal gespeichert; sende echte Werte nicht an Chat, Issues oder Screenshots.",
|
|
"ai_settings.mcp_server.env_hints.next_actions": "Nächster Schritt: {{actions}}",
|
|
"ai_settings.mcp_server.env_hints.placeholder_value": " Der aktuelle Wert wirkt wie ein Beispiel-Platzhalter.",
|
|
"ai_settings.mcp_server.env_hints.recognized": "Erkannt",
|
|
"ai_settings.mcp_server.env_hints.summary": "{{envVarCount}} Variable(n) erkannt; {{secretLikeCount}} wirken wie Geheimnisse. Hier werden nur Zweck und Risiko des key erklärt; value wird nicht angezeigt.",
|
|
"ai_settings.mcp_server.env_hints.title": "Hinweise zur Nutzung von Umgebungsvariablen",
|
|
"ai_settings.mcp_server.env_hints.value_hint_prefix": "Ausfüllen: ",
|
|
"ai_settings.mcp_server.env_hints.warning_prefix": "Achtung: {{warnings}}",
|
|
"ai_settings.mcp_server.env_hints.warning.docker_env_not_forwarded": "Bei command=docker werden diese Umgebungsvariablen nur an die docker CLI übergeben und gelangen nicht automatisch in den Container.",
|
|
"ai_settings.mcp_server.env_hints.warning.empty": "{{count}} Umgebungsvariablenwerte sind leer und müssen vor dem Testen ausgefüllt oder entfernt werden.",
|
|
"ai_settings.mcp_server.env_hints.warning.placeholder": "{{count}} Umgebungsvariablen wirken noch wie Beispiel-Platzhalter.",
|
|
"ai_settings.mcp_server.form.action.delete": "Löschen",
|
|
"ai_settings.mcp_server.form.action.delete_cancel": "Abbrechen",
|
|
"ai_settings.mcp_server.form.action.delete_confirm": "Diesen MCP-Dienst löschen?",
|
|
"ai_settings.mcp_server.form.action.delete_ok": "Löschen",
|
|
"ai_settings.mcp_server.form.action.save": "Speichern",
|
|
"ai_settings.mcp_server.form.action.test": "Toolerkennung testen",
|
|
"ai_settings.mcp_server.form.args.description": "Trage jedes Argument als eigenes Tag ein; der Befehl selbst gehört nicht hierher. Für npx -y package --stdio trennst du -y, package und --stdio. Für node server.js --stdio trennst du server.js und --stdio. Für docker run --rm -i image trennst du run, --rm, -i und den Imagenamen. Wenn du unsicher bist, nutze oben zuerst das Feld für den vollständigen Befehl zur automatischen Aufteilung.",
|
|
"ai_settings.mcp_server.form.args.placeholder": "Befehlsargumente, mit Enter hinzufügen, z. B.: -y / package / --stdio",
|
|
"ai_settings.mcp_server.form.args.title": "Befehlsargumente",
|
|
"ai_settings.mcp_server.form.command.description": "Trage hier nur den eigentlichen Befehl ein. Bei Startern wie npx/node/uvx/python/docker gehören Paketname, Skriptname, Modulname oder docker run-Argumente in das Argumentfeld unten. Füge hier nicht den kompletten Befehl wie npx -y package --stdio, node server.js --stdio oder docker run -i image ein.",
|
|
"ai_settings.mcp_server.form.command.placeholder": "Startbefehl, zum Beispiel: npx / node / uvx / python / docker",
|
|
"ai_settings.mcp_server.form.command.title": "Startbefehl",
|
|
"ai_settings.mcp_server.form.enabled.description": "Bei vorübergehender Nichtnutzung deaktivieren; die Konfiguration bleibt gespeichert, nimmt aber nicht an der AI-Toolerkennung teil.",
|
|
"ai_settings.mcp_server.form.enabled.option.disabled": "Deaktiviert",
|
|
"ai_settings.mcp_server.form.enabled.option.enabled": "Aktiviert",
|
|
"ai_settings.mcp_server.form.enabled.title": "Aktiviert",
|
|
"ai_settings.mcp_server.form.env_status.empty": "Jede Zeile muss KEY=VALUE sein; Zeilen ohne Gleichheitszeichen oder mit Leerzeichen im key werden nicht gespeichert.",
|
|
"ai_settings.mcp_server.form.env_status.invalid": "{{validCount}} Umgebungsvariable(n) erkannt; zusätzlich werden {{invalidCount}} ungültige Zeile(n) diesmal nicht gespeichert: {{invalidLines}}",
|
|
"ai_settings.mcp_server.form.env_status.valid": "{{count}} Umgebungsvariable(n) erkannt.",
|
|
"ai_settings.mcp_server.form.env.description": "Eine KEY=VALUE-Zeile pro Variable, meist für API Key, Arbeitsverzeichnis, Dienstadresse und ähnliche Konfiguration. Leer lassen, wenn nicht benötigt. Diese Werte werden lokal gespeichert und beim Start des MCP-Prozesses als Umgebungsvariablen übergeben; schreibe kein export und lege keine Geheimnisse in Chatinhalte.",
|
|
"ai_settings.mcp_server.form.env.placeholder": "Umgebungsvariablen, eine KEY=VALUE-Zeile pro Variable, z. B.:\nOPENAI_API_KEY=...\nGITHUB_TOKEN=...",
|
|
"ai_settings.mcp_server.form.env.title": "Umgebungsvariablen",
|
|
"ai_settings.mcp_server.form.instructions.save_description": "schreibt dieses MCP dauerhaft in die lokale Konfiguration.",
|
|
"ai_settings.mcp_server.form.instructions.save_title": "Speichern",
|
|
"ai_settings.mcp_server.form.instructions.test_description": "startet einmal mit den aktuellen Feldern, prüft die erkennbaren Tools und speichert die Konfiguration nicht.",
|
|
"ai_settings.mcp_server.form.instructions.test_first": "Teste zuerst erfolgreich und speichere dann; nach bestandenem Test werden oben die tatsächlich gefundenen Tools dieses Dienstes angezeigt.",
|
|
"ai_settings.mcp_server.form.instructions.test_title": "Toolerkennung testen",
|
|
"ai_settings.mcp_server.form.instructions.title": "Aktionshinweise",
|
|
"ai_settings.mcp_server.form.instructions.tools_found": "Die oben aufgeführten Tools sind die Aliase aus dem letzten erfolgreichen Test.",
|
|
"ai_settings.mcp_server.form.launch_preview.description": "GoNavi startet den Prozess in der unten gezeigten Form, damit du prüfen kannst, ob Befehl und Argumente richtig getrennt wurden.",
|
|
"ai_settings.mcp_server.form.launch_preview.title": "Vorschau des tatsächlichen Startbefehls",
|
|
"ai_settings.mcp_server.form.name.description": "Gib diesem MCP einen Namen, den du wiedererkennst. Er erscheint später direkt in der AI-Toolliste. Vermeide unklare Namen wie server oder test.",
|
|
"ai_settings.mcp_server.form.name.placeholder": "Dienstname, zum Beispiel: Filesystem / Browser / GitHub",
|
|
"ai_settings.mcp_server.form.name.title": "Dienstname",
|
|
"ai_settings.mcp_server.form.timeout.description": "Maximale Wartezeit für eine Toolerkennung oder einen Toolaufruf. Für die meisten lokalen Tools reicht der Standardwert 20 Sekunden; erhöhe ihn für entfernte Dienste oder langsam startende Skripte.",
|
|
"ai_settings.mcp_server.form.timeout.placeholder": "Timeout (Sekunden)",
|
|
"ai_settings.mcp_server.form.timeout.preset.default": "Standard 20 Sekunden",
|
|
"ai_settings.mcp_server.form.timeout.preset.relaxed": "Großzügig 45 Sekunden",
|
|
"ai_settings.mcp_server.form.timeout.preset.slow": "Langsamer Start 60 Sekunden",
|
|
"ai_settings.mcp_server.form.timeout.title": "Timeout (Sekunden)",
|
|
"ai_settings.mcp_server.form.transport.description": "Derzeit wird nur stdio unterstützt. GoNavi startet diesen Prozess lokal und kommuniziert über Standardeingabe und Standardausgabe.",
|
|
"ai_settings.mcp_server.form.transport.title": "Transport",
|
|
"ai_settings.mcp_server.guide.examples.description": "Trage bei Startbefehl nur das ausführbare Programm selbst ein. Vermische keine Argumente. Häufige Formen:",
|
|
"ai_settings.mcp_server.guide.examples.title": "Ausfüllbeispiele",
|
|
"ai_settings.mcp_server.guide.field_lookup.description": "Wenn unklar ist, was in ein Parameterfeld gehört, beginne hier. Jedes Feld unten enthält konkrete Beispiele und Hinweise.",
|
|
"ai_settings.mcp_server.guide.field_lookup.title": "Feld-Schnellreferenz",
|
|
"ai_settings.mcp_server.guide.field.args.avoid": "Trage npx/node/uvx/python/docker hier nicht erneut ein und füge nicht mehrere Argumente als eine lange Zeichenkette ein.",
|
|
"ai_settings.mcp_server.guide.field.args.detail": "npx -y pkg --stdio wird in -y, pkg und --stdio aufgeteilt. docker run --rm -i image wird in run, --rm, -i und image aufgeteilt.",
|
|
"ai_settings.mcp_server.guide.field.args.fill": "Trage -y, Paketname, Skriptname, -m, --stdio, run, --rm, -i, Image-Name und ähnliche Argumente einzeln ein.",
|
|
"ai_settings.mcp_server.guide.field.args.summary": "Skriptnamen, Modulnamen und Optionen als einzelne Einträge aufteilen.",
|
|
"ai_settings.mcp_server.guide.field.args.title": "Befehlsargumente",
|
|
"ai_settings.mcp_server.guide.field.avoid_label": "Nicht eintragen: ",
|
|
"ai_settings.mcp_server.guide.field.command.avoid": "Trage nicht die komplette Befehlszeile ein, zum Beispiel nicht npx -y pkg --stdio.",
|
|
"ai_settings.mcp_server.guide.field.command.detail": "Häufige Werte sind npx, node, uvx, python und docker. Paketnamen, Skriptnamen, run, -i und --stdio gehören in die Argumente.",
|
|
"ai_settings.mcp_server.guide.field.command.fill": "Trage npx, node, uvx, python, docker oder einen absoluten Pfad zu einer exe ein.",
|
|
"ai_settings.mcp_server.guide.field.command.summary": "Nur den Programmnamen oder Launcher selbst eintragen.",
|
|
"ai_settings.mcp_server.guide.field.command.title": "Startbefehl",
|
|
"ai_settings.mcp_server.guide.field.enabled.avoid": "Lösche ihn nicht nur zum Pausieren, sonst müssen command, args und env erneut konfiguriert werden.",
|
|
"ai_settings.mcp_server.guide.field.enabled.detail": "Deaktivieren stoppt nur die Nutzung. Die unten eingetragene Konfiguration wird nicht gelöscht.",
|
|
"ai_settings.mcp_server.guide.field.enabled.example": "Aktiviert / Deaktiviert",
|
|
"ai_settings.mcp_server.guide.field.enabled.fill": "Wähle deaktiviert, wenn der Service vorübergehend nicht genutzt wird; wähle aktiviert, wenn die AI ihn verwenden soll.",
|
|
"ai_settings.mcp_server.guide.field.enabled.summary": "Steuert, ob diese Konfiguration aktuell an Tool-Erkennung und Aufrufen teilnimmt.",
|
|
"ai_settings.mcp_server.guide.field.enabled.title": "Aktiviert",
|
|
"ai_settings.mcp_server.guide.field.env.avoid": "Kein export, set oder $env:-Präfix schreiben und Umgebungsvariablen nicht in command oder args mischen.",
|
|
"ai_settings.mcp_server.guide.field.env.detail": "Meist für API Key, Service-URL, Arbeitsverzeichnis und ähnliche Werte. Eine Variable pro Zeile; kein export schreiben.",
|
|
"ai_settings.mcp_server.guide.field.env.fill": "Eine KEY=VALUE-Zeile pro Variable, zum Beispiel GITHUB_TOKEN=....",
|
|
"ai_settings.mcp_server.guide.field.env.summary": "Übergibt KEY=VALUE-Konfiguration an den MCP Server.",
|
|
"ai_settings.mcp_server.guide.field.env.title": "Umgebungsvariablen",
|
|
"ai_settings.mcp_server.guide.field.example_label": "Beispielwert:",
|
|
"ai_settings.mcp_server.guide.field.fill_label": "Ausfüllen: ",
|
|
"ai_settings.mcp_server.guide.field.name.avoid": "Vermeide vage Namen wie server, test oder mcp1.",
|
|
"ai_settings.mcp_server.guide.field.name.detail": "Benenne ihn nach dem Zweck. Empfehlenswert sind gut erkennbare Namen wie Browser, GitHub oder Filesystem.",
|
|
"ai_settings.mcp_server.guide.field.name.fill": "Der Zweckname dieses MCP, zum Beispiel GitHub oder Filesystem.",
|
|
"ai_settings.mcp_server.guide.field.name.summary": "Der Name, der nach dem Speichern dir und der AI angezeigt wird.",
|
|
"ai_settings.mcp_server.guide.field.name.title": "Servicename",
|
|
"ai_settings.mcp_server.guide.field.timeout.avoid": "Wähle keinen willkürlich zu kleinen Wert. Unter 3 Sekunden kann die Tool-Erkennung leicht fälschlich fehlschlagen.",
|
|
"ai_settings.mcp_server.guide.field.timeout.detail": "Normale lokale Tools funktionieren meist mit 20 Sekunden. Erhöhe den Wert bei langsamem Start oder Remote-Verbindungen.",
|
|
"ai_settings.mcp_server.guide.field.timeout.fill": "Normalerweise 20; bei langsamem Start 45 oder 60.",
|
|
"ai_settings.mcp_server.guide.field.timeout.summary": "Maximale Wartezeit für eine Tool-Erkennung oder einen Tool-Aufruf.",
|
|
"ai_settings.mcp_server.guide.field.timeout.title": "Timeout (Sekunden)",
|
|
"ai_settings.mcp_server.guide.field.transport.avoid": "Trage kein HTTP, SSE, keine URL und keinen Port ein. Dieser Ablauf ist keine Remote-MCP-URL-Konfiguration.",
|
|
"ai_settings.mcp_server.guide.field.transport.detail": "Derzeit fest auf stdio gesetzt: GoNavi startet einen lokalen Prozess und kommuniziert über Standard-Ein- und -Ausgabe.",
|
|
"ai_settings.mcp_server.guide.field.transport.fill": "stdio beibehalten.",
|
|
"ai_settings.mcp_server.guide.field.transport.summary": "Wie GoNavi mit diesem MCP Server kommuniziert.",
|
|
"ai_settings.mcp_server.guide.field.transport.title": "Transport",
|
|
"ai_settings.mcp_server.guide.full_command.apply": "Automatisch in die Felder unten aufteilen",
|
|
"ai_settings.mcp_server.guide.full_command.description": "Füge den vollständigen Befehl direkt ein. GoNavi teilt ihn in Startbefehl / Befehlsargumente / Umgebungsvariablen auf. Unterstützt werden Unix KEY=VALUE, Windows PowerShell $env:KEY=VALUE; und cmd set KEY=VALUE && Präfixe.",
|
|
"ai_settings.mcp_server.guide.full_command.parsed_summary": "Wird zerlegt als: Befehl {{command}}, {{argsCount}} Argument(e), {{envCount}} Umgebungsvariable(n).",
|
|
"ai_settings.mcp_server.guide.full_command.placeholder": "Füge den vollständigen Befehl ein, zum Beispiel:\n{{example}}",
|
|
"ai_settings.mcp_server.guide.full_command.support_hint": "Unterstützt Pfade in Anführungszeichen, Argumente mit Leerzeichen sowie KEY=VALUE / $env:KEY=VALUE; / set KEY=VALUE && Umgebungsvariablen-Präfixe.",
|
|
"ai_settings.mcp_server.guide.full_command.title": "Nur eine vollständige Befehlszeile?",
|
|
"ai_settings.mcp_server.guide.note.command_only": "Der Startbefehl darf nur das Programm selbst enthalten. Skriptnamen, Modulnamen oder --stdio nicht hineinmischen.",
|
|
"ai_settings.mcp_server.guide.note.docker": "Wenn README ein Docker-Beispiel zeigt, setze command auf docker und trage run, --rm, -i, Image-Name und Container-Argumente einzeln in args ein. Container-Token werden meist mit -e KEY=VALUE übergeben.",
|
|
"ai_settings.mcp_server.guide.note.env_lines": "Eine KEY=VALUE-Zeile pro Umgebungsvariable verwenden. Kein export schreiben und nicht mit dem Startbefehl vermischen.",
|
|
"ai_settings.mcp_server.guide.note.full_command": "Wenn README nur eine vollständige Befehlszeile liefert, füge sie zuerst in das Feld für vollständige Befehle ein. Unterstützt werden KEY=VALUE, env KEY=VALUE, PowerShell $env:KEY=VALUE; und Windows set KEY=VALUE && Präfixe.",
|
|
"ai_settings.mcp_server.guide.note.npx": "Wenn README ein npx-Beispiel zeigt, setze command auf npx und trage -y, Paketname und --stdio einzeln in args ein. Nicht den ganzen npx-Befehl in command eintragen.",
|
|
"ai_settings.mcp_server.guide.note.secrets": "Geheime Umgebungsvariablen werden in der lokalen Konfiguration gespeichert und nur beim Start des MCP-Prozesses als Prozessumgebung übergeben. Keine Secrets in Chat-Inhalte schreiben.",
|
|
"ai_settings.mcp_server.guide.note.test_discovery": "Tool-Erkennungstest startet den Service nur temporär zur Prüfung und speichert die Konfiguration nicht automatisch.",
|
|
"ai_settings.mcp_server.guide.order.description": "Neue Benutzer können in dieser Reihenfolge vorgehen: zuerst oben eine Vorlage wählen oder den vollständigen Befehl einfügen, dann die Pflichtfelder prüfen und nur bei Bedarf Argumente, Umgebungsvariablen und Timeout ergänzen.",
|
|
"ai_settings.mcp_server.guide.order.title": "Empfohlene Ausfüllreihenfolge",
|
|
"ai_settings.mcp_server.guide.step.args.detail": "Trenne Skriptname, Modulname, Docker run-Argumente und Optionen wie --stdio in einzelne Einträge.",
|
|
"ai_settings.mcp_server.guide.step.args.title": "Befehlsargumente",
|
|
"ai_settings.mcp_server.guide.step.command.detail": "Hier steht nur der Programmname oder Launcher selbst, nicht die komplette Befehlszeile.",
|
|
"ai_settings.mcp_server.guide.step.command.title": "Startbefehl",
|
|
"ai_settings.mcp_server.guide.step.env_timeout.detail": "Ergänze sie nur, wenn der Service wirklich zusätzliche Konfiguration benötigt; andernfalls leer lassen.",
|
|
"ai_settings.mcp_server.guide.step.env_timeout.title": "Umgebungsvariablen / Timeout",
|
|
"ai_settings.mcp_server.guide.step.name.detail": "Vergib einen klar erkennbaren Zwecknamen wie Browser, GitHub oder Filesystem.",
|
|
"ai_settings.mcp_server.guide.step.name.title": "Servicename",
|
|
"ai_settings.mcp_server.guide.step.template.detail": "Wähle zuerst die passendste Vorlage oder füge eine vollständige Befehlszeile ein, damit GoNavi sie automatisch aufteilen kann.",
|
|
"ai_settings.mcp_server.guide.step.template.title": "Vorlage / vollständiger Befehl",
|
|
"ai_settings.mcp_server.guide.troubleshooting.auth_failed.cause": "API Key, Token, Service-URL oder andere Umgebungsvariablen fehlen, oder KEY=VALUE ist ungültig.",
|
|
"ai_settings.mcp_server.guide.troubleshooting.auth_failed.fix": "Schreibe pro Umgebungsvariable eine KEY=VALUE-Zeile. Kein export schreiben und Umgebungsvariablen nicht mit dem Startbefehl vermischen.",
|
|
"ai_settings.mcp_server.guide.troubleshooting.auth_failed.symptom": "Authentifizierung fehlgeschlagen, 401 oder 403",
|
|
"ai_settings.mcp_server.guide.troubleshooting.cause_label": "Häufige Ursache: ",
|
|
"ai_settings.mcp_server.guide.troubleshooting.command_not_found.cause": "Der Startbefehl enthält die ganze Befehlszeile, der Befehl liegt nicht auf PATH, oder ein Windows-Pfad enthält Leerzeichen, ist aber kein echter exe-Pfad.",
|
|
"ai_settings.mcp_server.guide.troubleshooting.command_not_found.fix": "Trage beim Startbefehl nur das ausführbare Programm selbst ein. Skriptnamen und --stdio gehören in die Befehlsargumente. Wenn der Befehl nicht auf PATH liegt, nutze den absoluten Pfad.",
|
|
"ai_settings.mcp_server.guide.troubleshooting.command_not_found.symptom": "Der Test meldet, dass der Befehl nicht gefunden wurde",
|
|
"ai_settings.mcp_server.guide.troubleshooting.description": "Wenn ein Test fehlschlägt, nutze diesen Abschnitt, um das zu korrigierende Feld zu finden. Meist ist nicht MCP defekt, sondern Befehl, Argumente oder Umgebungsvariablen wurden falsch getrennt.",
|
|
"ai_settings.mcp_server.guide.troubleshooting.example_label": "Beispiel:",
|
|
"ai_settings.mcp_server.guide.troubleshooting.fix_label": "Lösung: ",
|
|
"ai_settings.mcp_server.guide.troubleshooting.stdio_only.cause": "Das ist meist kein lokaler stdio-Prozess, und der aktuelle GoNavi-Hinzufügeablauf unterstützt ihn nicht direkt.",
|
|
"ai_settings.mcp_server.guide.troubleshooting.stdio_only.fix": "Bevorzuge die stdio-Startmethode dieses Services. Wenn nur HTTP/SSE verfügbar ist, nutze zuerst ein offizielles Gateway oder einen lokalen Wrapper zur Umwandlung in stdio.",
|
|
"ai_settings.mcp_server.guide.troubleshooting.stdio_only.symptom": "README enthält nur URL- oder SSE-Konfiguration",
|
|
"ai_settings.mcp_server.guide.troubleshooting.timeout_or_no_tools.cause": "Der Service startet langsam, ein stdio-Argument fehlt, dem Docker-Container fehlt -i, oder der Service unterstützt nur HTTP/SSE.",
|
|
"ai_settings.mcp_server.guide.troubleshooting.timeout_or_no_tools.fix": "Prüfe zuerst, ob der Service stdio unterstützt, und ergänze dann --stdio oder Docker -i. Erhöhe bei langsamem Start den Timeout auf 45 oder 60 Sekunden.",
|
|
"ai_settings.mcp_server.guide.troubleshooting.timeout_or_no_tools.symptom": "Der Test läuft in den Timeout oder findet 0 Tools",
|
|
"ai_settings.mcp_server.guide.troubleshooting.title": "Häufige Einrichtungsfehler",
|
|
"ai_settings.mcp_server.help.example_prefix": "Beispiel: ",
|
|
"ai_settings.mcp_server.help.field_state.fixed": "Fest",
|
|
"ai_settings.mcp_server.help.field_state.optional": "Optional",
|
|
"ai_settings.mcp_server.help.field_state.required": "Erforderlich",
|
|
"ai_settings.mcp_server.message.delete_failed": "MCP-Dienst konnte nicht gelöscht werden",
|
|
"ai_settings.mcp_server.message.deleted": "MCP-Dienst gelöscht",
|
|
"ai_settings.mcp_server.message.save_failed": "MCP-Dienst konnte nicht gespeichert werden",
|
|
"ai_settings.mcp_server.message.saved": "MCP-Dienst gespeichert",
|
|
"ai_settings.mcp_server.message.test_failed": "MCP-Diensttest fehlgeschlagen",
|
|
"ai_settings.mcp_server.message.test_request_failed": "MCP-Dienst konnte nicht getestet werden",
|
|
"ai_settings.mcp_server.message.test_success": "MCP-Dienstverbindung erfolgreich",
|
|
"ai_settings.mcp_server.quick_add.action.parse_and_add": "Analysieren und Entwurf hinzufügen",
|
|
"ai_settings.mcp_server.quick_add.description": "Wählen Sie die passendste Vorlage oder fügen Sie den vollständigen Startbefehl aus dem README ein. GoNavi teilt ihn in command, args und env auf und erstellt einen bearbeitbaren MCP-Entwurf.",
|
|
"ai_settings.mcp_server.quick_add.templates_description": "Wenn Sie nicht sicher sind, wie command und args aufzuteilen sind, klicken Sie auf eine Vorlage. Jede Karte zeigt den Befehl, den GoNavi tatsächlich startet.",
|
|
"ai_settings.mcp_server.quick_add.templates_title": "Häufige Startvorlagen",
|
|
"ai_settings.mcp_server.quick_add.title": "Schnell aus einem Befehl hinzufügen",
|
|
"ai_settings.mcp_server.remote_quick_start.avoid_prefix": "Vermeiden: ",
|
|
"ai_settings.mcp_server.remote_quick_start.badge.optional": "Optional",
|
|
"ai_settings.mcp_server.remote_quick_start.badge.required": "Pflicht",
|
|
"ai_settings.mcp_server.remote_quick_start.card.cli_config": "Konfiguration ohne GUI / per CLI erzeugen",
|
|
"ai_settings.mcp_server.remote_quick_start.card.cli_config_note": "Erzeugt eine Remote-MCP-Konfiguration, die in {{displayName}} eingefügt werden kann, ohne Datenbankpasswörter zu lesen oder auszugeben.",
|
|
"ai_settings.mcp_server.remote_quick_start.card.cloud_agent": "Im Cloud-Agent konfigurieren",
|
|
"ai_settings.mcp_server.remote_quick_start.card.standalone_binary": "Eigenständiges Binary: {{command}}",
|
|
"ai_settings.mcp_server.remote_quick_start.card.windows_launch": "GoNavi MCP HTTP unter Windows starten",
|
|
"ai_settings.mcp_server.remote_quick_start.default_agent_name": "Remote Agent",
|
|
"ai_settings.mcp_server.remote_quick_start.description": "Diese Snippets sind für Cloud-Agents, Setups ohne GUI/CLI und Windows GoNavi gedacht. In der Cloud werden nur MCP URL und Bearer Token gespeichert, keine Datenbankzugangsdaten; schema-only veröffentlicht standardmäßig nur Struktur-Tools.",
|
|
"ai_settings.mcp_server.remote_quick_start.example_prefix": "Beispiel: ",
|
|
"ai_settings.mcp_server.remote_quick_start.fill_prefix": "Ausfüllen: ",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.access_heading": "Empfohlener Zugriff:",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.boundary_heading": "Aktuelle Grenze:",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.boundary.local_stdio": "Der lokale Einstieg von GoNavi MCP ist stdio und eignet sich für Clients wie Claude Code / Codex, die auf demselben Rechner wie GoNavi laufen.",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.boundary.remote_cloud": "Wenn OpenClaw/Hermans auf Cloud-Linux läuft, kann es den lokalen Windows-stdio-Befehl nicht direkt verwenden; starte GoNavi Streamable HTTP auf Windows und lasse den Cloud-Agent über Tunnel oder Reverse Proxy zugreifen.",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.config_command_heading": "Konfiguration ohne GUI / per CLI erzeugen:",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.config_heading": "Kopierbarer Konfigurationsausschnitt (für Agents mit mcpServers JSON):",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.current_hint": "Aktueller Hinweis: {{message}}",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.env_fallback": "Oder setze die Umgebungsvariable GONAVI_MCP_HTTP_TOKEN=<random-token> und führe dann {{standaloneCommand}} aus",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.execute_sql_note": "Wenn Remote-SQL-Ausführung ausdrücklich benötigt wird, entferne --schema-only; execute_sql bleibt unter GoNavi AI-Sicherheitskontrollen, und Schreibvorgänge müssen allowMutating=true ausdrücklich übergeben.",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.goal_heading": "Ziel:",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.goal.credentials_stay_local": "Datenbankverbindungen, Konten und Passwörter bleiben in Windows GoNavi. Der Cloud-Agent muss keine Datenbankpasswörter speichern.",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.goal.schema_only": "Remotezugriff nutzt standardmäßig schema-only und registriert execute_sql nicht; geeignet, um OpenClaw/Hermans nur Strukturzugriff zu geben.",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.goal.tools_only": "Der Cloud-Agent liest nur Ergebnisse wie get_connections/get_databases/get_tables/get_columns/get_table_ddl über MCP tools.",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.launch_command_heading": "CLI- / Dienst-Startbefehl:",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.step.configure_remote_server": "3. Füge in {{displayName}} einen Remote MCP Server hinzu, wähle Streamable HTTP als transport, setze die URL auf die getunnelte bzw. per Reverse Proxy erreichbare /mcp-Adresse und setze Authorization: Bearer <random-token>.",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.step.inspect_schema": "4. Rufe zuerst get_connections auf, um connectionId zu erhalten, und danach Schema-Tools; schreibe database host/user/password nicht in die Cloud-Agent-Konfiguration.",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.step.keep_windows_accessible": "1. Halte GoNavi auf Windows erreichbar; GoNavi liest gespeicherte Verbindungen und Systemanmeldedaten.",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.step.run_command": "2. Führe dies auf Windows oder im vertrauenswürdigen Intranet aus: {{launchCommand}}.",
|
|
"ai_settings.mcp_server.remote_quick_start.guide.title": "GoNavi MCP-Remotezugriff-Anleitung - {{displayName}}",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.bearer_token.avoid": "Verwende kein leeres oder kurzes token und trage hier kein Datenbankpasswort ein.",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.bearer_token.fill": "Trage ein langes zufälliges token ein; Windows-Startbefehl und Cloud-Agent-Konfiguration müssen übereinstimmen.",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.bearer_token.title": "Bearer Token",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.local_addr.avoid": "Binde ohne Gateway-Isolation nicht direkt an 0.0.0.0 und stelle es nicht öffentlich bereit.",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.local_addr.fill": "Windows GoNavi HTTP MCP lauscht standardmäßig auf 127.0.0.1:8765 und wird dann über Tunnel oder Reverse Proxy weitergeleitet.",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.local_addr.title": "Lokale Listen-Adresse",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.path.avoid": "Verwende nicht an einer Stelle /mcp und an anderer Stelle /api/mcp; unterschiedliche Pfade führen zu 404.",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.path.fill": "Halte den Pfad im lokalen Startbefehl, in der Tunnel-URL und in der Cloud-Agent-Konfiguration identisch.",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.path.title": "MCP-Pfad",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.public_url.avoid": "Verwende nicht die lokale Windows-Adresse 127.0.0.1; Cloud-Linux kann sie nicht erreichen.",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.public_url.fill": "Trage die Streamable HTTP MCP-Adresse ein, die der Cloud-Agent erreichen kann. Sie endet normalerweise mit /mcp.",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.public_url.title": "Öffentliche/Tunnel-URL",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.server_id.avoid": "Benenne ihn nicht häufig um, sonst können bestehende Tool-Referenzen im Agent brechen.",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.server_id.fill": "Benenne diesen MCP-Dienst für den Cloud-Agent. gonavi ist als Standard ausreichend.",
|
|
"ai_settings.mcp_server.remote_quick_start.parameter.server_id.title": "Service-ID",
|
|
"ai_settings.mcp_server.remote_quick_start.section.security": "Sicherheitsgrenze",
|
|
"ai_settings.mcp_server.remote_quick_start.section.verification": "Prüfreihenfolge",
|
|
"ai_settings.mcp_server.remote_quick_start.security.credentials_stay_local": "Datenbankkonten und Passwörter bleiben in Windows GoNavi; schreibe keine Datenbankpasswörter in diese Konfiguration.",
|
|
"ai_settings.mcp_server.remote_quick_start.security.execute_sql": "Wenn du --schema-only entfernst und execute_sql freigibst, gelten weiterhin die GoNavi AI-Sicherheitskontrollen; Schreiboperationen müssen allowMutating=true ausdrücklich übergeben.",
|
|
"ai_settings.mcp_server.remote_quick_start.security.schema_only": "--schema-only registriert execute_sql standardmäßig nicht, daher erhält der Remote-Agent nur Struktur-Tools.",
|
|
"ai_settings.mcp_server.remote_quick_start.security.token_required": "HTTP MCP muss einen zufälligen Bearer Token verwenden und hinter HTTPS, einem privaten Netzwerk oder einem kontrollierten Tunnel liegen.",
|
|
"ai_settings.mcp_server.remote_quick_start.title": "{{displayName}} Remote-MCP-Schnellkonfiguration",
|
|
"ai_settings.mcp_server.remote_quick_start.verification.configure_agent": "Konfiguriere Streamable HTTP MCP in {{displayName}} und setze die URL auf die per Tunnel oder Reverse Proxy erreichbare /mcp-Adresse.",
|
|
"ai_settings.mcp_server.remote_quick_start.verification.healthz": "Öffne unter Windows zuerst http://127.0.0.1:8765/healthz, um zu bestätigen, dass der GoNavi MCP HTTP-Dienst läuft.",
|
|
"ai_settings.mcp_server.remote_quick_start.verification.inspect_schema": "Rufe zuerst get_connections auf, um connectionId zu erhalten, und lies dann get_databases / get_tables / get_columns.",
|
|
"ai_settings.mcp_server.section.action.add_server": "MCP-Service hinzufügen",
|
|
"ai_settings.mcp_server.section.empty": "Noch kein MCP-Service vorhanden. Häufige Formen sind `npx -y package --stdio`, `node server.js`, `uvx some-mcp-server`, `python -m server` und `docker run --rm -i image`.",
|
|
"ai_settings.mcp_server.section.quick_reference.description": "Prüfe diese Felder vor dem Hinzufügen eines Services: `command` enthält nur das ausführbare Programm, `args` enthält Skriptnamen und --stdio, `env` nutzt eine KEY=VALUE-Zeile pro Eintrag, und `timeout` steuert die Wartezeit für eine Tool-Erkennung oder einen Aufruf.",
|
|
"ai_settings.mcp_server.section.quick_reference.footer": "Unterstützt Befehl, Argumente, Umgebungsvariablen und Timeout. Wenn du unsicher bist, lies zuerst die Karten der Feld-Schnellreferenz. Nach dem Speichern erscheint der Service automatisch in der AI-Toolliste.",
|
|
"ai_settings.mcp_server.section.quick_reference.title": "Schnellreferenz für neue MCP-Parameter",
|
|
"ai_settings.mcp_server.template.docker.description": "Für containerisierte MCP-Dienste, deren README `docker run -i --rm image` verwendet. Docker muss lokal installiert sein.",
|
|
"ai_settings.mcp_server.template.docker.detail": "Das Beispiel nutzt `docker run --rm -i mcp/server-fetch:latest`; Container-Token werden meist mit -e KEY=VALUE in den Argumenten übergeben.",
|
|
"ai_settings.mcp_server.template.docker.seed_name": "Docker MCP",
|
|
"ai_settings.mcp_server.template.docker.title": "Docker-Image",
|
|
"ai_settings.mcp_server.template.exe.description": "Für kompilierte lokale Binärdateien oder interne Unternehmenstools.",
|
|
"ai_settings.mcp_server.template.exe.detail": "Das Beispiel nutzt `your-mcp-server.exe stdio`; ersetzen Sie den exe-Pfad durch den realen Wert.",
|
|
"ai_settings.mcp_server.template.exe.seed_name": "Lokale EXE",
|
|
"ai_settings.mcp_server.template.exe.title": "Lokale EXE",
|
|
"ai_settings.mcp_server.template.node.description": "Für lokale js/ts-Skripte oder über npm installierte node-Starter.",
|
|
"ai_settings.mcp_server.template.node.detail": "Das Beispiel nutzt `node server.js --stdio`; Skriptname und Argumente können angepasst werden.",
|
|
"ai_settings.mcp_server.template.node.seed_name": "Node-Skript",
|
|
"ai_settings.mcp_server.template.node.title": "Node-Skript",
|
|
"ai_settings.mcp_server.template.npx.description": "Für npm-MCP-Pakete, deren README `npx -y xxx --stdio` verwendet.",
|
|
"ai_settings.mcp_server.template.npx.detail": "Das Beispiel nutzt `npx -y @modelcontextprotocol/server-filesystem --stdio`; ersetzen Sie Paketname und Pfadargumente durch reale Werte.",
|
|
"ai_settings.mcp_server.template.npx.seed_name": "npx-Paket",
|
|
"ai_settings.mcp_server.template.npx.title": "npx-Paket",
|
|
"ai_settings.mcp_server.template.python.description": "Für Dienste, die als Modul gestartet werden, etwa `python -m xxx`.",
|
|
"ai_settings.mcp_server.template.python.detail": "Das Beispiel nutzt `python -m your_mcp_server`; ersetzen Sie den Modulnamen durch den realen Wert.",
|
|
"ai_settings.mcp_server.template.python.seed_name": "Python-Modul",
|
|
"ai_settings.mcp_server.template.python.title": "Python-Modul",
|
|
"ai_settings.mcp_server.template.uvx.description": "Für veröffentlichte MCP-Pakete im Python/uv-Ökosystem.",
|
|
"ai_settings.mcp_server.template.uvx.detail": "Das Beispiel nutzt `uvx some-mcp-server`; ersetzen Sie den Paketnamen vor dem Speichern.",
|
|
"ai_settings.mcp_server.template.uvx.seed_name": "uvx-Tool",
|
|
"ai_settings.mcp_server.template.uvx.title": "uvx-Tool",
|
|
"ai_settings.mcp_server.tool_schema_summary.minimal_arguments_example": "Minimales arguments-Beispiel:",
|
|
"ai_settings.mcp_server.tool_schema_summary.more_parameters": "{{count}} weitere Parameter; verwenden Sie /mcptool, um das vollständige schema anzusehen",
|
|
"ai_settings.mcp_server.tool_schema_summary.no_input_schema": "Kein inputSchema deklariert; prüfen Sie vor dem Aufruf die Servicedokumentation oder verwenden Sie /mcptool.",
|
|
"ai_settings.mcp_server.tool_schema_summary.parameter_counts": "{{count}} Parameter, {{requiredCount}} erforderlich; ein Stern markiert Pflichtfelder.",
|
|
"ai_settings.mcp_server.tool_schema_summary.title": "Gefundene Tools und Parameterhinweise",
|
|
"ai_settings.mcp_server.validation.issue.args_contain_env_or_shell_glue.detail": "KEY=VALUE, $env:KEY=VALUE, set, env und && gehören in die automatische Aufteilung vollständiger Befehle oder in das Feld für Umgebungsvariablen.",
|
|
"ai_settings.mcp_server.validation.issue.args_contain_env_or_shell_glue.title": "Befehlsargumente enthalten möglicherweise Umgebungsvariablen oder Shell-Verkettung",
|
|
"ai_settings.mcp_server.validation.issue.args_missing_for_launcher.detail": "Launcher wie node, python, uvx und npx benötigen meist zusätzlich server.js, -m your_server oder einen Paketnamen als Argument.",
|
|
"ai_settings.mcp_server.validation.issue.args_missing_for_launcher.title": "Befehlsargumente enthalten möglicherweise keinen Skript- oder Modulnamen",
|
|
"ai_settings.mcp_server.validation.issue.command_missing.detail": "Gib mindestens node, uvx, python oder einen lokalen ausführbaren Pfad ein. Skriptname und --stdio gehören in die Befehlsargumente.",
|
|
"ai_settings.mcp_server.validation.issue.command_missing.title": "Startbefehl fehlt",
|
|
"ai_settings.mcp_server.validation.issue.command_whole_line.detail": "Trage im Startbefehl nur die ausführbare Datei selbst ein. Verschiebe Skriptname, Modulname, --stdio und Umgebungsvariablen in Argumente oder Umgebungsvariablen.",
|
|
"ai_settings.mcp_server.validation.issue.command_whole_line.title": "Startbefehl enthält möglicherweise die ganze Befehlszeile",
|
|
"ai_settings.mcp_server.validation.issue.docker_image_missing.detail": "Trage den Imagenamen aus der README nach den docker run-Optionen ein, zum Beispiel mcp/server-fetch:latest.",
|
|
"ai_settings.mcp_server.validation.issue.docker_image_missing.title": "Docker-Argumenten fehlt möglicherweise der Imagename",
|
|
"ai_settings.mcp_server.validation.issue.docker_interactive_missing.detail": "MCP muss weiter von der Standardeingabe lesen. Füge bei docker run -i oder --interactive hinzu, sonst kann die Tool-Erkennung sofort getrennt werden.",
|
|
"ai_settings.mcp_server.validation.issue.docker_interactive_missing.title": "Docker-Argumenten fehlt -i",
|
|
"ai_settings.mcp_server.validation.issue.docker_run_missing.detail": "Docker MCP nutzt meist command=docker; run, --rm, -i, der Imagename und Dienstargumente werden separat in args eingetragen.",
|
|
"ai_settings.mcp_server.validation.issue.docker_run_missing.title": "Docker-Argumenten fehlt run",
|
|
"ai_settings.mcp_server.validation.issue.env_invalid_lines.detail": "Jede Zeile muss KEY=VALUE sein. {{count}} Zeile(n) werden nicht gespeichert: {{lines}}",
|
|
"ai_settings.mcp_server.validation.issue.env_invalid_lines.title": "Umgebungsvariablen enthalten ungültige Zeilen",
|
|
"ai_settings.mcp_server.validation.issue.name_missing.detail": "Verwende einen Zwecknamen wie Browser, GitHub oder Filesystem; sonst ist der Dienst nach dem Speichern nur über den Befehl erkennbar.",
|
|
"ai_settings.mcp_server.validation.issue.name_missing.title": "Dienstname ist leer",
|
|
"ai_settings.mcp_server.validation.issue.timeout_out_of_range.detail": "GoNavi begrenzt den Wert auf 3 bis 120 Sekunden. Reguläre lokale Dienste nutzen meist 20 Sekunden; langsam startende Dienste 45 oder 60 Sekunden.",
|
|
"ai_settings.mcp_server.validation.issue.timeout_out_of_range.title": "Timeout liegt außerhalb des empfohlenen Bereichs",
|
|
"ai_settings.mcp_server.validation.issue.transport_unsupported.detail": "GoNavi kann hier nur stdio-MCP-Dienste hinzufügen. Lass den Transport auf stdio.",
|
|
"ai_settings.mcp_server.validation.issue.transport_unsupported.title": "Transport wird nicht unterstützt",
|
|
"ai_settings.mcp_server.validation.severity.error": "Korrektur erforderlich",
|
|
"ai_settings.mcp_server.validation.severity.info": "Hinweis",
|
|
"ai_settings.mcp_server.validation.severity.warning": "Prüfung empfohlen",
|
|
"ai_settings.mcp_server.validation.summary.errors": "{{count}} Problem muss vor dem Testen oder Speichern behoben werden.",
|
|
"ai_settings.mcp_server.validation.summary.ready": "Die aktuelle Konfiguration kann getestet und gespeichert werden.",
|
|
"ai_settings.mcp_server.validation.summary.warnings": "{{count}} Prüfpunkt gefunden. Testen und Speichern sind weiterhin möglich.",
|
|
"ai_settings.mcp_server.validation.title": "Konfigurationsprüfung",
|
|
"ai_settings.message.delete_failed": "Löschen fehlgeschlagen",
|
|
"ai_settings.message.delete_failed_detail": "Löschen fehlgeschlagen: {{detail}}",
|
|
"ai_settings.message.deleted": "Gelöscht",
|
|
"ai_settings.message.deleted_and_switched": "Gelöscht und automatisch zu „{{name}}“ gewechselt",
|
|
"ai_settings.message.load_provider_failed": "Anbieterkonfiguration konnte nicht gelesen werden",
|
|
"ai_settings.message.save_failed": "Speichern fehlgeschlagen",
|
|
"ai_settings.message.save_failed_detail": "Speichern fehlgeschlagen: {{detail}}",
|
|
"ai_settings.message.saved": "Gespeichert",
|
|
"ai_settings.message.switch_failed": "Wechsel fehlgeschlagen",
|
|
"ai_settings.message.switch_failed_detail": "Wechsel fehlgeschlagen: {{detail}}",
|
|
"ai_settings.message.switched": "Gewechselt",
|
|
"ai_settings.message.test_failed": "Test fehlgeschlagen",
|
|
"ai_settings.message.test_failed_detail": "Test fehlgeschlagen: {{detail}}",
|
|
"ai_settings.message.test_requires_new_api_key": "Geben Sie vor dem Verbindungstest einen neuen API Key ein oder brechen Sie das Löschen des gespeicherten Secrets ab",
|
|
"ai_settings.message.test_success": "Verbindung erfolgreich",
|
|
"ai_settings.message.unknown_error": "Unbekannter Fehler",
|
|
"ai_settings.nav.context.description": "Datenbankschema-Kontext konfigurieren",
|
|
"ai_settings.nav.context.title": "Kontext",
|
|
"ai_settings.nav.mcp.description": "GoNavi mit externen Clients verbinden und Tool-Quellen verwalten",
|
|
"ai_settings.nav.mcp.title": "MCP-Dienste",
|
|
"ai_settings.nav.prompts.description": "Vordefinierte Systemanforderungen anzeigen",
|
|
"ai_settings.nav.prompts.title": "Integrierte Prompts",
|
|
"ai_settings.nav.providers.description": "Modellendpunkte und Secrets konfigurieren",
|
|
"ai_settings.nav.providers.title": "Modellanbieter",
|
|
"ai_settings.nav.safety.description": "Risikostufe von AI-Operationen begrenzen",
|
|
"ai_settings.nav.safety.title": "Sicherheitssteuerung",
|
|
"ai_settings.nav.skills.description": "Wiederverwendbare Prompt-Module konfigurieren",
|
|
"ai_settings.nav.skills.title": "Skills",
|
|
"ai_settings.nav.title": "Einstellungsnavigation",
|
|
"ai_settings.nav.tools.description": "Von AI nutzbare Datenproben anzeigen",
|
|
"ai_settings.nav.tools.title": "Integrierte Tools",
|
|
"ai_settings.prompts.action.save": "Benutzerdefinierte Prompts speichern",
|
|
"ai_settings.prompts.builtin.description": "Dies sind die schreibgeschützten Low-Level-AI-Prompts der aktuellen GoNavi-Version. Sie werden im passenden Anfragekontext vor den obigen Prompts auf Benutzerebene eingefügt.",
|
|
"ai_settings.prompts.description": "Dies sind die schreibgeschützten Systemprompts der aktuellen GoNavi-Version. Sie werden je nach Szenario dynamisch in den Anfragekontext eingefügt.",
|
|
"ai_settings.prompts.field.database.description": "Gilt nur für Datenbank- und SQL-Szenarien, zum Beispiel \"Feldnamen vor dem Erzeugen von SQL bestätigen\".",
|
|
"ai_settings.prompts.field.database.title": "Zusatzprompt für Datenbanksitzungen",
|
|
"ai_settings.prompts.field.global.description": "Gilt für alle AI-Sitzungen, zum Beispiel \"zuerst das Fazit nennen\" oder \"Antworten knapp halten\".",
|
|
"ai_settings.prompts.field.global.title": "Globaler Zusatzprompt",
|
|
"ai_settings.prompts.field.jvm_diagnostic.description": "Gilt nur für den JVM-Diagnosearbeitsbereich, zum Beispiel \"erst den Plan, dann die Befehle nennen\".",
|
|
"ai_settings.prompts.field.jvm_diagnostic.title": "Zusatzprompt für JVM-Diagnose",
|
|
"ai_settings.prompts.field.jvm.description": "Gilt nur für JVM-Ressourcen-Browsing und Analyse.",
|
|
"ai_settings.prompts.field.jvm.title": "Zusatzprompt für JVM-Ressourcenanalyse",
|
|
"ai_settings.prompts.message.save_failed": "Benutzerdefinierte Prompts konnten nicht gespeichert werden",
|
|
"ai_settings.prompts.message.saved": "Benutzerdefinierte Prompts gespeichert",
|
|
"ai_settings.prompts.placeholder.empty": "Leer lassen, um nichts Zusätzliches anzuhängen",
|
|
"ai_settings.prompts.user.description": "Dieser Inhalt wird nach den eingebauten Systemprompts als system message angehängt. Nutzen Sie ihn für persönlichen Antwortstil, Ausgabevorgaben oder Teamregeln. Bei Sicherheitsgrenzen haben Systemregeln weiterhin Vorrang.",
|
|
"ai_settings.prompts.user.title": "Benutzerdefinierte Prompts auf Benutzerebene",
|
|
"ai_settings.provider_preset.anthropic.desc": "Claude Opus/Sonnet Modelle",
|
|
"ai_settings.provider_preset.anthropic.label": "Claude",
|
|
"ai_settings.provider_preset.custom.desc": "Benutzerdefinierter API-Endpunkt",
|
|
"ai_settings.provider_preset.custom.label": "Benutzerdefiniert",
|
|
"ai_settings.provider_preset.deepseek.desc": "DeepSeek-V4 / R1 Modelle",
|
|
"ai_settings.provider_preset.deepseek.label": "DeepSeek",
|
|
"ai_settings.provider_preset.gemini.desc": "Gemini 3.1 / 2.5-Reihe",
|
|
"ai_settings.provider_preset.gemini.label": "Gemini",
|
|
"ai_settings.provider_preset.minimax.desc": "M3 / M2.7-Reihe (Anthropic-kompatibel)",
|
|
"ai_settings.provider_preset.minimax.label": "MiniMax",
|
|
"ai_settings.provider_preset.moonshot.desc": "Kimi K2.5 (Anthropic-kompatibel)",
|
|
"ai_settings.provider_preset.moonshot.label": "Kimi",
|
|
"ai_settings.provider_preset.ollama.desc": "Lokal bereitgestellte Open-Source-Modelle",
|
|
"ai_settings.provider_preset.ollama.label": "Ollama",
|
|
"ai_settings.provider_preset.openai.desc": "GPT-5.4 / 5.3-Reihe",
|
|
"ai_settings.provider_preset.openai.label": "OpenAI",
|
|
"ai_settings.provider_preset.qwen_bailian.desc": "Bailian Anthropic-kompatibler Endpunkt / entfernte Modellliste",
|
|
"ai_settings.provider_preset.qwen_bailian.label": "Qwen (Bailian Allgemein)",
|
|
"ai_settings.provider_preset.qwen_coding_plan.desc": "Claude Code CLI Proxy-Kette / offiziell unterstützte Modellliste",
|
|
"ai_settings.provider_preset.qwen_coding_plan.label": "Qwen (Coding Plan)",
|
|
"ai_settings.provider_preset.volcengine_ark.desc": "Ark allgemeine Inferenz / Doubao-Modelle",
|
|
"ai_settings.provider_preset.volcengine_ark.label": "Volcengine Ark",
|
|
"ai_settings.provider_preset.volcengine_coding.desc": "Ark Code / Coding Plan Ausführung",
|
|
"ai_settings.provider_preset.volcengine_coding.label": "Volcengine Coding Plan",
|
|
"ai_settings.provider_preset.zhipu.desc": "GLM-5 / GLM-5-Turbo Modelle",
|
|
"ai_settings.provider_preset.zhipu.label": "Zhipu GLM",
|
|
"ai_settings.provider.action.add": "Modellanbieter hinzufügen",
|
|
"ai_settings.provider.action.delete": "Löschen",
|
|
"ai_settings.provider.action.edit": "Bearbeiten",
|
|
"ai_settings.provider.auto_model": "Automatisch ausgewählt",
|
|
"ai_settings.provider.confirm_delete": "Diesen Anbieter löschen?",
|
|
"ai_settings.provider.editor.add_title": "Modellanbieter hinzufügen",
|
|
"ai_settings.provider.editor.edit_title": "Modellanbieter bearbeiten",
|
|
"ai_settings.provider.empty.description": "Fügen Sie einen Anbieter hinzu, um den AI-Assistenten zu verwenden",
|
|
"ai_settings.provider.empty.title": "Noch kein Modellanbieter konfiguriert",
|
|
"ai_settings.provider.next_provider": "nächster Anbieter",
|
|
"ai_settings.provider.no_model": "Kein Modell ausgewählt",
|
|
"ai_settings.safety.description": "Steuert, welche SQL-Operationstypen AI ausführen darf, um Daten zu schützen",
|
|
"ai_settings.safety.full.desc": "AI darf alle Operationen ausführen, einschließlich DDL. Bei Hochrisiko-Operationen werden Warnungen automatisch angezeigt.",
|
|
"ai_settings.safety.full.label": "Vollmodus",
|
|
"ai_settings.safety.readonly.desc": "AI darf nur SELECT und ähnliche Abfragen ausführen. Dies ist der sicherste Modus.",
|
|
"ai_settings.safety.readonly.label": "Nur-Lesen-Modus",
|
|
"ai_settings.safety.readwrite.desc": "AI darf INSERT/UPDATE/DELETE ausführen. Riskante Operationen erfordern eine Bestätigung.",
|
|
"ai_settings.safety.readwrite.label": "Lese-/Schreibmodus",
|
|
"ai_settings.skill.action.add": "Skill hinzufügen",
|
|
"ai_settings.skill.confirm_delete": "Diesen Skill löschen?",
|
|
"ai_settings.skill.description": "Ein Skill ist kein weiterer großer Prompt. Er besteht aus einem benannten Prompt-Modul + scope + Tool-Abhängigkeiten. Behalte ihn in dieser Phase im Hauptrepository. Ein separates GitHub-Repository ist erst nötig, wenn später ein gemeinsames skill pack verteilt werden soll.",
|
|
"ai_settings.skill.description_placeholder": "Private Notiz, zum Beispiel: Feldnamen und Risiken vor der SQL-Ausgabe bestätigen",
|
|
"ai_settings.skill.empty": "Noch keine Skills. Du kannst dedizierte system prompts für Datenbank-, JVM- und Diagnoseszenarien definieren.",
|
|
"ai_settings.skill.hint": "Wenn aktiviert, wird er nach scope in die passende Sitzung injiziert. Fehlt ein erforderliches Tool, wird dieser Skill automatisch übersprungen.",
|
|
"ai_settings.skill.message.delete_failed": "Skill konnte nicht gelöscht werden",
|
|
"ai_settings.skill.message.deleted": "Skill gelöscht",
|
|
"ai_settings.skill.message.save_failed": "Skill konnte nicht gespeichert werden",
|
|
"ai_settings.skill.message.saved": "Skill gespeichert",
|
|
"ai_settings.skill.name_placeholder": "Skill-Name, zum Beispiel: SQL-Review / JVM-Diagnoseplan",
|
|
"ai_settings.skill.required_tools_placeholder": "Optional: Tools deklarieren, von denen dieser Skill abhängt",
|
|
"ai_settings.skill.scope.database.desc": "Nur für SQL- / Datenbankszenarien aktiviert",
|
|
"ai_settings.skill.scope.database.label": "Datenbank",
|
|
"ai_settings.skill.scope.global.desc": "Für alle AI-Sitzungen aktiviert",
|
|
"ai_settings.skill.scope.global.label": "Global",
|
|
"ai_settings.skill.scope.jvm_diagnostic.desc": "Nur für die JVM-Diagnose-Workbench aktiviert",
|
|
"ai_settings.skill.scope.jvm_diagnostic.label": "JVM-Diagnose",
|
|
"ai_settings.skill.scope.jvm.desc": "Nur für JVM-Ressourcenanalysen aktiviert",
|
|
"ai_settings.skill.scope.jvm.label": "JVM-Ressourcen",
|
|
"ai_settings.skill.scopes_placeholder": "Auswählen, wo dieser Skill gelten soll",
|
|
"ai_settings.skill.status.disabled": "Deaktiviert",
|
|
"ai_settings.skill.status.enabled": "Aktiviert",
|
|
"ai_settings.skill.system_prompt_placeholder": "Gib den system prompt ein, den dieser Skill anhängen soll. Fokussiere eine klare Fähigkeit und vermeide Duplikate globaler Prompts.",
|
|
"ai_settings.subtitle": "AI-Modelle, Sicherheitsstufe und Kontextoptionen konfigurieren",
|
|
"ai_settings.title": "AI-Einstellungen",
|
|
"ai_settings.tools.builtin_tool_label": "Integriertes Tool",
|
|
"ai_settings.tools.description": "Bei Datenbankfragen kann der AI-Assistent diese integrierten Tools automatisch aufrufen, um echte Daten ohne manuelle Eingriffe abzurufen.",
|
|
"ai_settings.tools.empty.no_matches": "Keine passenden integrierten Tools. Versuchen Sie allgemeinere Stichwörter wie mcp, logs, connection, transaction, shortcuts oder schema.",
|
|
"ai_settings.tools.execute_sql.desc": "SQL-Abfrage ausführen und Ergebnisse zurückgeben",
|
|
"ai_settings.tools.execute_sql.detail": "Übergibt connectionId, dbName und sql, führt SQL auf der Zieldatenbank aus und gibt bis zu 50 Ergebniszeilen zurück. Die Sicherheitsstufe gilt; im Nur-Lesen-Modus sind nur SELECT/SHOW/DESCRIBE erlaubt.",
|
|
"ai_settings.tools.get_columns.desc": "Spaltenstruktur einer Tabelle abrufen",
|
|
"ai_settings.tools.get_columns.detail": "Übergibt connectionId, dbName und tableName und gibt Name, Typ, NULL-Zulässigkeit, Standardwert und Kommentar jeder Spalte zurück. AI muss dieses Tool vor der SQL-Erzeugung aufrufen, um echte Spaltennamen zu bestätigen.",
|
|
"ai_settings.tools.get_connections.desc": "Alle verfügbaren Datenbankverbindungen abrufen",
|
|
"ai_settings.tools.get_connections.detail": "Gibt Verbindungs-ID, Name, Typ (MySQL/PostgreSQL usw.) und Host-Adresse zurück. AI entscheidet anhand dieser Informationen, welche Verbindung zuerst untersucht wird.",
|
|
"ai_settings.tools.get_databases.desc": "Alle Datenbanken unter einer Verbindung abrufen",
|
|
"ai_settings.tools.get_databases.detail": "Übergibt connectionId und gibt die Datenbank- oder Schema-Namen unter dieser Verbindung zurück.",
|
|
"ai_settings.tools.get_table_ddl.desc": "DDL einer Tabelle abrufen",
|
|
"ai_settings.tools.get_table_ddl.detail": "Übergibt connectionId, dbName und tableName und gibt die vollständige CREATE TABLE-Anweisung einschließlich Spaltendefinitionen, Indizes, Constraints und Metadaten zurück.",
|
|
"ai_settings.tools.get_tables.desc": "Alle Tabellennamen unter einer Datenbank abrufen",
|
|
"ai_settings.tools.get_tables.detail": "Übergibt connectionId und dbName und gibt Tabellennamen zurück. AI nutzt dies, um die vom Benutzer erwähnte Zieltabelle zu finden.",
|
|
"ai_settings.tools.parameters.default_value": "Standard: {{value}}",
|
|
"ai_settings.tools.parameters.enum_values": "Zulässige Werte: {{values}}",
|
|
"ai_settings.tools.parameters.example": "Beispiel:",
|
|
"ai_settings.tools.parameters.hint_title": "Parameterhinweise",
|
|
"ai_settings.tools.parameters.optional": "Optional",
|
|
"ai_settings.tools.parameters.required": "Pflichtfeld",
|
|
"ai_settings.tools.parameters.type_label": "Typ: {{type}}",
|
|
"ai_settings.tools.params_label": "Parameter:",
|
|
"ai_settings.tools.params.none": "Keine Parameter",
|
|
"ai_settings.tools.search.aria_label": "Integrierte Tools suchen",
|
|
"ai_settings.tools.search.clear": "Löschen",
|
|
"ai_settings.tools.search.placeholder": "Tools, Abläufe oder Parameter suchen, z. B. mcp / lineLimit / allowMutating / transaction",
|
|
"ai_settings.tools.summary": "{{flowVisible}}/{{flowTotal}} empfohlene Abläufe und {{toolVisible}}/{{toolTotal}} integrierte Tools werden angezeigt.",
|
|
"ai_settings.tools.workflow": "💡 Ablauf: get_connections → get_databases → get_tables → get_columns → SQL erzeugen",
|
|
"ai.service.mcp_client.claude_code.config_dir_create_failed": "Claude Code-Konfigurationsverzeichnis konnte nicht erstellt werden: {{detail}}",
|
|
"ai.service.mcp_client.claude_code.config_format_invalid": "Das Format der Claude Code-Konfiguration ist ungültig: {{path}} muss {{expected}} sein",
|
|
"ai.service.mcp_client.claude_code.config_parse_failed": "Claude Code-Konfiguration konnte nicht geparst werden: {{detail}}",
|
|
"ai.service.mcp_client.claude_code.config_path_failed": "Claude Code-Konfiguration konnte nicht gefunden werden: {{detail}}",
|
|
"ai.service.mcp_client.claude_code.config_read_failed": "Claude Code-Konfiguration konnte nicht gelesen werden: {{detail}}",
|
|
"ai.service.mcp_client.claude_code.config_serialize_failed": "Claude Code-Konfiguration konnte nicht serialisiert werden: {{detail}}",
|
|
"ai.service.mcp_client.claude_code.config_write_failed": "Claude Code-Konfiguration konnte nicht geschrieben werden: {{detail}}",
|
|
"ai.service.mcp_client.claude_code.install_success": "Die MCP-Konfiguration auf Benutzerebene für Claude Code wurde geschrieben. Starten Sie Claude CLI neu; GoNavi erscheint dann unter User MCPs in /mcp.",
|
|
"ai.service.mcp_client.claude_code.status.connected": "Die GoNavi MCP-Konfiguration auf Benutzerebene für Claude Code wurde erkannt und passt zum aktuellen GoNavi-Installationspfad",
|
|
"ai.service.mcp_client.claude_code.status.missing": "Keine GoNavi MCP-Konfiguration auf Benutzerebene für Claude Code erkannt",
|
|
"ai.service.mcp_client.claude_code.status.path_check_failed": "In Claude Code wurde ein GoNavi MCP-Eintrag erkannt, aber die Prüfung des aktuellen GoNavi-Installationspfads ist fehlgeschlagen: {{detail}}",
|
|
"ai.service.mcp_client.claude_code.status.path_mismatch": "In Claude Code wurde ein GoNavi MCP-Eintrag erkannt, der nicht zum aktuellen GoNavi-Installationspfad passt. Eine Aktualisierung wird empfohlen.",
|
|
"ai.service.mcp_client.codex.config_dir_create_failed": "Codex-Konfigurationsverzeichnis konnte nicht erstellt werden: {{detail}}",
|
|
"ai.service.mcp_client.codex.config_format_invalid": "Das Format der Codex-Konfiguration ist ungültig: {{path}} konnte nicht als {{expected}} gelesen werden",
|
|
"ai.service.mcp_client.codex.config_path_failed": "Codex-Konfiguration konnte nicht gefunden werden: {{detail}}",
|
|
"ai.service.mcp_client.codex.config_read_failed": "Codex-Konfiguration konnte nicht gelesen werden: {{detail}}",
|
|
"ai.service.mcp_client.codex.config_write_failed": "Codex-Konfiguration konnte nicht geschrieben werden: {{detail}}",
|
|
"ai.service.mcp_client.codex.install_success": "Die MCP-Konfiguration auf Benutzerebene für Codex wurde geschrieben. Starten Sie Codex CLI oder die Desktop-App neu, um GoNavi zu sehen.",
|
|
"ai.service.mcp_client.codex.status.connected": "Die GoNavi MCP-Konfiguration auf Benutzerebene für Codex wurde erkannt und passt zum aktuellen GoNavi-Installationspfad",
|
|
"ai.service.mcp_client.codex.status.missing": "Keine GoNavi MCP-Konfiguration auf Benutzerebene für Codex erkannt",
|
|
"ai.service.mcp_client.codex.status.path_check_failed": "In Codex wurde ein GoNavi MCP-Eintrag erkannt, aber die Prüfung des aktuellen GoNavi-Installationspfads ist fehlgeschlagen: {{detail}}",
|
|
"ai.service.mcp_client.codex.status.path_mismatch": "In Codex wurde ein GoNavi MCP-Eintrag erkannt, der nicht zum aktuellen GoNavi-Installationspfad passt. Eine Aktualisierung wird empfohlen.",
|
|
"ai.service.mcp_client.executable_path_empty": "Der Pfad zur aktuellen GoNavi-Programmdatei ist leer",
|
|
"ai.service.mcp_client.executable_path_failed": "Die aktuelle GoNavi-Programmdatei konnte nicht gefunden werden: {{detail}}",
|
|
"ai.service.mcp_client.remote.status.message": "{{label}} läuft normalerweise in der Cloud oder in einer Remote-Umgebung. Binden Sie es über eine Remote-MCP-Brücke an Windows GoNavi an; Datenbankpasswörter bleiben auf diesem GoNavi-Rechner.",
|
|
"ai.service.mcp_client.user_home_dir_unavailable": "Das aktuelle Benutzer-Home-Verzeichnis konnte nicht ermittelt werden",
|
|
"app.about.action.check_updates": "Nach Updates suchen",
|
|
"app.about.action.download_progress": "Downloadfortschritt",
|
|
"app.about.action.download_update": "Update herunterladen",
|
|
"app.about.action.hide_to_background": "Im Hintergrund ausblenden",
|
|
"app.about.action.install_update": "Update installieren",
|
|
"app.about.action.mute_this_version": "Diesmal nicht erinnern",
|
|
"app.about.action.open_install_directory": "Installationsordner öffnen",
|
|
"app.about.community.ai_book": "AI全书",
|
|
"app.about.description": "Versionsinformationen, Repository-Links, Updatestatus und Downloadzugänge anzeigen.",
|
|
"app.about.download_progress.title": "Update herunterladen",
|
|
"app.about.download_progress.title_with_version": "Update {{version}} herunterladen",
|
|
"app.about.field.author": "Autor",
|
|
"app.about.field.community": "Community",
|
|
"app.about.field.update_status": "Updatestatus",
|
|
"app.about.field.version": "Version",
|
|
"app.about.message.check_failed_with_error": "Updateprüfung fehlgeschlagen: {{error}}",
|
|
"app.about.message.download_completed": "Update-Download abgeschlossen",
|
|
"app.about.message.download_completed_with_path": "Update-Download abgeschlossen. Paketpfad: {{path}}",
|
|
"app.about.message.download_failed_with_error": "Update-Download fehlgeschlagen: {{error}}",
|
|
"app.about.message.install_directory_opened_manual_replace": "Installationsordner geöffnet. Schließen Sie den Austausch manuell ab.",
|
|
"app.about.message.install_failed_with_error": "Updateinstallation fehlgeschlagen: {{error}}",
|
|
"app.about.message.load_failed": "App-Informationen konnten nicht geladen werden: {{error}}",
|
|
"app.about.message.new_version_found": "Neue Version {{version}} gefunden",
|
|
"app.about.message.open_install_directory_failed_with_error": "Installationsordner konnte nicht geöffnet werden: {{error}}",
|
|
"app.about.message.update_package_ready": "Updatepaket ist bereit ({{version}})",
|
|
"app.about.message.update_package_ready_with_path": "Updatepaket ist bereit ({{version}}), Pfad: {{path}}",
|
|
"app.about.project_links": "Projektlinks",
|
|
"app.about.title": "Über GoNavi",
|
|
"app.about.update_status.check_failed": "Updateprüfung fehlgeschlagen: {{error}}",
|
|
"app.about.update_status.checking": "Suche nach Updates...",
|
|
"app.about.update_status.latest": "Sie verwenden die neueste Version ({{version}})",
|
|
"app.about.update_status.new_version_downloaded": "Neue Version {{version}} gefunden (heruntergeladen; öffnen Sie den Downloadfortschritt zur Installation)",
|
|
"app.about.update_status.new_version_not_downloaded": "Neue Version {{version}} gefunden (nicht heruntergeladen)",
|
|
"app.about.update_status.not_checked": "Nicht geprüft",
|
|
"app.ai_panel.action.close": "Panel schließen",
|
|
"app.ai_panel.action.reload": "Neu laden",
|
|
"app.ai_panel.aria.close": "AI-Panel schließen",
|
|
"app.ai_panel.error.description": "Dies wird meist durch ungültig gewordene Lazy-Load-Ressourcen nach Hot Reloads in der Entwicklungsumgebung verursacht. Ein kompletter White-Screen wurde verhindert; Sie können es direkt erneut versuchen.",
|
|
"app.ai_panel.error.title": "AI-Panel konnte nicht geladen werden",
|
|
"app.backend.error.reset_webview_zoom_failed": "Zurücksetzen des WebView2-Zooms fehlgeschlagen: {{detail}}",
|
|
"app.browser_mock.export_connection_package_unsupported": "Browser-Mock unterstützt den Export von Wiederherstellungspaketen nicht",
|
|
"app.browser_mock.export_sql_unsupported": "Browser-Mock unterstützt den Export von SQL-Dateien nicht",
|
|
"app.browser_mock.import_connection_package_unsupported": "Browser-Mock unterstützt den Import von Wiederherstellungspaketen nicht; nur historische JSON-Verbindungsarrays werden unterstützt",
|
|
"app.browser_mock.mcp_client.claude_code.installed": "Die MCP-Konfiguration auf Benutzerebene für Claude Code wurde geschrieben. Starten Sie Claude CLI neu; GoNavi erscheint dann unter User MCPs in /mcp.",
|
|
"app.browser_mock.mcp_client.claude_code.not_detected": "Keine GoNavi MCP-Konfiguration auf Benutzerebene für Claude Code erkannt",
|
|
"app.browser_mock.mcp_client.codex.installed": "Die MCP-Konfiguration auf Benutzerebene für Codex wurde geschrieben. Starten Sie Codex CLI oder die Desktop-App neu, um GoNavi zu sehen.",
|
|
"app.browser_mock.mcp_client.codex.path_mismatch": "In Codex wurde ein GoNavi MCP-Eintrag erkannt, der nicht zum aktuellen GoNavi-Installationspfad passt. Eine Aktualisierung wird empfohlen.",
|
|
"app.browser_mock.mcp_http.not_running": "Der GoNavi MCP HTTP-Dienst läuft nicht",
|
|
"app.browser_mock.mcp_http.started": "Der GoNavi MCP HTTP-Dienst wurde gestartet",
|
|
"app.browser_mock.mcp_http.stopped": "Der GoNavi MCP HTTP-Dienst wurde gestoppt",
|
|
"app.browser_mock.mcp_server.command_required": "MCP-Befehl darf nicht leer sein",
|
|
"app.browser_mock.mcp_server.test_success": "MCP-mock-Test erfolgreich",
|
|
"app.browser_mock.mcp_tool.unavailable": "Browser-Mock ist nicht mit einem echten MCP-Dienst verbunden",
|
|
"app.browser_mock.provider.test_failed_detail": "Verbindungstest fehlgeschlagen: {{detail}}",
|
|
"app.browser_mock.provider.test_success": "Endpunkt-Verbindungstest erfolgreich",
|
|
"app.connection_package.action.start_export": "Export starten",
|
|
"app.connection_package.action.start_import": "Import starten",
|
|
"app.connection_package.dialog.export_title": "Verbindungen exportieren",
|
|
"app.connection_package.dialog.file_password_placeholder": "Dateischutzpasswort eingeben (optional)",
|
|
"app.connection_package.dialog.help.encrypted_passwords_recommend_file_password": "Passwörter sind verschlüsselt. Für die Übertragung über öffentliche Netzwerke sollten Sie ein Dateischutzpasswort festlegen.",
|
|
"app.connection_package.dialog.help.exclude_passwords": "Es werden nur Verbindungseinstellungen exportiert. Passwörter sind nicht enthalten.",
|
|
"app.connection_package.dialog.help.share_file_password_separately": "Teilen Sie das Passwort über einen separaten Kanal mit. Senden Sie es nicht zusammen mit der Datei.",
|
|
"app.connection_package.dialog.import_password_title": "Importpasswort eingeben",
|
|
"app.connection_package.dialog.option.include_passwords": "Verbindungspasswörter exportieren",
|
|
"app.connection_package.dialog.option.use_file_password": "Dateischutzpasswort festlegen",
|
|
"app.connection_package.dialog.restore_password_placeholder": "Passwort des Wiederherstellungspakets eingeben",
|
|
"app.connection_package.error.export_capability_unavailable": "Export fehlgeschlagen: Das aktuelle Backend stellt die neue Exportfunktion nicht bereit",
|
|
"app.connection_package.error.file_password_required": "Das Dateischutzpasswort darf nicht leer sein",
|
|
"app.connection_package.error.import_capability_unavailable": "Import fehlgeschlagen: Das aktuelle Backend stellt die neue Importfunktion nicht bereit",
|
|
"app.connection_package.error.import_no_connections": "Import fehlgeschlagen: Das Backend hat keine Verbindungsliste zurückgegeben",
|
|
"app.connection_package.error.missing_import_payload": "Import fehlgeschlagen: Der zu importierende Inhalt des Wiederherstellungspakets wurde nicht gefunden",
|
|
"app.connection_package.error.refresh_failed_no_connections": "Import erfolgreich, aber Aktualisieren der Verbindungsliste fehlgeschlagen: Das Backend hat keine Verbindungsliste zurückgegeben",
|
|
"app.connection_package.error.restore_password_required": "Das Passwort des Wiederherstellungspakets darf nicht leer sein",
|
|
"app.connection_package.message.export_failed": "Export fehlgeschlagen",
|
|
"app.connection_package.message.export_succeeded": "Export erfolgreich",
|
|
"app.connection_package.message.import_failed": "Import fehlgeschlagen",
|
|
"app.connection_package.message.import_failed_with_error": "Import fehlgeschlagen: {{error}}",
|
|
"app.connection_package.message.imported_connections": "{{count}} Verbindungen importiert",
|
|
"app.connection_package.message.imported_with_missing_passwords": "{{count}} Verbindungen importiert. Einige Verbindungen enthalten keine Passwörter. Bearbeiten Sie diese Verbindungen und geben Sie vor dem Speichern die Passwörter ein.",
|
|
"app.connection_package.message.no_connections_to_export": "Keine Verbindungen zum Exportieren",
|
|
"app.connection_package.message.unsupported_file_format": "Dateiformatfehler: Unterstützt werden nur GoNavi-Wiederherstellungspakete, historische JSON-Verbindungsarrays oder MySQL Workbench XML",
|
|
"app.connection.message.editable_load_failed": "Die Details der gespeicherten Verbindung konnten nicht geladen werden. Stattdessen wird die maskierte Konfiguration geöffnet.",
|
|
"app.connection.message.editable_load_failed_with_detail": "Die Details der gespeicherten Verbindung konnten nicht geladen werden: {{detail}}. Stattdessen wird die maskierte Konfiguration geöffnet.",
|
|
"app.data_root.action.migrate_and_switch": "Vorhandene Daten migrieren und wechseln",
|
|
"app.data_root.action.open_current": "Aktuelles Verzeichnis öffnen",
|
|
"app.data_root.action.restore_default_directory": "Standardverzeichnis wiederherstellen",
|
|
"app.data_root.action.select": "Verzeichnis auswählen",
|
|
"app.data_root.action.switch_only": "Nur zum ausgewählten Verzeichnis wechseln",
|
|
"app.data_root.apply_method": "Anwendungsmethode",
|
|
"app.data_root.backend.dialog.select_directory": "GoNavi-Datenverzeichnis auswählen",
|
|
"app.data_root.backend.error.create_bootstrap_directory_failed": "Standard-Bootstrap-Verzeichnis konnte nicht erstellt werden: {{detail}}",
|
|
"app.data_root.backend.error.create_data_directory_failed": "Datenverzeichnis konnte nicht erstellt werden: {{detail}}",
|
|
"app.data_root.backend.error.create_target_failed": "Ziel-Datenverzeichnis konnte nicht erstellt werden: {{detail}}",
|
|
"app.data_root.backend.error.directory_empty": "Datenverzeichnis darf nicht leer sein",
|
|
"app.data_root.backend.error.directory_unavailable": "Datenverzeichnis existiert nicht oder ist nicht zugänglich",
|
|
"app.data_root.backend.error.migrate_directory_failed": "Verzeichnis konnte nicht migriert werden ({{entry}}): {{detail}}",
|
|
"app.data_root.backend.error.migrate_file_failed": "Datei konnte nicht migriert werden ({{entry}}): {{detail}}",
|
|
"app.data_root.backend.error.open_directory_failed": "Datenverzeichnis konnte nicht geöffnet werden: {{detail}}",
|
|
"app.data_root.backend.error.open_directory_unsupported": "Das Öffnen von Verzeichnissen wird auf dieser Plattform nicht unterstützt: {{platform}}",
|
|
"app.data_root.backend.error.parse_migrated_security_update_manifest_failed": "Migriertes Manifest der Sicherheitsupdate-Sicherung konnte nicht verarbeitet werden: {{detail}}",
|
|
"app.data_root.backend.error.parse_migrated_security_update_result_failed": "Migriertes Ergebnis des Sicherheitsupdates konnte nicht verarbeitet werden: {{detail}}",
|
|
"app.data_root.backend.error.read_migrated_security_update_manifest_failed": "Migriertes Manifest der Sicherheitsupdate-Sicherung konnte nicht gelesen werden: {{detail}}",
|
|
"app.data_root.backend.error.read_migrated_security_update_result_failed": "Migriertes Ergebnis des Sicherheitsupdates konnte nicht gelesen werden: {{detail}}",
|
|
"app.data_root.backend.error.read_migrated_security_update_state_failed": "Migrierter Status des Sicherheitsupdates konnte nicht gelesen werden: {{detail}}",
|
|
"app.data_root.backend.error.read_source_failed": "Quelldaten konnten nicht gelesen werden ({{entry}}): {{detail}}",
|
|
"app.data_root.backend.error.read_source_root_failed": "Quell-Datenverzeichnis konnte nicht gelesen werden: {{detail}}",
|
|
"app.data_root.backend.error.resolve_source_failed": "Quell-Datenverzeichnis konnte nicht aufgelöst werden: {{detail}}",
|
|
"app.data_root.backend.error.resolve_target_failed": "Ziel-Datenverzeichnis konnte nicht aufgelöst werden: {{detail}}",
|
|
"app.data_root.backend.error.target_inside_source": "Das Ziel-Datenverzeichnis darf nicht innerhalb des Quellverzeichnisses liegen",
|
|
"app.data_root.backend.error.write_migrated_security_update_manifest_failed": "Migriertes Manifest der Sicherheitsupdate-Sicherung konnte nicht geschrieben werden: {{detail}}",
|
|
"app.data_root.backend.error.write_migrated_security_update_result_failed": "Migriertes Ergebnis des Sicherheitsupdates konnte nicht geschrieben werden: {{detail}}",
|
|
"app.data_root.backend.error.write_migrated_security_update_state_failed": "Migrierter Status des Sicherheitsupdates konnte nicht geschrieben werden: {{detail}}",
|
|
"app.data_root.backend.message.migrated_restart": "Daten wurden migriert und auf das neue Verzeichnis umgestellt. Starten Sie die App neu, um alle Module vollständig umzustellen.",
|
|
"app.data_root.backend.message.opened": "Datenverzeichnis wurde geöffnet",
|
|
"app.data_root.backend.message.unchanged": "Datenverzeichnis ist unverändert",
|
|
"app.data_root.backend.message.updated_restart": "Datenverzeichnis wurde aktualisiert. Starten Sie die App neu, damit AI und andere laufende Module vollständig auf das neue Verzeichnis wechseln.",
|
|
"app.data_root.current_directory": "Aktuelles Verzeichnis",
|
|
"app.data_root.default_directory": "Standardverzeichnis",
|
|
"app.data_root.description": "Verwaltet das Stammverzeichnis für dateibasierte Daten wie Verbindungen, Proxy, AI-Einstellungen und Treiber.",
|
|
"app.data_root.driver_directory": "Treiberverzeichnis",
|
|
"app.data_root.message.apply_failed": "Datenverzeichnis konnte nicht angewendet werden",
|
|
"app.data_root.message.apply_failed_with_error": "Datenverzeichnis konnte nicht angewendet werden: {{error}}",
|
|
"app.data_root.message.load_failed": "Datenverzeichnisinformationen konnten nicht geladen werden",
|
|
"app.data_root.message.load_failed_with_error": "Datenverzeichnisinformationen konnten nicht geladen werden: {{error}}",
|
|
"app.data_root.message.open_failed": "Datenverzeichnis konnte nicht geöffnet werden",
|
|
"app.data_root.message.open_failed_with_error": "Datenverzeichnis konnte nicht geöffnet werden: {{error}}",
|
|
"app.data_root.message.select_failed": "Datenverzeichnis konnte nicht ausgewählt werden",
|
|
"app.data_root.message.select_failed_with_error": "Datenverzeichnis konnte nicht ausgewählt werden: {{error}}",
|
|
"app.data_root.message.select_valid_first": "Wählen Sie zuerst ein gültiges Datenverzeichnis aus",
|
|
"app.data_root.message.updated": "Datenverzeichnis wurde aktualisiert",
|
|
"app.data_root.placeholder.select_new_directory": "Neues Datenverzeichnis auswählen",
|
|
"app.data_root.restart_hint": "Nach dem Wechsel wird ein Neustart der App empfohlen, damit AI und andere langlebige Module vollständig in das neue Verzeichnis wechseln. Sensible Passwörter bleiben im secret store des Systems und werden nicht mit Dateiverzeichnissen migriert.",
|
|
"app.data_root.switch_target": "Wechselziel",
|
|
"app.data_root.title": "Datenspeicherort",
|
|
"app.linux_cjk_font_banner.action.open_font_settings": "Schrifteinstellungen",
|
|
"app.linux_cjk_font_banner.description": "Chinesischer Text kann als Kästchen für fehlende Glyphen erscheinen. Installieren Sie die Schriften und starten Sie GoNavi danach neu: ",
|
|
"app.linux_cjk_font_banner.title": "Linux-CJK-Schriften fehlen",
|
|
"app.proxy.description": "Konfiguriert Updateprüfungen, Treiberverwaltung und den Netzwerkzugang für Verbindungen ohne separaten Proxy.",
|
|
"app.proxy.enable": "Globalen Proxy aktivieren",
|
|
"app.proxy.host": "Proxy-Host",
|
|
"app.proxy.host_placeholder": "Beispiel: 127.0.0.1",
|
|
"app.proxy.message.config_applied": "Die globale Proxy-Konfiguration wurde angewendet",
|
|
"app.proxy.message.invalid_enabled": "Der globale Proxy ist aktiviert, aber Host oder Port sind ungültig. Er wird derzeit als deaktiviert behandelt.",
|
|
"app.proxy.message.save_failed": "Globale Proxy-Konfiguration fehlgeschlagen: {{error}}",
|
|
"app.proxy.password_optional": "Passwort (optional)",
|
|
"app.proxy.port": "Port",
|
|
"app.proxy.scope_hint": "* Gilt für Updateprüfungen, Netzwerkanfragen der Treiberverwaltung und Datenbankverbindungen ohne separat konfigurierten Proxy",
|
|
"app.proxy.section_title": "Globaler Proxy",
|
|
"app.proxy.title": "Globale Proxy-Einstellungen",
|
|
"app.proxy.type": "Proxy-Typ",
|
|
"app.proxy.username_optional": "Benutzername (optional)",
|
|
"app.security_update.error.capability_unavailable": "Sicherheitsupdate-Funktion ist nicht verfügbar",
|
|
"app.security_update.message.completed": "Gespeicherte Konfigurationen haben das Sicherheitsupdate abgeschlossen",
|
|
"app.security_update.message.needs_attention": "Das Update ist noch nicht abgeschlossen. Einige Konfigurationen erfordern Aufmerksamkeit.",
|
|
"app.security_update.message.not_finished_retry_later": "Das Sicherheitsupdate ist nicht abgeschlossen. Versuchen Sie es später erneut.",
|
|
"app.security_update.message.postpone_failed": "Dieses Sicherheitsupdate kann derzeit nicht verschoben werden",
|
|
"app.security_update.message.rolled_back": "Dieses Update wurde nicht abgeschlossen. Das System hat die aktuell nutzbare Konfiguration beibehalten.",
|
|
"app.security_update.stage.checking_saved_config": "Gespeicherte Konfigurationen werden geprüft",
|
|
"app.security_update.stage.updating_secure_storage": "Sicherer Speicher wird aktualisiert",
|
|
"app.security_update.stage.verifying_result": "Updateergebnis wird geprüft",
|
|
"app.settings.description": "Verwaltet allgemeine Einstellungen wie Sprache, Proxy, Theme, AI und Informationen.",
|
|
"app.settings.entry.about.description": "Versionsinformationen, Repository-Links und Updatestatus anzeigen.",
|
|
"app.settings.entry.about.title": "Über GoNavi",
|
|
"app.settings.entry.ai.description": "Modellanbieter, Schlüssel und Standardverhalten verwalten.",
|
|
"app.settings.entry.ai.title": "AI-Einstellungen",
|
|
"app.settings.entry.proxy.description": "Updateprüfungen, Treiberverwaltung und gemeinsamen Netzwerkzugang konfigurieren.",
|
|
"app.settings.entry.proxy.title": "Globaler Proxy",
|
|
"app.settings.entry.theme.description": "Helles oder dunkles Theme wechseln und die Oberfläche anpassen.",
|
|
"app.settings.entry.theme.title": "Theme und Darstellung",
|
|
"app.settings.title": "Einstellungscenter",
|
|
"app.shortcuts.action.diagnoseQuery.description": "EXPLAIN für die aktuelle SQL ausführen und Ausführungsplan mit Indexvorschlägen anzeigen",
|
|
"app.shortcuts.action.diagnoseQuery.label": "SQL-Diagnose",
|
|
"app.shortcuts.action.focusSidebarSearch.description": "Fokussiert das Suchfeld der linken Verbindungsstruktur",
|
|
"app.shortcuts.action.focusSidebarSearch.label": "Sidebar-Suche fokussieren",
|
|
"app.shortcuts.action.newConnection.description": "Neue Datenbank-, Runtime- oder andere Datenquellenverbindung erstellen",
|
|
"app.shortcuts.action.newConnection.label": "Neue Datenquelle",
|
|
"app.shortcuts.action.newQueryTab.description": "Erstellt einen neuen SQL-Abfrage-Tab",
|
|
"app.shortcuts.action.newQueryTab.label": "Neuer Abfrage-Tab",
|
|
"app.shortcuts.action.openShortcutManager.description": "Öffnet das Panel für Tastenkürzel-Einstellungen",
|
|
"app.shortcuts.action.openShortcutManager.label": "Tastenkürzelverwaltung öffnen",
|
|
"app.shortcuts.action.record": "Aufzeichnen",
|
|
"app.shortcuts.action.resetWindowZoom.description": "Manuell auslösen, wenn die Schrift nach dem Wiederherstellen aus der Windows-Taskleiste ungewöhnlich groß wird; wechselt einmal den maximierten Zustand, damit WebView2 die Schriftmetriken neu berechnet",
|
|
"app.shortcuts.action.resetWindowZoom.label": "Fensterzoom zurücksetzen",
|
|
"app.shortcuts.action.restore_defaults": "Standardwerte wiederherstellen",
|
|
"app.shortcuts.action.runQuery.description": "SQL auf der aktuellen Abfrageseite ausführen",
|
|
"app.shortcuts.action.runQuery.label": "SQL ausführen",
|
|
"app.shortcuts.action.saveQuery.description": "Aktuellen Abfrage-Tab speichern; unbenannte Abfragen öffnen den Speicherdialog",
|
|
"app.shortcuts.action.saveQuery.label": "Abfrage speichern",
|
|
"app.shortcuts.action.selectCurrentStatement.description": "SQL-Anweisung an der Cursorposition im Abfrageeditor auswählen",
|
|
"app.shortcuts.action.selectCurrentStatement.label": "Aktuelle Anweisung auswählen",
|
|
"app.shortcuts.action.sendAIChatMessage.description": "Aktuelle Nachricht im AI-Eingabefeld senden; Shift+Enter fügt immer einen Zeilenumbruch ein",
|
|
"app.shortcuts.action.sendAIChatMessage.label": "AI-Chat senden",
|
|
"app.shortcuts.action.showSlowQueries.description": "Verlauf langsamer SQL-Abfragen für die aktuelle Verbindung anzeigen (Standard-Schwellwert 500ms)",
|
|
"app.shortcuts.action.showSlowQueries.label": "Langsame SQL-Historie",
|
|
"app.shortcuts.action.switchToNextTab.description": "In geöffneten Tabs nach rechts wechseln",
|
|
"app.shortcuts.action.switchToNextTab.label": "Zum nächsten Tab wechseln",
|
|
"app.shortcuts.action.switchToPreviousTab.description": "In geöffneten Tabs nach links wechseln",
|
|
"app.shortcuts.action.switchToPreviousTab.label": "Zum vorherigen Tab wechseln",
|
|
"app.shortcuts.action.toggleAIPanel.description": "Rechtes Panel für AI-Dateneinblicke öffnen",
|
|
"app.shortcuts.action.toggleAIPanel.label": "AI-Dateneinblicke öffnen",
|
|
"app.shortcuts.action.toggleLogPanel.description": "SQL-Ausführungslog öffnen oder schließen",
|
|
"app.shortcuts.action.toggleLogPanel.label": "Logbereich umschalten",
|
|
"app.shortcuts.action.toggleMacFullscreen.description": "Nativer Vollbildwechsel im macOS-Modus für native Fenstersteuerung",
|
|
"app.shortcuts.action.toggleMacFullscreen.label": "Nativen Vollbildmodus umschalten",
|
|
"app.shortcuts.action.toggleQueryResultsPanel.description": "Ergebnisbereich unter dem Abfrageeditor ein- oder ausblenden",
|
|
"app.shortcuts.action.toggleQueryResultsPanel.label": "Ergebnisbereich umschalten",
|
|
"app.shortcuts.action.toggleTheme.description": "Zwischen hellem und dunklem Theme wechseln",
|
|
"app.shortcuts.action.toggleTheme.label": "Theme umschalten",
|
|
"app.shortcuts.capture_hint": "Drücken Sie das Tastenkürzel, nachdem Sie auf \"Aufzeichnen\" geklickt haben. Mit Esc brechen Sie die Aufzeichnung ab. Globale Tastenkürzel sollten eine Modifikatortaste enthalten; AI-Chat-Senden unterstützt nur Enter-Kombinationen, Shift+Enter bleibt ein Zeilenumbruch.",
|
|
"app.shortcuts.capture_waiting": "Tastenkürzel drücken...",
|
|
"app.shortcuts.context.datagrid": "Datentabelle",
|
|
"app.shortcuts.context.global": "Browser",
|
|
"app.shortcuts.context.monaco": "Editor",
|
|
"app.shortcuts.description": "Häufige globale Tastenkürzel an einem Ort anzeigen, aufzeichnen und aktivieren.",
|
|
"app.shortcuts.message.ai_send_limit": "Das Tastenkürzel zum Senden im AI-Chat unterstützt nur Enter / Ctrl+Enter / Cmd+Enter / Alt+Enter; Shift+Enter bleibt ein Zeilenumbruch",
|
|
"app.shortcuts.message.conflict": "Konflikt mit \"{{action}}\". Wählen Sie ein anderes Tastenkürzel.",
|
|
"app.shortcuts.message.modifier_required": "Das Tastenkürzel muss mindestens eine der Tasten Ctrl / Alt / Shift / Meta enthalten",
|
|
"app.shortcuts.message.reserved_conflict_info": "Überschreibt das Standard-Tastenkürzel des Editors \"{{labels}}\"",
|
|
"app.shortcuts.message.reserved_conflict_warning": "Konflikt mit {{contexts}} \"{{labels}}\"; funktioniert möglicherweise nicht",
|
|
"app.shortcuts.message.restored_defaults": "Standard-Tastenkürzel wurden wiederhergestellt",
|
|
"app.shortcuts.reserved.browser_close_tab": "Browser Tab schließen",
|
|
"app.shortcuts.reserved.browser_new_incognito_window": "Browser neues Inkognito-Fenster",
|
|
"app.shortcuts.reserved.browser_new_tab": "Browser neuer Tab",
|
|
"app.shortcuts.reserved.browser_new_window": "Browser neues Fenster",
|
|
"app.shortcuts.reserved.browser_print": "Browser Drucken",
|
|
"app.shortcuts.reserved.browser_save": "Browser Speichern",
|
|
"app.shortcuts.reserved.datagrid_copy": "Datentabelle kopieren",
|
|
"app.shortcuts.reserved.editor_add_selection": "Editor Auswahl hinzufügen",
|
|
"app.shortcuts.reserved.editor_delete_line": "Editor Zeile löschen",
|
|
"app.shortcuts.reserved.editor_find": "Editor Suchen",
|
|
"app.shortcuts.reserved.editor_find_global": "Editor globale Suche",
|
|
"app.shortcuts.reserved.editor_goto_line": "Editor Gehe zu Zeile",
|
|
"app.shortcuts.reserved.editor_insert_line_after": "Editor Zeile darunter einfügen",
|
|
"app.shortcuts.reserved.editor_insert_line_before": "Editor Zeile darüber einfügen",
|
|
"app.shortcuts.reserved.editor_quick_open": "Editor Schnell öffnen",
|
|
"app.shortcuts.reserved.editor_rename_symbol": "Editor Symbol umbenennen",
|
|
"app.shortcuts.reserved.editor_replace": "Editor Ersetzen",
|
|
"app.shortcuts.title": "Tastenkürzelverwaltung",
|
|
"app.sidebar.ai_assistant": "AI-Assistent",
|
|
"app.sidebar.resize_width": "Ziehen, um die Breite zu ändern",
|
|
"app.sidebar.settings": "Einstellungen",
|
|
"app.sidebar.sql_execution_log": "SQL-Ausführungslog",
|
|
"app.sidebar.tools": "Tools",
|
|
"app.startup_readiness.loading_local_config": "Lokale Konfiguration wird geladen...",
|
|
"app.startup_readiness.loading_security_config": "Sicherheitskonfiguration wird geladen...",
|
|
"app.theme.action.restore_defaults": "Standardwerte wiederherstellen",
|
|
"app.theme.appearance_settings_description": "Skalierung, Schriftgröße, Transparenz und Weichzeichnung zentral anpassen.",
|
|
"app.theme.appearance_settings_title": "Darstellungseinstellungen",
|
|
"app.theme.appearance.blur_hint": "* Steuert nur die Unschärfe von Overlay-Ebenen innerhalb der App",
|
|
"app.theme.appearance.blur_title": "Gaußsche Weichzeichnung (Blur)",
|
|
"app.theme.appearance.enable_transparency_blur": "Transparenz und Weichzeichnung aktivieren",
|
|
"app.theme.appearance.enable_transparency_blur_hint": "Bei Deaktivierung bleiben die aktuellen Schwellenwerte erhalten und werden beim erneuten Aktivieren direkt wiederhergestellt.",
|
|
"app.theme.appearance.font_size_title": "Basisschriftgröße (Font Size)",
|
|
"app.theme.appearance.opacity_title": "Hintergrunddeckkraft (Opacity)",
|
|
"app.theme.appearance.transparency_blur_title": "Transparenz- und Weichzeichnungseffekte",
|
|
"app.theme.appearance.ui_scale_hint": "* Für kleine Bildschirme werden 85%-95% empfohlen",
|
|
"app.theme.appearance.ui_scale_title": "UI-Skalierung (UI Scale)",
|
|
"app.theme.appearance.windows_acrylic_hint": "Windows verwendet den systemeigenen Acrylic-Effekt. Die Unschärfestärke wird vom System gesteuert.",
|
|
"app.theme.data_table.column_width_hint": "Der Standardmodus nutzt 200px, der kompakte Modus 140px als Standardspaltenbreite. Manuell angepasste Spaltenbreiten bleiben vorrangig erhalten.",
|
|
"app.theme.data_table.column_width_mode": "Spaltenbreitenmodus der Datentabelle",
|
|
"app.theme.data_table.column_width_mode.compact": "Kompakt 140px",
|
|
"app.theme.data_table.column_width_mode.standard": "Standard 200px",
|
|
"app.theme.data_table.density": "Tabellendichte",
|
|
"app.theme.data_table.density_hint": "Steuert Zeilenhöhe, Spaltenbreite und Innenabstand. Komfortabel eignet sich für große Bildschirme; kompakt maximiert die Informationsdichte. Manuell gezogene Spaltenbreiten bleiben vorrangig erhalten.",
|
|
"app.theme.data_table.density.comfortable": "Komfortabel",
|
|
"app.theme.data_table.density.compact": "Kompakt",
|
|
"app.theme.data_table.density.standard": "Standard",
|
|
"app.theme.data_table.follow_global": "Global folgen",
|
|
"app.theme.data_table.font_size": "Schriftgröße der Datentabelle",
|
|
"app.theme.data_table.sidebar_tree_font_size": "Schriftgröße des linken Schemasbaums",
|
|
"app.theme.data_table.title": "Datentabellenanzeige",
|
|
"app.theme.data_table.vertical_borders": "Vertikale Trennlinien der Datentabelle anzeigen",
|
|
"app.theme.data_table.vertical_borders_hint": "Wirkt nur auf DataGrid auf Datentabellenseiten und nicht auf andere Tabellenkomponenten.",
|
|
"app.theme.font_family.default_mono_option": "Standard-Code-Schrift",
|
|
"app.theme.font_family.default_ui_option": "Standard-UI-Schrift",
|
|
"app.theme.font_family.linux_cjk_install_prefix": "Ubuntu/Linux hat keine chinesischen CJK-Schriften erkannt; die Oberfläche kann fehlende Glyphen als Kästchen anzeigen. Installieren Sie: ",
|
|
"app.theme.font_family.linux_cjk_install_suffix": ", und starten Sie GoNavi danach neu.",
|
|
"app.theme.font_family.load_failed": "Systemschriften konnten nicht geladen werden",
|
|
"app.theme.font_family.load_failed_fallback": "Systemschriften konnten nicht geladen werden. Häufige Schriftvorgaben werden verwendet: {{error}}",
|
|
"app.theme.font_family.loaded_ui_hint": "{{count}} Schriftfamilien wurden auf diesem System gelesen. Tippen Sie zum Suchen. Leeren setzt auf die Standard-UI-Schrift zurück.",
|
|
"app.theme.font_family.loading_ui_hint": "Installierte Schriften des aktuellen Systems werden in Echtzeit geladen. Tippen Sie zum Suchen. Leeren setzt auf die Standard-UI-Schrift zurück.",
|
|
"app.theme.font_family.mono_fallback_hint": "Häufige Code-Schriftvorgaben werden verwendet. Gilt für Monospace-Inhalte wie SQL-Editor, AI-Codeblöcke, Logs, DDL und Datentabellen.",
|
|
"app.theme.font_family.mono_hint": "Installierte Systemschriften werden zuerst angezeigt; Namen nahe Mono/Code/Console werden höher eingestuft. Gilt für Monospace-Inhalte wie SQL-Editor, AI-Codeblöcke, Logs, DDL und Datentabellen.",
|
|
"app.theme.font_family.mono_title": "Monospace-Schriftfamilie",
|
|
"app.theme.font_family.title": "Schriftfamilie",
|
|
"app.theme.font_family.ui_title": "UI-Schriftfamilie",
|
|
"app.theme.mac_window.restart_hint": "* Benutzerdefinierte Schaltflächen oben rechts werden ausgeblendet. Falls der Systemfensterstil nicht sofort aktualisiert wird, starten Sie die App neu.",
|
|
"app.theme.mac_window.title": "macOS-Fenstersteuerung",
|
|
"app.theme.mac_window.use_native_controls": "Native macOS-Fenstersteuerung verwenden",
|
|
"app.theme.mac_window.use_native_controls_hint": "Zeigt die roten/gelben/grünen Schaltflächen oben links und priorisiert natives macOS-Vollbildverhalten.",
|
|
"app.theme.mode_title": "Theme-Modus",
|
|
"app.theme.mode.dark.description": "Geeignet für dunkle Umgebungen mit ruhigerer visueller Wirkung.",
|
|
"app.theme.mode.dark.label": "Dunkles Theme",
|
|
"app.theme.mode.light.description": "Geeignet für helle Umgebungen mit leichterer visueller Hierarchie.",
|
|
"app.theme.mode.light.label": "Helles Theme",
|
|
"app.theme.nav.appearance.description": "Skalierung, Schrift und Transparenz",
|
|
"app.theme.nav.appearance.title": "Darstellungsparameter",
|
|
"app.theme.nav.theme.description": "Wechsel zwischen hell und dunkel",
|
|
"app.theme.nav.theme.title": "Theme-Modus",
|
|
"app.theme.navigation_title": "Einstellungsnavigation",
|
|
"app.theme.startup_window.fullscreen": "Beim Start im Vollbild öffnen",
|
|
"app.theme.startup_window.fullscreen_windows": "Beim Start im Vollbild öffnen (Windows behandelt dies als Maximieren)",
|
|
"app.theme.startup_window.hint": "* Wird beim nächsten Start wirksam",
|
|
"app.theme.startup_window.title": "Startfenster",
|
|
"app.theme.startup_window.windows_hint": "* Unter Windows wird diese Option als \"beim Start maximieren\" behandelt und beim nächsten Start wirksam",
|
|
"app.theme.tab_display.action.move_down": "Nach unten",
|
|
"app.theme.tab_display.action.move_up": "Nach oben",
|
|
"app.theme.tab_display.badge.current": "Aktuell",
|
|
"app.theme.tab_display.description": "Passe die Anzeigereihenfolge von Verbindungsname, Objekttyp, Objektname, Datenbank, Schema und Host/IP an. Im zweizeiligen Modus kann Kontext in die Nebenzeile gelegt werden.",
|
|
"app.theme.tab_display.element.connection.description": "Verbindungsalias oder Umgebungsname, zum Beispiel DEV",
|
|
"app.theme.tab_display.element.connection.label": "Verbindung",
|
|
"app.theme.tab_display.element.database.description": "Aktueller DB- / catalog-Name",
|
|
"app.theme.tab_display.element.database.label": "Datenbank",
|
|
"app.theme.tab_display.element.host.description": "Zusammenfassung der Zieladresse der Verbindung",
|
|
"app.theme.tab_display.element.host.label": "Host/IP",
|
|
"app.theme.tab_display.element.kind.description": "Typkennzeichen wie SQL / TABLE / VIEW",
|
|
"app.theme.tab_display.element.kind.label": "Objekttyp",
|
|
"app.theme.tab_display.element.object.description": "Kernnamen wie Tabellen-, Abfrage- oder Ressourcennamen",
|
|
"app.theme.tab_display.element.object.label": "Objektname",
|
|
"app.theme.tab_display.element.schema.description": "schema / owner-Präfix",
|
|
"app.theme.tab_display.element.schema.label": "Schema",
|
|
"app.theme.tab_display.layout.double": "Zweizeilig",
|
|
"app.theme.tab_display.layout.single": "Einzeilig",
|
|
"app.theme.tab_display.preview.default_label": "Standardbeschriftung",
|
|
"app.theme.tab_display.preview.focused": "; aktuell ausgewählt {{label}}",
|
|
"app.theme.tab_display.preview.prefix": "Aktuelle Vorschau: ",
|
|
"app.theme.tab_display.preview.secondary": ", Nebenzeile {{labels}}",
|
|
"app.theme.tab_display.row.primary": "Hauptzeile",
|
|
"app.theme.tab_display.row.secondary": "Nebenzeile",
|
|
"app.theme.tab_display.title": "Tab-Beschriftung",
|
|
"app.theme.theme_settings_description": "Helle und dunkle Themes wechseln und einen einheitlichen visuellen Stil beibehalten.",
|
|
"app.theme.theme_settings_title": "Theme-Einstellungen",
|
|
"app.theme.ui_version.badge.new": "NEW",
|
|
"app.theme.ui_version.beta_warning": "Die neue UI ist noch in Beta. Einige Bildschirmstile können von der alten UI abweichen; bei Problemen können Sie jederzeit zurückwechseln.",
|
|
"app.theme.ui_version.description": "Wechseln Sie das gesamte Erscheinungsbild, während alle Funktionen erhalten bleiben. Die neue Version nutzt eine kompaktere Informationshierarchie und eine modernere visuelle Sprache.",
|
|
"app.theme.ui_version.legacy.badge": "Standard",
|
|
"app.theme.ui_version.legacy.description": "Die aktuelle stabile Oberfläche, in der alle Funktionen vollständig verfügbar sind.",
|
|
"app.theme.ui_version.legacy.label": "Alte UI",
|
|
"app.theme.ui_version.platform_hint": "Windows, macOS und Linux können alle wechseln. Änderungen werden sofort wirksam; einige Modals verwenden den neuen Stil beim nächsten Öffnen.",
|
|
"app.theme.ui_version.sidebar_search.command": "Neue Befehlssuche",
|
|
"app.theme.ui_version.sidebar_search.filter": "Alter Seitenleistenfilter",
|
|
"app.theme.ui_version.sidebar_search.hint": "Die neue Befehlssuche eignet sich zum Wechseln zu Verbindungen, Tabellen und Aktionen. Aktivieren Sie die Synchronisierung im Panel, um den linken Baum fortlaufend zu filtern; der alte Seitenleistenfilter zeigt das Eingabefeld direkt an und behält den Filtertext bei.",
|
|
"app.theme.ui_version.sidebar_search.title": "Neuer Suchmodus der linken Seitenleiste",
|
|
"app.theme.ui_version.title": "Oberflächenversion",
|
|
"app.theme.ui_version.v2.badge": "Beta",
|
|
"app.theme.ui_version.v2.description": "Eine neu gestaltete kompakte Oberfläche mit stärkerem AI-Einstieg und Tabellenübersicht.",
|
|
"app.theme.ui_version.v2.label": "Neue UI",
|
|
"app.tools.description": "Verbindungskonfiguration, Synchronisierung, Treiber und Tastenkürzel zentral verwalten.",
|
|
"app.tools.entry.data_compare.description": "Analysiert eingefügte, aktualisierte, gelöschte und unveränderte Zeilen anhand des Primärschlüssels.",
|
|
"app.tools.entry.data_compare.title": "Datenvergleich",
|
|
"app.tools.entry.data_root.description": "Lokalen Datenspeicherort anzeigen, wechseln oder migrieren.",
|
|
"app.tools.entry.data_root.title": "Datenverzeichnis",
|
|
"app.tools.entry.drivers.description": "Datenbanktreiber installieren, aktualisieren oder entfernen.",
|
|
"app.tools.entry.drivers.title": "Treiberverwaltung",
|
|
"app.tools.entry.export.description": "Aktuelle Verbindungen und sichtbare Konfigurationsfelder exportieren.",
|
|
"app.tools.entry.export.title": "Verbindungskonfiguration exportieren",
|
|
"app.tools.entry.import.description": "Verbindungsliste aus einer lokalen Datei wiederherstellen.",
|
|
"app.tools.entry.import.title": "Verbindungskonfiguration importieren",
|
|
"app.tools.entry.schema_compare.description": "Vergleicht Strukturunterschiede zwischen Quell- und Zieltabellen, nur als Vorschau ohne Ausführung.",
|
|
"app.tools.entry.schema_compare.title": "Schemavergleich",
|
|
"app.tools.entry.security_update.description": "Sicherheitsupdate-Status gespeicherter Konfigurationen anzeigen.",
|
|
"app.tools.entry.security_update.status_description": "Aktueller Status: {{status}}",
|
|
"app.tools.entry.security_update.title": "Sicherheitsupdate",
|
|
"app.tools.entry.shortcuts.description": "Globale Tastenkürzelbindungen anzeigen und anpassen.",
|
|
"app.tools.entry.shortcuts.title": "Tastenkürzelverwaltung",
|
|
"app.tools.entry.snippets.description": "SQL-Code-Snippets und Präfixvervollständigung verwalten.",
|
|
"app.tools.entry.snippets.title": "Code-Snippet-Verwaltung",
|
|
"app.tools.entry.sync.description": "Workflow für quellenübergreifende Synchronisierung öffnen.",
|
|
"app.tools.entry.sync.title": "Datensynchronisierung",
|
|
"app.tools.group.config.description": "Import/Export, Datenverzeichnis und Pflege gespeicherter Konfigurationen.",
|
|
"app.tools.group.config.title": "Verbindungen und Konfiguration",
|
|
"app.tools.group.workflow.description": "Struktur vergleichen, Unterschiede prüfen und Synchronisierung starten.",
|
|
"app.tools.group.workflow.title": "Daten-Workflows",
|
|
"app.tools.group.workspace.description": "Treiber, Code-Snippets und globale Tastenkürzel.",
|
|
"app.tools.group.workspace.title": "Editor und Treiber",
|
|
"app.tools.title": "Toolcenter",
|
|
"app.update.action.hide_to_background": "In den Hintergrund ausblenden",
|
|
"app.update.action.install_update": "Update installieren",
|
|
"app.update.action.open_install_directory": "Installationsverzeichnis öffnen",
|
|
"app.update.backend.error.check_failed": "Updateprüfung fehlgeschlagen: {{detail}}",
|
|
"app.update.backend.error.check_http_status": "Updateprüfung fehlgeschlagen: HTTP {{status}}",
|
|
"app.update.backend.error.download_failed": "Updatedownload fehlgeschlagen: {{detail}}",
|
|
"app.update.backend.error.install_unsupported": "Updateinstallation wird auf dieser Plattform nicht unterstützt: {{platform}}",
|
|
"app.update.backend.error.latest_version_unparseable": "Neueste Versionsnummer konnte nicht gelesen werden",
|
|
"app.update.backend.error.online_update_unsupported": "Online-Update wird auf dieser Plattform nicht unterstützt: {{platform}}",
|
|
"app.update.backend.error.package_download_http_failed": "Updatepaket konnte nicht heruntergeladen werden: HTTP {{status}}",
|
|
"app.update.backend.error.package_file_busy": "Updatedownload fehlgeschlagen, weil die Datei belegt ist: {{detail}}",
|
|
"app.update.backend.error.release_version_unparseable": "Release-Version konnte nicht gelesen werden",
|
|
"app.update.backend.error.sha256_missing_current_package": "SHA256SUMS enthält kein Updatepaket für die aktuelle Plattform",
|
|
"app.update.backend.error.sha256sums_download_failed": "SHA256SUMS konnte nicht heruntergeladen werden: HTTP {{status}}",
|
|
"app.update.backend.error.sha256sums_missing": "Release stellt keine SHA256SUMS bereit",
|
|
"app.update.backend.error.update_package_not_found": "Updatepaket nicht gefunden: {{name}}",
|
|
"app.update.backend.message.app_directory_unavailable": "Auf das App-Verzeichnis kann nicht zugegriffen werden: {{path}}",
|
|
"app.update.backend.message.app_directory_unresolved_download": "Das aktuelle App-Verzeichnis kann nicht bestimmt werden, daher kann das Update nicht heruntergeladen werden",
|
|
"app.update.backend.message.check_first": "Prüfen Sie zuerst auf Updates",
|
|
"app.update.backend.message.checksum_failed": "Prüfsumme des Updatepakets ist fehlgeschlagen. Versuchen Sie es erneut.",
|
|
"app.update.backend.message.checksum_missing": "Prüfsumme des Updatepakets fehlt (SHA256SUMS)",
|
|
"app.update.backend.message.create_workspace_failed": "Update-Arbeitsverzeichnis konnte im App-Verzeichnis nicht erstellt werden: {{path}}",
|
|
"app.update.backend.message.download_in_progress": "Updatepaket wird heruntergeladen. Versuchen Sie es später erneut.",
|
|
"app.update.backend.message.install_launch_failed": "Update-Installer konnte nicht gestartet werden: {{detail}}",
|
|
"app.update.backend.message.install_launch_failed_with_log": "Update-Installer konnte nicht gestartet werden: {{detail}} (Updateprotokoll: {{path}})",
|
|
"app.update.backend.message.install_started": "Updateinstallation wurde gestartet",
|
|
"app.update.backend.message.install_started_with_log": "Updateinstallation wurde gestartet. Protokollpfad: {{path}}",
|
|
"app.update.backend.message.latest": "Bereits auf der neuesten Version",
|
|
"app.update.backend.message.no_downloaded_package": "Kein heruntergeladenes Updatepaket gefunden",
|
|
"app.update.backend.message.no_update_package": "Kein Updatepaket verfügbar",
|
|
"app.update.backend.message.open_directory_failed": "Updateverzeichnis konnte nicht geöffnet werden: {{detail}}",
|
|
"app.update.backend.message.open_directory_unsupported": "Öffnen von Verzeichnissen wird auf dieser Plattform nicht unterstützt: {{platform}}",
|
|
"app.update.backend.message.opened_install_directory": "Installationsverzeichnis geöffnet: {{path}}",
|
|
"app.update.backend.message.package_already_downloaded": "Updatepaket wurde bereits heruntergeladen",
|
|
"app.update.backend.message.package_directory_unavailable": "Updateverzeichnis ist nicht vorhanden oder nicht zugänglich",
|
|
"app.update.backend.message.package_directory_unresolved": "Updateverzeichnis konnte nicht aufgelöst werden",
|
|
"app.update.backend.message.package_downloaded": "Updatepaket heruntergeladen",
|
|
"app.update.backend.message.package_path_empty": "Pfad des Updatepakets ist leer",
|
|
"app.update.backend.message.update_found": "Neue Version gefunden: {{version}}",
|
|
"app.update.download_title": "Update herunterladen",
|
|
"app.update.download_title_with_version": "Update herunterladen {{version}}",
|
|
"app.update.message.check_failed": "Updateprüfung fehlgeschlagen: {{error}}",
|
|
"app.update.message.download_completed": "Updatedownload abgeschlossen",
|
|
"app.update.message.download_completed_with_path": "Updatedownload abgeschlossen. Paketpfad: {{path}}",
|
|
"app.update.message.download_failed": "Updatedownload fehlgeschlagen: {{error}}",
|
|
"app.update.message.install_failed": "Updateinstallation fehlgeschlagen: {{error}}",
|
|
"app.update.message.open_install_directory_failed": "Installationsverzeichnis konnte nicht geöffnet werden: {{error}}",
|
|
"app.update.message.opened_install_directory": "Installationsverzeichnis wurde geöffnet. Bitte schließen Sie den Austausch manuell ab.",
|
|
"app.update.message.package_ready": "Updatepaket ist bereit ({{version}})",
|
|
"app.update.message.package_ready_with_path": "Updatepaket ist bereit ({{version}}), Pfad: {{path}}",
|
|
"app.update.message.update_found": "Neue Version gefunden: {{version}}",
|
|
"app.update.status.available_downloaded": "Neue Version {{version}} gefunden (heruntergeladen; klicken Sie zum Installieren auf \"Downloadfortschritt\")",
|
|
"app.update.status.available_not_downloaded": "Neue Version {{version}} gefunden (nicht heruntergeladen)",
|
|
"app.update.status.check_failed": "Updateprüfung fehlgeschlagen: {{error}}",
|
|
"app.update.status.checking": "Suche nach Updates...",
|
|
"app.update.status.latest": "Bereits auf der neuesten Version ({{version}})",
|
|
"app.update.status.not_checked": "Nicht geprüft",
|
|
"app.window_zoom.message.fullscreen_exit_first": "Der Zoom kann im Vollbildmodus nicht zurückgesetzt werden. Beenden Sie zuerst den Vollbildmodus.",
|
|
"app.window_zoom.message.reset_failed": "Fensterzoom konnte nicht zurückgesetzt werden",
|
|
"app.window_zoom.message.reset_success": "Fensterzoom wurde zurückgesetzt",
|
|
"app.window_zoom.message.reset_success_fallback": "Fensterzoom wurde zurückgesetzt (Fallback)",
|
|
"app.window_zoom.message.windows_only": "Diese Funktion ist nur unter Windows verfügbar",
|
|
"common.back_to_previous": "Zurück",
|
|
"common.cancel": "Abbrechen",
|
|
"common.close": "Schließen",
|
|
"common.confirm": "Bestätigen",
|
|
"common.continue": "Fortfahren",
|
|
"common.delete": "Löschen",
|
|
"common.edit": "Bearbeiten",
|
|
"common.error": "Fehler",
|
|
"common.loading": "Wird geladen",
|
|
"common.named_item": "{{name}}",
|
|
"common.ok": "OK",
|
|
"common.refresh": "Aktualisieren",
|
|
"common.save": "Speichern",
|
|
"common.search": "Suchen",
|
|
"common.success": "Erfolg",
|
|
"common.unknown": "Unbekannt",
|
|
"common.warning": "Warnung",
|
|
"connection_modal.action.browse": "Durchsuchen...",
|
|
"connection_modal.action.cancel": "Abbrechen",
|
|
"connection_modal.action.close": "Schließen",
|
|
"connection_modal.action.copy_uri": "URI kopieren",
|
|
"connection_modal.action.disable": "Deaktivieren",
|
|
"connection_modal.action.discover_members": "Mitglieder erkennen",
|
|
"connection_modal.action.enable_and_prefer": "Aktivieren und bevorzugen",
|
|
"connection_modal.action.generate_uri": "URI erzeugen",
|
|
"connection_modal.action.open_driver_manager": "Treiberverwaltung öffnen",
|
|
"connection_modal.action.parse_uri": "URI einlesen",
|
|
"connection_modal.action.previous_step": "Zurück",
|
|
"connection_modal.action.reset_default": "Auf Standard zurücksetzen",
|
|
"connection_modal.action.save": "Speichern",
|
|
"connection_modal.action.test": "Verbindung testen",
|
|
"connection_modal.action.view_reason": "Grund anzeigen",
|
|
"connection_modal.appearance.color": "Farbe",
|
|
"connection_modal.appearance.current_icon": "Aktuelles Symbol: {{icon}}",
|
|
"connection_modal.appearance.custom_color": "Benutzerdefinierte Farbe",
|
|
"connection_modal.appearance.icon": "Symbol",
|
|
"connection_modal.appearance.preview": "Vorschau",
|
|
"connection_modal.badge.current": "Aktuell",
|
|
"connection_modal.badge.current_editing": "In Bearbeitung",
|
|
"connection_modal.badge.preferred": "Bevorzugt",
|
|
"connection_modal.config_section.connectionMode.description": "Verbindungsmodus konfigurieren.",
|
|
"connection_modal.config_section.connectionMode.title": "Verbindungsmodus",
|
|
"connection_modal.config_section.credentials.description": "Anmeldedaten konfigurieren.",
|
|
"connection_modal.config_section.credentials.title": "Anmeldedaten",
|
|
"connection_modal.config_section.customDriver.description": "Benutzerdefinierter Treiber konfigurieren.",
|
|
"connection_modal.config_section.customDriver.title": "Benutzerdefinierter Treiber",
|
|
"connection_modal.config_section.customDsn.description": "Benutzerdefinierter DSN konfigurieren.",
|
|
"connection_modal.config_section.customDsn.title": "Benutzerdefinierter DSN",
|
|
"connection_modal.config_section.databaseScope.description": "Datenbankbereich konfigurieren.",
|
|
"connection_modal.config_section.databaseScope.title": "Datenbankbereich",
|
|
"connection_modal.config_section.fileTarget.description": "Dateidatenbank konfigurieren.",
|
|
"connection_modal.config_section.fileTarget.title": "Dateidatenbank",
|
|
"connection_modal.config_section.identity.description": "Identität konfigurieren.",
|
|
"connection_modal.config_section.identity.title": "Identität",
|
|
"connection_modal.config_section.jvmRuntime.description": "JVM-Laufzeit konfigurieren.",
|
|
"connection_modal.config_section.jvmRuntime.title": "JVM-Laufzeit",
|
|
"connection_modal.config_section.mongoDiscovery.description": "MongoDB-Erkennung konfigurieren.",
|
|
"connection_modal.config_section.mongoDiscovery.title": "MongoDB-Erkennung",
|
|
"connection_modal.config_section.mongoPolicy.description": "MongoDB-Richtlinie konfigurieren.",
|
|
"connection_modal.config_section.mongoPolicy.title": "MongoDB-Richtlinie",
|
|
"connection_modal.config_section.replica.description": "Replikatknoten konfigurieren.",
|
|
"connection_modal.config_section.replica.title": "Replikatknoten",
|
|
"connection_modal.config_section.service.description": "Dienst und Datenbank konfigurieren.",
|
|
"connection_modal.config_section.service.title": "Dienst und Datenbank",
|
|
"connection_modal.config_section.target.description": "Zieladresse konfigurieren.",
|
|
"connection_modal.config_section.target.title": "Zieladresse",
|
|
"connection_modal.config_section.uri.description": "Verbindungs-URI eingeben, erzeugen oder einlesen.",
|
|
"connection_modal.config_section.uri.title": "Verbindungs-URI",
|
|
"connection_modal.db_icon_label.custom": "Benutzerdefiniert",
|
|
"connection_modal.db_type_hint.custom": "Mit einem benutzerdefinierten Treiber und DSN verbinden.",
|
|
"connection_modal.db_type_hint.file": "Eine lokale SQLite- oder DuckDB-Datenbankdatei auswählen.",
|
|
"connection_modal.db_type_hint.mongodb": "Mit MongoDB Standalone, Replica Set oder SRV-Adressen verbinden.",
|
|
"connection_modal.db_type_hint.redis": "Mit Redis Standalone oder Redis Cluster verbinden.",
|
|
"connection_modal.db_type_hint.standard": "Host, Port, Authentifizierung und optional eine Datenbank eingeben.",
|
|
"connection_modal.db_type.custom": "Benutzerdefiniert",
|
|
"connection_modal.driver.current": "Aktuell",
|
|
"connection_modal.error.unknown": "Unbekannter Fehler",
|
|
"connection_modal.error.unknown_exception": "Unbekannter Fehler",
|
|
"connection_modal.field.additional_hosts": "Weitere Hosts",
|
|
"connection_modal.field.additional_srv_hosts_optional": "Weitere SRV-Hosts (optional)",
|
|
"connection_modal.field.auth_source": "Authentifizierungsdatenbank (authSource)",
|
|
"connection_modal.field.clickHouseProtocol.auto": "Automatisch",
|
|
"connection_modal.field.cluster_additional_hosts": "Weitere Cluster-Hosts",
|
|
"connection_modal.field.connection_name": "Verbindungsname",
|
|
"connection_modal.field.connection_timeout_seconds": "Verbindungs-Timeout (Sekunden)",
|
|
"connection_modal.field.connection_timeout_seconds_ascii": "Verbindungs-Timeout (Sekunden)",
|
|
"connection_modal.field.default_database_optional": "Standarddatenbank (optional)",
|
|
"connection_modal.field.defaultDatabase.placeholder": "Zum Beispiel: appdb",
|
|
"connection_modal.field.display_databases_optional": "Anzuzeigende Datenbanken (optional)",
|
|
"connection_modal.field.driver_name": "Treibername",
|
|
"connection_modal.field.driver.placeholder": "Zum Beispiel: mysql, postgres",
|
|
"connection_modal.field.dsn": "DSN",
|
|
"connection_modal.field.dsn.placeholder": "Beispiel: user:pass@tcp(localhost:3306)/dbname?charset=utf8",
|
|
"connection_modal.field.file_path_absolute": "Dateipfad (absoluter Pfad)",
|
|
"connection_modal.field.host": "Host",
|
|
"connection_modal.field.host_address": "Hostadresse",
|
|
"connection_modal.field.oceanBaseProtocol.help.connectionAttributes": "Wenn bei einer Oracle-Mandantenverbindung \"Error 1235\" oder ein OBClient-Handshake-Fehler auftritt, können Sie im Feld \"Verbindungsparameter\" mit {{attributes}} die standardmäßig von GoNavi injizierte OBClient-Capability überschreiben.",
|
|
"connection_modal.field.oceanBaseProtocol.help.primary": "Wählen Sie für MySQL-Mandanten MySQL und für Oracle-Mandanten Oracle. GoNavi wählt anhand des Ports automatisch: Für den OB MySQL wire-Port wird die OBClient-Capability-Injektion verwendet (derselbe Pfad wie in Navicat), für den OBProxy Oracle listener-Port Standard-TNS.",
|
|
"connection_modal.field.oceanBaseProtocol.label": "OceanBase-Protokoll",
|
|
"connection_modal.field.password": "Passwort",
|
|
"connection_modal.field.password_optional": "Passwort (optional)",
|
|
"connection_modal.field.port": "Port",
|
|
"connection_modal.field.port_plain": "Port",
|
|
"connection_modal.field.primary_port": "Primärer Port",
|
|
"connection_modal.field.private_key_path_optional": "Pfad zum privaten Schlüssel (optional)",
|
|
"connection_modal.field.proxy_host": "Proxy-Host",
|
|
"connection_modal.field.proxy_password_optional": "Proxy-Passwort (optional)",
|
|
"connection_modal.field.proxy_type": "Proxy-Typ",
|
|
"connection_modal.field.proxy_username_optional": "Proxy-Benutzername (optional)",
|
|
"connection_modal.field.readOnly.checkbox": "Diese Verbindung als Produktionsverbindung markieren und nur Abfragen erlauben",
|
|
"connection_modal.field.readOnly.compatibility": "Wenn alle Optionen ausgewählt sind, entspricht das dem bisherigen Produktionsschutz mit reinen Abfragen.",
|
|
"connection_modal.field.readOnly.help": "Wählen Sie nur die Einschränkungen aus, die Sie für Ergebnisbearbeitung, Strukturänderungen, Skriptausführung sowie Import- oder Synchronisierungsvorgänge benötigen.",
|
|
"connection_modal.field.readOnly.label": "Produktionsschutz",
|
|
"connection_modal.field.readOnly.option.dataEdit.help": "Direkte Bearbeitungen im Ergebnisraster, Massenleerungen und schreibende Nachrichtenaktionen für diese Verbindung blockieren.",
|
|
"connection_modal.field.readOnly.option.dataEdit.label": "Datenbearbeitung einschränken",
|
|
"connection_modal.field.readOnly.option.dataImport.help": "Dateiimport, Massenladen und die Verwendung dieser Verbindung als Synchronisationsziel blockieren.",
|
|
"connection_modal.field.readOnly.option.dataImport.label": "Datenimport einschränken",
|
|
"connection_modal.field.readOnly.option.scriptExecution.help": "Ändernde SQL-Anweisungen und MongoDB-Befehle im SQL-Editor blockieren.",
|
|
"connection_modal.field.readOnly.option.scriptExecution.label": "Skriptausführung einschränken",
|
|
"connection_modal.field.readOnly.option.structureEdit.help": "Erstellen, Umbenennen und Löschen von Objekten blockieren und den Tabellendesigner im Nur-Lese-Modus öffnen.",
|
|
"connection_modal.field.readOnly.option.structureEdit.label": "Strukturänderungen einschränken",
|
|
"connection_modal.field.readOnly.status.disabled": "Keine Einschränkungen",
|
|
"connection_modal.field.readOnly.status.enabledCount": "{{count}} Einschränkungen aktiviert",
|
|
"connection_modal.field.readOnly.summary.empty": "Wenn keine Einschränkung ausgewählt ist, verhält sich diese Verbindung wie eine normale Verbindung.",
|
|
"connection_modal.field.readOnly.summary.selected": "{{count}} Einschränkungen sind aktiviert. Nicht ausgewählte Funktionen verhalten sich weiterhin wie bei einer normalen Verbindung.",
|
|
"connection_modal.field.readOnly.summary.title": "Aktuelle Richtlinie",
|
|
"connection_modal.field.readOnly.tip": "Empfohlen für Produktions-, Standby- und regulierte Datenbanken. Diese Einschränkungen betreffen nur das Verhalten dieser Verbindung in GoNavi und ändern keine serverseitigen Berechtigungen.",
|
|
"connection_modal.field.replica_hosts": "Replica-Hostliste",
|
|
"connection_modal.field.replica_password_optional": "Replica-Passwort (optional)",
|
|
"connection_modal.field.replica_set_optional": "Replica Set (optional)",
|
|
"connection_modal.field.replica_set_password_optional": "Replica-Set-Passwort (optional)",
|
|
"connection_modal.field.replica_set_username_optional": "Replica-Set-Benutzername (optional)",
|
|
"connection_modal.field.replica_username_optional": "Replica-Benutzername (optional)",
|
|
"connection_modal.field.save_password": "Passwort speichern",
|
|
"connection_modal.field.service_name": "Servicename",
|
|
"connection_modal.field.serviceName.placeholder": "Zum Beispiel: ORCLPDB1",
|
|
"connection_modal.field.ssh_host": "SSH-Host",
|
|
"connection_modal.field.ssh_password": "SSH-Passwort",
|
|
"connection_modal.field.ssh_user": "SSH-Benutzer",
|
|
"connection_modal.field.ssl_cert_path": "SSL-Zertifikatspfad",
|
|
"connection_modal.field.ssl_key_path": "SSL-Schlüsselpfad",
|
|
"connection_modal.field.tunnel_host": "HTTP Tunnel-Host",
|
|
"connection_modal.field.tunnel_password_optional": "HTTP Tunnel-Passwort (optional)",
|
|
"connection_modal.field.tunnel_username_optional": "HTTP Tunnel-Benutzername (optional)",
|
|
"connection_modal.field.uri": "URI",
|
|
"connection_modal.field.username": "Benutzername",
|
|
"connection_modal.field.username.optional_placeholder": "Leer lassen, wenn keine Authentifizierung aktiviert ist",
|
|
"connection_modal.group.chinese_databases": "Chinesische Datenbanken",
|
|
"connection_modal.group.other": "Andere",
|
|
"connection_modal.group.relational": "Relationale Datenbanken",
|
|
"connection_modal.group.time_series": "Zeitreihendatenbanken",
|
|
"connection_modal.help.additional_hosts": "Optionale MongoDB-Mitglieder, getrennt durch Komma, Semikolon oder Leerzeichen.",
|
|
"connection_modal.help.additional_srv_hosts": "Optionale zusätzliche SRV-Hosts für die MongoDB-Erkennung.",
|
|
"connection_modal.help.connection_timeout": "Gilt für Verbindungstests und das Laden von Metadaten. Bereich: 1-300 Sekunden.",
|
|
"connection_modal.help.custom_driver": "Unterstützt: mysql, postgres, sqlite, oracle, dm, kingbase. Aliase: postgresql/pgx, dm8, kingbase8/kingbasees/kingbasev8. Das Erweitern von Treibern über JDBC Jar wird derzeit nicht unterstützt.",
|
|
"connection_modal.help.default_database": "Leer lassen, um die Standarddatenbank des Servers zu verwenden.",
|
|
"connection_modal.help.oracle_service_name": "Oracle-Servicename, zum Beispiel ORCLPDB1.",
|
|
"connection_modal.help.private_key_path": "Privaten Schlüssel für die SSH-Authentifizierung verwenden. Passwort leer lassen, wenn der Schlüssel nicht verschlüsselt ist.",
|
|
"connection_modal.help.redis_cluster_hosts": "Weitere Redis-Cluster-Knoten, getrennt durch Komma, Semikolon oder Leerzeichen.",
|
|
"connection_modal.help.replica_hosts": "Replica-Hosts im Format host:port, getrennt durch Komma, Semikolon oder Leerzeichen.",
|
|
"connection_modal.help.select_after_test": "Führen Sie zuerst einen Verbindungstest aus, um auswählbare Datenbanken zu laden.",
|
|
"connection_modal.help.uri": "Verbindungs-URI einfügen oder erzeugen.",
|
|
"connection_modal.jvm.access_mode_description": "Wählen Sie, welche JVM-Zugriffsmodi diese Verbindung verwenden kann und welcher bevorzugt wird.",
|
|
"connection_modal.jvm.access_mode_title": "Zugriffsmodi",
|
|
"connection_modal.jvm.agent_api_key_optional": "Agent-API-Schlüssel (optional)",
|
|
"connection_modal.jvm.agent_description": "Verbindung über einen GoNavi Agent, wenn direkter Netzwerkzugriff eingeschränkt ist.",
|
|
"connection_modal.jvm.agent_help": "Basis-URL des GoNavi Agent-Dienstes.",
|
|
"connection_modal.jvm.agent_url": "Agent-URL",
|
|
"connection_modal.jvm.diagnostic_api_key_optional": "Diagnose-API-Schlüssel (optional)",
|
|
"connection_modal.jvm.diagnostic_description": "Optionale Diagnosebefehle für die JVM-Fehlersuche aktivieren.",
|
|
"connection_modal.jvm.diagnostic_disabled_hint": "Diagnoseerweiterung ist deaktiviert. Nur bei Bedarf zur Laufzeit-Fehlersuche aktivieren.",
|
|
"connection_modal.jvm.diagnostic_timeout_seconds": "Diagnose-Timeout (Sekunden)",
|
|
"connection_modal.jvm.diagnostic_title": "Diagnoseerweiterung",
|
|
"connection_modal.jvm.diagnostic_transport": "Diagnosetransport",
|
|
"connection_modal.jvm.diagnostic.agent_bridge_description": "Den Diagnose-Endpoint der GoNavi Agent Bridge verwenden.",
|
|
"connection_modal.jvm.diagnostic.arthas_tunnel_description": "Arthas Tunnel verwenden, um die Ziel-JVM zu erreichen.",
|
|
"connection_modal.jvm.diagnostic.arthas_tunnel_help": "Basis-URL des Arthas Tunnel-Servers.",
|
|
"connection_modal.jvm.diagnostic.arthas_tunnel_url": "Arthas Tunnel-URL",
|
|
"connection_modal.jvm.diagnostic.bridge_help": "Basis-URL der GoNavi-Diagnosebrücke.",
|
|
"connection_modal.jvm.diagnostic.bridge_url": "Diagnosebrücken-URL",
|
|
"connection_modal.jvm.diagnostic.mutating_commands": "Verändernde Befehle",
|
|
"connection_modal.jvm.diagnostic.mutating_commands_description": "Befehle erlauben, die den Laufzeitzustand ändern können. Nur in kontrollierten Umgebungen verwenden.",
|
|
"connection_modal.jvm.diagnostic.observe_commands": "Beobachtungsbefehle",
|
|
"connection_modal.jvm.diagnostic.observe_commands_description": "Nur-Lese-Befehle wie dashboard, thread und JVM-Informationen erlauben.",
|
|
"connection_modal.jvm.diagnostic.target_agent_id": "Ziel-Agent-ID",
|
|
"connection_modal.jvm.diagnostic.target_agent_id_help": "In Arthas Tunnel registrierte Agent-ID.",
|
|
"connection_modal.jvm.diagnostic.target_id": "Ziel-ID",
|
|
"connection_modal.jvm.diagnostic.target_id_help": "Zielkennung, die die Diagnosebrücke versteht. Leer lassen, wenn die Brücke das Standardziel wählt.",
|
|
"connection_modal.jvm.diagnostic.trace_commands": "Tracing-Befehle",
|
|
"connection_modal.jvm.diagnostic.trace_commands_description": "Tracing- und Watch-Befehle erlauben, die Laufzeitaufwand verursachen.",
|
|
"connection_modal.jvm.diagnostic.transport.agent_bridge": "Agent Bridge",
|
|
"connection_modal.jvm.diagnostic.transport.arthas_tunnel": "Arthas Tunnel",
|
|
"connection_modal.jvm.endpoint_api_key_optional": "Endpoint-API-Schlüssel (optional)",
|
|
"connection_modal.jvm.endpoint_description": "Mit einem vom Dienst bereitgestellten Endpoint statt direkt mit JMX verbinden.",
|
|
"connection_modal.jvm.endpoint_help": "Basis-URL des JVM-Verwaltungs-Endpoint.",
|
|
"connection_modal.jvm.endpoint_url": "Endpoint-URL",
|
|
"connection_modal.jvm.environment": "Umgebung",
|
|
"connection_modal.jvm.environment.dev": "Entwicklung",
|
|
"connection_modal.jvm.environment.dev_description": "Testumgebung mit geringerem Risiko.",
|
|
"connection_modal.jvm.environment.prod": "Produktion",
|
|
"connection_modal.jvm.environment.prod_description": "Produktionsumgebung; Nur-Lese-Betrieb wird empfohlen.",
|
|
"connection_modal.jvm.environment.uat": "UAT",
|
|
"connection_modal.jvm.environment.uat_description": "Validierungsumgebung vor der Produktion.",
|
|
"connection_modal.jvm.jmx_description": "Über JMX mit Host, Port und optionalen Zugangsdaten verbinden.",
|
|
"connection_modal.jvm.jmx_host_override_optional": "JMX-Host überschreiben (optional)",
|
|
"connection_modal.jvm.jmx_password_optional": "JMX-Passwort (optional)",
|
|
"connection_modal.jvm.jmx_port": "JMX-Port",
|
|
"connection_modal.jvm.jmx_username_optional": "JMX-Benutzername (optional)",
|
|
"connection_modal.jvm.mode.agent_description": "Für Umgebungen hinter Firewalls oder NAT über GoNavi Agent gehen.",
|
|
"connection_modal.jvm.mode.endpoint_description": "Einen vom Zieldienst bereitgestellten HTTP Endpoint verwenden.",
|
|
"connection_modal.jvm.mode.jmx_description": "Standardmäßigen JMX-Remotezugriff verwenden.",
|
|
"connection_modal.jvm.preferred_mode_hint": "Aktuell bevorzugter Modus: {{mode}}",
|
|
"connection_modal.jvm.read_only_first": "Nur-Lese-Operationen bevorzugen",
|
|
"connection_modal.jvm.security_policy": "Sicherheitsrichtlinie",
|
|
"connection_modal.jvm.target_description": "Host, Port und Zugriffsmethode für den JVM-Verwaltungs-Endpoint konfigurieren.",
|
|
"connection_modal.jvm.target_title": "JVM-Ziel",
|
|
"connection_modal.layout.custom": "Benutzerdefinierte Treiberverbindung",
|
|
"connection_modal.layout.file": "Dateidatenbank-Verbindung",
|
|
"connection_modal.layout.generic_sql": "Generische SQL-Verbindung",
|
|
"connection_modal.layout.jvm": "JVM-Laufzeitverbindung",
|
|
"connection_modal.layout.mongodb": "MongoDB-Verbindung",
|
|
"connection_modal.layout.mysql_compatible": "MySQL-kompatible Verbindung",
|
|
"connection_modal.layout.oracle": "Oracle-Verbindung",
|
|
"connection_modal.layout.postgres_compatible": "PostgreSQL-kompatible Verbindung",
|
|
"connection_modal.layout.redis": "Redis-Verbindung",
|
|
"connection_modal.layoutKind.custom": "Benutzerdefinierter Treiber",
|
|
"connection_modal.layoutKind.file": "Dateibasierte Datenbanken",
|
|
"connection_modal.layoutKind.genericSql": "Standard-SQL",
|
|
"connection_modal.layoutKind.jvm": "JVM-Laufzeit",
|
|
"connection_modal.layoutKind.mongodb": "MongoDB",
|
|
"connection_modal.layoutKind.mysqlCompatible": "MySQL-kompatibel",
|
|
"connection_modal.layoutKind.oracle": "Oracle",
|
|
"connection_modal.layoutKind.postgresCompatible": "PostgreSQL-kompatibel",
|
|
"connection_modal.layoutKind.redis": "Redis",
|
|
"connection_modal.layoutKind.search": "Suchmaschinen",
|
|
"connection_modal.layoutKind.timeseries": "Zeitreihendatenbanken",
|
|
"connection_modal.layoutKind.vector": "Vektordatenbanken",
|
|
"connection_modal.message.connection_failed": "Verbindung fehlgeschlagen",
|
|
"connection_modal.message.connection_params_incomplete": "Die Verbindungsparameter sind unvollständig.",
|
|
"connection_modal.message.connection_rejected": "Verbindung abgelehnt",
|
|
"connection_modal.message.connection_success": "Verbindung erfolgreich",
|
|
"connection_modal.message.copy_failed": "Kopieren fehlgeschlagen",
|
|
"connection_modal.message.current_driver_not_enabled": "Der aktuelle Treiber ist nicht installiert oder nicht aktiviert.",
|
|
"connection_modal.message.dameng_ssl_cert_required": "Dieses Feld ist erforderlich",
|
|
"connection_modal.message.database_list_failed": "Datenbankliste konnte nicht geladen werden: {{error}}",
|
|
"connection_modal.message.database_list_timeout": "Vorgang nach {{seconds}} Sekunden abgelaufen",
|
|
"connection_modal.message.driver_not_enabled": "Der Treiber ist nicht installiert oder nicht aktiviert.",
|
|
"connection_modal.message.driver_not_enabled_with_name": "Der Treiber {{name}} ist nicht installiert oder nicht aktiviert. Installieren oder aktivieren Sie ihn zuerst in der Treiberverwaltung.",
|
|
"connection_modal.message.driver_not_enabled_with_name_short": "Der Treiber {{name}} ist nicht installiert oder nicht aktiviert. Öffnen Sie zuerst die Treiberverwaltung.",
|
|
"connection_modal.message.driver_unavailable_title": "Treiber {{name}} nicht verfügbar",
|
|
"connection_modal.message.http_tunnel_host_required": "Dieses Feld ist erforderlich",
|
|
"connection_modal.message.http_tunnel_port_invalid": "Der HTTP Tunnel-Port ist ungültig",
|
|
"connection_modal.message.member_discovery_failed": "Vorgang fehlgeschlagen",
|
|
"connection_modal.message.member_discovery_success": "{{count}} Mitglieder gefunden",
|
|
"connection_modal.message.no_visible_databases": "Keine sichtbaren Datenbanken gefunden.",
|
|
"connection_modal.message.no_visible_schema": "Es wurden keine sichtbaren Schemas zurückgegeben.",
|
|
"connection_modal.message.required_fields_before_test": "Füllen Sie die Pflichtfelder aus, bevor Sie die Verbindung testen.",
|
|
"connection_modal.message.save_backend_unavailable": "Vorgang fehlgeschlagen",
|
|
"connection_modal.message.save_created_disconnected": "Konfiguration gespeichert (nicht verbunden).",
|
|
"connection_modal.message.save_failed": "Vorgang fehlgeschlagen",
|
|
"connection_modal.message.save_security_refresh_failed": "Vorgang fehlgeschlagen",
|
|
"connection_modal.message.save_updated_disconnected": "Konfiguration gespeichert (nicht verbunden)",
|
|
"connection_modal.message.select_database_file_failed": "Datenbankdatei konnte nicht ausgewählt werden: {{error}}",
|
|
"connection_modal.message.select_ssh_key_failed": "SSH-Privatschlüssel konnte nicht ausgewählt werden: {{error}}",
|
|
"connection_modal.message.srv_with_ssh_dns_warning": "SRV mit SSH Tunnel kann von lokaler DNS-Auflösung abhängen. Wenn die Auflösung fehlschlägt, verwenden Sie Standard-Hosts.",
|
|
"connection_modal.message.test_failed_detail": "Test fehlgeschlagen: {{detail}}",
|
|
"connection_modal.message.test_requires_new_mongo_replica_password": "Geben Sie vor dem Test das neue MongoDB Replica Set-Passwort ein.",
|
|
"connection_modal.message.test_requires_new_mongodb_password": "Geben Sie vor dem Test das neue MongoDB-Passwort ein.",
|
|
"connection_modal.message.test_requires_new_password": "Geben Sie vor dem Test das neue Verbindungspasswort ein.",
|
|
"connection_modal.message.test_requires_new_proxy_password": "Geben Sie vor dem Test das neue Proxy-Passwort ein.",
|
|
"connection_modal.message.test_requires_new_replica_password": "Geben Sie vor dem Test das neue Replikatpasswort ein.",
|
|
"connection_modal.message.test_requires_new_ssh_password": "Geben Sie vor dem Test das neue SSH-Passwort ein.",
|
|
"connection_modal.message.test_requires_new_tunnel_password": "Geben Sie vor dem Test das neue HTTP Tunnel-Passwort ein.",
|
|
"connection_modal.message.test_timeout": "Vorgang nach {{seconds}} Sekunden abgelaufen",
|
|
"connection_modal.message.unsupported_jvm_diagnostic_transport": "Der ausgewählte JVM-Diagnosetransport wird nicht unterstützt",
|
|
"connection_modal.message.unsupported_jvm_modes": "Der ausgewählte JVM-Zugriffsmodus wird nicht unterstützt",
|
|
"connection_modal.message.unsupported_jvm_modes_current": "Diese Verbindung enthält nicht unterstützte JVM-Zugriffsmodi",
|
|
"connection_modal.message.unsupported_jvm_modes_detected": "Nicht unterstützte JVM-Zugriffsmodi erkannt",
|
|
"connection_modal.message.uri_copied": "URI kopiert",
|
|
"connection_modal.message.uri_empty_copy": "URI ist leer und kann nicht kopiert werden",
|
|
"connection_modal.message.uri_generate_failed": "URI konnte nicht erstellt werden",
|
|
"connection_modal.message.uri_generated": "URI erzeugt",
|
|
"connection_modal.message.uri_parse_failed": "Vorgang fehlgeschlagen",
|
|
"connection_modal.message.uri_parsed": "URI wurde in das Formular übernommen",
|
|
"connection_modal.message.uri_required": "Geben Sie zuerst eine URI ein",
|
|
"connection_modal.message.uri_type_mismatch": "Der URI-Typ passt nicht zur ausgewählten Datenquelle",
|
|
"connection_modal.messageQueue.kafka.defaultTopic.help": "Wenn leer, muss das Topic in SQL explizit angegeben werden. Danach können SHOW, CONSUME oder SELECT direkt eine Vorschau liefern.",
|
|
"connection_modal.messageQueue.kafka.defaultTopic.label": "Standard-Topic (optional)",
|
|
"connection_modal.messageQueue.kafka.defaultTopic.placeholder": "Beispiel: orders.events",
|
|
"connection_modal.messageQueue.kafka.extraBrokers.help": "Mehrere broker-Adressen im Format host:port eingeben und mit Enter bestätigen.",
|
|
"connection_modal.messageQueue.kafka.extraBrokers.label": "Zusätzliche Broker-Adressen",
|
|
"connection_modal.messageQueue.kafka.extraBrokers.placeholder": "Beispiel: 10.10.0.12:9092, 10.10.0.13:9092",
|
|
"connection_modal.messageQueue.kafka.topology.cluster.description": "Konfiguriert mehrere bootstrap broker, um Discovery und Failover-Erfolg zu verbessern.",
|
|
"connection_modal.messageQueue.kafka.topology.single.description": "Konfiguriert einen bootstrap broker für lokale oder einfache Umgebungen.",
|
|
"connection_modal.messageQueue.kafka.topology.single.label": "Einzelner Broker",
|
|
"connection_modal.messageQueue.mqtt.defaultTopicFilter.help": "Wenn leer, muss das Topic in SQL explizit angegeben werden. Danach können SHOW, CONSUME oder SELECT direkt eine Vorschau liefern. /, + und # werden unterstützt.",
|
|
"connection_modal.messageQueue.mqtt.defaultTopicFilter.label": "Standard-Topic / Filter (optional)",
|
|
"connection_modal.messageQueue.mqtt.defaultTopicFilter.placeholder": "Beispiel: devices/+/telemetry",
|
|
"connection_modal.messageQueue.mqtt.extraBrokers.help": "Mehrere broker-Adressen im Format host:port eingeben und mit Enter bestätigen.",
|
|
"connection_modal.messageQueue.mqtt.extraBrokers.label": "Zusätzliche Broker-Adressen",
|
|
"connection_modal.messageQueue.mqtt.extraBrokers.placeholder": "Beispiel: 10.10.0.12:1883, 10.10.0.13:1883",
|
|
"connection_modal.messageQueue.mqtt.topology.cluster.description": "Konfiguriert mehrere broker, um Verbindungserkennung und Failover-Erfolg zu verbessern.",
|
|
"connection_modal.messageQueue.mqtt.topology.single.description": "Konfiguriert einen broker für lokale oder einfache Umgebungen.",
|
|
"connection_modal.messageQueue.mqtt.topology.single.label": "Einzelner Broker",
|
|
"connection_modal.messageQueue.rabbitmq.defaultVirtualHost.help": "Wenn leer, wird standardmäßig / verwendet. Danach nutzt der Query-Editor den aktuellen vhost als Kontext für Queue-Browsing und Testversand.",
|
|
"connection_modal.messageQueue.rabbitmq.defaultVirtualHost.label": "Standard-Virtual Host (optional)",
|
|
"connection_modal.messageQueue.rabbitmq.defaultVirtualHost.placeholder": "Beispiel: / oder orders-vhost",
|
|
"connection_modal.messageQueue.rocketmq.defaultTopic.help": "Wenn leer, muss das Topic in SQL explizit angegeben werden. Verbindungsparameter können weiterhin groupId, namespace, tag, pullBatchSize und startOffset ergänzen.",
|
|
"connection_modal.messageQueue.rocketmq.defaultTopic.label": "Standard-Topic (optional)",
|
|
"connection_modal.messageQueue.rocketmq.defaultTopic.placeholder": "Beispiel: orders.events",
|
|
"connection_modal.messageQueue.rocketmq.extraNameServers.help": "Mehrere NameServer-Adressen im Format host:port eingeben und mit Enter bestätigen.",
|
|
"connection_modal.messageQueue.rocketmq.extraNameServers.label": "Zusätzliche NameServer-Adressen",
|
|
"connection_modal.messageQueue.rocketmq.extraNameServers.placeholder": "Beispiel: 10.10.0.12:9876, 10.10.0.13:9876",
|
|
"connection_modal.messageQueue.rocketmq.topology.cluster.description": "Konfiguriert mehrere NameServer, um Routenerkennung und Failover-Erfolg zu verbessern.",
|
|
"connection_modal.messageQueue.rocketmq.topology.single.description": "Konfiguriert einen NameServer für lokale oder einfache Umgebungen.",
|
|
"connection_modal.messageQueue.rocketmq.topology.single.label": "Einzelner NameServer",
|
|
"connection_modal.messageQueue.topology.cluster.label": "Clustermodus",
|
|
"connection_modal.mongodb.auth_mechanism": "Authentifizierungsmechanismus",
|
|
"connection_modal.mongodb.auth.auto": "Automatisch",
|
|
"connection_modal.mongodb.auth.auto_description": "Der Treiber wählt den Authentifizierungsmechanismus.",
|
|
"connection_modal.mongodb.auth.aws_iam_description": "AWS IAM-Authentifizierung verwenden. AWS IAM-Zugangsdaten in der Laufzeitumgebung bereitstellen.",
|
|
"connection_modal.mongodb.auth.none": "Keine Authentifizierung",
|
|
"connection_modal.mongodb.auth.none_description": "Ohne MongoDB-Authentifizierung verbinden.",
|
|
"connection_modal.mongodb.auth.scram_sha1_description": "SCRAM-SHA-1-Authentifizierung verwenden.",
|
|
"connection_modal.mongodb.auth.scram_sha256_description": "SCRAM-SHA-256-Authentifizierung verwenden.",
|
|
"connection_modal.mongodb.discovery.current": "Aktuell",
|
|
"connection_modal.mongodb.discovery.srv_ssh_warning": "Wenn SRV und SSH-Tunnel gleichzeitig aktiv sind, kann lokale DNS-Auflösung erforderlich sein.",
|
|
"connection_modal.mongodb.discovery.srv.description": "mongodb+srv verwenden und Zielknoten per DNS erkennen lassen.",
|
|
"connection_modal.mongodb.discovery.srv.label": "SRV-Adresse",
|
|
"connection_modal.mongodb.discovery.standard.description": "Direkt mit host:port verbinden oder eine Replikatset-Knotenliste verwenden.",
|
|
"connection_modal.mongodb.discovery.standard.label": "Standardadresse",
|
|
"connection_modal.mongodb.members.health": "Zustand",
|
|
"connection_modal.mongodb.members.health.error": "Fehlerhaft",
|
|
"connection_modal.mongodb.members.health.ok": "Normal",
|
|
"connection_modal.mongodb.members.role": "Rolle",
|
|
"connection_modal.mongodb.policy.auth_source.label": "Authentifizierungsdatenbank (authSource)",
|
|
"connection_modal.mongodb.policy.auth_source.placeholder": "Standardmäßig database oder admin",
|
|
"connection_modal.mongodb.read_preference": "readPreference",
|
|
"connection_modal.mongodb.read_preference.nearest": "Lesezugriffe zum nächsten Mitglied leiten.",
|
|
"connection_modal.mongodb.read_preference.primary": "Nur vom primary lesen.",
|
|
"connection_modal.mongodb.read_preference.primary_preferred": "primary bevorzugen, bei Bedarf auf secondaries zurückfallen.",
|
|
"connection_modal.mongodb.read_preference.secondary": "Nur von secondaries lesen.",
|
|
"connection_modal.mongodb.read_preference.secondary_preferred": "secondaries bevorzugen, bei Bedarf auf primary zurückfallen.",
|
|
"connection_modal.mongodb.replica.hosts.srv.help": "Mehrere Kandidaten-Hostnamen im Format host eingeben. Leer lassen, um nur den obigen Host zu verwenden.",
|
|
"connection_modal.mongodb.replica.hosts.srv.label": "Zusätzliche SRV-Hosts (optional)",
|
|
"connection_modal.mongodb.replica.hosts.srv.placeholder": "Beispiel: cluster-a.example.com, cluster-b.example.com",
|
|
"connection_modal.mongodb.replica.hosts.standard.help": "Mehrere Knotenadressen im Format host:port eingeben und mit Enter bestätigen.",
|
|
"connection_modal.mongodb.replica.hosts.standard.label": "Zusätzliche Knotenadressen",
|
|
"connection_modal.mongodb.replica.hosts.standard.placeholder": "Beispiel: 10.10.0.12:27017, 10.10.0.13:27017",
|
|
"connection_modal.mongodb.replica.password.clear": "Gespeichertes Replikatset-Passwort löschen",
|
|
"connection_modal.mongodb.replica.password.description": "Ein Replikatset-Passwort ist derzeit gespeichert. Leer lassen, um es weiterzuverwenden, oder einen neuen Wert zum Ersetzen eingeben.",
|
|
"connection_modal.mongodb.replica.password.label": "Replikatset-Passwort (optional)",
|
|
"connection_modal.mongodb.replica.password.placeholder.empty": "Leer lassen, um das primäre Passwort zu verwenden",
|
|
"connection_modal.mongodb.replica.password.placeholder.retained": "Gespeichertes Replikatset-Passwort",
|
|
"connection_modal.mongodb.replica.set.label": "Replikatset-Name (optional)",
|
|
"connection_modal.mongodb.replica.set.placeholder": "Beispiel: rs0",
|
|
"connection_modal.mongodb.replica.user.label": "Replikatset-Benutzername (optional)",
|
|
"connection_modal.mongodb.replica.user.placeholder": "Leer lassen, um den primären Benutzernamen zu verwenden",
|
|
"connection_modal.mongodb.srv_address": "SRV-Adresse",
|
|
"connection_modal.mongodb.srv_address_description": "Einen MongoDB SRV-Eintrag zur Host-Erkennung verwenden.",
|
|
"connection_modal.mongodb.standard_address": "Standardadresse",
|
|
"connection_modal.mongodb.standard_address_description": "Host und Port plus optionale Mitgliederliste verwenden.",
|
|
"connection_modal.mongodb.topology.replica.label": "Replikatset / mehrere Knoten",
|
|
"connection_modal.mongodb.topology.single.label": "Standalone-Modus",
|
|
"connection_modal.network.http_tunnel": "HTTP Tunnel",
|
|
"connection_modal.network.http_tunnel_description": "Datenbankverkehr über einen HTTP Tunnel weiterleiten.",
|
|
"connection_modal.network.http_tunnel_disabled_hint": "HTTP Tunnel aktivieren, um Tunnel-Host, Port und Zugangsdaten zu konfigurieren.",
|
|
"connection_modal.network.http_tunnel_mutex_hint": "HTTP Tunnel kann nicht zusammen mit SSH Tunnel oder Proxy verwendet werden.",
|
|
"connection_modal.network.http_tunnel_panel_description": "Ein HTTP Tunnel-Gateway für diese Verbindung konfigurieren.",
|
|
"connection_modal.network.proxy": "Proxy",
|
|
"connection_modal.network.proxy_disabled_hint": "Proxy aktivieren, um diese Verbindung über SOCKS5 oder HTTP CONNECT zu leiten.",
|
|
"connection_modal.network.proxy_panel_description": "Proxy-Einstellungen für diese Verbindung konfigurieren.",
|
|
"connection_modal.network.proxy_type.http_description": "HTTP CONNECT-Proxying verwenden.",
|
|
"connection_modal.network.proxy_type.socks5_description": "SOCKS5-Proxying verwenden.",
|
|
"connection_modal.network.ssh_disabled_hint": "SSH Tunnel aktivieren, um über einen Bastion-Host zu verbinden.",
|
|
"connection_modal.network.ssh_panel_description": "SSH Tunnel-Host, Zugangsdaten und optionalen privaten Schlüssel konfigurieren.",
|
|
"connection_modal.network.ssh_tunnel": "SSH Tunnel",
|
|
"connection_modal.network.ssh_tunnel_description": "Vor dem Datenbankzugriff über einen SSH Tunnel verbinden.",
|
|
"connection_modal.network.ssl_description": "Datenbankverbindung mit SSL/TLS verschlüsseln.",
|
|
"connection_modal.network.ssl_disabled_hint": "SSL/TLS aktivieren, um die Zertifikatsrichtlinie zu konfigurieren.",
|
|
"connection_modal.network.ssl_mode": "SSL-Modus",
|
|
"connection_modal.network.ssl_mode.preferred": "Bevorzugt",
|
|
"connection_modal.network.ssl_mode.preferred_description": "Zuerst SSL versuchen und zurückfallen, wenn der Server es nicht verlangt.",
|
|
"connection_modal.network.ssl_mode.required": "Erforderlich",
|
|
"connection_modal.network.ssl_mode.required_description": "SSL erzwingen und fehlschlagen, wenn keine verschlüsselte Verbindung möglich ist.",
|
|
"connection_modal.network.ssl_mode.skip_verify": "Prüfung überspringen",
|
|
"connection_modal.network.ssl_mode.skip_verify_description": "SSL verwenden, aber Zertifikatsprüfung überspringen. Nur für Tests oder selbstsignierte Zertifikate verwenden.",
|
|
"connection_modal.network.ssl_panel_description": "SSL/TLS-Richtlinie für diese Verbindung konfigurieren.",
|
|
"connection_modal.network.ssl_tls": "SSL/TLS",
|
|
"connection_modal.placeholder.absolute_path": "/absoluter/pfad/zur/datei",
|
|
"connection_modal.placeholder.agent_api_key": "Optionaler Agent-API-Schlüssel",
|
|
"connection_modal.placeholder.agent_url": "http://127.0.0.1:19090",
|
|
"connection_modal.placeholder.connection_name": "Verbindung Name",
|
|
"connection_modal.placeholder.connection_name_fallback": "Verbindungsname",
|
|
"connection_modal.placeholder.custom_dsn_example": "Beispiel: treiberspezifischer DSN",
|
|
"connection_modal.placeholder.default_database_or_admin": "Standarddatenbank oder admin",
|
|
"connection_modal.placeholder.diagnostic_api_key": "Optionaler Diagnose-API-Schlüssel",
|
|
"connection_modal.placeholder.diagnostic_target_agent_id": "Arthas Agent ID",
|
|
"connection_modal.placeholder.diagnostic_target_id": "Ziel-ID",
|
|
"connection_modal.placeholder.driver_name": "Treiber Name",
|
|
"connection_modal.placeholder.empty_without_auth": "Ohne Authentifizierung leer lassen",
|
|
"connection_modal.placeholder.endpoint_api_key": "Optionaler Endpoint-API-Schlüssel",
|
|
"connection_modal.placeholder.endpoint_url": "http://127.0.0.1:8080",
|
|
"connection_modal.placeholder.example_appdb": "appdb",
|
|
"connection_modal.placeholder.example_mongo_hosts": "mongo2:27017, mongo3:27017",
|
|
"connection_modal.placeholder.example_mysql_replica_hosts": "replica1:3306, replica2:3306",
|
|
"connection_modal.placeholder.example_orclpdb1": "ORCLPDB1",
|
|
"connection_modal.placeholder.example_redis_hosts": "redis2:6379, redis3:6379",
|
|
"connection_modal.placeholder.example_rs0": "rs0",
|
|
"connection_modal.placeholder.example_srv_hosts": "cluster0.example.mongodb.net",
|
|
"connection_modal.placeholder.jvm_name": "jvm Name",
|
|
"connection_modal.placeholder.no_auth": "Keine Authentifizierung",
|
|
"connection_modal.placeholder.proxy_host": "127.0.0.1",
|
|
"connection_modal.placeholder.redis_password": "Redis-Passwort",
|
|
"connection_modal.placeholder.select_databases": "Anzuzeigende Datenbanken auswählen",
|
|
"connection_modal.placeholder.select_redis_databases": "Anzuzeigende Redis-Datenbanken auswählen",
|
|
"connection_modal.placeholder.ssh_host": "bastion.example.com",
|
|
"connection_modal.placeholder.ssl_cert_path": "/absoluter/pfad/client.crt",
|
|
"connection_modal.placeholder.ssl_key_path": "/absoluter/pfad/client.key",
|
|
"connection_modal.placeholder.tunnel_host": "tunnel.example.com",
|
|
"connection_modal.placeholder.uri_example_postgres": "postgresql://user:pass@localhost:5432/appdb?sslmode=require",
|
|
"connection_modal.placeholder.use_primary_host": "Primären Host verwenden",
|
|
"connection_modal.placeholder.use_primary_password": "Primäres Passwort verwenden",
|
|
"connection_modal.placeholder.use_primary_password_short": "Primäres Passwort verwenden",
|
|
"connection_modal.placeholder.use_primary_port": "Primären Port verwenden",
|
|
"connection_modal.placeholder.use_primary_username": "Primären Benutzernamen verwenden",
|
|
"connection_modal.placeholder.use_primary_username_short": "Primären Benutzernamen verwenden",
|
|
"connection_modal.redis.credentials.primary.label": "Passwort (optional)",
|
|
"connection_modal.redis.credentials.primary.placeholder.empty": "Redis-Passwort, wenn requirepass gesetzt ist",
|
|
"connection_modal.redis.credentials.primary.placeholder.retained": "Gespeichertes Redis-Passwort",
|
|
"connection_modal.redis.credentials.sentinelPassword.clear": "Gespeichertes Sentinel-Passwort löschen",
|
|
"connection_modal.redis.credentials.sentinelPassword.description": "Ein Sentinel-Passwort ist derzeit gespeichert. Leer lassen, um es weiterzuverwenden, oder einen neuen Wert zum Ersetzen eingeben.",
|
|
"connection_modal.redis.credentials.sentinelPassword.label": "Sentinel-Passwort (optional)",
|
|
"connection_modal.redis.credentials.sentinelPassword.placeholder.empty": "Authentifizierungspasswort für Sentinel selbst. Leer lassen, um keines zu senden.",
|
|
"connection_modal.redis.credentials.sentinelPassword.placeholder.retained": "Gespeichertes Sentinel-Passwort",
|
|
"connection_modal.redis.credentials.sentinelUser.label": "Sentinel-Benutzername (optional)",
|
|
"connection_modal.redis.credentials.sentinelUser.placeholder": "Leer lassen, wenn Sentinel keinen ACL-Benutzernamen verwendet",
|
|
"connection_modal.redis.databaseScope.help": "Nach erfolgreichem Verbindungstest auswählbar",
|
|
"connection_modal.redis.databaseScope.label": "Anzuzeigende Datenbanken (leer zeigt alle)",
|
|
"connection_modal.redis.databaseScope.placeholder": "Anzuzeigende Datenbanken auswählen",
|
|
"connection_modal.redis.hosts.cluster.help": "Der obige Host wird als primärer Knoten verwendet. Weitere Seed-Knoten hier im Format host:port eingeben.",
|
|
"connection_modal.redis.hosts.cluster.label": "Zusätzliche Cluster-Knotenadressen",
|
|
"connection_modal.redis.hosts.cluster.placeholder": "Beispiel: 10.10.0.12:6379, 10.10.0.13:6379",
|
|
"connection_modal.redis.hosts.sentinel.help": "Der obige Host wird als erster Sentinel verwendet. Weitere Sentinel-Knoten hier im Format host:port eingeben.",
|
|
"connection_modal.redis.hosts.sentinel.label": "Zusätzliche Sentinel-Knotenadressen",
|
|
"connection_modal.redis.hosts.sentinel.placeholder": "Beispiel: 10.10.0.12:26379, 10.10.0.13:26379",
|
|
"connection_modal.redis.sentinel.master.help": "Den monitor-Namen aus der Sentinel-Konfiguration eingeben, zum Beispiel mymaster.",
|
|
"connection_modal.redis.sentinel.master.label": "Sentinel master-Name",
|
|
"connection_modal.redis.sentinel.master.placeholder": "Beispiel: mymaster",
|
|
"connection_modal.redis.sentinel.master.required": "Sentinel master-Name eingeben",
|
|
"connection_modal.redis.topology.cluster.description": "Redis Cluster mit mehreren Seed-Knoten.",
|
|
"connection_modal.redis.topology.cluster.label": "Clustermodus",
|
|
"connection_modal.redis.topology.sentinel.description": "Ermittelt den primären Knoten über Sentinel für Primär-Replikat-Hochverfügbarkeit.",
|
|
"connection_modal.redis.topology.sentinel.label": "Sentinel-Modus",
|
|
"connection_modal.redis.topology.single.description": "Verbindet sich mit einem Redis-Knoten.",
|
|
"connection_modal.redis.topology.single.label": "Standalone-Modus",
|
|
"connection_modal.secret.blocking.redis_sentinel": "Geben Sie vor dem Test ein neues Sentinel-Passwort ein oder brechen Sie das Löschen des gespeicherten Sentinel-Passworts ab",
|
|
"connection_modal.secret.clear_saved_dsn": "Gespeicherte DSN löschen",
|
|
"connection_modal.secret.clear_saved_mongo_replica_password": "Gespeichertes MongoDB-Replica-Passwort löschen",
|
|
"connection_modal.secret.clear_saved_password": "Gespeichertes Passwort löschen",
|
|
"connection_modal.secret.clear_saved_proxy_password": "Gespeichertes Proxy-Passwort löschen",
|
|
"connection_modal.secret.clear_saved_replica_password": "Gespeichertes Replica-Passwort löschen",
|
|
"connection_modal.secret.clear_saved_ssh_password": "Gespeichertes SSH-Passwort löschen",
|
|
"connection_modal.secret.clear_saved_tunnel_password": "Gespeichertes HTTP Tunnel-Passwort löschen",
|
|
"connection_modal.secret.clear_saved_uri": "Gespeicherte URI löschen",
|
|
"connection_modal.secret.error.saved_connection_deleted": "Die gespeicherte Verbindung wurde nicht gefunden. Sie wurde möglicherweise gelöscht. Aktualisieren Sie die Ansicht und versuchen Sie es erneut.",
|
|
"connection_modal.secret.error.saved_connection_missing": "Das gespeicherte Secret für die aktuelle Verbindung wurde nicht gefunden. Geben Sie das Passwort erneut ein, speichern Sie und versuchen Sie es noch einmal.",
|
|
"connection_modal.secret.error.store_unavailable": "Der sichere Secret-Speicher ist derzeit nicht verfügbar. Prüfen Sie den System-Schlüsselbund oder die Anmeldeinformationsverwaltung und versuchen Sie es erneut.",
|
|
"connection_modal.secret.new_value_replaces_saved": "Der neu eingegebene Wert ersetzt beim Speichern den aktuell gesicherten Wert.",
|
|
"connection_modal.secret.saved_dsn_description": "Eine DSN ist bereits sicher gespeichert. Lassen Sie das Feld leer, um sie weiter zu verwenden.",
|
|
"connection_modal.secret.saved_mongo_replica_password": "Gespeichertes MongoDB-Replica-Passwort",
|
|
"connection_modal.secret.saved_mongo_replica_password_description": "Ein MongoDB-Replica-Passwort ist bereits im sicheren Speicher vorhanden. Leer lassen, um es beizubehalten.",
|
|
"connection_modal.secret.saved_password": "Gespeichertes Passwort",
|
|
"connection_modal.secret.saved_placeholder": "•••••• (leer lassen, um {{label}} weiter zu verwenden)",
|
|
"connection_modal.secret.saved_primary_password_description": "Ein Passwort für die primäre Verbindung ist bereits im sicheren Speicher vorhanden. Leer lassen, um es beizubehalten.",
|
|
"connection_modal.secret.saved_proxy_password": "Gespeichertes Proxy-Passwort",
|
|
"connection_modal.secret.saved_proxy_password_description": "Ein Proxy-Passwort ist bereits im sicheren Speicher vorhanden. Leer lassen, um es beizubehalten.",
|
|
"connection_modal.secret.saved_redis_password": "Gespeichertes Redis-Passwort",
|
|
"connection_modal.secret.saved_redis_password_description": "Ein Redis-Passwort ist bereits im sicheren Speicher vorhanden. Leer lassen, um es beizubehalten.",
|
|
"connection_modal.secret.saved_replica_password": "Gespeichertes Replica-Passwort",
|
|
"connection_modal.secret.saved_replica_password_description": "Ein Replica-Passwort ist bereits im sicheren Speicher vorhanden. Leer lassen, um es beizubehalten.",
|
|
"connection_modal.secret.saved_ssh_password": "Gespeichertes SSH-Passwort",
|
|
"connection_modal.secret.saved_ssh_password_description": "Ein SSH-Passwort ist bereits im sicheren Speicher vorhanden. Leer lassen, um es beizubehalten.",
|
|
"connection_modal.secret.saved_tunnel_password": "Gespeichertes HTTP Tunnel-Passwort",
|
|
"connection_modal.secret.saved_tunnel_password_description": "Ein HTTP Tunnel-Passwort ist bereits im sicheren Speicher vorhanden. Leer lassen, um es beizubehalten.",
|
|
"connection_modal.secret.saved_uri_description": "Eine Verbindungs-URI ist bereits sicher gespeichert. Lassen Sie das Feld leer, um sie weiter zu verwenden.",
|
|
"connection_modal.section.advanced_connection": "Erweiterte Verbindung",
|
|
"connection_modal.section.appearance.description": "Icon und Farbe für diese Verbindung in der Seitenleiste festlegen.",
|
|
"connection_modal.section.appearance.title": "Darstellung",
|
|
"connection_modal.section.basic.description": "Benennen Sie die Verbindung und geben Sie Ziel, Treiber und Authentifizierung ein.",
|
|
"connection_modal.section.basic.jvm_description": "JVM-Ziel, Zugriffsmodi und Anmeldedaten konfigurieren.",
|
|
"connection_modal.section.basic.sql_description": "Ziel, Treiber, Anmeldedaten und Datenbankbereich konfigurieren.",
|
|
"connection_modal.section.basic.title": "Basisinformationen",
|
|
"connection_modal.section.config_sections": "Konfigurationsbereiche",
|
|
"connection_modal.section.network.description": "SSL/TLS, SSH Tunnel, Proxy und HTTP Tunnel konfigurieren.",
|
|
"connection_modal.section.network.nav_description": "Netzwerk- und Sicherheitsoptionen für diese Verbindung konfigurieren.",
|
|
"connection_modal.section.network.title": "Netzwerk und Sicherheit",
|
|
"connection_modal.section.readOnly.description": "Wählen Sie gezielt die risikoreichen Einschränkungen für Produktionsverbindungen aus, statt einen einzigen Nur-Lese-Schalter zu erzwingen.",
|
|
"connection_modal.section.readOnly.title": "Produktionsschutz",
|
|
"connection_modal.ssl_hint.dameng": "Dameng SSL benötigt Pfade für Clientzertifikat und privaten Schlüssel (sslCertPath / sslKeyPath).",
|
|
"connection_modal.ssl_hint.default": "Bevorzugen Sie Required. Verwenden Sie Skip Verify nur für Tests oder selbstsignierte Zertifikate.",
|
|
"connection_modal.ssl_hint.mongodb": "MongoDB-Verbindungen können mit TLS geschützt werden. Wenn die Zertifikatsprüfung Tests blockiert, zunächst Skip Verify verwenden.",
|
|
"connection_modal.ssl_hint.mysql_like": "Aktivieren Sie SSL, wenn MySQL/MariaDB/Doris/Sphinx sichere Übertragung verlangt. Bei selbstsignierten Zertifikaten zuerst Preferred oder Skip Verify prüfen.",
|
|
"connection_modal.ssl_hint.sqlserver": "Für SQL Server in Produktion Required verwenden und TrustServerCertificate deaktivieren.",
|
|
"connection_modal.status.disabled": "Deaktiviert",
|
|
"connection_modal.status.enabled": "Aktiviert",
|
|
"connection_modal.status.healthy": "Fehlerfrei",
|
|
"connection_modal.status.unhealthy": "Fehlerhaft",
|
|
"connection_modal.step.select_source": "Datenquelle auswählen",
|
|
"connection_modal.step.select_source_description": "Wählen Sie den zu erstellenden Verbindungstyp.",
|
|
"connection_modal.step1.group.domestic": "Inländische Datenbanken",
|
|
"connection_modal.step1.group.message_queue": "Nachrichtenwarteschlangen",
|
|
"connection_modal.step1.group.nosql": "NoSQL-Datenbanken",
|
|
"connection_modal.step1.group.other": "Andere",
|
|
"connection_modal.step1.group.relational": "Relationale Datenbanken",
|
|
"connection_modal.step1.group.timeseries": "Zeitreihendatenbanken",
|
|
"connection_modal.step1.group.vector": "Vektordatenbanken",
|
|
"connection_modal.step1.hint.chroma": "Collection-Browsing, Vektorsuche und Metadatenfilter",
|
|
"connection_modal.step1.hint.custom": "Benutzerdefinierter Treiber und DSN",
|
|
"connection_modal.step1.hint.elasticsearch": "Index-Browsing, Mapping-Prüfung, JSON DSL und query_string-Abfragen",
|
|
"connection_modal.step1.hint.file": "Lokale Dateiverbindung",
|
|
"connection_modal.step1.hint.goldendb": "MySQL-kompatibel / verteilte Transaktionen",
|
|
"connection_modal.step1.hint.jvm": "JMX / Endpoint / Agent",
|
|
"connection_modal.step1.hint.mongodb": "Einzelknoten / Replikatset",
|
|
"connection_modal.step1.hint.oceanBase": "MySQL / Oracle-Mandant",
|
|
"connection_modal.step1.hint.qdrant": "Collection-Browsing, Vektorsuche und Payload-Filter",
|
|
"connection_modal.step1.hint.redis": "Einzelknoten / Cluster",
|
|
"connection_modal.step1.hint.standard": "Standard-Verbindungskonfiguration",
|
|
"connection_modal.switch.off": "Aus",
|
|
"connection_modal.switch.on": "Ein",
|
|
"connection_modal.table.health": "Zustand",
|
|
"connection_modal.table.role": "Rolle",
|
|
"connection_modal.test_error.description": "Vollständige vom Backend zurückgegebene Fehlermeldung anzeigen.",
|
|
"connection_modal.test_error.empty": "Keine Fehlerdetails",
|
|
"connection_modal.test_error.title": "Details zum fehlgeschlagenen Verbindungstest",
|
|
"connection_modal.test.redis_database_list_failure": "Verbunden, aber die Redis-Datenbankliste konnte nicht geladen werden: {{detail}}",
|
|
"connection_modal.test.redis_database_list_timeout": "Verbunden, aber das Laden der Redis-Datenbankliste ist abgelaufen (>{{seconds}} Sekunden)",
|
|
"connection_modal.title.create": "Neue {{type}}-Verbindung",
|
|
"connection_modal.title.create_description": "Verbindungskonfiguration eingeben und speichern.",
|
|
"connection_modal.title.edit": "Verbindung bearbeiten",
|
|
"connection_modal.title.edit_description": "Konfiguration der {{type}}-Verbindung bearbeiten.",
|
|
"connection_modal.title.select_type": "Datenquellentyp auswählen",
|
|
"connection_modal.title.select_type_description": "Wählen Sie einen unterstützten Datenquellentyp aus.",
|
|
"connection_modal.topology.cluster": "Cluster",
|
|
"connection_modal.topology.mongodb_replica": "Replica Set",
|
|
"connection_modal.topology.mongodb_replica_description": "Mit einem MongoDB Replica Set verbinden und optional Mitglieder erkennen.",
|
|
"connection_modal.topology.mongodb_single_description": "Mit einem einzelnen MongoDB-Host verbinden.",
|
|
"connection_modal.topology.mysql_replica_description": "Primäre Verbindung plus optionale Replica-Hosts verwenden.",
|
|
"connection_modal.topology.mysql_single_description": "Mit einem einzelnen MySQL-kompatiblen Knoten verbinden.",
|
|
"connection_modal.topology.primary_replica": "Primary/Replica",
|
|
"connection_modal.topology.redis_cluster_description": "Mit einem Redis Cluster verbinden und weitere Knoten angeben.",
|
|
"connection_modal.topology.redis_single_description": "Mit einem einzelnen Redis-Knoten verbinden.",
|
|
"connection_modal.topology.single": "Einzelknoten",
|
|
"connection_modal.validation.address_or_path_required": "Hostadresse oder Dateipfad eingeben",
|
|
"connection_modal.validation.agent_url_required": "Agent-URL eingeben",
|
|
"connection_modal.validation.arthas_tunnel_url_required": "Arthas Tunnel-URL eingeben",
|
|
"connection_modal.validation.custom_dsn_required": "Geben Sie die Verbindungszeichenfolge ein.",
|
|
"connection_modal.validation.custom_dsn_required_when_clearing_saved": "Geben Sie eine neue Verbindungszeichenfolge ein oder brechen Sie das Löschen der gespeicherten DSN ab.",
|
|
"connection_modal.validation.dameng_ssl_cert_path_required": "Dameng SSL-Zertifikatspfad eingeben",
|
|
"connection_modal.validation.dameng_ssl_key_path_required": "Dameng SSL-Schlüsselpfad eingeben",
|
|
"connection_modal.validation.diagnostic_bridge_url_required": "Diagnosebrücken-URL eingeben",
|
|
"connection_modal.validation.diagnostic_target_required": "Diagnoseziel eingeben",
|
|
"connection_modal.validation.diagnostic_timeout_range_1_300": "Diagnose-Timeout muss zwischen 1 und 300 Sekunden liegen",
|
|
"connection_modal.validation.driver_name_required": "Geben Sie den Treibernamen ein.",
|
|
"connection_modal.validation.endpoint_url_required": "Endpoint-URL eingeben",
|
|
"connection_modal.validation.jvm_access_mode_required": "Mindestens einen JVM-Zugriffsmodus auswählen",
|
|
"connection_modal.validation.jvm_host_required": "Geben Sie den JVM-Host ein.",
|
|
"connection_modal.validation.jvm_port_required": "Geben Sie den JVM-Port ein.",
|
|
"connection_modal.validation.jvm_preferred_mode_required": "Bevorzugten JVM-Zugriffsmodus auswählen",
|
|
"connection_modal.validation.oracle_service_required": "Oracle-Servicename eingeben",
|
|
"connection_modal.validation.port_required": "Port eingeben",
|
|
"connection_modal.validation.proxy_host_required": "Proxy-Host eingeben",
|
|
"connection_modal.validation.proxy_port_required": "Proxy-Port eingeben",
|
|
"connection_modal.validation.ssh_host_required": "SSH-Host eingeben",
|
|
"connection_modal.validation.ssh_port_required": "SSH-Port eingeben",
|
|
"connection_modal.validation.ssh_user_required": "SSH-Benutzer eingeben",
|
|
"connection_modal.validation.timeout_range_1_300": "Timeout muss zwischen 1 und 300 Sekunden liegen",
|
|
"connection_modal.validation.tunnel_host_required": "HTTP Tunnel-Host eingeben",
|
|
"connection_modal.validation.tunnel_port_required": "HTTP Tunnel-Port eingeben",
|
|
"connection_modal.validation.username_required": "Benutzernamen eingeben",
|
|
"connection.backend.action.apply_result_changes": "Ergebnisänderungen übernehmen",
|
|
"connection.backend.action.clear_table": "Tabellendaten leeren",
|
|
"connection.backend.action.create_database": "Datenbank erstellen",
|
|
"connection.backend.action.create_schema": "Schema erstellen",
|
|
"connection.backend.action.data_sync_structure": "Struktur des Synchronisationsziels ändern",
|
|
"connection.backend.action.data_sync_write": "Synchronisierte Daten schreiben",
|
|
"connection.backend.action.drop_database": "Datenbank löschen",
|
|
"connection.backend.action.drop_function_or_procedure": "Funktion oder Stored Procedure löschen",
|
|
"connection.backend.action.drop_schema": "Schema löschen",
|
|
"connection.backend.action.drop_table": "Tabelle löschen",
|
|
"connection.backend.action.drop_view": "View löschen",
|
|
"connection.backend.action.import_data": "Daten importieren",
|
|
"connection.backend.action.preview_result_changes": "Ergebnisänderungen in der Vorschau anzeigen",
|
|
"connection.backend.action.rename_database": "Datenbank umbenennen",
|
|
"connection.backend.action.rename_schema": "Schema umbenennen",
|
|
"connection.backend.action.rename_table": "Tabelle umbenennen",
|
|
"connection.backend.action.rename_view": "View umbenennen",
|
|
"connection.backend.action.truncate_table": "Tabelle per TRUNCATE leeren",
|
|
"connection.backend.error.readonly_action_blocked": "Für diese Verbindung ist der Produktionsschutz aktiv; {{action}} ist nicht erlaubt.",
|
|
"connection.copy_suffix": " - Kopie",
|
|
"connection.delete": "Verbindung löschen",
|
|
"connection.edit": "Verbindung bearbeiten",
|
|
"connection.new": "Neue Verbindung",
|
|
"connection.oceanbase.error.unsupported_protocol": "OceanBase unterstützt nur MySQL/Oracle-Mandantenprotokolle; \"{{value}}\" wird nicht unterstützt. Wechseln Sie zu MySQL oder Oracle.",
|
|
"connection.sidebar.delete.backendUnavailable": "Löschen der Verbindung fehlgeschlagen: Backend-Schnittstelle nicht verfügbar",
|
|
"connection.sidebar.delete.confirmContent": "Verbindung \"{{name}}\" wirklich löschen?",
|
|
"connection.sidebar.delete.confirmTitle": "Löschen bestätigen",
|
|
"connection.sidebar.delete.failureFallback": "Löschen der Verbindung fehlgeschlagen",
|
|
"connection.sidebar.delete.success": "Verbindung gelöscht",
|
|
"connection.sidebar.disconnect.success": "Verbindung getrennt",
|
|
"connection.sidebar.duplicate.backendUnavailable": "Kopieren der Verbindung fehlgeschlagen: Backend-Schnittstelle nicht verfügbar",
|
|
"connection.sidebar.duplicate.failureFallback": "Kopieren der Verbindung fehlgeschlagen",
|
|
"connection.sidebar.duplicate.noResult": "Kopieren der Verbindung fehlgeschlagen: Backend hat kein Ergebnis zurückgegeben",
|
|
"connection.sidebar.duplicate.success": "Verbindung kopiert: {{name}}",
|
|
"connection.sidebar.group.badge": "Gruppe",
|
|
"connection.sidebar.group.collapseAria": "Verbindungsgruppe {{name}} einklappen",
|
|
"connection.sidebar.group.delete": "Gruppe löschen",
|
|
"connection.sidebar.group.deleteConfirmContent": "Gruppe \"{{name}}\" löschen? Die enthaltenen Verbindungen bleiben erhalten.",
|
|
"connection.sidebar.group.deleteConfirmTitle": "Löschen bestätigen",
|
|
"connection.sidebar.group.edit": "Gruppe bearbeiten",
|
|
"connection.sidebar.group.expandAria": "Verbindungsgruppe {{name}} erweitern",
|
|
"connection.sidebar.group.meta": "{{count}} Verbindungen · Verbindungsgruppe",
|
|
"connection.sidebar.group.untitled": "Unbenannte Gruppe",
|
|
"connection.sidebar.menu.copy": "Verbindung kopieren",
|
|
"connection.sidebar.menu.createDatabase": "Neue Datenbank",
|
|
"connection.sidebar.menu.current": "Aktuell",
|
|
"connection.sidebar.menu.delete": "Verbindung löschen",
|
|
"connection.sidebar.menu.disconnect": "Verbindung trennen",
|
|
"connection.sidebar.menu.groupSection": "Verbindungsgruppen",
|
|
"connection.sidebar.menu.hostBadge": "HOST",
|
|
"connection.sidebar.menu.hostFallback": "Adresse nicht konfiguriert",
|
|
"connection.sidebar.menu.moveOutTag": "Aus Tag entfernen",
|
|
"connection.sidebar.menu.moveToTag": "Zu Tag verschieben",
|
|
"connection.sidebar.menu.moveToUngrouped": "Aus Gruppe entfernen",
|
|
"connection.sidebar.menu.refresh": "Verbindung aktualisieren",
|
|
"connection.sidebar.menu.section": "Verbindung",
|
|
"connection.test": "Verbindung testen",
|
|
"connection.unnamed": "Unbenannte Verbindung",
|
|
"data_export.action.clear": "Leeren",
|
|
"data_export.action.clear_progress": "Aktuellen Fortschritt leeren",
|
|
"data_export.action.select_all": "Alle auswählen",
|
|
"data_export.action.start": "Export starten",
|
|
"data_export.dialog.action.start": "Export starten",
|
|
"data_export.dialog.field.format": "Exportformat",
|
|
"data_export.dialog.field.scope": "Exportbereich",
|
|
"data_export.dialog.field.xlsx_max_rows": "Maximale Zeilen pro Arbeitsblatt",
|
|
"data_export.dialog.field.xlsx_max_rows_help": "Gilt nur für XLSX, maximal {{maxRows}} Zeilen (ohne Kopfzeile)",
|
|
"data_export.dialog.validation.format_required": "Bitte wählen Sie ein Exportformat aus",
|
|
"data_export.dialog.validation.scope_required": "Bitte wählen Sie einen verfügbaren Exportbereich aus",
|
|
"data_export.dialog.validation.xlsx_max_rows_limit": "Die maximale Zeilenzahl pro Arbeitsblatt darf {{maxRows}} nicht überschreiten",
|
|
"data_export.dialog.validation.xlsx_max_rows_required": "Bitte geben Sie eine gültige maximale Zeilenzahl pro Arbeitsblatt ein",
|
|
"data_export.hint.batch_stage": "Die aktuelle Phase ist ein Hinweis aus der Backend-Ausführung. Der Gesamtfortschritt steigt, sobald ein Objekt oder eine Datenbank abgeschlossen ist.",
|
|
"data_export.hint.rows_unknown": "Die Gesamtzahl der Zeilen wurde nicht vorab ermittelt. Daher wird kein Prozentsatz angezeigt und die geschriebenen Zeilen werden in Echtzeit angezeigt.",
|
|
"data_export.label.connection": "Verbindung",
|
|
"data_export.label.current_stage": "Aktuelle Phase",
|
|
"data_export.label.database": "Datenbank",
|
|
"data_export.label.directory": "Verzeichnis",
|
|
"data_export.label.elapsed": "Exportdauer",
|
|
"data_export.label.estimated_rows": "Geschätzte Zeilen",
|
|
"data_export.label.export_content": "Exportinhalt",
|
|
"data_export.label.export_scope": "Exportbereich",
|
|
"data_export.label.file": "Datei",
|
|
"data_export.label.format": "Format",
|
|
"data_export.label.host": "Host",
|
|
"data_export.label.mode": "Modus",
|
|
"data_export.label.object": "Objekt",
|
|
"data_export.label.object_count": "Anzahl Objekte",
|
|
"data_export.label.progress_summary": "Fortschrittsbeschreibung",
|
|
"data_export.label.selected_databases": "Ausgewählte Datenbanken",
|
|
"data_export.label.sql_file": "SQL-Datei",
|
|
"data_export.label.started_at": "Startzeit",
|
|
"data_export.label.status": "Status",
|
|
"data_export.label.strategy": "Ausführungspfad",
|
|
"data_export.label.type": "Typ",
|
|
"data_export.label.xlsx_max_rows": "Maximale Zeilen pro Arbeitsblatt",
|
|
"data_export.message.already_running": "Es läuft bereits ein Exportauftrag. Warten Sie, bis er abgeschlossen ist, bevor Sie einen neuen Export starten.",
|
|
"data_export.message.export_failed": "Export fehlgeschlagen: {{error}}",
|
|
"data_export.message.export_success": "Export erfolgreich",
|
|
"data_export.message.load_databases_failed": "Datenbankliste konnte nicht geladen werden",
|
|
"data_export.message.load_objects_failed": "Objektliste konnte nicht geladen werden",
|
|
"data_export.progress.label.task": "Aufgabe",
|
|
"data_export.progress.rows_written": "{{current}} Zeilen geschrieben",
|
|
"data_export.progress.rows_written_with_total": "{{current}} / {{total}} Zeilen geschrieben",
|
|
"data_export.progress.stage.export_failed": "Export fehlgeschlagen",
|
|
"data_export.progress.stage.exporting_item_with_progress": "{{name}} wird exportiert ({{current}}/{{total}})",
|
|
"data_export.progress.stage.exporting_sql_file": "SQL-Datei wird exportiert",
|
|
"data_export.progress.stage.finalizing_csv_write": "CSV-Schreiben wird abgeschlossen",
|
|
"data_export.progress.stage.finalizing_file_write": "Dateischreiben wird abgeschlossen",
|
|
"data_export.progress.stage.finalizing_xlsx_package": "XLSX-Datei wird verpackt und komprimiert",
|
|
"data_export.progress.stage.preparing_batch_databases_export": "Batch-Datenbankexport wird vorbereitet",
|
|
"data_export.progress.stage.preparing_batch_tables_export": "Batch-Objektexport wird vorbereitet",
|
|
"data_export.progress.stage.preparing_export": "Export wird vorbereitet",
|
|
"data_export.progress.stage.querying_data": "Daten werden abgefragt",
|
|
"data_export.progress.stage.waiting_file_selection": "Warten auf Auswahl der Exportdatei",
|
|
"data_export.progress.stage.writing_file": "Datei wird geschrieben",
|
|
"data_export.progress.status.done": "Abgeschlossen",
|
|
"data_export.progress.status.error": "Fehlgeschlagen",
|
|
"data_export.progress.status.finalizing": "Abschluss läuft",
|
|
"data_export.progress.status.idle": "Noch nicht gestartet",
|
|
"data_export.progress.status.running": "Wird ausgeführt",
|
|
"data_export.progress.status.start": "Wird vorbereitet",
|
|
"data_export.progress.title.done": "Export abgeschlossen",
|
|
"data_export.progress.title.error": "Export fehlgeschlagen",
|
|
"data_export.progress.title.running": "Export läuft",
|
|
"data_export.progress.value.target_fallback": "Unbenanntes Objekt",
|
|
"data_export.progress.value.task_fallback": "Exportaufgabe",
|
|
"data_export.value.unestimated": "Nicht vorab ermittelt",
|
|
"data_export.value.waiting_target_path": "Warten auf Zielpfad",
|
|
"data_export.value.waiting_to_start": "Warten auf Start",
|
|
"data_export.workbench.alert.connection_missing_description": "Stellen Sie die Verbindungskonfiguration wieder her, bevor Sie diese Exportaufgabe ausführen.",
|
|
"data_export.workbench.alert.connection_missing_title": "Die aktuelle Verbindung existiert nicht mehr",
|
|
"data_export.workbench.alert.database_load_failed": "Laden der Datenbankliste fehlgeschlagen",
|
|
"data_export.workbench.alert.object_load_failed": "Laden der Objektliste fehlgeschlagen",
|
|
"data_export.workbench.alert.scope_unavailable_description": "Für diesen Bereich fehlt ein stabiler Backend-Abfragekontext. Exportieren Sie direkt von der Datenseite oder verwenden Sie den Export für die ganze Tabelle bzw. gefilterte Ergebnisse.",
|
|
"data_export.workbench.alert.scope_unavailable_title": "Dieser Bereich kann derzeit im Export-Workbench nicht reproduziert werden",
|
|
"data_export.workbench.batch_databases.mode.backup.description": "Erzeugt für jede Datenbank separate SQL-Dateien mit Schema und Daten.",
|
|
"data_export.workbench.batch_databases.mode.backup.label": "Datenbanken sichern",
|
|
"data_export.workbench.batch_databases.mode.schema.description": "Erzeugt für jede Datenbank separate Schema-SQL-Dateien.",
|
|
"data_export.workbench.batch_databases.mode.schema.label": "Datenbankschema exportieren",
|
|
"data_export.workbench.batch_tables.mode.backup.description": "Exportiert Schema und Daten-SQL für die ausgewählten Objekte.",
|
|
"data_export.workbench.batch_tables.mode.backup.label": "Sicherung",
|
|
"data_export.workbench.batch_tables.mode.data_only.description": "Exportiert INSERT-Anweisungen für die ausgewählten Objekte.",
|
|
"data_export.workbench.batch_tables.mode.data_only.label": "Nur Daten",
|
|
"data_export.workbench.batch_tables.mode.schema.description": "Exportiert CREATE- oder Definitions-SQL für die ausgewählten Objekte in der aktuellen Datenbank.",
|
|
"data_export.workbench.batch_tables.mode.schema.label": "Schema",
|
|
"data_export.workbench.description.current_task_empty": "Sobald der Export startet, erscheint hier der einzige Hauptfortschritt der aktuellen Aufgabe.",
|
|
"data_export.workbench.description.history": "Die aktuelle Aufgabe wird hier nicht doppelt angezeigt. Im Verlauf bleiben nur Zusammenfassungen abgeschlossener oder weggewechselter Aufgaben erhalten.",
|
|
"data_export.workbench.empty.history": "Noch kein Verlauf. Nach einem Export bleibt hier die Zusammenfassung der letzten Aufgabe erhalten.",
|
|
"data_export.workbench.empty.not_started": "Export wurde noch nicht gestartet",
|
|
"data_export.workbench.helper.available_objects": "{{available}} Objekte sind in der aktuellen Datenbank verfügbar, {{selected}} ausgewählt.",
|
|
"data_export.workbench.helper.batch_database_output": "Beim Start des Exports wählen Sie zuerst ein Ausgabeverzeichnis, danach werden für jede Datenbank separate SQL-Dateien erzeugt.",
|
|
"data_export.workbench.helper.batch_databases_start": "Beim Stapel-Export von Datenbanken wählen Sie zuerst ein Ausgabeverzeichnis. Danach werden pro Datenbank separate SQL-Dateien erzeugt und rechts der Gesamtfortschritt angezeigt.",
|
|
"data_export.workbench.helper.batch_tables_start": "Beim Stapel-Export von Objekten wird eine gemeinsame SQL-Datei erzeugt. Rechts sehen Sie den Gesamtfortschritt und aktuelle Aufgabenübersichten.",
|
|
"data_export.workbench.helper.single_export_start": "Nach dem Start des Exports wählen Sie zuerst die Zieldatei. Rechts werden dann ein einzelner Fortschrittsbalken, die Dauer und der Ausgabepfad angezeigt.",
|
|
"data_export.workbench.history.count": "{{count}} Einträge",
|
|
"data_export.workbench.mode.batch_databases": "Stapel-Datenbanken",
|
|
"data_export.workbench.mode.batch_tables": "Stapel-Objekte",
|
|
"data_export.workbench.object_type.materialized_view": "Materialisierte Ansicht",
|
|
"data_export.workbench.object_type.table": "Tabelle",
|
|
"data_export.workbench.object_type.view": "Ansicht",
|
|
"data_export.workbench.placeholder.loading_databases": "Datenbanken werden geladen...",
|
|
"data_export.workbench.placeholder.loading_objects": "Objekte werden geladen...",
|
|
"data_export.workbench.placeholder.select_connection": "Verbindung auswählen",
|
|
"data_export.workbench.placeholder.select_database": "Datenbank auswählen",
|
|
"data_export.workbench.placeholder.select_database_first": "Bitte zuerst eine Datenbank auswählen",
|
|
"data_export.workbench.placeholder.select_object": "Objekte auswählen",
|
|
"data_export.workbench.scope.all.description": "Fragt die gesamte Tabelle im Backend erneut ab und exportiert alle Daten.",
|
|
"data_export.workbench.scope.all.label": "Gesamte Tabellendaten",
|
|
"data_export.workbench.scope.selected_databases": "Ausgewählte Datenbanken ({{count}})",
|
|
"data_export.workbench.scope.selected_objects": "Ausgewählte Objekte ({{count}})",
|
|
"data_export.workbench.section.config": "Exportkonfiguration",
|
|
"data_export.workbench.section.current_task": "Aktuelle Aufgabe",
|
|
"data_export.workbench.section.history": "Letzte Aufgaben",
|
|
"data_export.workbench.strategy.batch_databases": "Stapel-Datenbank-SQL-Export · {{mode}}",
|
|
"data_export.workbench.strategy.batch_tables": "Stapel-Objekt-SQL-Export · {{mode}}",
|
|
"data_export.workbench.strategy.full_table": "Volltabellen-Exportpfad",
|
|
"data_export.workbench.strategy.query_replay": "SQL-Replay-Export",
|
|
"data_export.workbench.subtitle": "Konfigurieren Sie Exporte, beobachten Sie den Hauptfortschritt und prüfen Sie aktuelle Aufgabenübersichten auf einer Seite.",
|
|
"data_export.workbench.summary.batch_databases_done": "{{current}} / {{total}} Datenbanken abgeschlossen",
|
|
"data_export.workbench.summary.batch_databases_running": "Stapel-Export von Datenbanken läuft",
|
|
"data_export.workbench.summary.batch_tables_done": "{{current}} / {{total}} Objekte abgeschlossen",
|
|
"data_export.workbench.summary.batch_tables_running": "Stapel-Export von Objekten läuft",
|
|
"data_export.workbench.target.batch_databases": "{{count}} Datenbanken",
|
|
"data_export.workbench.target.batch_tables": "{{database}} · {{count}} Objekte",
|
|
"data_export.workbench.target.current_database": "Aktuelle Datenbank",
|
|
"data_export.workbench.task.export_target": "{{name}} exportieren",
|
|
"data_export.workbench.title": "Export-Workbench",
|
|
"data_grid.action.apply": "Anwenden",
|
|
"data_grid.ai_insight.prompt": "Analysiere bitte die folgenden Abfrageergebnisse (die ersten {{count}} Beispieldatensätze):\n```json\n{{json}}\n```\n\nAnalysiere Datenmerkmale, erkenne Muster oder liefere geschäftliche Erkenntnisse.",
|
|
"data_grid.ai_prompt.analyze_page": "Analysiere bitte die folgenden Abfrageergebnisse (die ersten {{count}} Beispielzeilen):\n```json\n{{json}}\n```\n\nAnalysiere Datenmerkmale, erkenne Muster oder liefere geschäftliche Erkenntnisse.",
|
|
"data_grid.aria.row_number": "Zeilennummer",
|
|
"data_grid.batch_fill.set_null": "Auf NULL setzen",
|
|
"data_grid.batch_fill.title": "Stapelfüllung ({{count}} Zellen)",
|
|
"data_grid.batch_fill.value_placeholder": "Einzufüllenden Wert eingeben",
|
|
"data_grid.cell_editor.now": "Jetzt",
|
|
"data_grid.cell_editor.title": "Zelle bearbeiten",
|
|
"data_grid.cell_editor.title_with_column": "Zelle bearbeiten: {{column}}",
|
|
"data_grid.column_quick_find.placeholder": "Zur Spalte springen...",
|
|
"data_grid.column_quick_find.tooltip": "Spaltennamen eingeben, dann Enter drücken oder die Suchschaltfläche nutzen, um zur Spalte zu springen",
|
|
"data_grid.column_settings.column_visibility": "Spaltensichtbarkeit",
|
|
"data_grid.column_settings.display_settings": "Anzeigeeinstellungen",
|
|
"data_grid.column_settings.field_info": "Feldinformationen",
|
|
"data_grid.column_settings.hide_all": "Alle ausblenden",
|
|
"data_grid.column_settings.remember_column_order": "Eigene Spaltenreihenfolge merken",
|
|
"data_grid.column_settings.remember_hidden_columns": "Ausgeblendete Spalten merken",
|
|
"data_grid.column_settings.reset_hidden": "Ausblendungen zurücksetzen",
|
|
"data_grid.column_settings.reset_hidden_success": "Alle Spalten werden wieder angezeigt",
|
|
"data_grid.column_settings.reset_order": "Reihenfolge zurücksetzen",
|
|
"data_grid.column_settings.reset_order_success": "Standard-Spaltenreihenfolge wiederhergestellt",
|
|
"data_grid.column_settings.search_columns_placeholder": "Spaltennamen suchen...",
|
|
"data_grid.column_settings.show_all": "Alle anzeigen",
|
|
"data_grid.column_settings.show_comments": "Spaltenkommentare in der Kopfzeile anzeigen",
|
|
"data_grid.column_settings.show_types": "Spaltentypen in der Kopfzeile anzeigen",
|
|
"data_grid.column.comment_tooltip": "Kommentar: {{comment}}",
|
|
"data_grid.column.drag_tooltip": "Ziehen, um Spalten neu anzuordnen",
|
|
"data_grid.column.foreign_key_jump_title": "Zur Fremdschlüssel-Tabelle springen: {{tableName}}",
|
|
"data_grid.column.foreign_key_tooltip": "Fremdschlüssel: {{target}}",
|
|
"data_grid.column.resize_tooltip": "Ziehen, um die Spaltenbreite zu ändern; Doppelklick für automatische Anpassung",
|
|
"data_grid.column.type_tooltip": "Typ: {{type}}",
|
|
"data_grid.context_menu.auto_fit_column": "Spaltenbreite an Inhalt anpassen",
|
|
"data_grid.context_menu.clear_column_sort": "Sortierung für dieses Feld aufheben",
|
|
"data_grid.context_menu.column_display_section": "Feldanzeige",
|
|
"data_grid.context_menu.column_no_comment": "Kein Kommentar",
|
|
"data_grid.context_menu.column_unknown_type": "Unbekannter Typ",
|
|
"data_grid.context_menu.column_unnamed_field": "Unbenanntes Feld",
|
|
"data_grid.context_menu.copy_as_csv": "Als CSV kopieren",
|
|
"data_grid.context_menu.copy_as_delete": "Als DELETE kopieren",
|
|
"data_grid.context_menu.copy_as_insert": "Als INSERT kopieren",
|
|
"data_grid.context_menu.copy_as_json": "Als JSON kopieren",
|
|
"data_grid.context_menu.copy_as_markdown": "Als Markdown kopieren",
|
|
"data_grid.context_menu.copy_as_update": "Als UPDATE kopieren",
|
|
"data_grid.context_menu.copy_column_data": "Spaltendaten kopieren",
|
|
"data_grid.context_menu.copy_field_name": "Feldnamen kopieren",
|
|
"data_grid.context_menu.copy_row_as_new": "Diese Zeile als neue Zeile kopieren",
|
|
"data_grid.context_menu.copy_row_data": "Zeilendaten kopieren",
|
|
"data_grid.context_menu.current_cell": "Aktuelle Zelle",
|
|
"data_grid.context_menu.current_marker": "Aktuell",
|
|
"data_grid.context_menu.current_row": "Aktuelle Zeile",
|
|
"data_grid.context_menu.edit_row": "Diese Zeile bearbeiten",
|
|
"data_grid.context_menu.edit_section": "Bearbeiten",
|
|
"data_grid.context_menu.export_as_csv": "Als CSV exportieren",
|
|
"data_grid.context_menu.export_as_excel": "Als Excel exportieren",
|
|
"data_grid.context_menu.export_as_html": "Als HTML exportieren",
|
|
"data_grid.context_menu.export_as_json": "Als JSON exportieren",
|
|
"data_grid.context_menu.export_selected": "Ausgewählte Daten exportieren",
|
|
"data_grid.context_menu.fill_to_selected_rows": "In ausgewählte Zeilen füllen ({{count}})",
|
|
"data_grid.context_menu.hide_column": "Dieses Feld ausblenden",
|
|
"data_grid.context_menu.hide_column_comment": "Feldkommentar ausblenden",
|
|
"data_grid.context_menu.hide_column_type": "Feldtyp ausblenden",
|
|
"data_grid.context_menu.paste_copied_columns": "Kopierte Spalten einfügen (gleiche Namen)",
|
|
"data_grid.context_menu.paste_row_as_new": "Als neue Zeile einfügen",
|
|
"data_grid.context_menu.paste_row_as_new_count": "Als neue Zeile einfügen ({{count}})",
|
|
"data_grid.context_menu.show_column_comment": "Feldkommentar anzeigen",
|
|
"data_grid.context_menu.show_column_type": "Feldtyp anzeigen",
|
|
"data_grid.context_menu.sort_ascending": "Aufsteigend sortieren",
|
|
"data_grid.context_menu.sort_descending": "Absteigend sortieren",
|
|
"data_grid.context_menu.sort_section": "Sortierung",
|
|
"data_grid.context_menu.undo_cell_change": "Änderung dieser Zelle zurücknehmen",
|
|
"data_grid.copy_sql.error.missing_safe_where": "Das aktuelle Resultset hat keinen Primärschlüssel oder eindeutigen Schlüssel, mit dem die Zeile sicher identifiziert werden kann, und deckt nicht alle Tabellenspalten ab. Daher kann keine WHERE-Bedingung erzeugt werden.",
|
|
"data_grid.copy_sql.error.missing_table_name": "Das aktuelle Resultset ist keinem eindeutigen Tabellennamen zugeordnet. Daher kann kein {{mode}} SQL erzeugt werden.",
|
|
"data_grid.copy_sql.error.no_copyable_fields": "Das aktuelle Resultset enthält keine kopierbaren Felder. Daher kann kein SQL erzeugt werden.",
|
|
"data_grid.data_panel.click_cell_description": "Klicke auf eine Tabellenzelle, um die vollständigen Daten als Vorschau zu sehen",
|
|
"data_grid.data_panel.click_cell_title": "Zelle anklicken, um Daten anzuzeigen",
|
|
"data_grid.data_panel.title": "Datenvorschau",
|
|
"data_grid.datetime_picker.now": "Jetzt",
|
|
"data_grid.ddl.copy": "DDL kopieren",
|
|
"data_grid.ddl.layout_bottom": "Unten",
|
|
"data_grid.ddl.layout_side": "Seitenleiste",
|
|
"data_grid.ddl.loading": "DDL wird geladen...",
|
|
"data_grid.ddl.reload": "Neu laden",
|
|
"data_grid.ddl.sidebar_aria": "Tabellen-DDL-Seitenleiste",
|
|
"data_grid.ddl.view": "DDL anzeigen",
|
|
"data_grid.embedded_designer.title": "Tabelle entwerfen ({{tableName}})",
|
|
"data_grid.error_boundary.description": "Beim Rendern des Datenrasters ist ein Fehler aufgetreten. Das Datenformat ist möglicherweise ungültig.",
|
|
"data_grid.error_boundary.retry": "Erneut versuchen",
|
|
"data_grid.error_boundary.title": "Renderfehler",
|
|
"data_grid.export.all_data": "Alle Daten exportieren",
|
|
"data_grid.export.all_rows": "Alle Zeilen exportieren ({{count}} Zeilen)",
|
|
"data_grid.export.all_rows_requery": "Alles exportieren (Abfrage erneut ausführen)",
|
|
"data_grid.export.current_page": "Aktuelle Seite exportieren ({{count}} Zeilen)",
|
|
"data_grid.export.current_page_rows": "Aktuelle Seite exportieren ({{count}} Zeilen)",
|
|
"data_grid.export.group_filtered_results": "Gefilterte Ergebnisse",
|
|
"data_grid.export.group_full_table": "Gesamte Tabelle",
|
|
"data_grid.export.no_selection_prompt": "Es sind keine Zeilen ausgewählt. Wähle einen Exportbereich:",
|
|
"data_grid.export.options_title": "Exportoptionen",
|
|
"data_grid.export.query_result_title": "Abfrageergebnisse exportieren",
|
|
"data_grid.export.scope_prompt": "Exportbereich auswählen:",
|
|
"data_grid.export.scope.all_results_cached": "Alle Ergebnisse (aktueller Cache {{count}} Zeilen)",
|
|
"data_grid.export.scope.all_results_cached_description": "Exportiert alle Ergebnisse aus dem aktuellen Cache, wenn die aktuelle Abfrage nicht erneut ausgeführt werden kann.",
|
|
"data_grid.export.scope.all_results_requery": "Alle Ergebnisse (erneut abfragen)",
|
|
"data_grid.export.scope.all_results_requery_description": "Führt das SQL im Backend erneut aus, damit nicht nur die aktuelle Seite oder der Cache exportiert wird.",
|
|
"data_grid.export.scope.current_page": "Aktuelle Seite ({{count}} Zeilen)",
|
|
"data_grid.export.scope.current_page_description": "Exportiert direkt aus dem Cache der aktuellen Seite.",
|
|
"data_grid.export.scope.current_page_requery_description": "Fragt die aktuelle Seite mit den aktuellen Seiteneinstellungen im Backend erneut ab und exportiert sie dann.",
|
|
"data_grid.export.scope.current_page_unavailable_description": "Die aktuelle Seite hängt von temporärem Frontend-Status ab. Verwenden Sie stattdessen den Schnellexport.",
|
|
"data_grid.export.scope.filtered_results_all": "Gefilterte Ergebnisse (alle)",
|
|
"data_grid.export.scope.filtered_results_all_requery_description": "Fragt die Datenbank mit den aktuellen Filtern erneut ab und exportiert alle gefilterten Ergebnisse.",
|
|
"data_grid.export.scope.filtered_results_all_unavailable_description": "Die aktuelle Datenquelle oder der aktuelle Status unterstützt keine Wiederholung des Filterexports in der Workbench.",
|
|
"data_grid.export.scope.selected_rows": "Ausgewählte Zeilen",
|
|
"data_grid.export.scope.selected_rows_count": "Ausgewählte Zeilen ({{count}} Zeilen)",
|
|
"data_grid.export.scope.selected_rows_description": "Exportiert nur die markierten Zeilen aus der aktuellen Ergebnismenge.",
|
|
"data_grid.export.selected_rows": "Ausgewählte Zeilen exportieren ({{count}} Zeilen)",
|
|
"data_grid.filter.add_condition": "Bedingung hinzufügen",
|
|
"data_grid.filter.add_sort": "Sortierung hinzufügen",
|
|
"data_grid.filter.apply": "Anwenden",
|
|
"data_grid.filter.apply_where": "WHERE anwenden",
|
|
"data_grid.filter.clear": "Leeren",
|
|
"data_grid.filter.custom_where_placeholder": "Benutzerdefinierten WHERE-Ausdruck eingeben (ohne WHERE), z. B.: status IN ('A','B')",
|
|
"data_grid.filter.disable_all": "Alle deaktivieren",
|
|
"data_grid.filter.enable_all": "Alle aktivieren",
|
|
"data_grid.filter.enabled": "Aktiviert",
|
|
"data_grid.filter.end_value_placeholder": "Endwert",
|
|
"data_grid.filter.first_condition": "Erste",
|
|
"data_grid.filter.invalid_quick_where": "WHERE-Bedingungen dürfen keine Semikolons oder SQL-Kommentare enthalten",
|
|
"data_grid.filter.list_values_placeholder": "Mehrere Werte durch Kommas oder Zeilenumbrüche trennen",
|
|
"data_grid.filter.logic.and": "Und (AND)",
|
|
"data_grid.filter.logic.or": "Oder (OR)",
|
|
"data_grid.filter.mongodb_query_placeholder": "MongoDB-JSON-Abfrageobjekt eingeben, z. B. {\"status\":\"A\"}",
|
|
"data_grid.filter.no_value_placeholder": "Kein Wert erforderlich",
|
|
"data_grid.filter.op.between": "Zwischen",
|
|
"data_grid.filter.op.contains": "Enthält",
|
|
"data_grid.filter.op.custom": "[Benutzerdefiniert]",
|
|
"data_grid.filter.op.ends_with": "Endet mit",
|
|
"data_grid.filter.op.in_list": "In Liste",
|
|
"data_grid.filter.op.is_empty": "Ist leer",
|
|
"data_grid.filter.op.is_not_empty": "Ist nicht leer",
|
|
"data_grid.filter.op.is_not_null": "Ist nicht NULL",
|
|
"data_grid.filter.op.is_null": "Ist NULL",
|
|
"data_grid.filter.op.not_between": "Nicht zwischen",
|
|
"data_grid.filter.op.not_contains": "Enthält nicht",
|
|
"data_grid.filter.op.not_ends_with": "Endet nicht mit",
|
|
"data_grid.filter.op.not_in_list": "Nicht in Liste",
|
|
"data_grid.filter.op.not_starts_with": "Beginnt nicht mit",
|
|
"data_grid.filter.op.starts_with": "Beginnt mit",
|
|
"data_grid.filter.quick_where_placeholder": "Bedingung nach WHERE eingeben, z. B. status = 1 AND name LIKE 'A%'",
|
|
"data_grid.filter.search_field_placeholder": "Feldnamen suchen",
|
|
"data_grid.filter.select_sort_field_placeholder": "Sortierfeld auswählen",
|
|
"data_grid.filter.sort_asc": "Aufsteigend",
|
|
"data_grid.filter.sort_desc": "Absteigend",
|
|
"data_grid.filter.sort_label": "Sortierung",
|
|
"data_grid.filter.start_value_placeholder": "Startwert",
|
|
"data_grid.filter.suggestion.column": "Spalte",
|
|
"data_grid.filter.suggestion.keyword": "Schlüsselwort",
|
|
"data_grid.filter.suggestion.operator": "Operator",
|
|
"data_grid.filter.then_label": "Dann",
|
|
"data_grid.json_editor.apply_changes": "Änderungen anwenden",
|
|
"data_grid.json_editor.description": "In der aktuellen Ergebnisreihenfolge bearbeiten. Im JSON-Modus können keine Datensätze hinzugefügt oder gelöscht werden. Verwende dafür den Tabellenmodus.",
|
|
"data_grid.json_editor.format": "JSON formatieren",
|
|
"data_grid.json_editor.invalid_format": "Ungültiges JSON-Format: {{error}}",
|
|
"data_grid.json_editor.title": "JSON-Ergebnismenge bearbeiten",
|
|
"data_grid.message.auto_commit_failed": "Automatische Übernahme fehlgeschlagen: {{detail}}",
|
|
"data_grid.message.auto_commit_success": "Automatisch übernommen",
|
|
"data_grid.message.cell_edit_mode_entered": "Zellbearbeitung aktiviert. Zum Auswählen mehrerer Zellen ziehen.",
|
|
"data_grid.message.cell_edit_mode_exited": "Zellbearbeitung deaktiviert.",
|
|
"data_grid.message.change_set_build_failed": "Änderungssatz konnte nicht erstellt werden",
|
|
"data_grid.message.change_set_build_failed_detail": "Änderungssatz konnte nicht erstellt werden: {{detail}}",
|
|
"data_grid.message.column_order_reset": "Standard-Spaltenreihenfolge wiederhergestellt",
|
|
"data_grid.message.column_quick_find_not_found": "Feldspalte nicht gefunden: {{query}}",
|
|
"data_grid.message.column_quick_find_not_rendered": "Die Feldspalte \"{{column}}\" wird derzeit nicht gerendert und kann daher nicht gefunden werden.",
|
|
"data_grid.message.column_visibility_reset": "Alle Spalten wiederhergestellt",
|
|
"data_grid.message.commit_failed": "Übernahme fehlgeschlagen: {{detail}}",
|
|
"data_grid.message.copied_columns": "{{count}} Spalten kopiert. Du kannst sie in Zielzeilen einfügen.",
|
|
"data_grid.message.copied_rows": "{{count}} Zeilen kopiert. Du kannst sie als neue Zeilen einfügen.",
|
|
"data_grid.message.copied_to_clipboard": "In die Zwischenablage kopiert",
|
|
"data_grid.message.copy_columns_first": "Zuerst Spaltenwerte kopieren",
|
|
"data_grid.message.copy_columns_same_row_only": "Beim Kopieren von Spaltenwerten nur Zellen aus einer Zeile auswählen",
|
|
"data_grid.message.copy_rows_first": "Zuerst Zeilen kopieren",
|
|
"data_grid.message.copy_sql_not_supported": "Diese Datenquelle unterstützt das Kopieren von SQL nicht. Verwende stattdessen JSON/CSV/Markdown.",
|
|
"data_grid.message.current_field_not_editable": "Das aktuelle Feld ist nicht bearbeitbar",
|
|
"data_grid.message.current_record_not_editable": "Der aktuelle Datensatz kann nicht bearbeitet werden",
|
|
"data_grid.message.current_row_no_copyable_content": "Die aktuelle Zeile enthält keine kopierbaren Inhalte",
|
|
"data_grid.message.ddl_copied": "DDL in die Zwischenablage kopiert",
|
|
"data_grid.message.ddl_copy_failed": "DDL konnte nicht kopiert werden",
|
|
"data_grid.message.ddl_load_failed": "DDL konnte nicht geladen werden",
|
|
"data_grid.message.ddl_missing_context": "Für die aktuelle Tabelle fehlen Verbindung oder Tabellenname, daher kann die DDL nicht angezeigt werden",
|
|
"data_grid.message.drag_select_cells_to_copy": "Zuerst die zu kopierenden Zellen durch Ziehen auswählen",
|
|
"data_grid.message.export_failed": "Export fehlgeschlagen: {{detail}}",
|
|
"data_grid.message.export_success": "Export abgeschlossen",
|
|
"data_grid.message.export_with_uncommitted_changes": "Es gibt nicht übernommene Änderungen. Der Export verwendet die sichtbaren Rasterdaten. Übernimm die Änderungen zuerst, wenn du vollständige Daten langer Felder benötigst.",
|
|
"data_grid.message.exporting": "Export läuft...",
|
|
"data_grid.message.exporting_all": "Alle Daten werden exportiert...",
|
|
"data_grid.message.exporting_rows": "{{count}} Zeilen werden exportiert...",
|
|
"data_grid.message.filled_cells": "{{count}} Zellen gefüllt",
|
|
"data_grid.message.filled_rows": "{{count}} Zeilen gefüllt",
|
|
"data_grid.message.filtered_export_not_supported": "Diese Datenquelle unterstützt den Export gefilterter Ergebnisse nicht",
|
|
"data_grid.message.filtered_export_uses_committed_data": "Es gibt nicht übernommene Änderungen. Der Export gefilterter Ergebnisse verwendet bereits übernommene Datenbankdaten.",
|
|
"data_grid.message.import_done": "Import abgeschlossen",
|
|
"data_grid.message.json_applied": "JSON-Änderungen wurden auf die aktuelle Ergebnismenge angewendet. Du kannst mit dem Übernehmen der Transaktion fortfahren.",
|
|
"data_grid.message.json_invalid": "Ungültiges JSON: {{detail}}",
|
|
"data_grid.message.json_parse_failed": "JSON konnte nicht geparst werden: {{detail}}",
|
|
"data_grid.message.json_record_count_mismatch": "Datensatzanzahl stimmt nicht überein: aktuell {{current}} Zeilen, JSON enthält {{json}} Zeilen. In diesem Modus keine Datensätze hinzufügen oder löschen.",
|
|
"data_grid.message.json_record_missing_row_key": "Datensatz {{index}} enthält keine Zeilenkennung und kann nicht angewendet werden",
|
|
"data_grid.message.json_record_not_object": "Datensatz {{index}} ist kein Objekt und kann nicht angewendet werden",
|
|
"data_grid.message.json_view_must_be_array": "Die JSON-Ansicht muss ein Array sein, dessen Elemente jeweils einem Datensatz entsprechen",
|
|
"data_grid.message.keep_one_visible_column": "Mindestens eine sichtbare Spalte beibehalten",
|
|
"data_grid.message.locate_record_to_edit": "Zuerst den zu bearbeitenden Datensatz suchen",
|
|
"data_grid.message.locator_column_value_empty": "Die Locator-Spalte {{column}} ist leer, deshalb können Änderungen nicht sicher gesendet werden.",
|
|
"data_grid.message.no_changes_to_commit": "Keine Änderungen zum Übernehmen",
|
|
"data_grid.message.no_copyable_cells": "Keine kopierbaren Zellen erkannt",
|
|
"data_grid.message.no_copyable_columns": "Keine kopierbaren Spalten erkannt",
|
|
"data_grid.message.no_copyable_rows": "Keine kopierbaren Zeilen erkannt",
|
|
"data_grid.message.no_data_changes": "Keine Daten geändert",
|
|
"data_grid.message.no_ddl_to_copy": "Keine DDL zum Kopieren",
|
|
"data_grid.message.no_field_name": "Feldname wurde nicht erkannt",
|
|
"data_grid.message.no_filter_applied": "Derzeit ist keine Filterbedingung angewendet",
|
|
"data_grid.message.no_other_rows_to_fill": "Es gibt keine weiteren ausgewählten Zeilen zum Füllen",
|
|
"data_grid.message.no_pasteable_editable_fields": "Keine einfügbaren bearbeitbaren Felder verfügbar",
|
|
"data_grid.message.no_pasteable_rows": "Keine Zeilen zum Einfügen verfügbar",
|
|
"data_grid.message.no_rows_selected": "Es sind keine Zeilen ausgewählt",
|
|
"data_grid.message.no_safe_locator": "Für dieses Resultset ist kein sicherer Zeilen-Locator verfügbar.",
|
|
"data_grid.message.pasted_columns_to_rows": "In {{rows}} Zeilen eingefügt, insgesamt {{cells}} Zellen",
|
|
"data_grid.message.pasted_rows_as_new": "{{count}} Zeilen als neue Zeilen eingefügt. Vor dem Übernehmen prüfen.",
|
|
"data_grid.message.preview_sql_failed": "SQL-Vorschau konnte nicht erzeugt werden",
|
|
"data_grid.message.preview_sql_failed_detail": "SQL-Vorschau konnte nicht erzeugt werden: {{detail}}",
|
|
"data_grid.message.result_set_no_copyable_content": "Die aktuelle Ergebnismenge enthält keine kopierbaren Inhalte",
|
|
"data_grid.message.rollback_failed": "Rollback fehlgeschlagen: {{detail}}",
|
|
"data_grid.message.saved": "Gespeichert",
|
|
"data_grid.message.select_cells_to_fill": "Zuerst zu füllende Zellen auswählen",
|
|
"data_grid.message.select_file_failed": "Datei konnte nicht ausgewählt werden: {{detail}}",
|
|
"data_grid.message.select_rows_to_copy": "Zuerst zu kopierende Zeilen auswählen",
|
|
"data_grid.message.select_rows_to_fill": "Zuerst zu füllende Zeilen auswählen",
|
|
"data_grid.message.select_same_row_cells_to_copy": "Zuerst Zellen derselben Zeile zum Kopieren auswählen",
|
|
"data_grid.message.select_target_rows": "Zuerst Zielzeilen auswählen",
|
|
"data_grid.message.selected_cells_no_update": "Ausgewählte Zellen müssen nicht aktualisiert werden",
|
|
"data_grid.message.selection_no_copyable_content": "Die aktuelle Auswahl enthält keine kopierbaren Inhalte",
|
|
"data_grid.message.target_row_not_found": "Zielzeile nicht gefunden. Aktualisieren und erneut versuchen.",
|
|
"data_grid.message.target_rows_cannot_only_source": "Die Zielzeilen dürfen nicht nur aus der Quellzeile bestehen. Wähle eine andere Zeile aus.",
|
|
"data_grid.message.target_rows_no_update": "Zielzeilen müssen nicht aktualisiert werden",
|
|
"data_grid.message.transaction_committed": "Transaktion übernommen",
|
|
"data_grid.message.transaction_rolled_back": "Transaktion zurückgesetzt",
|
|
"data_grid.message.undo_added_row_hint": "Neue Zeilen lassen sich über „Auswahl löschen“ oder einen Rollback der ganzen Tabelle zurücknehmen.",
|
|
"data_grid.message.undo_cell_original_missing": "Die ursprünglichen Daten dieser Zelle wurden nicht gefunden, daher kann die Änderung nicht zurückgenommen werden.",
|
|
"data_grid.message.undo_cell_success": "Zelländerung zurückgenommen",
|
|
"data_grid.metadata_view.column_name": "Name",
|
|
"data_grid.metadata_view.column_type": "Typ",
|
|
"data_grid.metadata_view.comment": "Kommentar",
|
|
"data_grid.metadata_view.default_value": "Standardwert",
|
|
"data_grid.metadata_view.er_collapse_fields": "Feldzusammenfassung einklappen",
|
|
"data_grid.metadata_view.er_current_badge": "Aktuelle Tabelle",
|
|
"data_grid.metadata_view.er_empty": "Fuer diese Tabelle wurden keine Fremdschluesselbeziehungen gefunden",
|
|
"data_grid.metadata_view.er_expand_fields": "Alle Felder erweitern",
|
|
"data_grid.metadata_view.er_expand_hidden_columns": "{{count}} weitere Felder anzeigen",
|
|
"data_grid.metadata_view.er_expand_relations": "Naechste Ebene erweitern",
|
|
"data_grid.metadata_view.er_field_badge": "Feld",
|
|
"data_grid.metadata_view.er_hidden_columns": "{{count}} weitere Felder",
|
|
"data_grid.metadata_view.er_open_table": "Tabelle oeffnen",
|
|
"data_grid.metadata_view.er_partial_warning": "Ein Teil der Beziehungen konnte nicht geladen werden. Das Diagramm ist moeglicherweise unvollstaendig.",
|
|
"data_grid.metadata_view.er_reference_badge": "Referenziert",
|
|
"data_grid.metadata_view.er_referenced_by_badge": "Referenziert von",
|
|
"data_grid.metadata_view.er_related_table_count": "{{count}} verknuepfte Tabellen",
|
|
"data_grid.metadata_view.er_relation_count": "{{count}} Beziehungen",
|
|
"data_grid.metadata_view.er_relation_depth": "Ebene {{count}}",
|
|
"data_grid.metadata_view.er_reset_relations": "Auf eine Ebene zuruecksetzen",
|
|
"data_grid.metadata_view.er_table_badge": "Tabelle",
|
|
"data_grid.metadata_view.field_count": "{{count}} Felder",
|
|
"data_grid.metadata_view.fields_badge": "Felder",
|
|
"data_grid.modal.export_options.all_data": "Alle Daten exportieren",
|
|
"data_grid.modal.export_options.current_page": "Aktuelle Seite exportieren ({{count}} Zeilen)",
|
|
"data_grid.modal.export_options.filtered_results": "Gefilterte Ergebnisse",
|
|
"data_grid.modal.export_options.no_rows_selected": "Es sind keine Zeilen ausgewählt. Wähle einen Exportbereich:",
|
|
"data_grid.modal.export_options.title": "Exportoptionen",
|
|
"data_grid.modal.export_options.whole_table": "Ganze Tabelle",
|
|
"data_grid.page_find.next": "Weiter",
|
|
"data_grid.page_find.placeholder": "Auf aktueller Seite suchen...",
|
|
"data_grid.page_find.previous": "Zurück",
|
|
"data_grid.page_find.summary": "{{occurrences}} Treffer / {{cells}} Zellen",
|
|
"data_grid.page_find.tooltip": "Sucht nur in den auf der aktuellen Seite geladenen Zeilen. WHERE-Bedingungen bleiben unverändert.",
|
|
"data_grid.pagination.jump_action": "Los",
|
|
"data_grid.pagination.jump_aria": "Zur Seite springen",
|
|
"data_grid.pagination.jump_label": "Springen",
|
|
"data_grid.pagination.page_size_aria": "Zeilen pro Seite",
|
|
"data_grid.pagination.page_size_option": "{{count}} Zeilen / Seite",
|
|
"data_grid.pagination.page.current": "Seite {{current}}",
|
|
"data_grid.pagination.page.known": "Seite {{current}} / {{totalPages}}",
|
|
"data_grid.pagination.result_set": "Ergebnismenge",
|
|
"data_grid.pagination.summary.approximate": "Aktuell {{current}} Zeilen / etwa {{total}} Zeilen",
|
|
"data_grid.pagination.summary.cancelled": "Aktuell {{current}} Zeilen / Zählung abgebrochen",
|
|
"data_grid.pagination.summary.counting": "Aktuell {{current}} Zeilen / Gesamtzahl wird gezählt...",
|
|
"data_grid.pagination.summary.counting_exact": "Aktuell {{current}} Zeilen / exakte Gesamtzahl wird gezählt...",
|
|
"data_grid.pagination.summary.empty": "Aktuell 0 Zeilen / insgesamt 0 Zeilen",
|
|
"data_grid.pagination.summary.known": "Aktuell {{current}} Zeilen / insgesamt {{total}} Zeilen",
|
|
"data_grid.pagination.summary.not_counted": "Aktuell {{current}} Zeilen / Gesamtzahl nicht gezählt",
|
|
"data_grid.preview_panel.no_cell_description": "Tabellenzelle anklicken, um die vollständigen Daten anzuzeigen",
|
|
"data_grid.preview_panel.no_cell_title": "Zelle anklicken, um Daten anzuzeigen",
|
|
"data_grid.preview_sql.copied": "Kopiert",
|
|
"data_grid.preview_sql.no_changes": "Keine Änderungen",
|
|
"data_grid.preview_sql.summary": "{{deletes}} DELETE, {{updates}} UPDATE, {{inserts}} INSERT",
|
|
"data_grid.preview_sql.title": "Änderungsvorschau",
|
|
"data_grid.record_view.edit_current": "Aktuellen Datensatz bearbeiten",
|
|
"data_grid.record_view.edit_json": "JSON bearbeiten",
|
|
"data_grid.record_view.empty": "Keine Daten in der aktuellen Ergebnismenge",
|
|
"data_grid.record_view.json_record_count": "Aktuelle Ergebnismenge: {{count}} Datensätze",
|
|
"data_grid.record_view.next": "Weiter",
|
|
"data_grid.record_view.previous": "Zurück",
|
|
"data_grid.record_view.record_position": "Datensatz {{current}} / {{total}}",
|
|
"data_grid.row_editor.popup_edit": "Im Popup bearbeiten",
|
|
"data_grid.row_editor.title": "Zeile bearbeiten",
|
|
"data_grid.secondary.column_display": "Spaltenanzeige",
|
|
"data_grid.secondary.data_preview": "Datenvorschau",
|
|
"data_grid.secondary.er_diagram": "ER-Diagramm",
|
|
"data_grid.secondary.jump_column": "Zur Spalte springen",
|
|
"data_grid.secondary.live": "live",
|
|
"data_grid.secondary.object_design": "Objektdesign",
|
|
"data_grid.secondary.pending_changes": "{{count}} ausstehend",
|
|
"data_grid.secondary.row_count": "{{count}} Zeilen",
|
|
"data_grid.secondary.view_ddl": "DDL anzeigen",
|
|
"data_grid.table_fallback.query_result": "Abfrageergebnis",
|
|
"data_grid.toolbar.add_row": "Zeile hinzufügen",
|
|
"data_grid.toolbar.ai_insight": "AI-Datenanalyse",
|
|
"data_grid.toolbar.ai_insight_short": "AI-Analyse",
|
|
"data_grid.toolbar.ai_insight_tooltip": "AI bitten, die Daten der aktuellen Abfrageseite zu analysieren",
|
|
"data_grid.toolbar.batch_fill": "Stapelfüllung ({{count}})",
|
|
"data_grid.toolbar.cancel_count": "Zählung abbrechen",
|
|
"data_grid.toolbar.cancel_count_tooltip": "Diese exakte Gesamtzählung abbrechen. Das aktuelle Browsen bleibt unbeeinflusst.",
|
|
"data_grid.toolbar.cell_editor": "Zelleditor",
|
|
"data_grid.toolbar.commit": "Transaktion übernehmen ({{count}})",
|
|
"data_grid.toolbar.commit_delay.seconds": "{{seconds}}s",
|
|
"data_grid.toolbar.commit_label": "Transaktion übernehmen",
|
|
"data_grid.toolbar.commit_mode.auto": "Automatisch übernehmen",
|
|
"data_grid.toolbar.commit_mode.auto_countdown": "Übernahme in {{seconds}}s",
|
|
"data_grid.toolbar.commit_mode.manual": "Manuell übernehmen",
|
|
"data_grid.toolbar.commit_mode.tooltip": "Steuert, wie Änderungen an Tabellendaten übernommen werden. Manuelles Übernehmen ist sicherer; automatisches Übernehmen startet nach der gewählten Verzögerung seit der letzten Änderung.",
|
|
"data_grid.toolbar.copied_columns_count": "{{count}} kopierte Spalten",
|
|
"data_grid.toolbar.copy": "Kopieren",
|
|
"data_grid.toolbar.copy_row": "Zeile kopieren",
|
|
"data_grid.toolbar.copy_selection": "Auswahl kopieren ({{count}})",
|
|
"data_grid.toolbar.copy_selection_columns": "Spaltenwerte der Auswahl kopieren ({{count}})",
|
|
"data_grid.toolbar.count_total": "Gesamtzahl zählen",
|
|
"data_grid.toolbar.count_total_tooltip": "Exakte Gesamtzahl mit dem aktuellen Filter zählen",
|
|
"data_grid.toolbar.delete_selected": "Auswahl löschen",
|
|
"data_grid.toolbar.export": "Exportieren",
|
|
"data_grid.toolbar.filter": "Filtern",
|
|
"data_grid.toolbar.import": "Importieren",
|
|
"data_grid.toolbar.paste_row": "Zeile einfügen",
|
|
"data_grid.toolbar.paste_row_count": "Zeile einfügen ({{count}})",
|
|
"data_grid.toolbar.paste_to_selected_rows": "In ausgewählte Zeilen einfügen ({{count}})",
|
|
"data_grid.toolbar.preview_sql": "SQL-Vorschau",
|
|
"data_grid.toolbar.preview_sql_generate": "SQL-Vorschau generieren",
|
|
"data_grid.toolbar.refresh": "Aktualisieren",
|
|
"data_grid.toolbar.rollback": "Zurückrollen",
|
|
"data_grid.toolbar.selected_count": "{{count}} ausgewählt",
|
|
"data_grid.toolbar.undo_delete": "Löschen rückgängig",
|
|
"data_grid.view.edit_current_record": "Aktuellen Datensatz bearbeiten",
|
|
"data_grid.view.edit_json": "JSON bearbeiten",
|
|
"data_grid.view.empty_result": "Die aktuelle Ergebnismenge enthält keine Daten",
|
|
"data_grid.view.next_record": "Nächster Datensatz",
|
|
"data_grid.view.previous_record": "Vorheriger Datensatz",
|
|
"data_grid.view.record_count": "Aktuelle Ergebnismenge: {{count}} Datensätze",
|
|
"data_grid.view.record_position": "Datensatz {{current}} / {{total}}",
|
|
"data_grid.view.result_view": "Ergebnisansicht",
|
|
"data_grid.view.table": "Tabelle",
|
|
"data_grid.view.text": "Text",
|
|
"data_sync.action.analyze_diff": "Unterschiede analysieren",
|
|
"data_sync.action.cancel": "Abbrechen",
|
|
"data_sync.action.close": "Schließen",
|
|
"data_sync.action.continue_sync": "Synchronisierung fortsetzen",
|
|
"data_sync.action.next": "Weiter",
|
|
"data_sync.action.previous": "Zurück",
|
|
"data_sync.action.start_sync": "Synchronisierung starten",
|
|
"data_sync.action.view": "Ansehen",
|
|
"data_sync.alert.auto_create_planner_scope": "Automatisches Erstellen von Tabellen unterstützt derzeit nur MySQL nach Kingbase. Spalten, Primärschlüssel, normale Indizes, eindeutige Indizes und zusammengesetzte Indizes werden migriert; Volltext-, räumliche, Präfix- und Funktionsindizes werden ausdrücklich übersprungen.",
|
|
"data_sync.alert.auto_create_scope": "Automatisches Erstellen von Tabellen unterstützt derzeit nur MySQL nach Kingbase. Spalten, Primärschlüssel, normale Indizes, eindeutige Indizes und zusammengesetzte Indizes werden migriert; Volltext-, räumliche, Präfix- und Funktionsindizes werden ausdrücklich übersprungen.",
|
|
"data_sync.alert.existing_target_only": "Die Datensynchronisierung arbeitet standardmäßig mit vorhandenen Zieltabellen. Wechseln Sie zur datenbankübergreifenden Migration, wenn Tabellen erstellt und Daten importiert werden sollen.",
|
|
"data_sync.alert.full_overwrite": "Vollständiges Überschreiben löscht Daten in den Zieltabellen. Verwenden Sie diese Option vorsichtig.",
|
|
"data_sync.alert.migration_mode": "Die datenbankübergreifende Migration ist aktiv. Nutzen Sie sie, um Tabellen in eine andere Datenquelle zu übertragen, automatisch zu erstellen und zu importieren.",
|
|
"data_sync.alert.query_mode": "Die Synchronisierung von SQL-Ergebnismengen unterstützt derzeit benutzerdefiniertes Quell-SQL zu genau einer vorhandenen Zieltabelle. Das Abfrageergebnis muss die Primärschlüsselspalte der Zieltabelle enthalten.",
|
|
"data_sync.alert.sync_mode": "Die Datensynchronisierung ist aktiv. Nutzen Sie sie für inkrementelle Synchronisierung oder Import mit Überschreiben, wenn Zieltabellen bereits vorhanden sind.",
|
|
"data_sync.backend.error.analyze_prepare_secrets_failed": "Zugangsdaten für die Analyse des Datenabgleichs konnten nicht vorbereitet werden: {{detail}}",
|
|
"data_sync.backend.error.apply_changes_failed": "Änderungen konnten nicht angewendet werden: {{detail}}",
|
|
"data_sync.backend.error.apply_changes_unsupported": "Der Zieltreiber unterstützt das Anwenden von Datenänderungen nicht",
|
|
"data_sync.backend.error.apply_source_query_changes_failed": "Änderungen am SQL-Ergebnissatz konnten nicht angewendet werden: {{detail}}",
|
|
"data_sync.backend.error.auto_add_column_failed": "Spalte konnte nicht automatisch ergänzt werden: Spalte={{column}}, Fehler={{detail}}",
|
|
"data_sync.backend.error.build_migration_plan_failed": "Migrationsplan konnte nicht erstellt werden: Tabelle={{table}}, Fehler={{detail}}",
|
|
"data_sync.backend.error.clear_target_failed": "Zieltabelle konnte nicht geleert werden: {{detail}}",
|
|
"data_sync.backend.error.connect_source_failed": "Verbindung zur Quelldatenbank fehlgeschlagen: {{detail}}",
|
|
"data_sync.backend.error.connect_source_mongodb_failed": "Verbindung zur Quell-MongoDB fehlgeschlagen: {{detail}}",
|
|
"data_sync.backend.error.connect_source_redis_failed": "Verbindung zum Quell-Redis fehlgeschlagen: {{detail}}",
|
|
"data_sync.backend.error.connect_target_failed": "Verbindung zur Zieldatenbank fehlgeschlagen: {{detail}}",
|
|
"data_sync.backend.error.connect_target_mongodb_failed": "Verbindung zur Ziel-MongoDB fehlgeschlagen: {{detail}}",
|
|
"data_sync.backend.error.connect_target_redis_failed": "Verbindung zum Ziel-Redis fehlgeschlagen: {{detail}}",
|
|
"data_sync.backend.error.create_indexes_failed": "Indizes konnten nicht erstellt werden: Tabelle={{table}}, Fehler={{detail}}",
|
|
"data_sync.backend.error.create_table_sql_empty": "Automatische Tabellenerstellung für Tabelle {{table}} fehlgeschlagen: create-table SQL ist leer",
|
|
"data_sync.backend.error.create_target_table_failed": "Zieltabelle konnte nicht erstellt werden: Tabelle={{table}}, Fehler={{detail}}",
|
|
"data_sync.backend.error.diff_composite_pk_unsupported": "Zusammengesetzter Primärschlüssel ({{columns}}) wird für die Differenzsynchronisierung nicht unterstützt",
|
|
"data_sync.backend.error.diff_pk_required": "Kein Primärschlüssel vorhanden. Differenzsynchronisierung wird nicht unterstützt; verwenden Sie für den Direktimport den Modus insert-only oder full-overwrite.",
|
|
"data_sync.backend.error.exec_ddl_statement_failed": "{{stage}} fehlgeschlagen: SQL={{sql}}, Fehler={{detail}}",
|
|
"data_sync.backend.error.execute_source_query_failed": "Quellabfrage konnte nicht ausgeführt werden: {{detail}}",
|
|
"data_sync.backend.error.init_source_driver_failed": "Quelldatenbanktreiber konnte nicht initialisiert werden: {{detail}}",
|
|
"data_sync.backend.error.init_source_mongodb_driver_failed": "Quell-MongoDB-Treiber konnte nicht initialisiert werden: {{detail}}",
|
|
"data_sync.backend.error.init_target_driver_failed": "Zieldatenbanktreiber konnte nicht initialisiert werden: {{detail}}",
|
|
"data_sync.backend.error.init_target_mongodb_driver_failed": "Ziel-MongoDB-Treiber konnte nicht initialisiert werden: {{detail}}",
|
|
"data_sync.backend.error.inspect_mongodb_collection_failed": "Ziel-MongoDB collection konnte nicht geprüft werden: {{detail}}",
|
|
"data_sync.backend.error.list_mongodb_collections_failed": "MongoDB collection konnten nicht aufgelistet werden: {{detail}}",
|
|
"data_sync.backend.error.load_target_columns_failed": "Zieltabellenspalten konnten nicht geladen werden: {{detail}}",
|
|
"data_sync.backend.error.mongo_document_write_unsupported": "Der Zieltreiber unterstützt das Schreiben von MongoDB document nicht",
|
|
"data_sync.backend.error.mongo_read_source_samples_failed": "Samples der Quell-MongoDB collection konnten nicht gelesen werden: {{detail}}",
|
|
"data_sync.backend.error.mongo_redis_analyze_collection_failed": "MongoDB collection {{collection}} konnte nicht analysiert werden: {{detail}}",
|
|
"data_sync.backend.error.mongo_redis_document_key_missing": "Im MongoDB document fehlt das Feld key",
|
|
"data_sync.backend.error.mongo_redis_document_type_missing": "Im MongoDB document für Redis Key {{key}} fehlt Feld {{field}}",
|
|
"data_sync.backend.error.mongo_redis_empty_target_value": "Der Redis-Zielwert für Key {{key}} ist leer",
|
|
"data_sync.backend.error.mongo_redis_unsupported_type": "Redis Key {{key}} unterstützt den Typ {{type}} nicht",
|
|
"data_sync.backend.error.mongo_redis_value_invalid": "Redis Key {{key}} hat einen ungültigen {{type}} payload; tatsächlicher Typ={{actual}}",
|
|
"data_sync.backend.error.mongo_redis_write_key_failed": "Redis Key {{key}} konnte nicht geschrieben werden: {{detail}}",
|
|
"data_sync.backend.error.pre_create_table_sql_failed": "create-table SQL konnte nicht vorab ausgeführt werden: Tabelle={{table}}, Fehler={{detail}}",
|
|
"data_sync.backend.error.prepare_secrets_failed": "Zugangsdaten für den Datenabgleich konnten nicht vorbereitet werden: {{detail}}",
|
|
"data_sync.backend.error.preview_composite_pk_unsupported": "Zusammengesetzter Primärschlüssel ({{columns}}) wird für die Datenvorschau nicht unterstützt",
|
|
"data_sync.backend.error.preview_failed": "Vorschau des Datenabgleichs fehlgeschlagen: {{detail}}",
|
|
"data_sync.backend.error.preview_pk_required": "Kein Primärschlüssel vorhanden; Datenvorschau wird nicht unterstützt",
|
|
"data_sync.backend.error.preview_prepare_secrets_failed": "Zugangsdaten für die Vorschau des Datenabgleichs konnten nicht vorbereitet werden: {{detail}}",
|
|
"data_sync.backend.error.read_redis_key_failed": "Redis Key {{key}} konnte nicht gelesen werden: {{detail}}",
|
|
"data_sync.backend.error.read_source_table_failed": "Quelltabelle konnte nicht gelesen werden: {{detail}}",
|
|
"data_sync.backend.error.read_source_table_failed_with_table": "Quelltabelle {{table}} konnte nicht gelesen werden: {{detail}}",
|
|
"data_sync.backend.error.read_target_redis_key_failed": "Ziel-Redis Key {{key}} konnte nicht gelesen werden: {{detail}}",
|
|
"data_sync.backend.error.read_target_table_failed": "Zieltabelle konnte nicht gelesen werden: {{detail}}",
|
|
"data_sync.backend.error.read_target_table_failed_with_table": "Zieltabelle {{table}} konnte nicht gelesen werden: {{detail}}",
|
|
"data_sync.backend.error.redis_mongo_analyze_changes_failed": "Redis-Migrationsänderungen konnten nicht analysiert werden: {{detail}}",
|
|
"data_sync.backend.error.redis_mongo_apply_changes_failed": "Redis-Migrationsänderungen konnten nicht angewendet werden: {{detail}}",
|
|
"data_sync.backend.error.redis_mongo_build_changes_failed": "Redis-Migrationsänderungen konnten nicht erstellt werden: {{detail}}",
|
|
"data_sync.backend.error.redis_mongo_create_collection_failed": "Ziel-MongoDB collection konnte nicht erstellt werden: {{detail}}",
|
|
"data_sync.backend.error.refresh_columns_after_create_failed": "Spalten konnten nach dem Erstellen der Zieltabelle nicht geladen werden: Tabelle={{table}}, Fehler={{detail}}",
|
|
"data_sync.backend.error.restore_source_secret_failed": "Verbindungsgeheimnis der Quelldatenbank konnte nicht wiederhergestellt werden: {{detail}}",
|
|
"data_sync.backend.error.restore_target_secret_failed": "Verbindungsgeheimnis der Zieldatenbank konnte nicht wiederhergestellt werden: {{detail}}",
|
|
"data_sync.backend.error.scan_redis_keys_failed": "Redis Keys konnten nicht gescannt werden: {{detail}}",
|
|
"data_sync.backend.error.source_collection_no_migratable_fields": "Aus der Quell-MongoDB collection konnten keine migrierbaren Felder abgeleitet werden: {{collection}}",
|
|
"data_sync.backend.error.source_table_columns_failed": "Quelltabellenspalten konnten nicht abgerufen werden: {{detail}}",
|
|
"data_sync.backend.error.source_table_missing_or_no_columns": "Quelltabelle fehlt oder hat keine Spaltendefinitionen: {{table}}",
|
|
"data_sync.backend.error.sync_table_schema_failed": "Tabellenschema konnte nicht synchronisiert werden: Tabelle={{table}}, Fehler={{detail}}",
|
|
"data_sync.backend.error.target_collection_check_failed": "Ziel-MongoDB collection konnte nicht geprüft werden: {{detail}}",
|
|
"data_sync.backend.error.target_composite_pk_query_diff_unsupported": "Die Zieltabelle hat einen zusammengesetzten Primärschlüssel ({{columns}}), daher wird die SQL-Ergebnissatz-Differenzanalyse nicht unterstützt",
|
|
"data_sync.backend.error.target_pk_required_for_query_diff": "Die Zieltabelle hat keinen Primärschlüssel; SQL-Ergebnismengen-Differenzanalyse wird nicht unterstützt",
|
|
"data_sync.backend.error.target_table_columns_failed": "Zieltabellenspalten konnten nicht abgerufen werden: {{detail}}",
|
|
"data_sync.backend.error.target_table_columns_missing": "Zieltabelle {{table}} fehlt oder ihre Spaltendefinitionen konnten nicht gelesen werden",
|
|
"data_sync.backend.label.content_data_only": "Nur Daten",
|
|
"data_sync.backend.label.content_schema_and_data": "Schema + Daten",
|
|
"data_sync.backend.label.content_schema_only": "Nur Schema",
|
|
"data_sync.backend.label.mode_full_overwrite": "Vollständig überschreiben",
|
|
"data_sync.backend.label.mode_insert_only": "Nur einfügen",
|
|
"data_sync.backend.label.mode_insert_update": "Inkrementelle Synchronisierung",
|
|
"data_sync.backend.label.target_strategy_auto_create_if_missing": "Ziel bei Bedarf automatisch erstellen",
|
|
"data_sync.backend.label.target_strategy_existing_only": "Nur vorhandenes Ziel verwenden",
|
|
"data_sync.backend.label.target_strategy_smart": "Ziel automatisch behandeln",
|
|
"data_sync.backend.log.auto_add_columns_completed": "Automatische Spaltenergänzung abgeschlossen: erfolgreich={{succeeded}}, fehlgeschlagen={{failed}}",
|
|
"data_sync.backend.log.change_counts": "Einzufügen: {{inserts}} Zeilen, zu aktualisieren: {{updates}} Zeilen, zu löschen: {{deletes}} Zeilen",
|
|
"data_sync.backend.log.connecting_source": "Verbindung zur Quelldatenbank wird hergestellt: {{host}}...",
|
|
"data_sync.backend.log.connecting_target": "Verbindung zur Zieldatenbank wird hergestellt: {{host}}...",
|
|
"data_sync.backend.log.data_already_consistent": "Daten sind bereits konsistent; keine Änderungen erforderlich.",
|
|
"data_sync.backend.log.ddl_statement_succeeded": "Tabelle {{table}} {{stage}} erfolgreich: {{sql}}",
|
|
"data_sync.backend.log.fatal_error": "Schwerwiegender Fehler: {{message}}",
|
|
"data_sync.backend.log.missing_columns_auto_add_disabled": "Der Zieltabelle fehlen {{count}} Spalte(n), aber automatische Ergänzung ist deaktiviert; sie werden ignoriert: {{columns}}",
|
|
"data_sync.backend.log.missing_columns_auto_add_started": "Der Zieltabelle fehlen {{count}} Spalte(n); automatische Ergänzung wird gestartet: {{columns}}",
|
|
"data_sync.backend.log.mongo_redis_keyspace_options": "MongoDB -> Redis keyspace-Migration; Modus={{mode}}; Ziel={{target}}",
|
|
"data_sync.backend.log.mongo_redis_migrating_key": "Schreibe Redis Key {{key}}",
|
|
"data_sync.backend.log.mongo_redis_syncing_collection": "Synchronisiere MongoDB collection {{collection}}",
|
|
"data_sync.backend.log.redis_mongo_keyspace_options": "Redis -> MongoDB keyspace-Migration; Modus={{mode}}; Zielstrategie={{strategy}}",
|
|
"data_sync.backend.log.redis_mongo_migrating_key": "Migriere Redis Key {{key}}",
|
|
"data_sync.backend.log.source_query_no_changes": "SQL-Ergebnissatz und Zieltabelle sind konsistent; keine Änderungen anzuwenden",
|
|
"data_sync.backend.log.source_query_sync_completed": "SQL-Ergebnissatz-Synchronisierung abgeschlossen: Inserts={{inserts}}, Updates={{updates}}, Deletes={{deletes}}",
|
|
"data_sync.backend.log.source_query_sync_source": "Synchronisationsquelle: SQL-Ergebnissatz -> Zieltabelle {{table}}; Modus: {{mode}}",
|
|
"data_sync.backend.log.sync_options": "Synchronisationsinhalt: {{content}}; Modus: {{mode}}; Spalten automatisch ergänzen: {{autoAddColumns}}; Zieltabellenstrategie: {{targetTableStrategy}}; Indizes erstellen: {{createIndexes}}",
|
|
"data_sync.backend.log.syncing_table": "Tabelle wird synchronisiert: {{table}}",
|
|
"data_sync.backend.log.table_no_operations_skipped": "Tabelle {{table}} hat keine ausgewählten Operationen und wurde übersprungen",
|
|
"data_sync.backend.log.target_table_created": "Zieltabelle erfolgreich erstellt: {{table}}",
|
|
"data_sync.backend.log.target_table_no_operations": "Zieltabelle {{table}} hat keine ausgewählten Operationen und wurde übersprungen",
|
|
"data_sync.backend.log.unknown_sync_content_data_only": "Unbekannter Synchronisationsinhalt {{content}}; Nur-Daten-Synchronisierung wurde automatisch gewählt",
|
|
"data_sync.backend.result.analyzed_tables": "Differenzanalyse für {{count}} Tabelle(n) abgeschlossen",
|
|
"data_sync.backend.result.analyzed_target_tables": "Differenzanalyse für {{count}} Zieltabelle(n) abgeschlossen",
|
|
"data_sync.backend.result.mongo_redis_analyzed_collections": "{{count}} MongoDB collection für Redis-Migration analysiert",
|
|
"data_sync.backend.result.mongo_redis_completed": "MongoDB-keyspace-Migration abgeschlossen; verarbeitet: {{collections}} collection und {{keys}} Redis Key(s)",
|
|
"data_sync.backend.result.mongo_redis_no_collections": "Keine MongoDB collection für die Migration verfügbar",
|
|
"data_sync.backend.result.mongo_redis_no_documents": "Keine MongoDB Redis document für die Migration verfügbar",
|
|
"data_sync.backend.result.preview_ready": "Vorschau des Datenabgleichs ist bereit",
|
|
"data_sync.backend.result.redis_mongo_analyzed_keys": "{{count}} Redis Key(s) für MongoDB-Migration analysiert",
|
|
"data_sync.backend.result.redis_mongo_completed": "Redis-keyspace-Migration abgeschlossen; verarbeitet: {{count}} Redis Key(s)",
|
|
"data_sync.backend.result.redis_mongo_no_keys": "Keine Redis Keys für die Migration verfügbar",
|
|
"data_sync.backend.result.sync_completed": "Synchronisierung abgeschlossen: Tabellen={{tables}}, eingefügt={{rowsInserted}}, aktualisiert={{rowsUpdated}}, gelöscht={{rowsDeleted}}",
|
|
"data_sync.backend.summary.diff_completed": "Differenzanalyse abgeschlossen",
|
|
"data_sync.backend.summary.mongo_redis_diff": "Bei der Ausführung werden {{inserts}} Redis Key(s) eingefügt und {{updates}} Redis Key(s) aktualisiert",
|
|
"data_sync.backend.summary.mongo_redis_empty_collection": "In der collection wurden keine migrierbaren document gefunden",
|
|
"data_sync.backend.summary.mongo_redis_planned_action": "Nach {{target}} migrieren",
|
|
"data_sync.backend.summary.mongo_redis_same_keys": "Die passenden Redis Keys sind bereits aktuell",
|
|
"data_sync.backend.summary.mongo_redis_warning_document_format": "Es werden nur document mit den Feldern key/type/ttl/value unterstützt",
|
|
"data_sync.backend.summary.mongo_redis_warning_full_overwrite_downgrade": "MongoDB zu Redis stuft vollständiges Überschreiben auf inkrementelle Synchronisierung herab, um andere Redis Keys in der DB nicht zu löschen",
|
|
"data_sync.backend.summary.mongo_redis_warning_keyspace": "Document in der MongoDB collection werden mit keyspace-Semantik nach Redis geschrieben",
|
|
"data_sync.backend.summary.redis_mongo_insert_document": "Bei der Ausführung wird ein neues MongoDB document eingefügt",
|
|
"data_sync.backend.summary.redis_mongo_planned_action": "In Collection {{collection}} migrieren",
|
|
"data_sync.backend.summary.redis_mongo_same_document": "Das passende MongoDB document ist bereits aktuell",
|
|
"data_sync.backend.summary.redis_mongo_update_document": "Bei der Ausführung wird das vorhandene MongoDB document aktualisiert",
|
|
"data_sync.backend.summary.redis_mongo_warning_document_write": "Redis Key wird als MongoDB document geschrieben",
|
|
"data_sync.backend.summary.source_query_diff_completed": "SQL-Ergebnismengen-Differenzanalyse abgeschlossen",
|
|
"data_sync.backend.unsupported.clickhouse_objects_to_pg_like": "ClickHouse ORDER BY/PARTITION/TTL/Projection/materialized-view-Semantik wird noch nicht automatisch zu PG-like-Zielen migriert",
|
|
"data_sync.backend.validation.query_mode_data_only": "SQL-Ergebnismengen-Sync unterstützt derzeit nur reine Datensynchronisierung",
|
|
"data_sync.backend.validation.single_target_table_required": "SQL-Ergebnismengen-Sync erfordert genau eine Zieltabelle",
|
|
"data_sync.backend.validation.source_query_required": "Quellabfrage-SQL ist erforderlich",
|
|
"data_sync.backend.validation.target_table_required": "Zieltabelle ist erforderlich",
|
|
"data_sync.backend.warning.apply_changes_unsupported": "Der Zieltreiber unterstützt das Anwenden von Datenänderungen nicht.",
|
|
"data_sync.backend.warning.auto_add_column_sql_generation_failed": "SQL für automatische Ergänzung der Spalte {{column}} konnte nicht erzeugt werden: {{detail}}",
|
|
"data_sync.backend.warning.auto_create_pair_unsupported": "Automatische Tabellenerstellung unterstützt derzeit nur MySQL -> Kingbase; aktuelles Paar={{sourceType}} -> {{targetType}}",
|
|
"data_sync.backend.warning.auto_increment_not_preserved_existing_target_add_column": "Spalte {{column}} ist eine Auto-Increment-Spalte; {{feature}} wird beim Ergänzen in einer vorhandenen Zieltabelle nicht automatisch neu erstellt",
|
|
"data_sync.backend.warning.clickhouse_complex_type_degraded_mysql": "Spalte {{column}} Typ {{type}} wurde zu json herabgestuft",
|
|
"data_sync.backend.warning.clickhouse_complex_type_degraded_pg_like": "Spalte {{column}} Typ {{type}} wurde zu jsonb herabgestuft",
|
|
"data_sync.backend.warning.clickhouse_enum_degraded_pg_like": "Spalte {{column}} enum-Typ {{type}} wurde zu varchar(255) herabgestuft",
|
|
"data_sync.backend.warning.clickhouse_order_by_tuple_used": "Es wurde kein Quell-Primärschlüssel erkannt, daher verwendet ClickHouse ORDER BY tuple(); die Abfrageleistung kann beeinträchtigt werden",
|
|
"data_sync.backend.warning.clickhouse_relational_constraints_not_preserved": "ClickHouse erhält keine relationalen Fremdschlüssel- oder Unique-Constraint-Semantiken; nur Spalten und Daten werden migriert",
|
|
"data_sync.backend.warning.clickhouse_source_metadata_limited": "ClickHouse-Quellmetadaten für Indizes und Constraints sind begrenzt; Rückmigration konzentriert sich auf Spalten und Daten",
|
|
"data_sync.backend.warning.clickhouse_source_primary_key_missing_mysql": "Die ClickHouse-Quelle hat keine Primärschlüsselinformationen geliefert, daher erstellt die Ziel-MySQL-Tabelle keinen Primärschlüssel automatisch",
|
|
"data_sync.backend.warning.clickhouse_source_primary_key_missing_pg_like": "Die ClickHouse-Quelle hat keine Primärschlüsselinformationen geliefert, daher erstellt die Ziel-PG-like-Tabelle keinen Primärschlüssel automatisch",
|
|
"data_sync.backend.warning.clickhouse_target_insert_only_recommended": "Für ClickHouse-Ziele wird insert-only oder full-overwrite empfohlen; update/delete-Semantik unterscheidet sich von klassischen relationalen Datenbanken",
|
|
"data_sync.backend.warning.clickhouse_type_degraded_mysql_text": "Spalte {{column}} Typ {{type}} hat keine dedizierte MySQL-Zuordnung und wurde zu text herabgestuft",
|
|
"data_sync.backend.warning.clickhouse_type_degraded_pg_like_text": "Spalte {{column}} Typ {{type}} hat keine dedizierte PG-like-Zuordnung und wurde zu text herabgestuft",
|
|
"data_sync.backend.warning.clickhouse_uint64_mapped_numeric_pg_like": "Spalte {{column}} Typ {{type}} wurde zu numeric(20,0) zugeordnet, um unsigned-Überlauf zu vermeiden",
|
|
"data_sync.backend.warning.column_default_expression_skipped": "Standardwert {{default}} der Spalte {{column}} enthält einen Ausdruck und wird derzeit nicht automatisch migriert",
|
|
"data_sync.backend.warning.column_empty_string_default_not_preserved": "Leerer String als Standardwert der Spalte {{column}} wurde nicht erhalten",
|
|
"data_sync.backend.warning.column_type_degraded": "Spalte {{column}} Typ {{sourceType}} wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.backend.warning.column_type_degraded_clickhouse_string": "Spalte {{column}} Typ {{type}} wurde zu String herabgestuft",
|
|
"data_sync.backend.warning.column_type_empty_clickhouse_string": "Spalte {{column}} hat einen leeren Typ und wurde zu String herabgestuft",
|
|
"data_sync.backend.warning.column_type_empty_degraded": "Spalte {{column}} hat einen leeren Typ und wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.backend.warning.column_type_mapped": "Spalte {{column}} Typ {{sourceType}} wurde zu {{targetType}} zugeordnet",
|
|
"data_sync.backend.warning.column_type_no_mapping_degraded": "Spalte {{column}} Typ {{sourceType}} hat keine dedizierte Zuordnung und wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.backend.warning.column_user_defined_degraded": "Spalte {{column}} ist ein benutzerdefinierter Typ und wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.backend.warning.column_user_defined_degraded_clickhouse_string": "Spalte {{column}} ist ein benutzerdefinierter Typ und wurde zu String herabgestuft",
|
|
"data_sync.backend.warning.composite_pk_skipped": "Tabelle {{table}} hat einen zusammengesetzten Primärschlüssel ({{columns}}); Differenzsynchronisierung wird noch nicht unterstützt und wurde übersprungen",
|
|
"data_sync.backend.warning.full_overwrite_clearing_target": "Modus für vollständiges Überschreiben: Zieltabelle {{table}} wird geleert",
|
|
"data_sync.backend.warning.index_columns_missing": "Index {{name}} hat keine Spaltendefinition und wurde übersprungen",
|
|
"data_sync.backend.warning.index_prefix_length_unsupported": "Index {{name}} verwendet eine Präfixlänge und kann derzeit nicht automatisch migriert werden",
|
|
"data_sync.backend.warning.index_type_unsupported": "Index {{name}} Typ={{type}} kann derzeit nicht automatisch migriert werden",
|
|
"data_sync.backend.warning.load_target_columns_skip_check_failed": "Zieltabellenspalten konnten nicht abgerufen werden; Spaltenkonsistenzprüfung wurde übersprungen: {{detail}}",
|
|
"data_sync.backend.warning.mongo_redis_document_format": "MongoDB -> Redis unterstützt derzeit nur documents mit key/type/ttl/value-Feldern",
|
|
"data_sync.backend.warning.mongo_redis_full_overwrite_downgrade": "MongoDB -> Redis stuft vollständiges Überschreiben für diese Migration auf inkrementelle Synchronisierung zurück",
|
|
"data_sync.backend.warning.mysql_auto_increment_not_preserved_clickhouse": "AUTO_INCREMENT der Spalte {{column}} wird in ClickHouse nicht als Auto-Increment-Semantik erhalten",
|
|
"data_sync.backend.warning.mysql_binary_degraded_clickhouse_string": "Binärtyp der Spalte {{column}} wurde zu String herabgestuft",
|
|
"data_sync.backend.warning.mysql_time_degraded_clickhouse_string": "Spalte {{column}} Typ {{type}} wurde zu String herabgestuft",
|
|
"data_sync.backend.warning.mysql_type_degraded_clickhouse_string": "Spalte {{column}} Typ {{type}} hat keine dedizierte ClickHouse-Zuordnung und wurde zu String herabgestuft",
|
|
"data_sync.backend.warning.mysql_unsigned_bigint_auto_increment_degraded": "Spalte {{column}} ist unsigned bigint auto_increment; sie wurde zu {{targetType}} herabgestuft und Auto-Increment-Semantik wurde nicht erhalten",
|
|
"data_sync.backend.warning.pg_like_identity_not_preserved_clickhouse": "Identity-/Auto-Increment-Semantik der Spalte {{column}} wird in ClickHouse nicht erhalten",
|
|
"data_sync.backend.warning.redis_mongo_full_overwrite_downgrade": "Redis -> MongoDB stuft vollständiges Überschreiben für diese Migration auf inkrementelle Synchronisierung zurück",
|
|
"data_sync.backend.warning.refresh_columns_after_add_failed": "Zielspalten konnten nach dem Hinzufügen von Spalten nicht aktualisiert werden: Tabelle={{table}}, Fehler={{detail}}",
|
|
"data_sync.backend.warning.source_indexes_read_failed": "Quelltabellenindizes konnten nicht gelesen werden; Indexmigration wurde übersprungen: {{detail}}",
|
|
"data_sync.backend.warning.table_pk_required_skipped": "Tabelle {{table}} hat keinen Primärschlüssel; der aktuelle Modus erfordert Differenzvergleich und wurde übersprungen",
|
|
"data_sync.backend.warning.target_existing_only_required": "Die aktuelle Strategie erfordert eine vorhandene Zieltabelle, daher wird sie bei der Ausführung nicht automatisch erstellt.",
|
|
"data_sync.backend.warning.target_exists_data_only_no_indexes": "Die Zieltabelle existiert bereits. Es wird nur Datenimport ausgeführt; vorhandene Indizes und Constraints werden nicht automatisch neu aufgebaut.",
|
|
"data_sync.backend.warning.target_missing_columns": "Der Zieltabelle fehlen {{count}} Spalte(n): {{columns}}",
|
|
"data_sync.backend.warning.target_missing_skip_auto_create_disabled": "Zieltabelle für {{table}} fehlt; die aktuelle Strategie erlaubt keine automatische Tabellenerstellung, daher wurde sie übersprungen",
|
|
"data_sync.backend.warning.target_table_existing_only_required": "Die aktuelle Strategie erfordert eine vorhandene Zieltabelle, daher wird sie bei der Ausführung nicht automatisch erstellt.",
|
|
"data_sync.backend.warning.unknown_content_default_data": "Unbekannter Synchronisationsinhalt {{content}}; Nur-Daten-Synchronisierung wurde automatisch gewählt",
|
|
"data_sync.backend.warning.unknown_mode_default_insert_update": "Unbekannter Synchronisationsmodus {{mode}}; inkrementelle Synchronisierung wurde automatisch gewählt",
|
|
"data_sync.badge.migration_mode": "Migrationsmodus",
|
|
"data_sync.badge.source_pending": "Quelle ausstehend",
|
|
"data_sync.badge.source_selected": "Quelle gewählt",
|
|
"data_sync.badge.sync_mode": "Synchronisierungsmodus",
|
|
"data_sync.badge.table_count": "{{count}} Tabellen",
|
|
"data_sync.compare_entry.action.return_to_compare": "Zurück zum Vergleich",
|
|
"data_sync.compare_entry.alert.data": "Dies ist der Datenvergleich. Er analysiert nur zeilenweise Unterschiede nach Primärschlüssel und schreibt keine Daten.",
|
|
"data_sync.compare_entry.alert.schema": "Dies ist der Strukturvergleich. Er analysiert nur Strukturunterschiede und erzeugt prüfbares SQL, ohne Änderungen auszuführen.",
|
|
"data_sync.compare_entry.option.auto_add_columns": "Kompatibles Änderungs-SQL für fehlende Zielspalten erzeugen (nur Vorschau, keine Ausführung)",
|
|
"data_sync.compare_entry.option.source_dataset.query": "Nach SQL-Ergebnismenge vergleichen",
|
|
"data_sync.compare_entry.option.source_dataset.table": "Nach Tabelle vergleichen",
|
|
"data_sync.compare_entry.preview.selection_hint": "Die Zeilenauswahl wirkt sich nur auf den SQL-Vorschaubereich aus und schreibt keine Daten.",
|
|
"data_sync.compare_entry.preview.sql.data_help": "Die SQL-Vorschau wird aus den ausgewählten Einfüge-, Aktualisierungs-, Lösch- und Zeilenbereichen erzeugt und dient nur der Differenzprüfung.",
|
|
"data_sync.compare_entry.preview.sql.schema_help": "Die SQL-Vorschau zeigt empfohlene Anweisungen für Strukturunterschiede und dient nur der Prüfung.",
|
|
"data_sync.compare_entry.result.completed": "Vergleich abgeschlossen",
|
|
"data_sync.compare_entry.result.failed": "Vergleich fehlgeschlagen",
|
|
"data_sync.compare_entry.result.running": "Vergleich läuft",
|
|
"data_sync.compare_entry.result.running_description": "Aktuelle Phase: {{stage}}{{table}}",
|
|
"data_sync.compare_entry.result.stage_fallback": "Wird ausgeführt",
|
|
"data_sync.compare_entry.result.success_summary": "{{tables}} Tabellen erfolgreich verglichen.",
|
|
"data_sync.compare_entry.result.table_suffix": ", Tabelle: {{table}}",
|
|
"data_sync.compare_entry.title.analysis_log": "Analyseprotokoll",
|
|
"data_sync.compare_entry.workflow_help": "Dieser Einstieg analysiert nur Unterschiede und zeigt Vorschauen. Er synchronisiert nicht, erstellt keine Tabellen, ergänzt keine Spalten und löscht keine Daten.",
|
|
"data_sync.confirm.full_overwrite.content": "Vollständiges Überschreiben löscht zuerst die Daten der Zieltabelle und fügt danach Zeilen ein. Bestätigen Sie, dass die Zieldatenbank gesichert wurde.",
|
|
"data_sync.confirm.full_overwrite.ok": "Fortfahren",
|
|
"data_sync.confirm.full_overwrite.title": "Vollständiges Überschreiben bestätigen",
|
|
"data_sync.diff.column.delete": "Löschen",
|
|
"data_sync.diff.column.insert": "Einfügen",
|
|
"data_sync.diff.column.plan": "Ablaufplan",
|
|
"data_sync.diff.column.preview": "Vorschau",
|
|
"data_sync.diff.column.risk": "Risiko",
|
|
"data_sync.diff.column.same": "Gleich",
|
|
"data_sync.diff.column.table": "Tabelle",
|
|
"data_sync.diff.column.target_table": "Zieltabelle",
|
|
"data_sync.diff.column.update": "Aktualisieren",
|
|
"data_sync.diff.more_warnings": "{{count}} weitere nicht angezeigt",
|
|
"data_sync.diff.target_exists": "Vorhanden",
|
|
"data_sync.diff.target_missing": "Fehlt",
|
|
"data_sync.diff.title": "Vergleichsergebnis",
|
|
"data_sync.diff.warning_title": "Die Vorprüfung hat Risiken oder eingeschränkte Punkte gefunden. Prüfen Sie diese vor der Ausführung.",
|
|
"data_sync.entry_mode.compare.action.start": "Vergleich starten",
|
|
"data_sync.entry_mode.compare.option_title": "Vergleichsoptionen",
|
|
"data_sync.entry_mode.compare.result_title": "Vergleichsergebnis",
|
|
"data_sync.entry_mode.data_compare.badge": "Datenvergleich",
|
|
"data_sync.entry_mode.data_compare.description": "Vergleicht Datenunterschiede zwischen Quell- und Zieltabelle nach Primärschlüssel und zeigt Einfügungen, Aktualisierungen und Löschungen.",
|
|
"data_sync.entry_mode.data_compare.hero_description": "Geeignet zum Prüfen der Datenkonsistenz. Es werden nur Unterschiede analysiert und Zeilen angezeigt, ohne Daten zu schreiben.",
|
|
"data_sync.entry_mode.data_compare.table_select_label": "Tabellen für den Datenvergleich auswählen:",
|
|
"data_sync.entry_mode.data_compare.title": "Datenvergleich",
|
|
"data_sync.entry_mode.schema_compare.badge": "Strukturvergleich",
|
|
"data_sync.entry_mode.schema_compare.description": "Erzeugt Strukturunterschiede, Kompatibilitätsrisiken und prüfbares SQL zwischen Quell- und Zieltabelle.",
|
|
"data_sync.entry_mode.schema_compare.hero_description": "Geeignet vor Releases, um Strukturunterschiede zu prüfen. Es wird nur analysiert und angezeigt, ohne Strukturänderungen auszuführen.",
|
|
"data_sync.entry_mode.schema_compare.table_select_label": "Tabellen für den Strukturvergleich auswählen:",
|
|
"data_sync.entry_mode.schema_compare.title": "Tabellenstrukturvergleich",
|
|
"data_sync.entry_mode.sync.hero_description": "Geeignet, wenn Zieltabellen bereits vorhanden sind. Zuerst Unterschiede analysieren, dann ausgewählte Einfügungen, Aktualisierungen oder Löschungen ausführen.",
|
|
"data_sync.field.connection": "Verbindung",
|
|
"data_sync.field.database": "Datenbank",
|
|
"data_sync.field.migration_content": "Migrationsinhalt",
|
|
"data_sync.field.migration_mode": "Migrationsmodus",
|
|
"data_sync.field.mongo_collection_name": "Mongo-Collection-Name (optional)",
|
|
"data_sync.field.schema": "Schema",
|
|
"data_sync.field.source_dataset_mode": "Quelldatenmodus",
|
|
"data_sync.field.source_query_sql": "Quellabfrage-SQL",
|
|
"data_sync.field.sync_content": "Synchronisierungsinhalt",
|
|
"data_sync.field.sync_mode": "Synchronisierungsmodus",
|
|
"data_sync.field.target_table": "Zieltabelle",
|
|
"data_sync.field.target_table_requirement": "Anforderung an Zieltabelle",
|
|
"data_sync.field.target_table_strategy": "Strategie für Zieltabelle",
|
|
"data_sync.field.workflow_type": "Funktionstyp",
|
|
"data_sync.help.mongo_collection_mongo_to_redis": "Bei MongoDB nach Redis wählen Sie meistens direkt die Quell-Collection. Lassen Sie das Feld leer, sofern kein ausdrücklicher Ersatzname nötig ist.",
|
|
"data_sync.help.mongo_collection_redis_to_mongo": "Leer lassen, um den Standard-Collection-Namen zu verwenden. Wenn ein Wert eingetragen ist, schreibt dieser Lauf den Redis-Keyspace in diese Mongo-Collection.",
|
|
"data_sync.help.select_tables": "Zu synchronisierende Tabellen auswählen:",
|
|
"data_sync.help.source_query_mode": "Geben Sie Quellabfrage-SQL ein und wählen Sie eine Zieltabelle. Die Unterschiedsanalyse vergleicht diese Ergebnismenge direkt mit der Zieltabelle.",
|
|
"data_sync.help.workflow_type": "Wählen Sie zuerst, ob dieser Lauf vorhandene Zieltabellen synchronisiert oder eine datenbankübergreifende Migration ausführt. Die Seite passt sicherere Standardwerte an den Funktionstyp an.",
|
|
"data_sync.hero.migration_description": "Quelltabellen in eine andere Datenbank übertragen, nach Strategie Tabellen erstellen, Daten importieren und kompatible Indizes ergänzen.",
|
|
"data_sync.hero.migration_title": "Datenquellenübergreifende Migration",
|
|
"data_sync.hero.sync_description": "Vorhandene Zieltabellen verwenden, zuerst Unterschiede vergleichen und dann ausgewählte Einfügungen, Aktualisierungen oder Löschungen ausführen.",
|
|
"data_sync.hero.sync_title": "Datensynchronisierung",
|
|
"data_sync.log.level.error": "Fehler",
|
|
"data_sync.log.level.info": "Information",
|
|
"data_sync.log.level.warn": "Warnung",
|
|
"data_sync.log.title": "Ausführungsprotokoll",
|
|
"data_sync.message.analysis_complete": "Unterschiedsanalyse abgeschlossen",
|
|
"data_sync.message.analysis_failed": "Unterschiedsanalyse fehlgeschlagen",
|
|
"data_sync.message.analysis_failed_detail": "Unterschiedsanalyse fehlgeschlagen: {{detail}}",
|
|
"data_sync.message.analyze_before_sync": "Analysieren Sie die Unterschiede, bevor Sie die Synchronisierung starten",
|
|
"data_sync.message.close_blocked_running": "Die Synchronisierung läuft. Das Fenster kann noch nicht geschlossen werden.",
|
|
"data_sync.message.fetch_source_databases_failed": "Quelldatenbanken konnten nicht geladen werden",
|
|
"data_sync.message.fetch_source_databases_failed_detail": "Quelldatenbanken konnten nicht geladen werden: {{detail}}",
|
|
"data_sync.message.fetch_tables_failed": "Tabellen konnten nicht geladen werden",
|
|
"data_sync.message.fetch_tables_failed_detail": "Tabellen konnten nicht geladen werden: {{detail}}",
|
|
"data_sync.message.fetch_target_databases_failed": "Zieldatenbanken konnten nicht geladen werden",
|
|
"data_sync.message.fetch_target_databases_failed_detail": "Zieldatenbanken konnten nicht geladen werden: {{detail}}",
|
|
"data_sync.message.fetch_target_schemas_failed_detail": "Zielschemas konnten nicht geladen werden: {{detail}}",
|
|
"data_sync.message.more_items_collapsed": "{{count}} weitere nicht angezeigt",
|
|
"data_sync.message.precheck_warnings": "Die Vorprüfung hat Risiken oder eingeschränkte Punkte gefunden. Prüfen Sie diese vor der Ausführung.",
|
|
"data_sync.message.preview_load_failed": "Unterschiedsvorschau konnte nicht geladen werden",
|
|
"data_sync.message.preview_load_failed_detail": "Unterschiedsvorschau konnte nicht geladen werden: {{detail}}",
|
|
"data_sync.message.select_connections_first": "Wählen Sie zuerst die Verbindungen",
|
|
"data_sync.message.select_databases_first": "Wählen Sie zuerst die Datenbanken",
|
|
"data_sync.message.select_source_database": "Wählen Sie die Quelldatenbank",
|
|
"data_sync.message.select_target_database": "Wählen Sie die Zieldatenbank",
|
|
"data_sync.message.select_target_schema": "Zielschema auswählen",
|
|
"data_sync.message.sync_execution_failed": "Synchronisierungsausführung fehlgeschlagen",
|
|
"data_sync.message.sync_execution_failed_detail": "Synchronisierungsausführung fehlgeschlagen: {{detail}}",
|
|
"data_sync.modal.full_overwrite_content": "Vollständiges Überschreiben löscht zuerst die Daten der Zieltabelle und fügt danach Zeilen ein. Bestätigen Sie, dass die Zieldatenbank gesichert wurde.",
|
|
"data_sync.modal.full_overwrite_ok": "Fortfahren",
|
|
"data_sync.modal.full_overwrite_title": "Vollständiges Überschreiben bestätigen",
|
|
"data_sync.option.auto_add_columns": "Fehlende Zielspalten automatisch ergänzen (derzeit für MySQL-Ziele und MySQL nach Kingbase; SQL-Ergebnismengenmodus wird nicht unterstützt)",
|
|
"data_sync.option.content.both": "Schema und Daten synchronisieren",
|
|
"data_sync.option.content.data": "Nur Daten",
|
|
"data_sync.option.content.schema": "Nur Schema",
|
|
"data_sync.option.create_indexes": "Kompatible normale und eindeutige Indizes automatisch migrieren (nur bei automatischer Tabellenerstellung)",
|
|
"data_sync.option.show_same_tables": "Gleiche Tabellen anzeigen",
|
|
"data_sync.option.source_dataset.query": "Nach SQL-Ergebnismenge synchronisieren",
|
|
"data_sync.option.source_dataset.table": "Nach Tabelle synchronisieren",
|
|
"data_sync.option.sync_mode.full_overwrite": "Vollständiges Überschreiben (Zieltabelle vor dem Einfügen leeren)",
|
|
"data_sync.option.sync_mode.insert_only": "Nur einfügen (kein Zielvergleich; Tabellen ohne Primärschlüssel werden übersprungen)",
|
|
"data_sync.option.sync_mode.insert_update": "Inkrementelle Synchronisierung (Unterschiede vergleichen, danach Einfügungen, Aktualisierungen und Löschungen wählen)",
|
|
"data_sync.option.target_strategy.auto_create_if_missing": "Zieltabelle automatisch erstellen, wenn sie fehlt",
|
|
"data_sync.option.target_strategy.existing_only": "Nur vorhandene Zieltabellen verwenden",
|
|
"data_sync.option.target_strategy.smart": "Intelligenter Modus (bei vorhandener Tabelle direkt importieren, sonst automatisch erstellen)",
|
|
"data_sync.option.workflow.migration": "Datenbankübergreifende Migration (automatisch erstellen und importieren)",
|
|
"data_sync.option.workflow.sync": "Datensynchronisierung (Unterschiede mit vorhandenen Zieltabellen synchronisieren)",
|
|
"data_sync.placeholder.mongo_collection_name": "Mongo-Collection-Namen eingeben",
|
|
"data_sync.placeholder.source_query_sql": "Beispiel: SELECT id, name, email FROM users WHERE status = 'active'",
|
|
"data_sync.placeholder.target_table": "Eine Zieltabelle auswählen",
|
|
"data_sync.plan.add_missing_columns_before_import": "{{count}} fehlende Felder vor dem Import ergänzen",
|
|
"data_sync.plan.auto_create_unsupported": "Automatische Tabellenerstellung wird für diese Datenbankkombination nicht unterstützt",
|
|
"data_sync.plan.backend_summary": "Planübersicht",
|
|
"data_sync.plan.data_import_without_diff": "Der aktuelle Modus importiert Quelltabellendaten ohne Differenzvergleich.",
|
|
"data_sync.plan.migrate_to_collection": "In Collection {{collection}} migrieren",
|
|
"data_sync.plan.migrate_to_target": "Nach {{target}} migrieren",
|
|
"data_sync.plan.migration_kernel_planning": "Dieses Datenbankpaar ist in der Migrationsplanung und wartet auf Strukturableitung und Zieldialekt-Erzeugung",
|
|
"data_sync.plan.missing_columns_auto_add": "{{count}} fehlende Felder vor dem Import ergänzen",
|
|
"data_sync.plan.missing_columns_auto_add_disabled": "Der Zieltabelle fehlen {{count}} Felder, und automatische Feldergänzung ist nicht aktiviert",
|
|
"data_sync.plan.missing_columns_auto_add_unsupported": "Der Zieltabelle fehlen {{count}} Felder, und automatische Feldergänzung wird für diese Datenbankkombination nicht unterstützt",
|
|
"data_sync.plan.missing_columns_no_executable_sql": "Der Zieltabelle fehlen {{count}} Felder, aber es wurde kein ausführbares Ergänzungs-SQL erzeugt",
|
|
"data_sync.plan.mongo_relational_entry_warning": "Für die {{objectKind}}-Migration von {{sourceType}} zu {{targetType}} ist derzeit nur ein Planungshinweis zur Strukturableitung verfügbar",
|
|
"data_sync.plan.mongo_relational_kernel_planned": "Dieses Datenbankpaar ist in der Migrationsplanung und wartet auf Strukturableitung und Zieldialekt-Erzeugung",
|
|
"data_sync.plan.mongo_target_collection_missing_auto_create": "Ziel-MongoDB collection {{collection}} fehlt. Sie wird vor dem Import automatisch erstellt.",
|
|
"data_sync.plan.mongo_target_collection_missing_manual_create": "Ziel-MongoDB collection {{collection}} fehlt. Erstellen Sie sie zuerst manuell.",
|
|
"data_sync.plan.redis_key_to_mongodb_document": "MongoDB-Dokumente aus Redis Keys erzeugen und importieren",
|
|
"data_sync.plan.redis_mongo_keyspace_import": "MongoDB-Dokumente aus Redis Keys erzeugen und importieren",
|
|
"data_sync.plan.redis_mongo_keyspace_warning_no_schema": "Redis zu MongoDB migriert mit keyspace-Semantik und führt keine Tabellenstrukturprüfungen aus",
|
|
"data_sync.plan.redis_mongo_keyspace_warning_semantics": "Redis TTL und collection-Sortiersemantik werden als document-Felder erhalten, sind aber möglicherweise nicht vollständig äquivalent",
|
|
"data_sync.plan.redis_mongo_target_collection_auto_create": "Ziel-Collection fehlt; sie wird automatisch erstellt und danach importiert",
|
|
"data_sync.plan.redis_mongo_target_collection_existing_only_warning": "Die aktuelle Strategie erfordert eine vorhandene Ziel-MongoDB collection; bei der Ausführung wird sie nicht automatisch erstellt",
|
|
"data_sync.plan.redis_mongo_target_collection_missing_manual": "Ziel-Collection fehlt; bitte zuerst manuell erstellen",
|
|
"data_sync.plan.redis_mongo_unsupported_objects": "Redis Consumer Group / PubSub / Lua scripts / transaction state werden noch nicht migriert",
|
|
"data_sync.plan.schema_aligned": "Tabellenstruktur ist bereits identisch",
|
|
"data_sync.plan.schema_changes_detected": "{{count}} Strukturänderungen erkannt",
|
|
"data_sync.plan.schema_only": "Nur Struktur synchronisieren",
|
|
"data_sync.plan.schema_only_no_data_diff": "Nur Struktur wird synchronisiert; Daten-Differenzanalyse wurde nicht ausgeführt",
|
|
"data_sync.plan.schema_preview": "Strukturvorschau",
|
|
"data_sync.plan.source_query_preview": "Vorschau für SQL-Ergebnismengen-Sync",
|
|
"data_sync.plan.target_collection_missing_auto_create": "Ziel-Collection fehlt; sie wird automatisch erstellt und danach importiert",
|
|
"data_sync.plan.target_collection_missing_manual_create": "Ziel-Collection fehlt; bitte zuerst manuell erstellen",
|
|
"data_sync.plan.target_missing_auto_create": "Zieltabelle fehlt; sie wird automatisch erstellt und danach importiert",
|
|
"data_sync.plan.target_missing_auto_create_all": "Zieltabelle fehlt; beim Ausführen wird sie automatisch erstellt und alle Quelldaten werden importiert",
|
|
"data_sync.plan.target_missing_cannot_sync": "Zieltabelle fehlt; Synchronisierung kann nicht ausgeführt werden",
|
|
"data_sync.plan.target_missing_manual_create": "Zieltabelle fehlt; bitte zuerst manuell erstellen",
|
|
"data_sync.plan.target_missing_preview_unavailable": "Die Zieltabelle fehlt. Differenzvorschau ist nicht verfügbar.",
|
|
"data_sync.plan.tdengine_target_missing_timestamp_auto_create_unavailable": "In der Quelltabelle wurde keine Zeitspalte erkannt, die der ersten TDengine-Spalte zugeordnet werden kann; automatische Tabellenerstellung ist nicht möglich",
|
|
"data_sync.plan.tdengine_time_column_missing": "In der Quelltabelle wurde keine Zeitspalte erkannt, die der ersten TDengine-Spalte zugeordnet werden kann; automatische Tabellenerstellung ist nicht möglich",
|
|
"data_sync.plan.use_existing_target": "In vorhandene Zieltabelle importieren",
|
|
"data_sync.plan.use_existing_target_collection": "In vorhandene Ziel-Collection importieren",
|
|
"data_sync.plan.use_existing_target_table": "In vorhandene Zieltabelle importieren",
|
|
"data_sync.preview.action.copy_sql": "SQL kopieren",
|
|
"data_sync.preview.column.changed_columns": "Geänderte Spalten",
|
|
"data_sync.preview.column.data": "Daten",
|
|
"data_sync.preview.column.detail": "Einzelheiten",
|
|
"data_sync.preview.column.primary_key": "Primärschlüssel",
|
|
"data_sync.preview.data_summary": "{{inserts}} einfügen, {{updates}} aktualisieren, {{deletes}} löschen (Vorschau zeigt je Typ höchstens 200 Zeilen)",
|
|
"data_sync.preview.delete_warning": "Löschen ist standardmäßig nicht ausgewählt. Aktivieren Sie es erst nach Prüfung der fachlichen Auswirkungen.",
|
|
"data_sync.preview.loading": "Unterschiedsvorschau wird geladen...",
|
|
"data_sync.preview.message.copy_failed": "Kopieren fehlgeschlagen. Bitte manuell kopieren.",
|
|
"data_sync.preview.message.sql_copied": "SQL kopiert",
|
|
"data_sync.preview.schema_plan_help": "Die für diesen Schema-Synchronisierungslauf geplanten Anweisungen werden unten angezeigt.",
|
|
"data_sync.preview.schema_statement_count": "{{count}} Schemaänderungsanweisungen erkannt",
|
|
"data_sync.preview.schema_warning_title": "Die Schemavorschau enthält Risiken oder eingeschränkte Punkte",
|
|
"data_sync.preview.selection_hint.delete": "Wenn keine Zeilen ausgewählt sind, werden alle Löschunterschiede synchronisiert. Entfernen Sie Löschen im Vergleichsergebnis, um Löschungen zu überspringen.",
|
|
"data_sync.preview.selection_hint.insert": "Wenn keine Zeilen ausgewählt sind, werden alle Einfügungsunterschiede synchronisiert. Entfernen Sie Einfügen im Vergleichsergebnis, um Einfügungen zu überspringen.",
|
|
"data_sync.preview.selection_hint.update": "Wenn keine Zeilen ausgewählt sind, werden alle Aktualisierungsunterschiede synchronisiert. Entfernen Sie Aktualisieren im Vergleichsergebnis, um Aktualisierungen zu überspringen.",
|
|
"data_sync.preview.side.source": "Quelle",
|
|
"data_sync.preview.side.target": "Ziel",
|
|
"data_sync.preview.sql.data_help": "Die SQL-Vorschau wird aus den ausgewählten Einfügungen, Aktualisierungen, Löschungen und Zeilenbereichen zur Prüfung erzeugt.",
|
|
"data_sync.preview.sql.no_data_sql": "-- Für die aktuelle Auswahl ist kein SQL verfügbar",
|
|
"data_sync.preview.sql.no_schema_changes": "-- Für die aktuelle Tabelle gibt es keine ausführbaren Schemaänderungen",
|
|
"data_sync.preview.sql.schema_help": "Die SQL-Vorschau zeigt die auszuführenden Schemaänderungsanweisungen zur Prüfung.",
|
|
"data_sync.preview.sql.schema_statement_count": "{{count}} Schemaänderungsanweisungen",
|
|
"data_sync.preview.sql.statement_count": "{{count}} Anweisungen (Vorschaudaten zeigen je Typ höchstens 200 Zeilen)",
|
|
"data_sync.preview.tab.delete": "Löschen({{count}})",
|
|
"data_sync.preview.tab.insert": "Einfügen({{count}})",
|
|
"data_sync.preview.tab.schema": "Struktur({{count}})",
|
|
"data_sync.preview.tab.sql": "SQL({{count}})",
|
|
"data_sync.preview.tab.update": "Aktualisieren({{count}})",
|
|
"data_sync.preview.title": "Unterschiedsvorschau: {{table}}",
|
|
"data_sync.preview.update_detail_title": "Aktualisierungsdetails: {{table}} / {{pk}}",
|
|
"data_sync.progress.stage.analysis_completed": "Differenzanalyse abgeschlossen",
|
|
"data_sync.progress.stage.analysis_started": "Differenzanalyse gestartet",
|
|
"data_sync.progress.stage.analyzing_diff": "Unterschiede werden analysiert",
|
|
"data_sync.progress.stage.analyzing_table": "Tabelle wird analysiert ({{current}}/{{total}})",
|
|
"data_sync.progress.stage.applying_changes": "Änderungen werden angewendet",
|
|
"data_sync.progress.stage.backend_update": "Fortschritt wird verarbeitet",
|
|
"data_sync.progress.stage.checking_columns": "Feldkonsistenz wird geprüft",
|
|
"data_sync.progress.stage.clearing_target": "Zieltabelle wird geleert",
|
|
"data_sync.progress.stage.collection_completed": "Collection-Verarbeitung abgeschlossen",
|
|
"data_sync.progress.stage.comparing_diff": "Differenzen werden verglichen",
|
|
"data_sync.progress.stage.completed": "Synchronisierung abgeschlossen",
|
|
"data_sync.progress.stage.connecting_source": "Verbindung zur Quelldatenbank",
|
|
"data_sync.progress.stage.connecting_target": "Verbindung zur Zieldatenbank",
|
|
"data_sync.progress.stage.creating_indexes": "Indizes werden erstellt",
|
|
"data_sync.progress.stage.creating_target_collection": "Ziel-Collection wird erstellt",
|
|
"data_sync.progress.stage.creating_target_table": "Zieltabelle wird erstellt",
|
|
"data_sync.progress.stage.executing": "Ausführung läuft",
|
|
"data_sync.progress.stage.failed": "Synchronisierung fehlgeschlagen",
|
|
"data_sync.progress.stage.migrating_collection": "Collection wird migriert ({{current}}/{{total}})",
|
|
"data_sync.progress.stage.migrating_key": "Key wird migriert ({{current}}/{{total}})",
|
|
"data_sync.progress.stage.mongo_redis_collection_completed": "Collection-Verarbeitung abgeschlossen",
|
|
"data_sync.progress.stage.mongo_redis_migrating_collection": "Collection wird migriert ({{current}}/{{total}})",
|
|
"data_sync.progress.stage.mongo_redis_started": "MongoDB-zu-Redis-keyspace-Migration gestartet",
|
|
"data_sync.progress.stage.mongodb_keyspace_started": "MongoDB-Keyspace-Migration gestartet",
|
|
"data_sync.progress.stage.preparing": "Vorbereitung läuft",
|
|
"data_sync.progress.stage.reading_source": "Quelldaten werden gelesen",
|
|
"data_sync.progress.stage.reading_target": "Zieldaten werden gelesen",
|
|
"data_sync.progress.stage.redis_keyspace_started": "Redis-Keyspace-Migration gestartet",
|
|
"data_sync.progress.stage.redis_mongo_creating_collection": "Ziel-Collection wird erstellt",
|
|
"data_sync.progress.stage.redis_mongo_migrating_key": "Key wird migriert ({{current}}/{{total}})",
|
|
"data_sync.progress.stage.redis_mongo_started": "Redis-zu-MongoDB-keyspace-Migration gestartet",
|
|
"data_sync.progress.stage.sync_started": "Synchronisierung gestartet",
|
|
"data_sync.progress.stage.syncing_schema": "Tabellenstruktur wird synchronisiert",
|
|
"data_sync.progress.stage.syncing_table": "Tabelle wird synchronisiert ({{current}}/{{total}})",
|
|
"data_sync.progress.stage.table_completed": "Tabellenverarbeitung abgeschlossen",
|
|
"data_sync.query_mode.help": "Geben Sie Quellabfrage-SQL ein und wählen Sie eine Zieltabelle. Die Unterschiedsanalyse vergleicht diese Ergebnismenge direkt mit der Zieltabelle.",
|
|
"data_sync.result.completed": "Synchronisierung abgeschlossen",
|
|
"data_sync.result.failed": "Synchronisierung fehlgeschlagen",
|
|
"data_sync.result.failed_description": "Die Synchronisierung wurde nicht abgeschlossen.",
|
|
"data_sync.result.failed_detail": "Synchronisierung fehlgeschlagen: {{detail}}",
|
|
"data_sync.result.running": "Synchronisierung läuft",
|
|
"data_sync.result.running_description": "Aktuelle Phase: {{stage}}{{table}}",
|
|
"data_sync.result.success_summary": "{{tables}} Tabellen erfolgreich synchronisiert. Eingefügt: {{inserted}}, aktualisiert: {{updated}}",
|
|
"data_sync.result.table_suffix": ", Tabelle: {{table}}",
|
|
"data_sync.schema_inference.mongo_relational_issue": "Die Strukturableitung für {{sourceType}} -> {{targetType}} befindet sich noch in Entwicklung; derzeit ist nur ein Hinweis zur Migrationsplanung verfügbar.",
|
|
"data_sync.schema_inference.mongo_relational_resolution": "Künftige Iterationen werden Spaltendefinitionen und Typ-Degradationsrichtlinien aus Beispieldaten erzeugen.",
|
|
"data_sync.schema_sync.error.create_statement_empty": "Create-table-Anweisung ist leer",
|
|
"data_sync.schema_sync.error.create_target_table_failed": "Zieltabelle {{table}} konnte nicht erstellt werden: {{detail}}",
|
|
"data_sync.schema_sync.error.get_columns_after_create_failed": "Spalten konnten nach dem Erstellen der Zieltabelle {{table}} nicht abgerufen werden: {{detail}}",
|
|
"data_sync.schema_sync.error.get_create_statement_failed": "Create-table-Anweisung der Quelltabelle {{table}} konnte nicht abgerufen werden: {{detail}}",
|
|
"data_sync.schema_sync.error.get_source_columns_failed": "Spalten der Quelltabelle {{table}} konnten nicht abgerufen werden: {{detail}}",
|
|
"data_sync.schema_sync.error.target_missing_auto_create_unsupported": "Zieltabelle {{table}} fehlt, und Quelltyp {{sourceType}} unterstützt automatische Tabellenerstellung noch nicht: {{detail}}",
|
|
"data_sync.schema_sync.log.add_column_failed": "Spalte konnte nicht ergänzt werden: Tabelle={{table}}, Spalte={{column}}, Fehler={{detail}}",
|
|
"data_sync.schema_sync.log.column_added": "Spalte ergänzt: Tabelle={{table}}, Spalte={{column}}, Typ={{type}}",
|
|
"data_sync.schema_sync.log.completed": "Schema-Synchronisierung für {{table}} abgeschlossen; {{count}} Spalte(n) hinzugefügt",
|
|
"data_sync.schema_sync.log.schema_aligned": "Tabellenschema ist abgeglichen: {{table}}",
|
|
"data_sync.schema_sync.log.target_created": "Zieltabelle erfolgreich erstellt: {{table}}",
|
|
"data_sync.schema_sync.log.target_missing_create": "Zieltabelle {{table}} fehlt; Erstellung des Tabellenschemas wird versucht",
|
|
"data_sync.schema_sync.warning.target_unsupported": "Zieldatenbanktyp={{targetType}} unterstützt Schema-Synchronisierung noch nicht; Tabelle {{table}} wurde übersprungen",
|
|
"data_sync.section.migration_options": "Migrationsoptionen",
|
|
"data_sync.section.source_database": "Quelldatenbank",
|
|
"data_sync.section.sync_options": "Synchronisierungsoptionen",
|
|
"data_sync.section.target_database": "Zieldatenbank",
|
|
"data_sync.step.configure": "Quelle und Ziel konfigurieren",
|
|
"data_sync.step.result": "Ausführungsergebnis",
|
|
"data_sync.step.select_tables": "Tabellen auswählen",
|
|
"data_sync.table_picker.help": "Zu synchronisierende Tabellen auswählen:",
|
|
"data_sync.table_picker.item_unit": "Eintrag",
|
|
"data_sync.table_picker.items_unit": "Einträge",
|
|
"data_sync.table_picker.not_found": "Keine Daten",
|
|
"data_sync.table_picker.search_placeholder": "Tabellen suchen...",
|
|
"data_sync.table_picker.selected_title": "Ausgewählte Tabellen",
|
|
"data_sync.table_picker.show_same": "Gleiche Tabellen anzeigen",
|
|
"data_sync.table_picker.source_title": "Quelltabellen",
|
|
"data_sync.table.delete": "Löschen",
|
|
"data_sync.table.insert": "Einfügen",
|
|
"data_sync.table.plan": "Ablaufplan",
|
|
"data_sync.table.preview": "Vorschau",
|
|
"data_sync.table.risk": "Risiko",
|
|
"data_sync.table.same": "Gleich",
|
|
"data_sync.table.table_name": "Tabelle",
|
|
"data_sync.table.target_exists": "Vorhanden",
|
|
"data_sync.table.target_missing": "Fehlt",
|
|
"data_sync.table.target_table": "Zieltabelle",
|
|
"data_sync.table.update": "Aktualisieren",
|
|
"data_sync.title.compare_result": "Vergleichsergebnis",
|
|
"data_sync.title.execution_log": "Ausführungsprotokoll",
|
|
"data_sync.title.migration": "Datenquellenübergreifende Migration",
|
|
"data_sync.title.migration_description": "Tabellenerstellung, Datenimport und Risiko-Vorprüfung von der Quelle bis zum Ziel durchführen.",
|
|
"data_sync.title.migration_options": "Migrationsoptionen",
|
|
"data_sync.title.migration_workbench": "Arbeitsbereich für datenbankübergreifende Migration",
|
|
"data_sync.title.source_database": "Quelldatenbank",
|
|
"data_sync.title.sync": "Datensynchronisierung",
|
|
"data_sync.title.sync_description": "Unterschiede vergleichen, Synchronisierung ausführen und Ergebnisse mit vorhandenen Zieltabellen bestätigen.",
|
|
"data_sync.title.sync_options": "Synchronisierungsoptionen",
|
|
"data_sync.title.sync_workbench": "Arbeitsbereich für Datensynchronisierung",
|
|
"data_sync.title.target_database": "Zieldatenbank",
|
|
"data_sync.transfer.empty": "Keine Daten",
|
|
"data_sync.transfer.item_unit": "Eintrag",
|
|
"data_sync.transfer.items_unit": "Einträge",
|
|
"data_sync.transfer.search_placeholder": "Tabellen suchen...",
|
|
"data_sync.transfer.selected_tables": "Ausgewählte Tabellen",
|
|
"data_sync.transfer.source_tables": "Quelltabellen",
|
|
"data_sync.unsupported.clickhouse_to_tdengine_schema_semantics": "Quell-ORDER BY/PARTITION/TTL/Projection/materialized-view-Semantik wird noch nicht automatisch nach TDengine migriert",
|
|
"data_sync.unsupported.mongo_index_columns_missing": "Index {{name}} hat keine Spaltendefinition und wurde übersprungen",
|
|
"data_sync.unsupported.mongo_index_create_command_failed": "MongoDB createIndexes-Befehl für Index {{name}} konnte nicht erzeugt werden: {{detail}}",
|
|
"data_sync.unsupported.mongo_index_prefix_length": "Index {{name}} verwendet eine Präfixlänge; äquivalente Migration zu MongoDB wird noch nicht unterstützt",
|
|
"data_sync.unsupported.mysql_to_tdengine_schema_semantics": "Quellindizes, Fremdschlüssel, Trigger, Unique Constraints und Auto-Increment-Semantik werden noch nicht automatisch nach TDengine migriert",
|
|
"data_sync.unsupported.pglike_to_tdengine_schema_semantics": "Quellindizes, Fremdschlüssel, Trigger, Unique Constraints, Identity- und Sequence-Semantik werden noch nicht automatisch nach TDengine migriert",
|
|
"data_sync.unsupported.tdengine_source_relational_semantics": "TDengine-Indizes, Fremdschlüssel, Trigger, Supertables, TTL und weitere Zeitreihen-Semantik werden noch nicht automatisch migriert",
|
|
"data_sync.unsupported.tdengine_target_missing_timestamp": "Die erste Spalte einer TDengine regular table muss TIMESTAMP sein; die aktuelle Quelltabelle hat keine direkt zuordenbare Zeitspalte",
|
|
"data_sync.unsupported.tdengine_to_tdengine_regular_table_semantics": "Quell-supertable-, TAGS-, TTL-, retention policy- und Index-Semantik werden noch nicht automatisch in eine TDengine regular table migriert",
|
|
"data_sync.validation.query_mode_data_only": "Die Synchronisierung von SQL-Ergebnismengen unterstützt nur Datensynchronisierung",
|
|
"data_sync.validation.single_target_table_required": "Für die Synchronisierung von SQL-Ergebnismengen ist genau eine Zieltabelle erforderlich",
|
|
"data_sync.validation.source_query_required": "Geben Sie Quellabfrage-SQL ein",
|
|
"data_sync.validation.table_required": "Wählen Sie mindestens eine Tabelle",
|
|
"data_sync.warning.mongo_field_mixed_bson_types": "Feld {{field}} enthält mehrere BSON-Werttypen und wurde zu einem kompatiblen Typ herabgestuft",
|
|
"data_sync.warning.mongo_index_type_normalized": "Index {{name}} Typ={{type}} wird als regulärer Index nach MongoDB migriert",
|
|
"data_sync.warning.mongo_source_collection_index_read_failed": "Indizes der Quell-MongoDB collection konnten nicht gelesen werden; Indexmigration wurde übersprungen: {{detail}}",
|
|
"data_sync.warning.mongo_source_empty_sample_id_only": "Die Quell-MongoDB collection hat keine Beispieldaten; nur eine einfache Primärschlüsselspalte wird aus `_id` erzeugt",
|
|
"data_sync.warning.mongo_source_primary_key_missing": "Aus der Quell-MongoDB collection konnte kein stabiler Primärschlüssel abgeleitet werden; die Zieltabelle erstellt keinen Primärschlüssel automatisch",
|
|
"data_sync.warning.mongo_source_table_index_read_failed": "Quelltabellenindizes konnten nicht gelesen werden; Indexmigration wurde übersprungen: {{detail}}",
|
|
"data_sync.warning.mongo_target_collection_existing_only_required": "Die aktuelle Strategie erfordert eine vorhandene Ziel-MongoDB collection, daher wird sie bei der Ausführung nicht automatisch erstellt",
|
|
"data_sync.warning.mongo_target_collection_weak_schema": "MongoDB ist ein Ziel mit flexibler Struktur; die Feldstruktur folgt den geschriebenen document, und Zielspaltenprüfungen werden nicht ausgeführt",
|
|
"data_sync.warning.target_exists_strategy_no_auto_create": "Die aktuelle Strategie erfordert eine vorhandene Zieltabelle, daher wird sie bei der Ausführung nicht automatisch erstellt.",
|
|
"data_sync.warning.target_missing_columns": "Der Zieltabelle fehlen {{count}} Spalte(n): {{columns}}",
|
|
"data_sync.warning.tdengine_source_existing_target_no_auto_add_columns": "TDengine-Quellen ergänzen vorhandene Zieltabellen derzeit nicht automatisch um Spalten; prüfen Sie zuerst das Zielschema",
|
|
"data_sync.warning.tdengine_source_mysql_type_fallback": "Spalte {{column}} Typ {{type}} hat keine dedizierte MySQL-Zuordnung und wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.warning.tdengine_source_pg_unsigned_overflow_safeguard": "Spalte {{column}} Typ {{type}} wurde zu {{targetType}} zugeordnet, um unsigned-Überlauf zu vermeiden",
|
|
"data_sync.warning.tdengine_source_pglike_type_fallback": "Spalte {{column}} Typ {{type}} hat keine dedizierte PG-like-Zuordnung und wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.warning.tdengine_source_semantics_degraded": "TDengine zu relationalen Zielen migriert derzeit nur Spalten und Daten; supertable-, TAG-Verknüpfungs-, retention policy- und weitere Zeitreihen-Semantik kann herabgestuft werden oder verloren gehen",
|
|
"data_sync.warning.tdengine_source_tag_column_degraded": "Spalte {{column}} ist eine TDengine TAG-Spalte und wird im relationalen Ziel zu einer regulären Spalte herabgestuft",
|
|
"data_sync.warning.tdengine_source_tag_column_mapped": "Spalte {{column}} ist eine TDengine TAG-Spalte und wurde als reguläre Spalte zugeordnet",
|
|
"data_sync.warning.tdengine_target_auto_create_basic_table_only": "TDengine-Ziel-auto-create erstellt derzeit nur eine Basistabelle; Indizes, Fremdschlüssel, Trigger, supertable/TAGS/TTL werden nicht automatisch migriert",
|
|
"data_sync.warning.tdengine_target_auto_increment_not_migrated": "Auto-Increment-Semantik der Spalte {{column}} wird nicht nach TDengine migriert",
|
|
"data_sync.warning.tdengine_target_binary_type_fallback": "Spalte {{column}} Typ {{type}} wurde nach String-Semantik zu {{targetType}} herabgestuft",
|
|
"data_sync.warning.tdengine_target_column_promoted_to_timestamp": "Spalte {{column}} Typ {{type}} wurde zur ersten TDengine TIMESTAMP-Spalte hochgestuft",
|
|
"data_sync.warning.tdengine_target_empty_type_fallback": "Spalte {{column}} hat einen leeren Typ und wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.warning.tdengine_target_enum_type_fallback": "Spalte {{column}} enum-Typ {{type}} wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.warning.tdengine_target_existing_table_no_auto_add_columns": "TDengine-Ziele ergänzen vorhandene Zieltabellen derzeit nicht automatisch um Spalten; prüfen Sie zuerst das Zielschema",
|
|
"data_sync.warning.tdengine_target_fixedstring_length_parse_failed": "FixedString-Länge der Spalte {{column}} konnte nicht geparst werden und wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.warning.tdengine_target_identity_not_migrated": "Auto-Increment-/Identity-Semantik der Spalte {{column}} wird nicht nach TDengine migriert",
|
|
"data_sync.warning.tdengine_target_insert_only": "TDengine-Ziele unterstützen derzeit nur INSERT-Schreibvorgänge; update/delete-Differenzen werden bei der Ausführung abgelehnt",
|
|
"data_sync.warning.tdengine_target_json_regular_table_fallback": "Spalte {{column}} Typ {{type}} erhält in TDengine regular table keine TAG-Semantik und wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.warning.tdengine_target_json_tag_only_fallback": "Spalte {{column}} Typ {{type}} wurde zu {{targetType}} herabgestuft, da TDengine JSON nur für TAG gilt",
|
|
"data_sync.warning.tdengine_target_missing_time_column": "Die Quelltabelle hat keine zuordenbare Zeitspalte, daher ist automatische Tabellenerstellung nicht verfügbar. Bereiten Sie vor dem Fortfahren die TDengine-Zieltabelle und Zeitspalte manuell vor.",
|
|
"data_sync.warning.tdengine_target_pk_constraint_not_migrated": "Primärschlüssel-Semantik der Spalte {{column}} wird nicht als relationaler Constraint nach TDengine migriert",
|
|
"data_sync.warning.tdengine_target_same_db_type_no_mapping_fallback": "Spalte {{column}} Typ {{type}} hat keine dedizierte TDengine-Same-Database-Zuordnung und wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.warning.tdengine_target_tag_column_degraded_to_regular": "Spalte {{column}} ist eine TDengine TAG-Spalte und wird nach der Migration zu regular table zu einer regulären Spalte herabgestuft",
|
|
"data_sync.warning.tdengine_target_time_only_type_fallback": "Spalte {{column}} Typ {{type}} hat keine stabile TDengine time-only-Zuordnung und wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.warning.tdengine_target_timestamp_column_reordered": "TDengine-Basistabellen erfordern die Zeitspalte zuerst; Spalte {{column}} wurde an die erste Position verschoben",
|
|
"data_sync.warning.tdengine_target_type_fallback": "Spalte {{column}} Typ {{type}} wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.warning.tdengine_target_type_no_mapping_fallback": "Spalte {{column}} Typ {{type}} hat keine dedizierte TDengine-Zuordnung und wurde zu {{targetType}} herabgestuft",
|
|
"data_sync.warning.tdengine_target_user_defined_type_fallback": "Spalte {{column}} ist ein benutzerdefinierter Typ und wurde zu {{targetType}} herabgestuft",
|
|
"data_viewer.message.connection_not_found": "Verbindung nicht gefunden",
|
|
"data_viewer.message.duckdb_query_timeout": "Die DuckDB-Abfrage hat das Verbindungstimeout überschritten und wurde unterbrochen. Erhöhen Sie das Verbindungstimeout oder verkleinern Sie den Sortier-/Filterbereich und versuchen Sie es erneut.",
|
|
"data_viewer.message.fetch_data_failed_detail": "Fehler beim Abrufen der Daten: {{detail}}",
|
|
"data_viewer.message.mongo_filter_invalid_detail": "MongoDB-Filterbedingung ist ungültig: {{detail}}",
|
|
"data_viewer.message.mongo_filter_parse_failed": "Analyse fehlgeschlagen",
|
|
"data_viewer.message.query_failed": "Abfrage fehlgeschlagen",
|
|
"data_viewer.message.query_timeout": "Die Abfrage hat das Verbindungstimeout überschritten und wurde unterbrochen. Erhöhen Sie das Verbindungstimeout oder verkleinern Sie den Abfragebereich und versuchen Sie es erneut.",
|
|
"data_viewer.message.result_not_ready": "Die aktuelle Ergebnismenge ist noch nicht bereit. Laden Sie zuerst einmal Daten.",
|
|
"data_viewer.message.sort_buffer_retry_succeeded": "Der Sortierpuffer wurde automatisch erhöht und die Abfrage erfolgreich erneut ausgeführt.",
|
|
"data_viewer.message.total_count_failed": "Gesamtanzahl konnte nicht ermittelt werden",
|
|
"data_viewer.message.total_count_failed_detail": "Gesamtanzahl konnte nicht ermittelt werden: {{detail}}",
|
|
"data_viewer.message.total_count_parse_failed": "Gesamtanzahl-Ergebnis konnte nicht ausgewertet werden",
|
|
"data_viewer.read_only.reason.duckdb_rowid_missing": "Es wurde kein Primärschlüssel, nutzbarer eindeutiger Index oder DuckDB rowid gefunden, deshalb können Änderungen nicht sicher gesendet werden.",
|
|
"data_viewer.read_only.reason.index_metadata_unavailable": "Metadaten zum eindeutigen Index konnten nicht geladen werden, deshalb können Änderungen nicht sicher gesendet werden.",
|
|
"data_viewer.read_only.reason.metadata_unavailable": "Metadaten zu Primärschlüssel oder eindeutigem Index konnten nicht geladen werden, deshalb können Änderungen nicht sicher gesendet werden.",
|
|
"data_viewer.read_only.reason.mongo_id_missing": "Im MongoDB-Ergebnis fehlt _id, deshalb können Änderungen nicht sicher gesendet werden.",
|
|
"data_viewer.read_only.reason.no_safe_locator": "Es wurde kein Primärschlüssel oder nutzbarer eindeutiger Index gefunden, deshalb können Änderungen nicht sicher gesendet werden.",
|
|
"data_viewer.read_only.reason.oracle_rowid_missing": "Es wurde kein Primärschlüssel oder nutzbarer eindeutiger Index gefunden, und Oracle ROWID fehlt im Ergebnis, deshalb können Änderungen nicht sicher gesendet werden.",
|
|
"data_viewer.read_only.reason.primary_key_column_missing": "Im Ergebnis fehlt die Primärschlüsselspalte {{columns}}, deshalb können Änderungen nicht sicher gesendet werden.",
|
|
"data_viewer.read_only.warning.collection": "Collection {{target}} bleibt schreibgeschützt: {{reason}}",
|
|
"data_viewer.read_only.warning.table": "Tabelle {{target}} bleibt schreibgeschützt: {{reason}}",
|
|
"data_viewer.sql_log.phase.complex_type_fallback_retry": "Fallback-Wiederholung für komplexe Typen",
|
|
"data_viewer.sql_log.phase.main_query": "Hauptabfrage",
|
|
"data_viewer.sql_log.phase.sort_buffer_retry": "Wiederholung ({{size}} sort_buffer)",
|
|
"database.label": "Datenbank",
|
|
"database.unnamed": "Unbenannte Datenbank",
|
|
"db.backend.action.delete": "Löschen",
|
|
"db.backend.action.update": "Aktualisieren",
|
|
"db.backend.error.batch_insert_exec_required": "Die Ausführungsfunktion ist erforderlich",
|
|
"db.backend.error.batch_insert_failed": "Einfügen fehlgeschlagen: {{detail}}",
|
|
"db.backend.error.batch_insert_failed_with_sql": "Einfügen fehlgeschlagen: {{detail}}; SQL={{sql}}",
|
|
"db.backend.error.batch_insert_literal_required": "Die Literal-Funktion ist erforderlich",
|
|
"db.backend.error.batch_insert_no_rows_affected": "Einfügen wurde nicht wirksam: keine Zeilen betroffen",
|
|
"db.backend.error.batch_insert_placeholder_required": "Die Platzhalterfunktion ist erforderlich",
|
|
"db.backend.error.batch_insert_quote_column_required": "Die Spaltenquotierungsfunktion ist erforderlich",
|
|
"db.backend.error.clickhouse_address_required": "Geben Sie eine ClickHouse-Hostadresse oder Verbindungs-URI ein",
|
|
"db.backend.error.clickhouse_attempt_tls_config_failed": "TLS-Konfiguration bei Versuch {{attempt}} fehlgeschlagen (protocol={{protocol}}): {{detail}}",
|
|
"db.backend.error.clickhouse_attempt_validation_failed": "Verbindungsvalidierung bei Versuch {{attempt}} fehlgeschlagen (protocol={{protocol}}): {{detail}}",
|
|
"db.backend.error.clickhouse_delete_failed_with_sql": "ClickHouse-Löschung fehlgeschlagen: {{detail}}; SQL={{sql}}",
|
|
"db.backend.error.clickhouse_driver_detail_missing": "Der Treiber hat keine Fehlerdetails zurückgegeben",
|
|
"db.backend.error.clickhouse_http_client_protocol_version_unsupported": "Der aktuelle ClickHouse-HTTP-Port unterstützt client_protocol_version nicht (häufig bei ClickHouse 22.8). Es wird im HTTP-Kompatibilitätsmodus erneut versucht. Wenn es weiterhin fehlschlägt, prüfen Sie Verbindungsprotokoll und Port",
|
|
"db.backend.error.clickhouse_http_protocol_mismatch": "Die Serverantwort sieht nicht wie eine HTTP-Antwort aus; der aktuelle Port wirkt eher wie ein Native-Port. Wählen Sie das Native-Protokoll oder prüfen Sie den ClickHouse-HTTP-Port",
|
|
"db.backend.error.clickhouse_native_protocol_mismatch": "Die Serverantwort sieht nicht wie ein Native-Handshake aus; der aktuelle Port wirkt eher wie ein HTTP/HTTPS-Port. Wählen Sie das HTTP-Protokoll oder prüfen Sie den ClickHouse-Native-Port",
|
|
"db.backend.error.clickhouse_unknown_error": "Unbekannter Fehler",
|
|
"db.backend.error.clickhouse_update_failed_with_sql": "ClickHouse-Aktualisierung fehlgeschlagen: {{detail}}; SQL={{sql}}",
|
|
"db.backend.error.clickhouse_validation_failed_auto": "ClickHouse-Verbindungsvalidierung fehlgeschlagen: Automatische Protokollerkennung fehlgeschlagen (übliche Native-Ports 9000/9440, übliche HTTP-Ports {{httpPorts}}; geben Sie bei nicht standardmäßigen Ports das Verbindungsprotokoll manuell an). {{detail}}",
|
|
"db.backend.error.clickhouse_validation_failed_manual": "ClickHouse-Verbindungsvalidierung fehlgeschlagen: Benutzergewähltes Protokoll {{protocol}} wurde für {{host}}:{{port}} verwendet. {{detail}}",
|
|
"db.backend.error.column_definitions_missing": "Es wurden keine Spaltendefinitionen zurückgegeben",
|
|
"db.backend.error.connection_not_open": "Verbindung ist nicht geöffnet",
|
|
"db.backend.error.connection_open_failed_prefix": "Datenbankverbindung konnte nicht geöffnet werden: ",
|
|
"db.backend.error.connection_verify_failed_prefix": "Verbindung konnte nach dem Aufbau nicht verifiziert werden: ",
|
|
"db.backend.error.create_table_statement_not_found": "Die CREATE TABLE-Anweisung wurde nicht gefunden",
|
|
"db.backend.error.custom_driver_system_odbc_unsupported_prefix": "Datenbankverbindung konnte nicht geöffnet werden: Benutzerdefinierte Verbindungen unterstützen es nicht, den System-ODBC/JDBC-Treibernamen \"{{driver}}\" direkt einzugeben. Geben Sie stattdessen einen bereits in GoNavi registrierten Go database/sql-Treibernamen ein. Der aktuelle Build registriert keinen generischen ODBC-Treiber, daher wird eine Verbindung zu InterSystems IRIS über \"{{driver}}\" derzeit noch nicht unterstützt: ",
|
|
"db.backend.error.custom_driver_unregistered_prefix": "Datenbankverbindung konnte nicht geöffnet werden: Der benutzerdefinierte Verbindungs-Treiber \"{{driver}}\" ist in GoNavi nicht registriert. Geben Sie statt eines System-ODBC/JDBC-Treibernamens einen registrierten Go database/sql-Treibernamen ein: ",
|
|
"db.backend.error.data_source_type_required": "Wählen Sie zuerst einen Datenquellentyp aus",
|
|
"db.backend.error.database_create_sphinx_unsupported": "Sphinx unterstützt das Erstellen von Datenbanken nicht",
|
|
"db.backend.error.database_create_user_schema_unsupported": "Die aktuelle Datenquelle ({{dbType}}) behandelt Datenbanken als Benutzer/Schemas und unterstützt das Erstellen über diesen Einstiegspunkt nicht. Verwenden Sie den SQL-Editor, um eine CREATE USER-Anweisung auszuführen",
|
|
"db.backend.error.database_drop_unsupported": "Die aktuelle Datenquelle ({{dbType}}) unterstützt das Löschen von Datenbanken nicht",
|
|
"db.backend.error.database_name_required": "Datenbankname ist erforderlich",
|
|
"db.backend.error.database_rename_direct_unsupported": "MySQL/MariaDB/OceanBase/StarRocks/Sphinx unterstützt kein direktes Umbenennen von Datenbanken. Erstellen Sie stattdessen eine neue Datenbank und migrieren Sie die Daten",
|
|
"db.backend.error.database_rename_unsupported": "Die aktuelle Datenquelle ({{dbType}}) unterstützt das Umbenennen von Datenbanken nicht",
|
|
"db.backend.error.database_same_name": "Alter und neuer Datenbankname müssen unterschiedlich sein",
|
|
"db.backend.error.duckdb_build_unavailable": "Der aktuelle Build enthält den DuckDB-Treiber nicht (platform={{platform}}). Aktiviere CGO und verwende eine unterstützte Plattform (darwin/linux amd64|arm64, windows/amd64) oder stelle über -tags duckdb_use_lib / duckdb_use_static_lib eine benutzerdefinierte Bibliothek bereit",
|
|
"db.backend.error.duckdb_driver_unavailable": "DuckDB-Treiber ist nicht verfügbar: {{detail}}",
|
|
"db.backend.error.duckdb_procedure_drop_unsupported": "DuckDB unterstützt gespeicherte Prozeduren noch nicht",
|
|
"db.backend.error.http_tunnel_host_required": "HTTP-Tunnel-Host ist erforderlich",
|
|
"db.backend.error.http_tunnel_port_invalid": "HTTP-Tunnel-Port ist ungültig: {{port}}",
|
|
"db.backend.error.http_tunnel_proxy_conflict": "HTTP Tunnel kann nicht zusammen mit einem normalen Proxy aktiviert werden",
|
|
"db.backend.error.managed_transaction_unsupported": "Die aktuelle Datenquelle ({{dbType}}) unterstützt keine vom SQL-Editor verwalteten Transaktionen",
|
|
"db.backend.error.mongo_member_discovery_unsupported": "Der aktuelle MongoDB-Treiber unterstützt keine Mitgliedererkennung",
|
|
"db.backend.error.mqtt_connect_timeout": "MQTT-Verbindung zeitlich überschritten",
|
|
"db.backend.error.mqtt_publish_timeout": "MQTT-Publish zeitlich überschritten",
|
|
"db.backend.error.mqtt_subscribe_timeout": "MQTT-Abonnement zeitlich überschritten",
|
|
"db.backend.error.multi_statement_execution_failed": "Anweisung {{index}} konnte nicht ausgeführt werden: {{detail}}",
|
|
"db.backend.error.multi_statement_previous_success": " ({{count}} vorherige Anweisungen wurden erfolgreich ausgeführt)",
|
|
"db.backend.error.oceanbase_oracle_show_create_table_fallback_failed": "{{metadataDetail}}; OceanBase Oracle SHOW CREATE TABLE-Fallback fehlgeschlagen: {{showDetail}}",
|
|
"db.backend.error.old_table_name_required": "Der alte Tabellenname ist erforderlich",
|
|
"db.backend.error.old_view_name_required": "Der alte View-Name ist erforderlich",
|
|
"db.backend.error.oracle_column_metadata_load_failed": "Spaltenmetadaten konnten nicht geladen werden (Tabelle={{table}}): {{detail}}. Prüfen Sie die ALL_TAB_COLUMNS-Abfrageberechtigung und ob die Tabelle existiert",
|
|
"db.backend.error.proxy_local_forward_addr_parse_failed": "Lokale Proxy-Weiterleitungsadresse konnte nicht geparst werden: {{address}}",
|
|
"db.backend.error.proxy_ssh_gateway_connect_failed": "Verbindung zum SSH-Gateway über den Proxy fehlgeschlagen: {{detail}}",
|
|
"db.backend.error.proxy_target_port_invalid": "Zielport ist ungültig: {{port}}",
|
|
"db.backend.error.routine_drop_unsupported": "Die aktuelle Datenquelle ({{dbType}}) unterstützt das Löschen von Funktionen oder gespeicherten Prozeduren nicht",
|
|
"db.backend.error.routine_name_required": "Der Name der Funktion oder gespeicherten Prozedur ist erforderlich",
|
|
"db.backend.error.row_action_not_effective_multiple_rows": "{{action}} wurde nicht wirksam: {{count}} Zeilen betroffen; genau 1 erwartet",
|
|
"db.backend.error.row_action_not_effective_no_rows_matched": "{{action}} wurde nicht wirksam: Keine Zeilen wurden gefunden",
|
|
"db.backend.error.row_action_not_effective_rows_affected_unknown": "{{action}} wurde nicht wirksam: Die Anzahl betroffener Zeilen konnte nicht bestimmt werden: {{detail}}",
|
|
"db.backend.error.row_delete_failed": "Löschen fehlgeschlagen: {{detail}}",
|
|
"db.backend.error.row_update_failed": "Aktualisierung fehlgeschlagen: {{detail}}",
|
|
"db.backend.error.row_update_key_conditions_required": "Für den Aktualisierungsvorgang sind Schlüsselkriterien erforderlich",
|
|
"db.backend.error.schema_create_unsupported": "Die aktuelle Datenquelle ({{dbType}}) unterstützt das Erstellen von Schemas über diesen Einstiegspunkt nicht",
|
|
"db.backend.error.schema_drop_unsupported": "Die aktuelle Datenquelle ({{dbType}}) unterstützt das Löschen von Schemas über diesen Einstiegspunkt nicht",
|
|
"db.backend.error.schema_name_required": "Schemaname ist erforderlich",
|
|
"db.backend.error.schema_rename_unsupported": "Die aktuelle Datenquelle ({{dbType}}) unterstützt das Umbenennen von Schemas über diesen Einstiegspunkt nicht",
|
|
"db.backend.error.schema_same_name": "Alter und neuer Schemaname müssen unterschiedlich sein",
|
|
"db.backend.error.sqlite_file_path_required": "SQLite erfordert einen lokalen Datenbankdateipfad (z. B. /path/to/demo.sqlite)",
|
|
"db.backend.error.sqlite_host_port_not_file_path": "SQLite erfordert einen lokalen Datenbankdateipfad; die aktuelle Eingabe sieht wie eine Hostadresse aus: {{dsn}}",
|
|
"db.backend.error.table_columns_empty_for_ddl": "Die abgerufenen Spaltendefinitionen waren leer, daher konnte die CREATE TABLE-Anweisung nicht erzeugt werden",
|
|
"db.backend.error.table_columns_missing_for_ddl": "Es konnten keine Spaltendefinitionen abgerufen werden, daher konnte die CREATE TABLE-Anweisung nicht erzeugt werden",
|
|
"db.backend.error.table_drop_unsupported": "Die aktuelle Datenquelle ({{dbType}}) unterstützt das Löschen von Tabellen nicht",
|
|
"db.backend.error.table_name_required": "Tabellenname ist erforderlich",
|
|
"db.backend.error.table_new_name_no_qualifier": "Der neue Tabellenname darf kein Schema- oder Datenbankpräfix enthalten",
|
|
"db.backend.error.table_rename_unsupported": "Die aktuelle Datenquelle ({{dbType}}) unterstützt das Umbenennen von Tabellen nicht",
|
|
"db.backend.error.table_same_name": "Der alte und der neue Tabellenname müssen unterschiedlich sein",
|
|
"db.backend.error.target_database_required": "Zieldatenbank ist erforderlich",
|
|
"db.backend.error.tdengine_apply_changes_insert_only": "TDengine-Ziele unterstützen derzeit nur INSERT-Schreibvorgänge; ApplyChanges unterstützt keine UPDATE/DELETE-Differenzen",
|
|
"db.backend.error.test_connection_close_failed": "Verbindung erfolgreich, aber das Freigeben der Testverbindung ist fehlgeschlagen: {{detail}}",
|
|
"db.backend.error.transaction_already_finished": "Die Transaktion wurde bereits beendet",
|
|
"db.backend.error.transaction_commit_close_failed": "Transaktion wurde übernommen, aber das Schließen der Sitzung ist fehlgeschlagen: {{detail}}",
|
|
"db.backend.error.transaction_commit_failed": "Commit der Transaktion fehlgeschlagen: {{detail}}",
|
|
"db.backend.error.transaction_id_required": "Transaktions-ID ist erforderlich",
|
|
"db.backend.error.transaction_not_found": "Transaktion nicht gefunden oder bereits beendet",
|
|
"db.backend.error.transaction_not_open": "Die Transaktion ist nicht geöffnet",
|
|
"db.backend.error.transaction_query_unsupported": "Die aktuelle Transaktionssitzung unterstützt keine Abfrageanweisungen",
|
|
"db.backend.error.transaction_rollback_close_failed": "Transaktion wurde zurückgesetzt, aber das Schließen der Sitzung ist fehlgeschlagen: {{detail}}",
|
|
"db.backend.error.transaction_rollback_failed": "Rollback der Transaktion fehlgeschlagen: {{detail}}",
|
|
"db.backend.error.unsupported_database_type": "Nicht unterstützter Datenbanktyp: {{dbType}}",
|
|
"db.backend.error.view_drop_unsupported": "Die aktuelle Datenquelle ({{dbType}}) unterstützt das Löschen von Views nicht",
|
|
"db.backend.error.view_name_required": "View-Name ist erforderlich",
|
|
"db.backend.error.view_new_name_no_qualifier": "Der neue View-Name darf kein Schema- oder Datenbankpräfix enthalten",
|
|
"db.backend.error.view_rename_unsupported": "Die aktuelle Datenquelle ({{dbType}}) unterstützt das Umbenennen von Views nicht",
|
|
"db.backend.error.view_same_name": "Der alte und der neue View-Name müssen unterschiedlich sein",
|
|
"db.backend.message.connect_failure_cooldown": "Die Verbindung ist vor Kurzem fehlgeschlagen und befindet sich in einer Abkühlphase. Versuchen Sie es in {{remaining}} erneut; letzter Fehler: {{detail}}",
|
|
"db.backend.message.connect_success": "Verbindung erfolgreich",
|
|
"db.backend.message.connect_timeout_detail": "Zeitüberschreitung bei der Datenbankverbindung: {{dbType}} {{host}}:{{port}}/{{database}}: {{detail}}",
|
|
"db.backend.message.database_created": "Datenbank erstellt",
|
|
"db.backend.message.database_dropped": "Datenbank gelöscht",
|
|
"db.backend.message.database_renamed": "Datenbank umbenannt",
|
|
"db.backend.message.function_dropped": "Funktion gelöscht",
|
|
"db.backend.message.mongo_members_discovered": "{{count}} Mitglieder gefunden",
|
|
"db.backend.message.mongo_primary_credentials_label": "Primär-Anmeldedaten",
|
|
"db.backend.message.mongo_replica_credentials_label": "Replikat-Anmeldedaten",
|
|
"db.backend.message.multi_statement_sequential_fallback": "Die aktuelle Datenquelle ({{dbType}}) unterstützt keine native Ausführung mehrerer Anweisungen. Sie wurde automatisch in {{count}} Anweisungen aufgeteilt und nacheinander ausgeführt.",
|
|
"db.backend.message.procedure_dropped": "Gespeicherte Prozedur gelöscht",
|
|
"db.backend.message.release_success": "Verbindung freigegeben",
|
|
"db.backend.message.schema_created": "Schema erstellt",
|
|
"db.backend.message.schema_dropped": "Schema gelöscht",
|
|
"db.backend.message.schema_renamed": "Schema umbenannt",
|
|
"db.backend.message.table_dropped": "Tabelle gelöscht",
|
|
"db.backend.message.table_renamed": "Tabelle umbenannt",
|
|
"db.backend.message.transaction_committed": "Transaktion übernommen",
|
|
"db.backend.message.transaction_rolled_back": "Transaktion zurückgesetzt",
|
|
"db.backend.message.view_dropped": "View gelöscht",
|
|
"db.backend.message.view_renamed": "View umbenannt",
|
|
"definition_viewer.action.edit_object": "Objekt bearbeiten",
|
|
"definition_viewer.edit.comment_compatibility": "Bestätigen Sie vor der Ausführung, dass die Syntax mit der aktuellen Datenbank kompatibel ist",
|
|
"definition_viewer.edit.comment_empty_definition": "Die aktuelle Objektdefinition ist leer. Vervollständigen Sie vor der Ausführung das DDL für {{name}}",
|
|
"definition_viewer.edit.comment_title": "{{object}} bearbeiten: {{name}}",
|
|
"definition_viewer.edit.tab_title": "{{object}} bearbeiten: {{name}}",
|
|
"definition_viewer.editor.event_definition_not_found": "Ereignisdefinition nicht gefunden",
|
|
"definition_viewer.editor.event_fragment_fallback.header": "Die aktuelle Datenquelle hat keine vollständige CREATE EVENT-Anweisung zurückgegeben; ein Ereignisdefinitionsfragment wurde zurückgegeben",
|
|
"definition_viewer.editor.metadata_fallback.header": "Die aktuelle Datenquelle hat keinen ausführbaren Definitionstext zurückgegeben; Metadaten wurden zurückgegeben",
|
|
"definition_viewer.editor.metadata_fallback.name_label": "Name",
|
|
"definition_viewer.editor.metadata_fallback.type_label": "Typ",
|
|
"definition_viewer.editor.object_definition_not_found": "{{object}}definition nicht gefunden",
|
|
"definition_viewer.editor.routine_definition_not_found": "Funktions-/Prozedurdefinition nicht gefunden",
|
|
"definition_viewer.editor.sphinx.compat_queries_hint": "Mehrere Kompatibilitätsabfragen wurden ausgeführt. Ursache können Versionsbeschränkungen oder ein nicht unterstützter Objekttyp sein.",
|
|
"definition_viewer.editor.sphinx.empty_result": "Die aktuelle Sphinx-Instanz{{version}} hat keine {{object}}definition zurückgegeben.",
|
|
"definition_viewer.editor.sphinx.failed_message_label": "Zurückgegebene Fehlermeldung",
|
|
"definition_viewer.editor.sphinx.failed_message_unknown": "Zurückgegebene Fehlermeldung: Unbekannter Fehler",
|
|
"definition_viewer.editor.sphinx.unsupported_query": "Die aktuelle Sphinx-Instanz{{version}} unterstützt das Abfragen von {{object}}definitionen nicht.",
|
|
"definition_viewer.editor.sphinx.version_suffix": " (Version: {{version}})",
|
|
"definition_viewer.editor.unsupported_event_definition": "Dieser Datenbanktyp unterstützt das Anzeigen von Ereignisdefinitionen nicht",
|
|
"definition_viewer.editor.unsupported_object_definition": "Diese Objektdefinition wird nicht unterstützt",
|
|
"definition_viewer.editor.unsupported_routine_definition": "Dieser Datenbanktyp unterstützt das Anzeigen von Funktions-/Prozedurdefinitionen nicht",
|
|
"definition_viewer.editor.unsupported_sqlite_routine_definition": "SQLite unterstützt keine Verwaltung von Funktions-/Prozedurdefinitionen",
|
|
"definition_viewer.editor.unsupported_view_definition": "Dieser Datenbanktyp unterstützt das Anzeigen von Ansichtsdefinitionen nicht",
|
|
"definition_viewer.editor.view_definition_not_found": "Ansichtsdefinition nicht gefunden",
|
|
"definition_viewer.error.connection_not_found": "Datenbankverbindung nicht gefunden",
|
|
"definition_viewer.error.event_name_empty": "Ereignisname ist leer",
|
|
"definition_viewer.error.load_failed": "Laden fehlgeschlagen",
|
|
"definition_viewer.error.query_failed": "Definitionsabfrage fehlgeschlagen",
|
|
"definition_viewer.error.query_failed_detail": "Definitionsabfrage fehlgeschlagen: {{detail}}",
|
|
"definition_viewer.error.routine_name_empty": "Funktions-/Prozedurname ist leer",
|
|
"definition_viewer.error.view_name_empty": "Ansichtsname ist leer",
|
|
"definition_viewer.field.database": "Datenbank",
|
|
"definition_viewer.field.type": "Typ",
|
|
"definition_viewer.loading.event_definition": "Ereignisdefinition wird geladen...",
|
|
"definition_viewer.loading.routine_definition": "Funktions-/Prozedurdefinition wird geladen...",
|
|
"definition_viewer.loading.view_definition": "Ansichtsdefinition wird geladen...",
|
|
"definition_viewer.object.event": "Ereignis",
|
|
"definition_viewer.object.materialized_view": "Materialisierte Ansicht",
|
|
"definition_viewer.object.routine": "Funktion/Prozedur",
|
|
"definition_viewer.object.view": "Ansicht",
|
|
"definition_viewer.warning.refresh_latest_failed": "Neueste Definition konnte nicht aktualisiert werden",
|
|
"dev.perf_data_grid.columns": "Spalten",
|
|
"dev.perf_data_grid.density.comfortable": "Standard",
|
|
"dev.perf_data_grid.density.compact": "Sehr kompakt",
|
|
"dev.perf_data_grid.density.standard": "Kompakt",
|
|
"dev.perf_data_grid.notice.description": "Aktuelle {{uiVersion}} UI, {{rows}} Zeilen / {{columns}} Spalten. Messe vertikales, horizontales und Shift+Mausrad-Scrollen direkt im Tabellenbereich.",
|
|
"dev.perf_data_grid.notice.message": "Diese Seite dient nur der Entwicklungsmessung der Scroll-Leistung",
|
|
"dev.perf_data_grid.rows": "Zeilen",
|
|
"dev.perf_data_grid.title": "DataGrid-Leistungsreproduktion",
|
|
"dev.perf_data_grid.trigger_layout": "Layout neu berechnen",
|
|
"dev.perf_data_grid.ui_version.legacy": "Alte UI",
|
|
"dev.perf_data_grid.ui_version.legacy_short": "Alt",
|
|
"dev.perf_data_grid.ui_version.v2": "Neue UI",
|
|
"dev.perf_data_grid.ui_version.v2_short": "Neu",
|
|
"driver_manager.action.close": "Schließen",
|
|
"driver_manager.action.import_directory": "Treiberordner importieren",
|
|
"driver_manager.action.import_package": "Treiberpaket importieren",
|
|
"driver_manager.action.install_enable": "Installieren und aktivieren",
|
|
"driver_manager.action.logs": "Protokoll",
|
|
"driver_manager.action.network_check": "Netzwerk prüfen",
|
|
"driver_manager.action.open_directory": "Treiberordner öffnen",
|
|
"driver_manager.action.open_global_proxy_settings": "Globale Proxy-Einstellungen öffnen",
|
|
"driver_manager.action.refresh": "Aktualisieren",
|
|
"driver_manager.action.remove": "Entfernen",
|
|
"driver_manager.action.switch_version": "Version wechseln",
|
|
"driver_manager.backend.dialog.select_download_directory": "Treiber-Downloadordner auswählen",
|
|
"driver_manager.backend.dialog.select_package_directory": "Treiberpaketordner auswählen",
|
|
"driver_manager.backend.dialog.select_package_file": "Treiberpaketdatei auswählen (kein JDBC Jar)",
|
|
"driver_manager.backend.driver_fallback_name": "Treiber",
|
|
"driver_manager.backend.error.agent_hash_failed": "Pruefsumme des Treiber-Agents konnte nicht berechnet werden: {{detail}}",
|
|
"driver_manager.backend.error.agent_metadata_unavailable": "Versionsmetadaten des {{name}}-driver-agent sind nicht verfuegbar. Installiere den zur aktuellen Version passenden driver-agent: {{detail}}",
|
|
"driver_manager.backend.error.agent_path_occupied_by_directory": "Pfad des {{name}}-Treiber-Agents ist durch einen Ordner belegt: {{path}}",
|
|
"driver_manager.backend.error.agent_revision_mismatch": "Revision des {{name}}-driver-agent stimmt nicht ueberein (installiert: {{actual}}, erforderlich: {{expected}}). Installiere den zur aktuellen Version passenden driver-agent.",
|
|
"driver_manager.backend.error.agent_revision_mismatch_empty_actual": "Revision des {{name}}-driver-agent stimmt nicht ueberein (installiert: leer, erforderlich: {{expected}}). Installiere den zur aktuellen Version passenden driver-agent.",
|
|
"driver_manager.backend.error.api_url_empty": "API URL ist leer",
|
|
"driver_manager.backend.error.asset_name_empty": "Treiber-Assetname ist leer",
|
|
"driver_manager.backend.error.builtin_download_not_required": "Integrierte Treiber benötigen keine Downloads von Erweiterungspaketen",
|
|
"driver_manager.backend.error.builtin_install_not_required": "Integrierte Treiber benötigen keine Installation von Erweiterungspaketen",
|
|
"driver_manager.backend.error.builtin_package_not_required": "Integrierte Treiber haben keine Installationspakete",
|
|
"driver_manager.backend.error.builtin_remove_not_allowed": "Integrierte Treiber können nicht entfernt werden",
|
|
"driver_manager.backend.error.builtin_version_not_required": "Integrierte Treiber benötigen keine Versionsauswahl",
|
|
"driver_manager.backend.error.bundle_download_failed": "Treiberbundle konnte nicht heruntergeladen werden: {{detail}}",
|
|
"driver_manager.backend.error.bundle_entry_missing": "{{name}} wurde im Treiberbundle nicht gefunden (erwarteter Pfad: {{path}})",
|
|
"driver_manager.backend.error.bundle_index_asset_missing": "Treiberbundle-Index-Asset wurde nicht gefunden",
|
|
"driver_manager.backend.error.bundle_index_empty": "Treiberbundle-Index ist leer",
|
|
"driver_manager.backend.error.bundle_index_fetch_failed": "Treiberbundle-Index konnte nicht abgerufen werden: {{detail}}",
|
|
"driver_manager.backend.error.bundle_index_parse_failed": "Treiberbundle-Index konnte nicht gelesen werden: {{detail}}",
|
|
"driver_manager.backend.error.bundle_url_empty": "Download-URL des Treiberbundles ist leer",
|
|
"driver_manager.backend.error.bundled_agent_hash_failed": "Pruefsumme des gebündelten {{name}}-Treiber-Agents konnte nicht berechnet werden: {{detail}}",
|
|
"driver_manager.backend.error.cache_key_empty": "Cache key ist leer",
|
|
"driver_manager.backend.error.chmod_agent_failed": "Berechtigungen des Treiber-Agents konnten nicht gesetzt werden: {{detail}}",
|
|
"driver_manager.backend.error.close_agent_file_failed": "Treiber-Agent-Datei konnte nicht geschlossen werden: {{detail}}",
|
|
"driver_manager.backend.error.copy_bundled_agent_failed": "Gebündelter {{name}}-Treiber-Agent konnte nicht kopiert werden: {{detail}}",
|
|
"driver_manager.backend.error.copy_runtime_dependency_entry_failed": "Laufzeitabhaengigkeit {{name}} konnte nicht kopiert werden: {{detail}}",
|
|
"driver_manager.backend.error.copy_runtime_dependency_failed": "{{name}}-Laufzeitabhaengigkeiten konnten nicht kopiert werden: {{detail}}",
|
|
"driver_manager.backend.error.create_agent_temp_file_failed": "Temporaere Datei fuer Treiber-Agent konnte nicht erstellt werden: {{detail}}",
|
|
"driver_manager.backend.error.create_directory_failed": "Treiberordner konnte nicht erstellt werden: {{detail}}",
|
|
"driver_manager.backend.error.create_named_directory_failed": "{{name}}-Treiberordner konnte nicht erstellt werden: {{detail}}",
|
|
"driver_manager.backend.error.download_failed": "Download fehlgeschlagen: {{detail}}",
|
|
"driver_manager.backend.error.download_url_empty": "Download-URL ist leer",
|
|
"driver_manager.backend.error.driver_type_empty": "Treibertyp ist leer",
|
|
"driver_manager.backend.error.driver_version_list_fetch_failed": "Treiberversionsliste konnte nicht abgerufen werden: {{detail}}",
|
|
"driver_manager.backend.error.driver_version_list_parse_failed": "Treiberversionsliste konnte nicht gelesen werden: {{detail}}",
|
|
"driver_manager.backend.error.driver_version_unsupported": "{{name}}-Version {{version}} wird nicht unterstützt",
|
|
"driver_manager.backend.error.extract_runtime_dependency_failed": "Laufzeitabhaengigkeit {{name}} konnte nicht entpackt werden: {{detail}}",
|
|
"driver_manager.backend.error.file_manifest_url_invalid": "Ungültige Datei-Treiber-Manifest-URL",
|
|
"driver_manager.backend.error.file_path_empty": "Dateipfad ist leer",
|
|
"driver_manager.backend.error.go_not_found_prebuilt_missing": "Go ist in der aktuellen Umgebung nicht installiert, und es wurde kein verfuegbares vorkompiliertes {{name}}-Agent-Paket gefunden",
|
|
"driver_manager.backend.error.import_local_agent_failed": "Lokaler Treiber-Agent konnte nicht importiert werden: {{detail}}",
|
|
"driver_manager.backend.error.import_local_agent_runtime_failed": "Laufzeitabhaengigkeiten des lokalen Treiber-Agents konnten nicht importiert werden: {{detail}}",
|
|
"driver_manager.backend.error.install_prebuilt_package_failed": "Vorkompiliertes Treiberpaket konnte nicht installiert werden: {{detail}}",
|
|
"driver_manager.backend.error.local_directory_entry_missing": "{{name}}-Agent-Datei wurde im Ordner nicht gefunden (bevorzugter Pfad: {{path}}, Kandidatendateinamen: {{assetCandidates}} / {{baseCandidates}})",
|
|
"driver_manager.backend.error.local_directory_not_directory": "Pfad des lokalen Treiberordners ist kein Ordner: {{path}}",
|
|
"driver_manager.backend.error.local_directory_path_empty": "Lokaler Treiberordnerpfad ist leer",
|
|
"driver_manager.backend.error.local_directory_scan_limit": "Lokaler Treiberordner enthält zu viele Einträge (über {{max}}). Grenzen Sie den Ordner ein oder wählen Sie direkt eine zip-/Einzeldatei.",
|
|
"driver_manager.backend.error.local_manifest_url_invalid": "Ungültige lokale Treiber-Manifest-URL",
|
|
"driver_manager.backend.error.local_package_entry_missing": "{{name}}-Agent-Datei wurde im lokalen Treiberpaket nicht gefunden (erwarteter Pfad: {{path}})",
|
|
"driver_manager.backend.error.local_package_path_empty": "Lokaler Treiberpaketpfad ist leer",
|
|
"driver_manager.backend.error.manifest_fetch_failed": "Treiber-Manifest konnte nicht abgerufen werden: {{detail}}",
|
|
"driver_manager.backend.error.manifest_parse_failed": "Treiber-Manifest konnte nicht gelesen werden: {{detail}}",
|
|
"driver_manager.backend.error.manifest_scheme_unsupported": "Nicht unterstütztes Treiber-Manifest-URL-Schema: {{scheme}}",
|
|
"driver_manager.backend.error.manifest_too_large": "Treiber-Manifest überschreitet die Größenbegrenzung",
|
|
"driver_manager.backend.error.manifest_url_empty": "Treiber-Manifest-URL ist leer",
|
|
"driver_manager.backend.error.metadata_file_write_failed": "Driver-Metadatendatei konnte nicht geschrieben werden: {{detail}}",
|
|
"driver_manager.backend.error.metadata_payload_encode_failed": "Driver-Metadaten konnten nicht serialisiert werden: {{detail}}",
|
|
"driver_manager.backend.error.module_path_empty": "Modulpfad ist leer",
|
|
"driver_manager.backend.error.module_version_list_empty": "Modulversionsliste ist leer",
|
|
"driver_manager.backend.error.module_version_list_fetch_failed": "Modulversionsliste konnte nicht abgerufen werden: {{detail}}",
|
|
"driver_manager.backend.error.module_version_list_read_failed": "Modulversionsliste konnte nicht gelesen werden: {{detail}}",
|
|
"driver_manager.backend.error.mongo_version_unsupported": "MongoDB-Version {{version}} wird nicht unterstützt; unterstützt werden nur 1.17.x und 2.x",
|
|
"driver_manager.backend.error.named_agent_hash_failed": "Pruefsumme des {{name}}-Treiber-Agents konnte nicht berechnet werden: {{detail}}",
|
|
"driver_manager.backend.error.named_chmod_agent_failed": "Berechtigungen des {{name}}-Treiber-Agents konnten nicht gesetzt werden: {{detail}}",
|
|
"driver_manager.backend.error.no_driver_versions": "Keine verfügbaren Treiberversionen gefunden",
|
|
"driver_manager.backend.error.open_bundle_failed": "Treiberbundle konnte nicht geöffnet werden: {{detail}}",
|
|
"driver_manager.backend.error.open_directory_failed": "Treiberordner konnte nicht geöffnet werden: {{detail}}",
|
|
"driver_manager.backend.error.open_directory_unsupported": "Ordner können auf dieser Plattform nicht geöffnet werden: {{platform}}",
|
|
"driver_manager.backend.error.open_local_package_failed": "Lokales Treiberpaket konnte nicht geöffnet werden: {{detail}}",
|
|
"driver_manager.backend.error.optional_go_only": "Hier können nur optionale Go-Treiber installiert und aktiviert werden",
|
|
"driver_manager.backend.error.package_size_unsupported": "Dieser Treiber unterstützt keine Abfragen zur Installationspaketgröße",
|
|
"driver_manager.backend.error.prebuilt_downloads_failed": "Vorkompiliertes Paket konnte nicht heruntergeladen werden: {{detail}}",
|
|
"driver_manager.backend.error.read_bundle_entry_failed": "Eintrag im Treiberbundle konnte nicht gelesen werden: {{detail}}",
|
|
"driver_manager.backend.error.read_local_directory_failed": "Lokaler Treiberordner konnte nicht gelesen werden: {{detail}}",
|
|
"driver_manager.backend.error.read_local_package_entry_failed": "Eintrag im lokalen Treiberpaket konnte nicht gelesen werden: {{detail}}",
|
|
"driver_manager.backend.error.read_local_package_failed": "Lokales Treiberpaket konnte nicht gelesen werden: {{detail}}",
|
|
"driver_manager.backend.error.release_empty": "Release ist leer",
|
|
"driver_manager.backend.error.release_info_fetch_failed": "Release-Informationen konnten nicht abgerufen werden: {{detail}}",
|
|
"driver_manager.backend.error.remove_installed_agent_failed": "Installierter {{name}}-Treiber-Agent konnte nicht entfernt werden: {{detail}}",
|
|
"driver_manager.backend.error.remove_package_failed": "Treiberpaket konnte nicht entfernt werden: {{detail}}",
|
|
"driver_manager.backend.error.replace_agent_failed": "Treiber-Agent konnte nicht ersetzt werden: {{detail}}",
|
|
"driver_manager.backend.error.runtime_dependency_directory_empty": "Verzeichnis fuer Laufzeitabhaengigkeiten ist leer",
|
|
"driver_manager.backend.error.runtime_dependency_entry_missing": "Im Treiberpaket fehlt die Laufzeitabhaengigkeit: {{name}}",
|
|
"driver_manager.backend.error.runtime_dependency_required": "{{name}} benoetigt auf der aktuellen Plattform mitgelieferte Laufzeitabhaengigkeiten ({{files}}); eine Einzeldatei-Agent-Installation wird nicht unterstuetzt. Verwenden Sie das Treiberbundle, eine dedizierte Treiber-zip-Datei oder einen lokalen Quellbuild.",
|
|
"driver_manager.backend.error.runtime_dependency_target_directory_empty": "Zielverzeichnis fuer Laufzeitabhaengigkeiten ist leer",
|
|
"driver_manager.backend.error.scan_local_directory_failed": "Lokaler Treiberordner konnte nicht gescannt werden: {{detail}}",
|
|
"driver_manager.backend.error.source_build_command_failed": "{{name}}-Treiber-Agent konnte nicht gebaut werden: {{detail}}; Ausgabe: {{output}}",
|
|
"driver_manager.backend.error.source_build_duckdb_windows_cgo_toolchain_prepare_failed": "Vorbereitung der DuckDB Windows CGO-Toolchain fehlgeschlagen: {{detail}}",
|
|
"driver_manager.backend.error.source_build_duckdb_windows_dlltool_resolve_failed": "DuckDB Windows dlltool konnte nicht gefunden werden: {{detail}}",
|
|
"driver_manager.backend.error.source_build_duckdb_windows_dynamic_library_missing_files": "Im offiziellen DuckDB-Dynamikbibliothekspaket fehlen Dateien: {{files}}",
|
|
"driver_manager.backend.error.source_build_duckdb_windows_dynamic_library_prepare_failed": "Vorbereitung der DuckDB Windows-Dynamikbibliothek fehlgeschlagen: {{detail}}",
|
|
"driver_manager.backend.error.source_build_duckdb_windows_gcc_not_found": "Es wurde kein verwendbares gcc.exe/g++.exe gefunden; {{hint}}",
|
|
"driver_manager.backend.error.source_build_duckdb_windows_gcc_not_found_with_checked": "Es wurde kein verwendbares gcc.exe/g++.exe gefunden. Geprueft: {{checked}}; {{hint}}",
|
|
"driver_manager.backend.error.source_build_duckdb_windows_toolchain_install_hint": "Bitte installieren Sie zuerst die MSYS2 UCRT64-Toolchain: winget install --id MSYS2.MSYS2 -e; fuehren Sie dann C:\\msys64\\usr\\bin\\bash.exe -lc \"pacman -S --needed --noconfirm mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-binutils\" aus",
|
|
"driver_manager.backend.error.source_build_failed": "Lokaler Quellbuild fehlgeschlagen: {{detail}}",
|
|
"driver_manager.backend.error.source_build_go_mod_read_failed": "go.mod konnte nicht gelesen werden: {{detail}}",
|
|
"driver_manager.backend.error.source_build_module_dependency_missing": "Die Treiberabhängigkeit wurde in go.mod nicht gefunden: {{modulePath}}",
|
|
"driver_manager.backend.error.source_build_module_or_version_empty": "Treibermodul oder Version ist leer",
|
|
"driver_manager.backend.error.source_build_project_root_missing": "Der Quellcode des gemeinsamen Treiber-Agenten wurde im Projekt nicht gefunden. Bitte verwenden Sie einen veröffentlichten Build",
|
|
"driver_manager.backend.error.source_build_tag_unconfigured": "Für den Treibertyp sind keine Build-Tags konfiguriert: {{driverType}}",
|
|
"driver_manager.backend.error.source_build_temp_directory_create_failed": "Temporäres Verzeichnis für den Treiber-Build konnte nicht erstellt werden: {{detail}}",
|
|
"driver_manager.backend.error.source_build_temp_go_mod_write_failed": "Temporäre go.mod konnte nicht geschrieben werden: {{detail}}",
|
|
"driver_manager.backend.error.source_build_temp_go_sum_write_failed": "Temporäre go.sum konnte nicht geschrieben werden: {{detail}}",
|
|
"driver_manager.backend.error.source_build_timeout": "Build des {{name}}-Treiber-Agents ist abgelaufen (ueber {{timeout}}). Verwenden Sie bevorzugt ein vorkompiliertes Treiberpaket oder den Import eines lokalen Treiberpakets.",
|
|
"driver_manager.backend.error.source_build_workdir_unavailable": "Aktuelles Verzeichnis konnte nicht ermittelt werden: {{detail}}",
|
|
"driver_manager.backend.error.sync_agent_failed": "Treiber-Agent konnte nicht auf den Datentraeger geschrieben werden: {{detail}}",
|
|
"driver_manager.backend.error.tag_empty": "Tag ist leer",
|
|
"driver_manager.backend.error.unknown": "Unbekannter Fehler",
|
|
"driver_manager.backend.error.unsupported_driver_type": "Nicht unterstützter Treibertyp",
|
|
"driver_manager.backend.error.version_empty": "Version ist leer",
|
|
"driver_manager.backend.error.write_agent_failed": "Treiber-Agent konnte nicht geschrieben werden: {{detail}}",
|
|
"driver_manager.backend.error.zip_entry_empty": "Zip-Eintrag ist leer",
|
|
"driver_manager.backend.message.download_failed_detail": "Treiber konnte nicht heruntergeladen und installiert werden: {{detail}}",
|
|
"driver_manager.backend.message.driver_install_success": "Treiber erfolgreich installiert",
|
|
"driver_manager.backend.message.jdbc_jar_unsupported": "JDBC Jar-Dateien können nicht direkt importiert werden. GoNavi verwendet Go-Treiber und optionale driver-agent-Pakete; nutze stattdessen ein Treiberpaket oder einen Treiberordner. Für Verbindungen zu Kingbase verwende bevorzugt den Verbindungstyp Kingbase oder trage kingbase / kingbase8 in einer benutzerdefinierten Verbindung ein.",
|
|
"driver_manager.backend.message.local_import_failed_detail": "Lokales Treiberpaket konnte nicht importiert werden: {{detail}}",
|
|
"driver_manager.backend.message.log_hint": " (Detailprotokoll: {{path}})",
|
|
"driver_manager.backend.message.metadata_write_failed_detail": "Treibermetadaten konnten nicht geschrieben werden: {{detail}}",
|
|
"driver_manager.backend.message.opened_directory": "Treiberordner geöffnet: {{path}}",
|
|
"driver_manager.backend.message.package_removed": "Treiberpaket entfernt",
|
|
"driver_manager.backend.message.runtime_directory_configured": "Treiber-Laufzeitordner ist konfiguriert",
|
|
"driver_manager.backend.message.unsupported_builtin_manifest_url": "Nicht unterstützte integrierte Treiber-Manifest-URL: {{url}}",
|
|
"driver_manager.backend.network.error.probe_host_missing": "Prüf-URL enthält keinen Host",
|
|
"driver_manager.backend.network.error.probe_url_empty": "Prüf-URL ist leer",
|
|
"driver_manager.backend.network.error.timeout": "Zeitüberschreitung bei der Netzwerkverbindung",
|
|
"driver_manager.backend.network.probe.github_driver_release": "GitHub-Treiber-Releases",
|
|
"driver_manager.backend.network.probe.github_release_asset_domain": "GitHub Release-Asset-Domain",
|
|
"driver_manager.backend.network.probe.go_module_proxy": "Go-Modulproxy",
|
|
"driver_manager.backend.network.summary.download_chain_unreachable": "Die GitHub API ist erreichbar, aber die Treiber-Downloadkette ist nicht erreichbar. Aktiviere zuerst den globalen GoNavi-Proxy, erlaube github.com, api.github.com, release-assets.githubusercontent.com, objects.githubusercontent.com und raw.githubusercontent.com in den Proxyregeln, und erwäge danach TUN-Modus, falls es weiterhin fehlschlägt.",
|
|
"driver_manager.backend.package_size.built_in": "Integriert",
|
|
"driver_manager.backend.package_size.to_be_published": "Noch zu veröffentlichen",
|
|
"driver_manager.backend.progress.fallback.bundle_available": "Direktlink nicht verfügbar; Wechsel zum Treiberbundle-Fallback ({{name}}, {{bundle}} Bundle-Quellen verbleiben)",
|
|
"driver_manager.backend.progress.fallback.direct_to_bundle": "Vorkompilierte Direktlinks passten nicht; Wechsel zum Treiberbundle-Fallback ({{name}}, {{bundle}} Bundle-Quellen verbleiben)",
|
|
"driver_manager.backend.progress.fallback.explicit_skip_bundle": "Vorkompilierte Direktlinks passten nicht; nur explizite Assets erlaubt, Treiberbundle wird übersprungen ({{name}})",
|
|
"driver_manager.backend.progress.fallback.source_build": "Release-Assets passten nicht; lokaler Quellbuild-Fallback wird vorbereitet ({{name}})",
|
|
"driver_manager.backend.progress.plan.bundle_only": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); keine vorkompilierten Direktlinks, {{bundle}} Treiberbundle-Quellen werden versucht",
|
|
"driver_manager.backend.progress.plan.direct_only": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); {{direct}} vorkompilierte Direktlinks werden versucht",
|
|
"driver_manager.backend.progress.plan.direct_then_bundle": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); {{direct}} vorkompilierte Direktlinks, danach {{bundle}} Treiberbundle-Quellen",
|
|
"driver_manager.backend.progress.plan.explicit_direct": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); nur explizite Versionsassets, {{direct}} vorkompilierte Direktlinks",
|
|
"driver_manager.backend.progress.plan.source_fallback": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); bei nicht passenden Release-Assets wird auf lokalen Quellbuild zurückgegriffen",
|
|
"driver_manager.backend.progress.plan.source_first": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); zuerst lokaler Quellbuild, danach Download-Fallback",
|
|
"driver_manager.backend.progress.plan.source_only": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); diese Version erlaubt nur lokale Quellbuilds",
|
|
"driver_manager.backend.status.affected_connections": "Betrifft {{count}} gespeicherte Verbindungen",
|
|
"driver_manager.backend.status.agent_arch_incompatible_detail": "Die Architektur des {{name}}-Treiberagenten ist inkompatibel: Datei={{file}}, aktueller Prozess={{process}}. Installiere und aktiviere ihn im Driver Manager erneut.",
|
|
"driver_manager.backend.status.agent_missing": "{{name}}-Treiberagent fehlt. Installiere und aktiviere ihn im Driver Manager erneut.",
|
|
"driver_manager.backend.status.agent_path_failed": "Pfad des {{name}}-Treiberagenten konnte nicht aufgelöst werden. Installiere und aktiviere ihn im Driver Manager erneut.",
|
|
"driver_manager.backend.status.agent_revision_update_detail": "Grund: Die aktuelle GoNavi-Version erfordert den aktualisierten {{name}} driver-agent (Revision: {{expected}}). Auswirkung: Der driver-agent ist eine separate Binärdatei und wird nicht automatisch mit dem Hauptprogramm aktualisiert. Ohne Neuinstallation läuft weiter die alte Agent-Logik, sodass treiberseitige Fehlerbehebungen oder Optimierungen nicht wirksam werden und alte Probleme bestehen bleiben können. Eine Neuinstallation des passenden driver-agent wird dringend empfohlen.",
|
|
"driver_manager.backend.status.agent_revision_update_detail_with_actual": "Grund: Die aktuelle GoNavi-Version erfordert den aktualisierten {{name}} driver-agent (Revision: {{expected}}). Auswirkung: Der driver-agent ist eine separate Binärdatei und wird nicht automatisch mit dem Hauptprogramm aktualisiert. Ohne Neuinstallation läuft weiter die alte Agent-Logik, sodass treiberseitige Fehlerbehebungen oder Optimierungen nicht wirksam werden und alte Probleme bestehen bleiben können. Eine Neuinstallation des passenden driver-agent wird dringend empfohlen (installierter Marker: {{actual}}, erforderlich: {{expected}}).",
|
|
"driver_manager.backend.status.agent_unavailable_reinstall": "{{name}}-Treiberagent ist nicht verfügbar: {{detail}}. Installiere und aktiviere ihn im Driver Manager erneut.",
|
|
"driver_manager.backend.status.built_in_available": "Integrierter Treiber ist verbindungsbereit",
|
|
"driver_manager.backend.status.expected_revision": "erwartete Revision {{revision}}.",
|
|
"driver_manager.backend.status.installed_pending": "Treiber ist installiert und wartet auf Aktivierung",
|
|
"driver_manager.backend.status.installed_pending_with_version": "Treiber ist installiert (Version: {{version}}) und wartet auf Aktivierung",
|
|
"driver_manager.backend.status.installed_revision": "installierte Revision {{revision}}.",
|
|
"driver_manager.backend.status.mongodb_compatibility_update_detail": "Grund: Die empfohlene MongoDB-kompatible Treiberversion ist {{recommended}}, installiert ist {{installed}}. Auswirkung: Der MongoDB 2.x driver-agent verwendet den offiziellen v2-Treiber und erfordert MongoDB Server 4.2+; bei Verbindungen zu MongoDB 4.0 kann eine Inkompatibilität mit wire version 7 auftreten. Eine Neuinstallation des passenden driver-agent wird dringend empfohlen.",
|
|
"driver_manager.backend.status.needs_update": "Neuinstallation erforderlich, um Treiberaktualisierungen anzuwenden.",
|
|
"driver_manager.backend.status.optional_disabled": "{{name}} Go-Treiber ist nicht aktiviert. Installiere und aktiviere ihn im Driver Manager.",
|
|
"driver_manager.backend.status.optional_disabled_generic": "Nicht aktiviert",
|
|
"driver_manager.backend.status.optional_disabled_with_version": "Nicht aktiviert (Version: {{version}})",
|
|
"driver_manager.backend.status.optional_enabled": "Go-Treiber ist aktiviert und verbindungsbereit",
|
|
"driver_manager.backend.status.slim_build_required": "{{name}} ist im aktuellen slim build nicht enthalten. Installiere die Full-Version, um diesen Treiber zu verwenden.",
|
|
"driver_manager.backend.status.unrecognized_driver_type": "Nicht erkannter Datenquellentyp",
|
|
"driver_manager.backend.version.latest_suffix": " (neueste)",
|
|
"driver_manager.backend.version.recommended_suffix": " (empfohlen)",
|
|
"driver_manager.backend.version.unlabeled": "Unbenannte Version",
|
|
"driver_manager.column.actions": "Aktionen",
|
|
"driver_manager.column.data_source": "Datenquelle",
|
|
"driver_manager.column.package_size": "Paketgröße",
|
|
"driver_manager.column.progress": "Installationsfortschritt",
|
|
"driver_manager.column.status": "Zustand",
|
|
"driver_manager.column.version": "Treiberversion",
|
|
"driver_manager.description.install_required": "Außer MySQL / Redis / Oracle / PostgreSQL müssen Datenquellen vor dem Verbinden installiert und aktiviert werden.",
|
|
"driver_manager.directory_info.details_label": "Treiberordner und Wiederverwendung anzeigen",
|
|
"driver_manager.directory_info.log_file": "Laufzeitprotokoll: {{path}}",
|
|
"driver_manager.directory_info.reuse_help": "Automatisch heruntergeladene und manuell importierte Treiber werden in diesem Ordner gespeichert. Heruntergeladene Treiber können bei späteren Versionsupdates wiederverwendet werden.",
|
|
"driver_manager.directory_info.root_dir": "Treiber-Stammordner: {{path}}",
|
|
"driver_manager.directory_info.title": "Treiberordner und Wiederverwendung",
|
|
"driver_manager.empty.default": "Keine Treiberdaten",
|
|
"driver_manager.empty.search": "Kein Treiber passt zu \"{{keyword}}\"",
|
|
"driver_manager.filter_summary.match": "{{filtered}} / {{total}} Treffer",
|
|
"driver_manager.filter_summary.total": "{{total}} Treiber",
|
|
"driver_manager.import.directory_help": "Wenn der Download in der App fehlschlägt, lade das Treiberpaket zuerst manuell in diesen Ordner herunter und nutze dann \"Treiberpaket importieren\" oder \"Treiberordner importieren\", um die Installation abzuschließen.",
|
|
"driver_manager.import.single_file_help": "\"Treiberpaket importieren\" in der Zeile ist nur für eine einzelne Treiberdatei oder ein Bündel wie `mariadb-driver-agent`, `mariadb-driver-agent.exe` oder `GoNavi-DriverAgents.zip` vorgesehen. Ein JDBC Jar wird nicht direkt importiert; für Stapelimporte nutze oben \"Treiberordner importieren\".",
|
|
"driver_manager.local_source.directory": "Ordner",
|
|
"driver_manager.local_source.file": "Datei",
|
|
"driver_manager.log_modal.empty": "Für diesen Treiber gibt es noch keine Vorgangsprotokolle.",
|
|
"driver_manager.log_modal.executable_path": "Treiberprogramm: {{path}}",
|
|
"driver_manager.log_modal.install_dir": "Installationsordner: {{path}}",
|
|
"driver_manager.log_modal.title": "Treiberprotokoll - {{name}}",
|
|
"driver_manager.log.done_auto_install": "Automatische Installation abgeschlossen{{version}}",
|
|
"driver_manager.log.done_local_import": "Lokale Importinstallation abgeschlossen{{version}}",
|
|
"driver_manager.log.done_remove": "Treiberentfernung abgeschlossen",
|
|
"driver_manager.log.force_overwrite_reinstall": "Modus zum Überschreiben installierter Treiber ist aktiv; Neuimport wird ausgeführt",
|
|
"driver_manager.log.progress_line": "{{status}}: {{message}} ({{percent}} %)",
|
|
"driver_manager.log.skip_installed_dedupe": "Treiber ist bereits installiert; beim Ordnerimport wegen Dublettenprüfung übersprungen",
|
|
"driver_manager.log.skip_slim_build": "Das aktuelle Release-Paket ist ein Slim-Build; Ordnerimport wurde übersprungen",
|
|
"driver_manager.log.start_auto_install": "Automatische Installation gestartet",
|
|
"driver_manager.log.start_local_import": "Lokaler Import gestartet{{version}} ({{source}}): {{path}}",
|
|
"driver_manager.log.start_remove": "Treiberentfernung gestartet",
|
|
"driver_manager.message.directory_import_completed": "Ordnerimport abgeschlossen{{mode}}: {{success}} erfolgreich{{skip}}",
|
|
"driver_manager.message.directory_import_completed_with_failure": "Ordnerimport abgeschlossen{{mode}}: {{success}} erfolgreich, {{failed}} fehlgeschlagen{{skip}}",
|
|
"driver_manager.message.directory_import_failed": "Ordnerimport fehlgeschlagen{{mode}}: {{failed}} fehlgeschlagen{{skip}}",
|
|
"driver_manager.message.install_failed": "{{name}} konnte nicht installiert werden",
|
|
"driver_manager.message.install_failed_detail": "{{name}} konnte nicht installiert werden: {{detail}}",
|
|
"driver_manager.message.install_failed_fallback": "Installation von {{name}} fehlgeschlagen",
|
|
"driver_manager.message.install_start": "Installation gestartet",
|
|
"driver_manager.message.install_success": "{{name}}{{version}} installiert und aktiviert",
|
|
"driver_manager.message.install_watchdog_timeout": "Die Installation von {{name}} ist nach {{minutes}} Minuten noch nicht abgeschlossen. Der Hintergrundprozess lädt oder erstellt möglicherweise noch Dateien. Aktualisiere den Status später; falls dies wiederholt auftritt, prüfe den Proxy oder importiere ein lokales Treiberpaket.",
|
|
"driver_manager.message.load_status_failed": "Treiberstatus konnte nicht geladen werden",
|
|
"driver_manager.message.load_status_failed_detail": "Treiberstatus konnte nicht geladen werden: {{detail}}",
|
|
"driver_manager.message.load_version_failed": "Versionsliste für {{name}} konnte nicht geladen werden",
|
|
"driver_manager.message.load_version_failed_detail": "Versionsliste für {{name}} konnte nicht geladen werden: {{detail}}",
|
|
"driver_manager.message.local_directory_required": "Wähle einen gültigen Treiberpaketordner",
|
|
"driver_manager.message.local_file_required": "Wähle eine gültige Treiberpaketdatei",
|
|
"driver_manager.message.local_import_failed": "Lokales Treiberpaket für {{name}} konnte nicht importiert werden",
|
|
"driver_manager.message.local_import_failed_detail": "Lokales Treiberpaket für {{name}} konnte nicht importiert werden: {{detail}}",
|
|
"driver_manager.message.local_import_start": "Import des lokalen Treiberpakets gestartet",
|
|
"driver_manager.message.local_import_success": "Lokales Treiberpaket für {{name}}{{version}} installiert und aktiviert",
|
|
"driver_manager.message.local_path_required": "Wähle eine gültige lokale Importquelle: {{source}}",
|
|
"driver_manager.message.network_check_completed": "Treiber-Netzwerkprüfung abgeschlossen",
|
|
"driver_manager.message.network_check_failed": "Treiber-Netzwerkprüfung fehlgeschlagen",
|
|
"driver_manager.message.network_check_failed_detail": "Treiber-Netzwerkprüfung fehlgeschlagen: {{detail}}",
|
|
"driver_manager.message.no_external_drivers_to_import": "Es gibt keine externen Treiber zum Importieren",
|
|
"driver_manager.message.open_directory_failed": "Treiberordner konnte nicht geöffnet werden",
|
|
"driver_manager.message.open_directory_failed_detail": "Treiberordner konnte nicht geöffnet werden: {{detail}}",
|
|
"driver_manager.message.overwrite_suffix": " (installierte überschreiben)",
|
|
"driver_manager.message.remove_failed": "{{name}} konnte nicht entfernt werden",
|
|
"driver_manager.message.remove_failed_detail": "{{name}} konnte nicht entfernt werden: {{detail}}",
|
|
"driver_manager.message.remove_success": "{{name}} entfernt",
|
|
"driver_manager.message.select_local_directory_failed": "Lokaler Treiberpaketordner konnte nicht ausgewählt werden",
|
|
"driver_manager.message.select_local_directory_failed_detail": "Lokaler Treiberpaketordner konnte nicht ausgewählt werden: {{detail}}",
|
|
"driver_manager.message.select_local_file_failed": "Lokale Treiberpaketdatei konnte nicht ausgewählt werden",
|
|
"driver_manager.message.select_local_file_failed_detail": "Lokale Treiberpaketdatei konnte nicht ausgewählt werden: {{detail}}",
|
|
"driver_manager.message.skip_suffix": ", {{items}}",
|
|
"driver_manager.message.skip.dedupe": "{{count}} wegen Dubletten übersprungen",
|
|
"driver_manager.message.skip.slim": "{{count}} wegen Slim-Build übersprungen",
|
|
"driver_manager.network.alert.download_chain_unreachable": "Wichtig: Domains der Treiber-Downloadroute sind nicht erreichbar",
|
|
"driver_manager.network.alert.download_network_unreachable": "Wichtig: Treiber-Downloadnetzwerk ist nicht erreichbar",
|
|
"driver_manager.network.chain_alert.allow_hosts": "Wenn es weiter fehlschlägt, erlaube diese Hosts in den Proxy-Regeln: {{hosts}}. Wenn die Regeln nicht angepasst werden können, erwäge den TUN-Modus.",
|
|
"driver_manager.network.chain_alert.description": "GitHub-Seiten sind eventuell erreichbar, aber Treiberpakete werden beim Download auf Asset-Domains umgeleitet. Aktiviere zuerst den globalen Proxy im oberen GoNavi-Eintrag \"Proxy\" und trage lokale Adresse und Port der Proxy-App ein.",
|
|
"driver_manager.network.checking": "Treiber-Downloadnetzwerk wird geprüft...",
|
|
"driver_manager.network.details_label": "Details der Netzwerkprüfung anzeigen",
|
|
"driver_manager.network.error_value": ", {{detail}}",
|
|
"driver_manager.network.github_latency": "Latenz der Proxy-Verbindung zu GitHub: {{status}}{{latency}}{{detail}}",
|
|
"driver_manager.network.latency_value": ", {{latency}}ms",
|
|
"driver_manager.network.no_proxy_env": "Keine System-Proxy-Umgebungsvariablen erkannt.",
|
|
"driver_manager.network.no_result": "kein Ergebnis",
|
|
"driver_manager.network.not_checked": "Netzwerkprüfung noch nicht abgeschlossen",
|
|
"driver_manager.network.proxy_env_detected": "Proxy-Umgebungsvariablen erkannt: {{keys}}",
|
|
"driver_manager.network.reachable": "erreichbar",
|
|
"driver_manager.network.summary.download_chain_unreachable": "Die GitHub API ist erreichbar, aber die Asset-Domains für Treiberdownloads sind nicht erreichbar.",
|
|
"driver_manager.network.summary.proxy_recommended": "Einige Treiber-Downloadziele sind nicht erreichbar. Konfiguriere vor der Installation einen HTTP/HTTPS/SOCKS5-Proxy.",
|
|
"driver_manager.network.summary.reachable": "Das Treiber-Downloadnetzwerk ist erreichbar. Treiber können direkt installiert werden.",
|
|
"driver_manager.network.summary.reachable_with_proxy": "Das Treiber-Downloadnetzwerk ist über den konfigurierten Proxy erreichbar.",
|
|
"driver_manager.network.summary.unreachable": "Einige Treiber-Downloadziele sind nicht erreichbar. Prüfe das Netzwerk und versuche es erneut.",
|
|
"driver_manager.network.summary.unreachable_proxy_configured": "Einige Treiber-Downloadziele sind nicht erreichbar. Prüfe, ob der konfigurierte Proxy funktioniert, und versuche es erneut.",
|
|
"driver_manager.network.unreachable": "nicht erreichbar",
|
|
"driver_manager.option.force_overwrite_installed": "Installierte überschreiben",
|
|
"driver_manager.package_size.built_in": "Integriert",
|
|
"driver_manager.package_size.pending_release": "Noch nicht veröffentlicht",
|
|
"driver_manager.progress.agent_install_done": "Installation des {{name}}-Treiberagenten abgeschlossen",
|
|
"driver_manager.progress.agent_install_start": "Installation des {{name}}-Treiberagenten gestartet",
|
|
"driver_manager.progress.backend_detail": "Backend-Detail: {{detail}}",
|
|
"driver_manager.progress.backend_empty": "Kein Fortschrittsdetail vom Backend",
|
|
"driver_manager.progress.dev_build_fallback": "Kein vorkompiliertes Paket gefunden; lokaler Entwicklungsbuild wird versucht",
|
|
"driver_manager.progress.download_bundle": "{{name}}-Treiberbundle herunterladen",
|
|
"driver_manager.progress.download_prebuilt_agent": "Vorkompilierten {{name}}-Treiberagenten herunterladen",
|
|
"driver_manager.progress.download_prebuilt_package": "Vorkompiliertes {{name}}-Treiberpaket herunterladen",
|
|
"driver_manager.progress.extract_agent_from_bundle": "{{name}}-Agent aus Treiberbundle extrahieren",
|
|
"driver_manager.progress.fallback.bundle_available": "Direktlink nicht verfügbar; Wechsel zum Treiberbundle-Fallback ({{name}}, {{bundle}} Bundle-Quellen verbleiben)",
|
|
"driver_manager.progress.fallback.direct_to_bundle": "Vorkompilierte Direktlinks passten nicht; Wechsel zum Treiberbundle-Fallback ({{name}}, {{bundle}} Bundle-Quellen verbleiben)",
|
|
"driver_manager.progress.fallback.explicit_skip_bundle": "Vorkompilierte Direktlinks passten nicht; nur explizite Assets erlaubt, Treiberbundle wird übersprungen ({{name}})",
|
|
"driver_manager.progress.fallback.source_build": "Release-Assets passten nicht; lokaler Quellbuild-Fallback wird vorbereitet ({{name}})",
|
|
"driver_manager.progress.install_start": "Installation gestartet",
|
|
"driver_manager.progress.local_package_done": "Lokaler Treiberpaketimport abgeschlossen",
|
|
"driver_manager.progress.local_package_start": "Installation des lokalen Treiberpakets gestartet",
|
|
"driver_manager.progress.metadata_write": "Treibermetadaten werden geschrieben",
|
|
"driver_manager.progress.plan.bundle_only": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); keine vorkompilierten Direktlinks, {{bundle}} Treiberbundle-Quellen werden versucht",
|
|
"driver_manager.progress.plan.direct_only": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); {{direct}} vorkompilierte Direktlinks werden versucht",
|
|
"driver_manager.progress.plan.direct_then_bundle": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); {{direct}} vorkompilierte Direktlinks, danach {{bundle}} Treiberbundle-Quellen",
|
|
"driver_manager.progress.plan.explicit_direct": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); nur explizite Versionsassets, {{direct}} vorkompilierte Direktlinks",
|
|
"driver_manager.progress.plan.require_source_first": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); der Entwicklungsbuild verwendet nur lokalen Quellcode und nutzt keine Release-Pakete als Fallback",
|
|
"driver_manager.progress.plan.source_fallback": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); bei nicht passenden Release-Assets wird auf lokalen Quellbuild zurückgegriffen",
|
|
"driver_manager.progress.plan.source_first": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); zuerst lokaler Quellbuild, danach Download-Fallback",
|
|
"driver_manager.progress.plan.source_only": "Installation des {{name}}-Treiberagenten wird vorbereitet (Version {{version}}); diese Version erlaubt nur lokale Quellbuilds",
|
|
"driver_manager.progress.pure_go_enabled": "Installation abgeschlossen; reiner Go-Treiber aktiviert",
|
|
"driver_manager.progress.source_build_preferred": "Lokalen Quellbuild zuerst für {{name}}-Treiberagent verwenden",
|
|
"driver_manager.progress.status.done": "FERTIG",
|
|
"driver_manager.progress.status.downloading": "DOWNLOAD",
|
|
"driver_manager.progress.status.error": "FEHLER",
|
|
"driver_manager.progress.status.start": "BEGINN",
|
|
"driver_manager.progress.status.unknown": "UNBEKANNT",
|
|
"driver_manager.progress.unzip_agent": "{{name}}-Treiberagent extrahieren",
|
|
"driver_manager.progress.wait_bundle": "Auf Abschluss des {{name}}-Treiberbundle-Downloads warten",
|
|
"driver_manager.punctuation.list_separator": ", ",
|
|
"driver_manager.search.built_in": "integriert",
|
|
"driver_manager.search.external": "extern",
|
|
"driver_manager.search.placeholder": "Treibername/-typ suchen, z. B. DuckDB oder clickhouse",
|
|
"driver_manager.status.built_in_available": "Integriert verfügbar",
|
|
"driver_manager.status.calculating": "Wird berechnet...",
|
|
"driver_manager.status.disabled": "Nicht aktiviert",
|
|
"driver_manager.status.enabled": "Aktiviert",
|
|
"driver_manager.status.full_required": "Full-Version erforderlich",
|
|
"driver_manager.status.installed": "Installiert",
|
|
"driver_manager.status.installing_percent": "Installation {{percent}}%",
|
|
"driver_manager.title": "Treiberverwaltung",
|
|
"driver_manager.version.current_fallback": "aktuelle Version",
|
|
"driver_manager.version.default": "Standardversion",
|
|
"driver_manager.version.group.other": "Weitere",
|
|
"driver_manager.version.group.year": "Jahr {{year}}",
|
|
"driver_manager.version.inline_suffix": " (Version {{version}})",
|
|
"driver_manager.version.installed": "Installiert{{suffix}}",
|
|
"driver_manager.version.installed_locked": "Installiert (zum Ändern entfernen)",
|
|
"driver_manager.version.installed_locked_with_version": "{{version}} (installiert; zum Ändern entfernen)",
|
|
"driver_manager.version.installed_with_version": "{{version}} (installiert{{suffix}})",
|
|
"driver_manager.version.latest_suffix": " (neueste)",
|
|
"driver_manager.version.mongodb_hint": "Derzeit werden nur MongoDB 1.17.x und 2.x unterstützt. Ältere 1.x-Versionen stehen nicht zur Installation bereit.",
|
|
"driver_manager.version.needs_reinstall_suffix": ", Neuinstallation erforderlich",
|
|
"driver_manager.version.placeholder.load_on_expand": "Aufklappen, um Versionen zu laden",
|
|
"driver_manager.version.placeholder.select": "Treiberversion auswählen",
|
|
"driver_manager.version.recommended_suffix": " (empfohlen)",
|
|
"driver_manager.version.switch_pending": "Aktuell installiert: {{installedVersion}}; ausgewählt: {{targetVersion}}. Klicke auf „Version wechseln“, um die Änderung anzuwenden.",
|
|
"driver_manager.version.target_fallback": "Zielversion",
|
|
"driver_manager.version.unlabeled": "Version ohne Kennzeichnung",
|
|
"driver.guidance.customConnectionDriverHelp": "Unterstützt: mysql, starrocks, oceanbase, postgres, opengauss, sqlite, oracle, dm, kingbase; Aliasse: postgresql/pgx, open_gauss/open-gauss, dm8, kingbase8/kingbasees/kingbasev8. Geben Sie einen bereits von GoNavi registrierten Go database/sql-Treibernamen ein. Geben Sie keinen System-ODBC/JDBC-Treibernamen direkt ein und importieren Sie kein JDBC Jar.",
|
|
"file.backend.dialog.export_connections": "Verbindungen exportieren",
|
|
"file.backend.dialog.export_data": "Daten exportieren",
|
|
"file.backend.dialog.export_database_sql": "{{database}} exportieren (SQL)",
|
|
"file.backend.dialog.export_query_result": "Abfrageergebnis exportieren",
|
|
"file.backend.dialog.export_table": "{{table}} exportieren",
|
|
"file.backend.dialog.export_tables_sql": "Tabellen exportieren (SQL)",
|
|
"file.backend.dialog.import_data": "In {{table}} importieren",
|
|
"file.backend.dialog.select_batch_export_directory": "Stapel-Exportverzeichnis auswählen",
|
|
"file.backend.dialog.select_ca_server_certificate_file": "CA-/Serverzertifikatdatei auswählen",
|
|
"file.backend.dialog.select_client_certificate_file": "Clientzertifikatdatei auswählen",
|
|
"file.backend.dialog.select_client_private_key_file": "Client-Private-Key-Datei auswählen",
|
|
"file.backend.dialog.select_config_file": "Konfigurationsdatei auswählen",
|
|
"file.backend.dialog.select_database_file": "Datenbankdatei auswählen",
|
|
"file.backend.dialog.select_duckdb_file": "DuckDB-Datendatei auswählen",
|
|
"file.backend.dialog.select_sql_directory": "SQL-Verzeichnis auswählen",
|
|
"file.backend.dialog.select_sql_file": "SQL-Datei auswählen",
|
|
"file.backend.dialog.select_sqlite_file": "SQLite-Datendatei auswählen",
|
|
"file.backend.dialog.select_ssh_key_file": "SSH-Private-Key-Datei auswählen",
|
|
"file.backend.dialog.select_tls_certificate_file": "TLS-Zertifikatdatei auswählen",
|
|
"file.backend.error.app_log_file_not_found": "GoNavi-Logdatei wurde nicht gefunden",
|
|
"file.backend.error.batch_commit_unsupported": "Der aktuelle Datenbanktyp unterstützt keinen Batch-Commit",
|
|
"file.backend.error.connection_export_file_too_large": "Die Verbindungsexportdatei ist zu groß",
|
|
"file.backend.error.connection_import_file_too_large": "Die Verbindungsimportdatei ist zu groß",
|
|
"file.backend.error.connection_package_decrypt_failed": "Das Dateikennwort ist falsch oder die Datei ist beschädigt",
|
|
"file.backend.error.connection_package_password_required": "Das Kennwort des Wiederherstellungspakets darf nicht leer sein",
|
|
"file.backend.error.connection_package_payload_too_large": "Der Inhalt des Verbindungspakets ist zu groß",
|
|
"file.backend.error.connection_package_unsupported": "Nicht unterstütztes Format des Verbindungs-Wiederherstellungspakets",
|
|
"file.backend.error.create_directory_failed": "Verzeichnis konnte nicht erstellt werden: {{detail}}",
|
|
"file.backend.error.create_sql_file_failed": "SQL-Datei konnte nicht erstellt werden: {{detail}}",
|
|
"file.backend.error.database_name_required": "Datenbankname darf nicht leer sein",
|
|
"file.backend.error.delete_sql_directory_failed": "Verzeichnis konnte nicht gelöscht werden: {{detail}} (nur leere Verzeichnisse können gelöscht werden)",
|
|
"file.backend.error.delete_sql_file_failed": "SQL-Datei konnte nicht gelöscht werden: {{detail}}",
|
|
"file.backend.error.directory_exists": "Verzeichnis ist bereits vorhanden",
|
|
"file.backend.error.directory_name_no_separator": "Verzeichnisname darf keine Pfadtrennzeichen enthalten",
|
|
"file.backend.error.directory_name_required": "Verzeichnisname darf nicht leer sein",
|
|
"file.backend.error.directory_path_required": "Verzeichnispfad darf nicht leer sein",
|
|
"file.backend.error.export_driver_agent_streaming_required": "Für den Export ist das aktuelle {{driver}} driver-agent-Streaming-Protokoll erforderlich. Um bei großen Ergebnismengen einen Rückfall in den speicherintensiven Puffermodus zu vermeiden, installieren Sie es in der Treiberverwaltung neu und versuchen Sie es erneut: {{detail}}",
|
|
"file.backend.error.export_unsupported_format": "Nicht unterstütztes Exportformat: {{format}}",
|
|
"file.backend.error.file_path_empty": "Dateipfad ist leer",
|
|
"file.backend.error.file_path_required": "Dateipfad darf nicht leer sein",
|
|
"file.backend.error.import_csv_empty_or_missing_header": "CSV ist leer oder hat keine Kopfzeile",
|
|
"file.backend.error.import_csv_open_failed": "CSV konnte nicht geöffnet werden: {{detail}}",
|
|
"file.backend.error.import_csv_read_failed": "CSV konnte nicht gelesen werden: {{detail}}",
|
|
"file.backend.error.import_excel_empty_or_missing_header": "Excel ist leer oder hat keine Kopfzeile",
|
|
"file.backend.error.import_excel_no_sheets": "Excel-Datei enthält keine Tabellenblätter",
|
|
"file.backend.error.import_excel_parse_failed": "Excel konnte nicht geparst werden: {{detail}}",
|
|
"file.backend.error.import_excel_read_failed": "Excel konnte nicht gelesen werden: {{detail}}",
|
|
"file.backend.error.import_file_empty": "Dateipfad darf nicht leer sein",
|
|
"file.backend.error.import_json_parse_failed": "JSON konnte nicht geparst werden: {{detail}}",
|
|
"file.backend.error.import_json_root_not_array": "JSON-Wurzel muss ein Array sein",
|
|
"file.backend.error.import_unsupported_format": "Nicht unterstütztes Dateiformat",
|
|
"file.backend.error.invalid_export_mode": "Ungültiger Exportmodus",
|
|
"file.backend.error.mysql_workbench_no_connections": "Im XML wurden keine gültigen Verbindungskonfigurationen gefunden",
|
|
"file.backend.error.mysql_workbench_parse_failed": "MySQL Workbench-XML konnte nicht geparst werden: {{detail}}",
|
|
"file.backend.error.navicat_connection_password_parse_failed": "Passwort für Verbindung {{name}} konnte nicht verarbeitet werden",
|
|
"file.backend.error.navicat_connection_proxy_password_parse_failed": "Proxy-Passwort für Verbindung {{name}} konnte nicht verarbeitet werden",
|
|
"file.backend.error.navicat_connection_ssh_password_parse_failed": "SSH-Passwort für Verbindung {{name}} konnte nicht verarbeitet werden",
|
|
"file.backend.error.navicat_ncx_no_connections": "In Navicat NCX wurde keine von GoNavi unterstützte gültige Verbindungskonfiguration gefunden",
|
|
"file.backend.error.navicat_ncx_parse_failed": "Navicat NCX konnte nicht geparst werden",
|
|
"file.backend.error.navicat_secret_decrypt_failed": "Navicat-Passwort konnte nicht entschlüsselt werden",
|
|
"file.backend.error.open_file_failed": "Datei konnte nicht geöffnet werden: {{detail}}",
|
|
"file.backend.error.query_required": "Abfrage darf nicht leer sein",
|
|
"file.backend.error.read_directory_info_failed": "Verzeichnisinformationen konnten nicht gelesen werden: {{detail}}",
|
|
"file.backend.error.read_file_error_summary": "Dateilesefehler: {{detail}}. Ausgeführt: {{count}}.",
|
|
"file.backend.error.read_file_info_failed": "Dateiinformationen konnten nicht gelesen werden: {{detail}}",
|
|
"file.backend.error.read_target_directory_info_failed": "Informationen zum Zielverzeichnis konnten nicht gelesen werden: {{detail}}",
|
|
"file.backend.error.read_target_file_info_failed": "Informationen zur Zieldatei konnten nicht gelesen werden: {{detail}}",
|
|
"file.backend.error.rename_directory_failed": "Verzeichnis konnte nicht umbenannt werden: {{detail}}",
|
|
"file.backend.error.rename_sql_file_failed": "SQL-Datei konnte nicht umbenannt werden: {{detail}}",
|
|
"file.backend.error.schema_export_no_objects": "Im Schema {{schema}} wurden keine exportierbaren Tabellen oder Ansichten gefunden",
|
|
"file.backend.error.schema_name_required": "Schemaname darf nicht leer sein",
|
|
"file.backend.error.select_with_query_required": "Nur SELECT/WITH-Abfrageexport wird unterstützt",
|
|
"file.backend.error.selected_path_not_directory": "Der ausgewählte Pfad ist kein Verzeichnis",
|
|
"file.backend.error.selected_path_not_sql_file": "Der ausgewählte Pfad ist keine SQL-Datei",
|
|
"file.backend.error.sql_file_batch_execution_failed": "Batch-Ausführung ab Anweisung {{index}} fehlgeschlagen: {{detail}}",
|
|
"file.backend.error.sql_file_batch_rollback_failed": "Batch-Ausführung fehlgeschlagen: {{detail}}; Rollback fehlgeschlagen: {{rollbackDetail}}",
|
|
"file.backend.error.sql_file_exists": "SQL-Datei ist bereits vorhanden",
|
|
"file.backend.error.sql_file_extension_required": "Es werden nur SQL-Dateien unterstützt",
|
|
"file.backend.error.sql_file_name_no_separator": "SQL-Dateiname darf keine Pfadtrennzeichen enthalten",
|
|
"file.backend.error.sql_file_name_required": "SQL-Dateiname darf nicht leer sein",
|
|
"file.backend.error.sql_file_statement_execution_failed": "Anweisung {{index}} fehlgeschlagen: {{detail}}",
|
|
"file.backend.error.table_data_batch_limit": "Es können höchstens {{max}} Tabellen gleichzeitig verarbeitet werden; aktuell ausgewählt: {{count}}",
|
|
"file.backend.error.table_data_clear_failed": "Leeren von {{table}} fehlgeschlagen: {{detail}}",
|
|
"file.backend.error.table_data_clear_failed_partial": "Leeren von {{table}} fehlgeschlagen: {{detail}}. Warnung: Die ersten {{count}} Tabellen wurden bereits geleert und können nicht wiederhergestellt werden",
|
|
"file.backend.error.table_data_mode_unsupported": "Nicht unterstützter Tabellen-Datenbereinigungsmodus: {{mode}}",
|
|
"file.backend.error.table_data_no_tables": "Keine Tabellen ausgewählt",
|
|
"file.backend.error.table_data_truncate_failed": "TRUNCATE für {{table}} fehlgeschlagen: {{detail}}",
|
|
"file.backend.error.table_data_truncate_failed_partial": "TRUNCATE für {{table}} fehlgeschlagen: {{detail}}. Warnung: Für die ersten {{count}} Tabellen wurde bereits TRUNCATE ausgeführt und sie können nicht wiederhergestellt werden",
|
|
"file.backend.error.table_data_truncate_unsupported": "Der aktuelle Datenbanktyp {{type}} unterstützt TRUNCATE für Tabellen nicht. Verwenden Sie stattdessen Leeren",
|
|
"file.backend.error.target_directory_exists": "Zielverzeichnis ist bereits vorhanden",
|
|
"file.backend.error.target_sql_file_exists": "Ziel-SQL-Datei ist bereits vorhanden",
|
|
"file.backend.error.task_not_found": "Aufgabe nicht gefunden",
|
|
"file.backend.error.write_failed": "Schreiben fehlgeschlagen: {{detail}}",
|
|
"file.backend.filter.all_files": "Alle Dateien",
|
|
"file.backend.filter.all_files_pattern": "Alle Dateien (*.*)",
|
|
"file.backend.filter.certificate_files": "Zertifikatdateien",
|
|
"file.backend.filter.connection_package": "GoNavi-Verbindungspaket (*.gonavi-conn)",
|
|
"file.backend.filter.data_files": "Datendateien",
|
|
"file.backend.filter.database_files": "Datenbankdateien",
|
|
"file.backend.filter.duckdb_files": "DuckDB-Dateien",
|
|
"file.backend.filter.json_files": "JSON-Dateien (*.json)",
|
|
"file.backend.filter.mysql_workbench_connections": "MySQL Workbench-Verbindungen (*.xml)",
|
|
"file.backend.filter.private_key_files": "Private-Key-Dateien",
|
|
"file.backend.filter.sql_files": "SQL-Dateien (*.sql)",
|
|
"file.backend.filter.sqlite_files": "SQLite-Dateien",
|
|
"file.backend.html_export.document_title": "GoNavi Datenexport",
|
|
"file.backend.html_export.empty_rows": "(0 Zeilen)",
|
|
"file.backend.html_export.heading": "GoNavi Datenexport",
|
|
"file.backend.html_export.meta": "Zeilen: {{rowCount}} · Spalten: {{columnCount}} · Erstellt am: {{generatedAt}}",
|
|
"file.backend.message.cancel_requested": "Abbruchanforderung gesendet",
|
|
"file.backend.message.execution_cancelled": "Ausführung abgebrochen. Ausgeführt: {{executed}}, fehlgeschlagen: {{failed}}, Dauer: {{duration}}.",
|
|
"file.backend.message.execution_completed": "Ausführung abgeschlossen. Erfolgreich: {{success}}, fehlgeschlagen: {{failed}}, Dauer: {{duration}}.",
|
|
"file.backend.message.execution_error_detail_header": "Fehlerdetails (erste {{count}}):",
|
|
"file.backend.message.execution_more_errors": "...{{count}} weitere Fehler werden nicht angezeigt",
|
|
"file.backend.message.export_completed": "Export abgeschlossen",
|
|
"file.backend.message.import_no_data": "Keine importierbaren Daten",
|
|
"file.backend.message.import_row_failed": "Importzeile {{index}} fehlgeschlagen: {{detail}}",
|
|
"file.backend.message.import_summary": "Importiert: {{imported}}, fehlgeschlagen: {{failed}}",
|
|
"file.backend.message.statement_failed": "Anweisung {{index}} fehlgeschlagen: {{detail}}\n SQL: {{sql}}",
|
|
"file.backend.message.table_data_clear_succeeded": "Leeren erfolgreich",
|
|
"file.backend.message.table_data_truncate_succeeded": "TRUNCATE erfolgreich",
|
|
"file.backend.message.transaction_committed": "Transaktion erfolgreich committet",
|
|
"file.backend.message.user_cancelled": "Benutzer hat die Ausführung abgebrochen",
|
|
"file.backend.sql_dump.database": "Datenbank: {{database}}",
|
|
"file.backend.sql_dump.empty_rows": "(0 Zeilen)",
|
|
"file.backend.sql_dump.generated_at": "Erstellt am: {{generatedAt}}",
|
|
"file.backend.sql_dump.table": "Tabelle: {{objectName}}",
|
|
"file.backend.sql_dump.title": "GoNavi SQL-Export",
|
|
"file.backend.sql_dump.view": "Ansicht: {{objectName}}",
|
|
"file.backend.sql_dump.view_data_skipped": "Datenexport für Ansichten wurde übersprungen (INSERT für Ansichten wird nicht ausgegeben).",
|
|
"find_in_database.column.action": "Aktionen",
|
|
"find_in_database.column.match_count": "Trefferzeilen",
|
|
"find_in_database.column.matched_columns": "Treffer-Spalten",
|
|
"find_in_database.column.table_name": "Tabelle",
|
|
"find_in_database.detail.row_count": "Zeilen: {{count}}",
|
|
"find_in_database.detail.title": "{{table}} - Details zu Trefferzeilen",
|
|
"find_in_database.match.contains": "Enthält",
|
|
"find_in_database.match.exact": "Exakte Übereinstimmung",
|
|
"find_in_database.message.connection_config_not_found": "Verbindungskonfiguration nicht gefunden",
|
|
"find_in_database.message.get_tables_failed": "Tabellenliste konnte nicht abgerufen werden: {{detail}}",
|
|
"find_in_database.message.keyword_required": "Suchbegriff eingeben",
|
|
"find_in_database.message.no_matches": "Keine passenden Daten gefunden",
|
|
"find_in_database.message.no_tables": "Die aktuelle Datenbank enthält keine Tabellen",
|
|
"find_in_database.message.search_failed": "Suche fehlgeschlagen: {{detail}}",
|
|
"find_in_database.placeholder.keyword": "Zu suchende Zeichenfolge eingeben...",
|
|
"find_in_database.progress.searching_table": "{{table}} wird durchsucht... ({{current}}/{{total}})",
|
|
"find_in_database.summary.found_tables": "Passende Tabellen: {{count}}",
|
|
"find_in_database.summary.searching": " (Suche läuft...)",
|
|
"find_in_database.title": "In Datenbank suchen - {{dbName}}",
|
|
"find_in_database.tooltip.collapse_details": "Details ausblenden",
|
|
"find_in_database.tooltip.view_details": "Details anzeigen",
|
|
"import_preview.action.start": "Import starten",
|
|
"import_preview.error.connection_config_not_found": "Verbindungskonfiguration nicht gefunden",
|
|
"import_preview.error.import_failed": "Import fehlgeschlagen",
|
|
"import_preview.error.import_failed_detail": "Import fehlgeschlagen: {{detail}}",
|
|
"import_preview.error.preview_failed": "Vorschau fehlgeschlagen",
|
|
"import_preview.error.preview_failed_detail": "Vorschau fehlgeschlagen: {{detail}}",
|
|
"import_preview.preview.description": "Die ersten 5 Zeilen werden unten angezeigt. Starten Sie den Import nach der Prüfung der Daten.",
|
|
"import_preview.preview.field_list": "Feldliste:",
|
|
"import_preview.preview.summary": "{{rows}} Zeilen und {{columns}} Felder",
|
|
"import_preview.preview.table_title": "Datenvorschau (erste 5 Zeilen):",
|
|
"import_preview.progress.error_count": "Fehlgeschlagen {{count}}",
|
|
"import_preview.progress.processed_rows": "{{current}} / {{total}} Zeilen verarbeitet",
|
|
"import_preview.progress.success_count": "Erfolgreich {{count}}",
|
|
"import_preview.result.completed": "Import abgeschlossen",
|
|
"import_preview.result.error_logs": "Fehlerprotokolle:",
|
|
"import_preview.result.failed_rows": "{{count}} Zeilen fehlgeschlagen",
|
|
"import_preview.result.success_rows": "{{count}} Zeilen erfolgreich importiert",
|
|
"import_preview.status.importing": "Daten werden importiert...",
|
|
"import_preview.status.loading_preview": "Vorschaudaten werden geladen...",
|
|
"import_preview.title": "Datenimport-Vorschau",
|
|
"jvm_ai_plan.actions.description": ": {{description}}",
|
|
"jvm_ai_plan.actions.field_separator": ", ",
|
|
"jvm_ai_plan.actions.label": " ({{label}})",
|
|
"jvm_ai_plan.actions.none": "Die aktuelle Ressource deklariert keine unterstützten Aktionen. Wenn du einen Plan erzeugst, gib action nur an, wenn sie aus dem Snapshot eindeutig ableitbar ist, und lasse payload als JSON-Objekt.",
|
|
"jvm_ai_plan.actions.payload_fields": "; payload-Felder: {{fields}}",
|
|
"jvm_ai_plan.actions.required_suffix": "(required)",
|
|
"jvm_ai_plan.error.action_missing": "Dem AI-Plan fehlt eine ausführbare action.",
|
|
"jvm_ai_plan.error.payload_json_object_required": "Die aktuelle JVM-Vorschau erfordert, dass payload weiterhin ein JSON-Objekt ist.",
|
|
"jvm_ai_plan.error.reason_missing": "Dem AI-Plan fehlt ein Änderungsgrund.",
|
|
"jvm_ai_plan.error.resource_locator_missing": "Dem AI-Plan fehlen nutzbare Informationen zur Ressourcenlokalisierung.",
|
|
"jvm_ai_plan.prompt.connection_name": "Verbindungsname: {{connectionName}}",
|
|
"jvm_ai_plan.prompt.connection_policy": "Verbindungsrichtlinie: {{policy}}",
|
|
"jvm_ai_plan.prompt.connection_policy.read_only": "Schreibgeschützte Verbindung. Du darfst nur einen Plan und eine Risikoanalyse erzeugen und nicht annehmen, dass die Ausführung bereits erfolgt ist.",
|
|
"jvm_ai_plan.prompt.connection_policy.writable": "Schreibbare Verbindung, aber die Änderung muss trotzdem zuerst in der Vorschau geprüft und manuell bestätigt werden.",
|
|
"jvm_ai_plan.prompt.environment": "Umgebung: {{environmentLabel}}",
|
|
"jvm_ai_plan.prompt.environment_unknown": "unknown",
|
|
"jvm_ai_plan.prompt.example_reason": "Dirty Cache-Wert korrigieren",
|
|
"jvm_ai_plan.prompt.example_title": "JSON-Beispiel:",
|
|
"jvm_ai_plan.prompt.intro": "Analysiere die folgende JVM-Ressource und erstelle einen strukturierten Änderungsplan für GoNavi \"Änderungsvorschau\".",
|
|
"jvm_ai_plan.prompt.output_requirements_title": "Ausgabeanforderungen:",
|
|
"jvm_ai_plan.prompt.provider_mode": "Provider-Modus: {{providerMode}}",
|
|
"jvm_ai_plan.prompt.requirement.action": "4. Wähle action bevorzugt aus \"Unterstützte Aktionen für die aktuelle Ressource\"; leite sie nur aus dem Snapshot ab, wenn keine unterstützten Aktionen deklariert sind.",
|
|
"jvm_ai_plan.prompt.requirement.fields": "2. Die JSON-Felder im Codeblock müssen exakt lauten: targetType, selector, action, payload, reason.",
|
|
"jvm_ai_plan.prompt.requirement.no_execute": "6. Behaupte nicht, dass die Änderung bereits ausgeführt wurde, und gib keine Skripte oder Befehle aus.",
|
|
"jvm_ai_plan.prompt.requirement.payload": "5. payload muss als JSON-Objekt verpackt werden. Gib keine Skripte, Befehle oder Rohbinärdaten aus. Wenn ein reiner Textwert nötig ist, verpacke ihn als {\"format\":\"text\",\"value\":\"...\"}.",
|
|
"jvm_ai_plan.prompt.requirement.resource_path": "3. Bevorzuge selector.resourcePath mit dem aktuellen Ressourcenpfad {{resourcePath}}. Erfinde keinen anderen Pfad.",
|
|
"jvm_ai_plan.prompt.requirement.single_json_block": "1. Du darfst zuerst eine kurze Analyse einfügen, aber die Antwort muss genau einen ```json-Codeblock enthalten.",
|
|
"jvm_ai_plan.prompt.resource_path": "Aktueller Ressourcenpfad: {{resourcePath}}",
|
|
"jvm_ai_plan.prompt.resource_path_missing": "(Ressourcenpfad nicht angegeben)",
|
|
"jvm_ai_plan.prompt.snapshot_title": "Aktueller Ressourcen-Snapshot:",
|
|
"jvm_ai_plan.prompt.supported_actions_title": "Unterstützte Aktionen für die aktuelle Ressource:",
|
|
"jvm_ai_plan.prompt.target_host": "Zielhost: {{host}}",
|
|
"jvm_ai_plan.snapshot.unavailable": "Der aktuelle Ressourcen-Snapshot wurde noch nicht erfolgreich geladen.",
|
|
"jvm_audit.action.refresh": "Aktualisieren",
|
|
"jvm_audit.card.records": "Audit-Einträge",
|
|
"jvm_audit.column.action": "Aktion",
|
|
"jvm_audit.column.mode": "Modus",
|
|
"jvm_audit.column.reason": "Grund",
|
|
"jvm_audit.column.resource": "Ressource",
|
|
"jvm_audit.column.result": "Ergebnis",
|
|
"jvm_audit.column.source": "Quelle",
|
|
"jvm_audit.column.time": "Zeit",
|
|
"jvm_audit.description.current_range": "Aktueller Bereich: letzte {{limit}} Einträge",
|
|
"jvm_audit.empty.load_failed": "Audit-Einträge sind derzeit nicht verfügbar",
|
|
"jvm_audit.empty.no_records": "Keine Audit-Einträge",
|
|
"jvm_audit.error.backend_unavailable": "Die Backend-Methode JVMListAuditRecords ist nicht verfügbar.",
|
|
"jvm_audit.error.connection_missing": "Die Verbindung existiert nicht oder wurde gelöscht.",
|
|
"jvm_audit.error.load_failed": "JVM-Audit-Einträge konnten nicht geladen werden{{separator}}{{detail}}",
|
|
"jvm_audit.eyebrow": "JVM-Audit",
|
|
"jvm_audit.option.last_records": "Letzte {{limit}} Einträge",
|
|
"jvm_audit.source.ai_plan": "AI-unterstützt",
|
|
"jvm_audit.source.manual": "Manuell",
|
|
"jvm_audit.title": "JVM-Änderungsaudit",
|
|
"jvm_change_preview_modal.action.close": "Schließen",
|
|
"jvm_change_preview_modal.action.confirm_execute": "Ausführung bestätigen",
|
|
"jvm_change_preview_modal.blocking.alert_message": "Diese Änderung kann derzeit nicht ausgeführt werden",
|
|
"jvm_change_preview_modal.blocking.label": "Blockiergrund",
|
|
"jvm_change_preview_modal.field.format": "Format",
|
|
"jvm_change_preview_modal.field.resource_id": "Ressourcen-ID",
|
|
"jvm_change_preview_modal.field.version": "Version",
|
|
"jvm_change_preview_modal.permission.allowed": "Ausführung erlaubt",
|
|
"jvm_change_preview_modal.permission.forbidden": "Ausführung verboten",
|
|
"jvm_change_preview_modal.permission.requires_confirmation": "Bestätigung erforderlich",
|
|
"jvm_change_preview_modal.risk.high": "Hoch",
|
|
"jvm_change_preview_modal.risk.label": "Risiko {{level}}",
|
|
"jvm_change_preview_modal.risk.low": "Niedrig",
|
|
"jvm_change_preview_modal.risk.medium": "Mittel",
|
|
"jvm_change_preview_modal.risk.unknown": "Unbekannt",
|
|
"jvm_change_preview_modal.section.after": "Nachher",
|
|
"jvm_change_preview_modal.section.before": "Vorher",
|
|
"jvm_change_preview_modal.section.summary": "Änderungszusammenfassung",
|
|
"jvm_change_preview_modal.status.generated": "Vorschau erstellt",
|
|
"jvm_change_preview_modal.status.no_preview": "Kein Vorschauergebnis",
|
|
"jvm_change_preview_modal.title": "JVM-Änderungsvorschau",
|
|
"jvm_diagnostic.ai_plan.default_reason": "AI-Diagnoseplan: {{intent}}",
|
|
"jvm_diagnostic.ai_plan.error.transport_mismatch": "Der Diagnose-transport des AI-Plans ist {{planTransport}} und stimmt nicht mit der aktuellen Konsole {{currentTransport}} überein. Erstellen Sie den Plan vor dem Anwenden erneut.",
|
|
"jvm_diagnostic.ai_plan.message.filled": "AI-Diagnoseplan wurde in die Konsole übernommen",
|
|
"jvm_diagnostic.capability_result.mutating_allowed": "Hochrisikobefehle",
|
|
"jvm_diagnostic.capability_result.observe_allowed": "Observe-Befehle",
|
|
"jvm_diagnostic.capability_result.observe_denied": "Observe gesperrt",
|
|
"jvm_diagnostic.capability_result.session_allowed": "Sitzungen möglich",
|
|
"jvm_diagnostic.capability_result.session_denied": "Sitzungen nicht möglich",
|
|
"jvm_diagnostic.capability_result.streaming_supported": "Streaming-Ausgabe",
|
|
"jvm_diagnostic.capability_result.streaming_unsupported": "Streaming nicht unterstützt",
|
|
"jvm_diagnostic.capability_result.title": "Ergebnis der Funktionsprüfung",
|
|
"jvm_diagnostic.capability_result.trace_allowed": "Trace-Befehle",
|
|
"jvm_diagnostic.capability.empty.description": "Die Funktionsprüfung liest nur Kanalberechtigungen und Befehlsrichtlinien. Sie erstellt keine Sitzung und führt keine Befehle aus.",
|
|
"jvm_diagnostic.capability.empty.title": "Funktionen noch nicht geprüft",
|
|
"jvm_diagnostic.command_input.command_description": "Geben Sie einen Arthas-/Diagnosebefehl ein, zum Beispiel thread -n 5, dashboard oder jvm; die Vorlagen unten können ihn mit einem Klick einfügen.",
|
|
"jvm_diagnostic.command_input.command_label": "Diagnosebefehl",
|
|
"jvm_diagnostic.command_input.description": "Unterstützt Autovervollständigung. Mit Ctrl/Cmd + Enter ausführen.",
|
|
"jvm_diagnostic.command_input.reason_help": "Wird für Audit-Einträge und AI-Kontext verwendet. Wird nicht als Arthas-Befehl an die Ziel-JVM gesendet.",
|
|
"jvm_diagnostic.command_input.reason_label": "Begründung (optional)",
|
|
"jvm_diagnostic.command_input.reason_placeholder": "Zum Beispiel: hohe CPU-Last untersuchen, blockierte Threads bestätigen oder eine langsame Methode finden",
|
|
"jvm_diagnostic.command_input.title": "Befehlseingabe",
|
|
"jvm_diagnostic.command_templates.title": "Befehlsvorlagen",
|
|
"jvm_diagnostic.completion.argument.classloader.hash.documentation": "Zeigt Details zu einem angegebenen Classloader an.",
|
|
"jvm_diagnostic.completion.argument.classloader.hash.label": "Angegebener Classloader-Hash",
|
|
"jvm_diagnostic.completion.argument.classloader.tree.documentation": "Gibt den Classloader-Baum aus.",
|
|
"jvm_diagnostic.completion.argument.classloader.tree.label": "Baumansicht (-t)",
|
|
"jvm_diagnostic.completion.argument.classloader.url_stat.documentation": "Zeigt Classloader-URL-Statistiken an.",
|
|
"jvm_diagnostic.completion.argument.classloader.url_stat.label": "Alle URL-Statistiken (--url-stat)",
|
|
"jvm_diagnostic.completion.argument.command_template.label": "{{command}}-Vorlage",
|
|
"jvm_diagnostic.completion.argument.dashboard.direct.documentation": "Zeigt die aktuelle JVM-Laufzeitübersicht an.",
|
|
"jvm_diagnostic.completion.argument.dashboard.direct.label": "dashboard",
|
|
"jvm_diagnostic.completion.argument.detail_mode_d.label": "Detailmodus (-d)",
|
|
"jvm_diagnostic.completion.argument.jad.template.documentation": "Dekompiliert die angegebene Klasse.",
|
|
"jvm_diagnostic.completion.argument.jad.template.label": "Dekompilierungsvorlage",
|
|
"jvm_diagnostic.completion.argument.jvm.direct.documentation": "Zeigt JVM-Speicher, Threads, Klassenladen, GC und Laufzeitargumente an.",
|
|
"jvm_diagnostic.completion.argument.jvm.direct.label": "jvm",
|
|
"jvm_diagnostic.completion.argument.monitor.template.documentation": "Sammelt Methodenaufrufstatistiken in Intervallen.",
|
|
"jvm_diagnostic.completion.argument.ognl.template.documentation": "Führt einen OGNL-Ausdruck aus; Hochrisikobefehle sind standardmäßig durch Richtlinien eingeschränkt.",
|
|
"jvm_diagnostic.completion.argument.redefine.template.documentation": "Definiert den Pfad zur Klassenbytecode-Datei neu.",
|
|
"jvm_diagnostic.completion.argument.retransform.template.documentation": "Transformiert die angegebene Klasse erneut.",
|
|
"jvm_diagnostic.completion.argument.sc.class_pattern.documentation": "Sucht nach Klassenname-Muster.",
|
|
"jvm_diagnostic.completion.argument.sc.class_pattern.label": "Klassenmuster-Vorlage",
|
|
"jvm_diagnostic.completion.argument.sc.detail.documentation": "Gibt detaillierte Klasseninformationen aus.",
|
|
"jvm_diagnostic.completion.argument.sm.detail.documentation": "Gibt detaillierte Methodensignaturen aus.",
|
|
"jvm_diagnostic.completion.argument.sm.method_signature.documentation": "Zeigt Methodensignaturen einer Klasse an.",
|
|
"jvm_diagnostic.completion.argument.sm.method_signature.label": "Methodensignatur-Vorlage",
|
|
"jvm_diagnostic.completion.argument.stack.template.documentation": "Gibt Methodenaufruf-Stacks aus.",
|
|
"jvm_diagnostic.completion.argument.stop.direct.documentation": "Stoppt die aktuelle Hintergrundaufgabe.",
|
|
"jvm_diagnostic.completion.argument.stop.direct.label": "stop",
|
|
"jvm_diagnostic.completion.argument.sysenv.variable.documentation": "Liest die angegebene Umgebungsvariable.",
|
|
"jvm_diagnostic.completion.argument.sysenv.variable.label": "Umgebungsvariable anzeigen",
|
|
"jvm_diagnostic.completion.argument.sysprop.property.documentation": "Liest die angegebene Systemeigenschaft.",
|
|
"jvm_diagnostic.completion.argument.sysprop.property.label": "Eigenschaft anzeigen",
|
|
"jvm_diagnostic.completion.argument.thread.blocking.documentation": "Findet Threads, die aktuell andere Threads blockieren.",
|
|
"jvm_diagnostic.completion.argument.thread.blocking.label": "Blockierte Threads (-b)",
|
|
"jvm_diagnostic.completion.argument.thread.busy_top.documentation": "Zeigt die Top-N-Threads mit der höchsten CPU-Last an.",
|
|
"jvm_diagnostic.completion.argument.thread.busy_top.label": "Ausgelastete Threads TOP N (-n)",
|
|
"jvm_diagnostic.completion.argument.thread.thread_id.documentation": "Zeigt detaillierte Stackinformationen für einen angegebenen Thread an.",
|
|
"jvm_diagnostic.completion.argument.thread.thread_id.label": "Angegebene Thread-ID",
|
|
"jvm_diagnostic.completion.argument.trace.condition.documentation": "Fügt einen trace-Bedingungsausdruck hinzu.",
|
|
"jvm_diagnostic.completion.argument.trace.condition.label": "Bedingungsfilter '#cost > 100'",
|
|
"jvm_diagnostic.completion.argument.trace.template.documentation": "Verfolgt langsame Methodenaufrufketten.",
|
|
"jvm_diagnostic.completion.argument.tt.list.documentation": "Zeigt die aktuelle Aufzeichnungsliste an.",
|
|
"jvm_diagnostic.completion.argument.tt.list.label": "Aufzeichnungsliste anzeigen (-l)",
|
|
"jvm_diagnostic.completion.argument.tt.record.documentation": "Zeichnet Aufrufe der angegebenen Methode auf.",
|
|
"jvm_diagnostic.completion.argument.tt.record.label": "tt-Aufzeichnungsvorlage",
|
|
"jvm_diagnostic.completion.argument.tt.replay.documentation": "Zeigt Details zu einer angegebenen Aufzeichnung an.",
|
|
"jvm_diagnostic.completion.argument.tt.replay.label": "Aufzeichnung wiedergeben (-i)",
|
|
"jvm_diagnostic.completion.argument.vmtool.get_instances.documentation": "Ruft Instanzen der angegebenen Klasse ab; Hochrisikobefehle sind standardmäßig durch Richtlinien eingeschränkt.",
|
|
"jvm_diagnostic.completion.argument.vmtool.get_instances.label": "vmtool getInstances",
|
|
"jvm_diagnostic.completion.argument.watch.expand_depth.documentation": "Legt die Expansionstiefe von Objekten fest.",
|
|
"jvm_diagnostic.completion.argument.watch.expand_depth.label": "Expansionstiefe -x 2",
|
|
"jvm_diagnostic.completion.argument.watch.template.documentation": "Beobachtet Parameter, Rückgabewerte oder Ausnahmen.",
|
|
"jvm_diagnostic.completion.category.control": "Steuerbefehl",
|
|
"jvm_diagnostic.completion.category.mutating": "Hochrisikobefehl",
|
|
"jvm_diagnostic.completion.category.observe": "Beobachtungsbefehl",
|
|
"jvm_diagnostic.completion.category.trace": "Trace-Befehl",
|
|
"jvm_diagnostic.completion.command.classloader.documentation": "Zeigt Classloader-Informationen an.",
|
|
"jvm_diagnostic.completion.command.dashboard.documentation": "Zeigt die JVM-Laufzeitübersicht an.",
|
|
"jvm_diagnostic.completion.command.jad.documentation": "Dekompiliert die angegebene Klasse.",
|
|
"jvm_diagnostic.completion.command.jvm.documentation": "Zeigt JVM-Speicher, Threads, Klassenladen, GC und Laufzeitargumente an.",
|
|
"jvm_diagnostic.completion.command.monitor.documentation": "Sammelt regelmäßig Statistiken zu Methodenaufrufen.",
|
|
"jvm_diagnostic.completion.command.ognl.documentation": "Führt einen OGNL-Ausdruck aus; standardmäßig ist zusätzliche Autorisierung erforderlich.",
|
|
"jvm_diagnostic.completion.command.redefine.documentation": "Definiert Klassenbytecode neu.",
|
|
"jvm_diagnostic.completion.command.retransform.documentation": "Löst eine erneute Klassentransformation aus.",
|
|
"jvm_diagnostic.completion.command.sc.documentation": "Sucht passende Klasseninformationen.",
|
|
"jvm_diagnostic.completion.command.sm.documentation": "Zeigt Methodensignaturen einer Klasse an.",
|
|
"jvm_diagnostic.completion.command.stack.documentation": "Gibt Methodenaufruf-Stacks aus.",
|
|
"jvm_diagnostic.completion.command.stop.documentation": "Stoppt die aktuelle Hintergrundaufgabe.",
|
|
"jvm_diagnostic.completion.command.sysenv.documentation": "Zeigt Umgebungsvariablen an.",
|
|
"jvm_diagnostic.completion.command.sysprop.documentation": "Zeigt Systemeigenschaften an.",
|
|
"jvm_diagnostic.completion.command.thread.documentation": "Zeigt Hot Threads, Thread-Stacks und blockierte Threads an.",
|
|
"jvm_diagnostic.completion.command.trace.documentation": "Verfolgt Zeitpfade von Methodenaufrufen.",
|
|
"jvm_diagnostic.completion.command.tt.documentation": "Methoden-Zeittunnel zum Aufzeichnen und Wiedergeben von Aufrufen.",
|
|
"jvm_diagnostic.completion.command.vmtool.documentation": "Manipuliert JVM-Objekte direkt oder führt VMTool-Aktionen aus.",
|
|
"jvm_diagnostic.completion.command.watch.documentation": "Beobachtet Parameter, Rückgabewerte oder Ausnahmen.",
|
|
"jvm_diagnostic.completion.detail.class_search_template": "Klassensuchvorlage",
|
|
"jvm_diagnostic.completion.detail.classloader_template": "Classloader-Vorlage",
|
|
"jvm_diagnostic.completion.detail.decompile_template": "Dekompilierungsvorlage",
|
|
"jvm_diagnostic.completion.detail.environment_variable_template": "Umgebungsvariablenvorlage",
|
|
"jvm_diagnostic.completion.detail.execute_directly": "direkt ausführen",
|
|
"jvm_diagnostic.completion.detail.high_risk_template": "Hochrisikovorlage",
|
|
"jvm_diagnostic.completion.detail.method_search_template": "Methodensuchvorlage",
|
|
"jvm_diagnostic.completion.detail.monitor_template": "monitor-Vorlage",
|
|
"jvm_diagnostic.completion.detail.stack_template": "Stack-Vorlage",
|
|
"jvm_diagnostic.completion.detail.system_property_template": "Systemeigenschaftsvorlage",
|
|
"jvm_diagnostic.completion.detail.thread_option": "Thread-Option",
|
|
"jvm_diagnostic.completion.detail.time_tunnel_template": "Zeittunnel-Vorlage",
|
|
"jvm_diagnostic.completion.detail.trace_option": "Trace-Option",
|
|
"jvm_diagnostic.completion.detail.trace_template": "Trace-Vorlage",
|
|
"jvm_diagnostic.completion.detail.watch_option": "watch-Option",
|
|
"jvm_diagnostic.completion.detail.watch_template": "watch-Vorlage",
|
|
"jvm_diagnostic.completion.preset.category.mutating": "Hochrisikobefehl",
|
|
"jvm_diagnostic.completion.preset.category.observe": "Beobachtungsbefehl",
|
|
"jvm_diagnostic.completion.preset.category.trace": "Trace-Befehl",
|
|
"jvm_diagnostic.completion.preset.dashboard.documentation": "Zeigt die JVM-Laufzeitübersicht an.",
|
|
"jvm_diagnostic.completion.preset.ognl-sample.documentation": "Hochriskanter Ausdrucksbefehl, standardmäßig nur als Beispiel angezeigt.",
|
|
"jvm_diagnostic.completion.preset.thread-top.documentation": "Zeigt die am stärksten ausgelasteten Threads an, um blockierte Threads oder Threads mit hoher CPU-Last schnell zu finden.",
|
|
"jvm_diagnostic.completion.preset.trace-slow-method.documentation": "Verfolgt langsame Methodenaufrufpfade.",
|
|
"jvm_diagnostic.completion.preset.watch-return.documentation": "Beobachtet Parameter und Rückgabewerte.",
|
|
"jvm_diagnostic.connection_missing.message": "Verbindung existiert nicht oder wurde gelöscht",
|
|
"jvm_diagnostic.error.cancel_failed": "Diagnosebefehl konnte nicht abgebrochen werden",
|
|
"jvm_diagnostic.error.cancel_unavailable": "JVMCancelDiagnosticCommand-Backend-Methode ist nicht verfügbar",
|
|
"jvm_diagnostic.error.execute_command_required": "Diagnosebefehl darf nicht leer sein",
|
|
"jvm_diagnostic.error.execute_failed": "Diagnosebefehl konnte nicht ausgeführt werden",
|
|
"jvm_diagnostic.error.execute_session_required": "Erstellen Sie vor dem Ausführen eines Befehls eine Diagnosesitzung",
|
|
"jvm_diagnostic.error.execute_unavailable": "JVMExecuteDiagnosticCommand-Backend-Methode ist nicht verfügbar",
|
|
"jvm_diagnostic.error.history_load_failed": "Diagnoseverlauf konnte nicht geladen werden",
|
|
"jvm_diagnostic.error.probe_failed": "Diagnosefunktionen konnten nicht geprüft werden",
|
|
"jvm_diagnostic.error.probe_unavailable": "JVMProbeDiagnosticCapabilities-Backendmethode ist nicht verfügbar",
|
|
"jvm_diagnostic.error.start_failed": "Diagnosesitzung konnte nicht erstellt werden",
|
|
"jvm_diagnostic.error.start_unavailable": "JVMStartDiagnosticSession-Backend-Methode ist nicht verfügbar",
|
|
"jvm_diagnostic.history.current_session": "Aktuelle Sitzung",
|
|
"jvm_diagnostic.history.description": "Letzte Befehle und Ausführungsstatus",
|
|
"jvm_diagnostic.history.no_records": "Kein Diagnoseverlauf",
|
|
"jvm_diagnostic.history.no_session": "Noch keine Diagnosesitzung",
|
|
"jvm_diagnostic.history.reason_missing": "Kein Diagnosegrund angegeben",
|
|
"jvm_diagnostic.history.recent_records": "Letzte Einträge",
|
|
"jvm_diagnostic.history.title": "Audit-Verlauf",
|
|
"jvm_diagnostic.message.cancel_sent": "Abbruchanforderung gesendet",
|
|
"jvm_diagnostic.no_session.action.probe": "Zuerst Funktionen prüfen",
|
|
"jvm_diagnostic.no_session.action.start": "Diagnosesitzung erstellen",
|
|
"jvm_diagnostic.no_session.alert.description": "So wird vermieden, dass Befehle vor dem Binden einer Sitzung als ausführbar erscheinen; außerdem bleiben Audit-Einträge, Ausgabestreams und Abbruch an dieselbe Sitzung gebunden.",
|
|
"jvm_diagnostic.no_session.alert.title": "Die Befehlseingabe erscheint nach dem Erstellen einer Sitzung",
|
|
"jvm_diagnostic.no_session.description": "Erstellen Sie zuerst eine Sitzung, dann werden Befehlseditor und Vorlagen angezeigt",
|
|
"jvm_diagnostic.no_session.title": "Diagnosesitzung starten",
|
|
"jvm_diagnostic.output.description": "Aus Backend-Ereignisstream angehängt",
|
|
"jvm_diagnostic.output.empty.description": "Noch keine Live-Ausgabe. Nach dem Ausführen eines Befehls wird die Backend-Ausgabe hier chronologisch angezeigt.",
|
|
"jvm_diagnostic.output.frontend_completed_fallback": "Der Diagnosebefehlsaufruf wurde zurückgegeben, aber es wurde kein terminales Backend-Ereignis empfangen. Das Frontend hat den Wartezustand als Fallback beendet.",
|
|
"jvm_diagnostic.output.local_pending": "Diagnosebefehl übermittelt; warte auf Backend-Ausgabe: {{command}}",
|
|
"jvm_diagnostic.output.title": "Live-Ausgabe",
|
|
"jvm_diagnostic.presentation.category.mutating": "Hochrisikobefehle",
|
|
"jvm_diagnostic.presentation.category.observe": "Beobachtungsbefehle",
|
|
"jvm_diagnostic.presentation.category.trace": "Trace-Befehle",
|
|
"jvm_diagnostic.presentation.chunk.empty_event": "Leeres Ereignis",
|
|
"jvm_diagnostic.presentation.command_type.mutating": "Hochrisiko",
|
|
"jvm_diagnostic.presentation.command_type.observe": "Beobachtung",
|
|
"jvm_diagnostic.presentation.command_type.trace": "Trace",
|
|
"jvm_diagnostic.presentation.event.chunk": "Ausgabeabschnitt",
|
|
"jvm_diagnostic.presentation.event.diagnostic": "Diagnoseausgabe",
|
|
"jvm_diagnostic.presentation.event.done": "Ausführung beendet",
|
|
"jvm_diagnostic.presentation.fallback.unknown": "Unbekannt",
|
|
"jvm_diagnostic.presentation.phase.canceled": "Abgebrochen",
|
|
"jvm_diagnostic.presentation.phase.canceling": "Wird abgebrochen",
|
|
"jvm_diagnostic.presentation.phase.completed": "Abgeschlossen",
|
|
"jvm_diagnostic.presentation.phase.diagnostic": "Diagnoseereignis",
|
|
"jvm_diagnostic.presentation.phase.failed": "Fehlgeschlagen",
|
|
"jvm_diagnostic.presentation.phase.running": "Läuft",
|
|
"jvm_diagnostic.presentation.risk.high": "Hohes Risiko",
|
|
"jvm_diagnostic.presentation.risk.low": "Niedriges Risiko",
|
|
"jvm_diagnostic.presentation.risk.medium": "Mittleres Risiko",
|
|
"jvm_diagnostic.presentation.source.ai_plan": "AI-Plan",
|
|
"jvm_diagnostic.presentation.source.manual": "Manuelle Eingabe",
|
|
"jvm_diagnostic.presentation.transport.agent_bridge": "Agent Bridge",
|
|
"jvm_diagnostic.presentation.transport.arthas_tunnel": "Arthas Tunnel",
|
|
"jvm_diagnostic.session_capability.action.clear_output": "Ausgabe löschen",
|
|
"jvm_diagnostic.session_capability.action.refresh_history": "Verlauf aktualisieren",
|
|
"jvm_diagnostic.session_capability.description": "Aktueller Kanal, Berechtigungen und Schnellwartung",
|
|
"jvm_diagnostic.session_capability.note": "Funktionsprüfungen führen keine Befehle aus; vor dem Ausführen eines Befehls muss eine Sitzung erstellt werden. Der Audit-Verlauf zeigt die neuesten Befehlsdatensätze und kann auch ohne aktuelle Sitzung Datensätze aus früheren Sitzungen enthalten.",
|
|
"jvm_diagnostic.session_capability.session_id_hint": "Die Sitzungs-ID wird nach dem Erstellen einer Sitzung hier angezeigt.",
|
|
"jvm_diagnostic.session_capability.status.command_running": "Befehl läuft",
|
|
"jvm_diagnostic.session_capability.status.idle": "Leerlauf",
|
|
"jvm_diagnostic.session_capability.status.no_session": "Keine Sitzung",
|
|
"jvm_diagnostic.session_capability.status.session_established": "Sitzung hergestellt",
|
|
"jvm_diagnostic.session_capability.title": "Sitzung und Funktionen",
|
|
"jvm_diagnostic.session.default_reason": "Sitzung aus der Konsole gestartet",
|
|
"jvm_diagnostic.session.default_title": "JVM-Diagnosekonsole",
|
|
"jvm_diagnostic.workbench.action.cancel_command": "Befehl abbrechen",
|
|
"jvm_diagnostic.workbench.action.execute_command": "Befehl ausführen",
|
|
"jvm_diagnostic.workbench.action.probe": "Funktionen prüfen",
|
|
"jvm_diagnostic.workbench.action.restart_session": "Sitzung neu erstellen",
|
|
"jvm_diagnostic.workbench.action.start_session": "Sitzung erstellen",
|
|
"jvm_diagnostic.workbench.eyebrow": "JVM-Diagnose",
|
|
"jvm_diagnostic.workbench.status.command_running": "Befehl läuft",
|
|
"jvm_diagnostic.workbench.status.no_session": "Keine Sitzung",
|
|
"jvm_diagnostic.workbench.status.session_established": "Sitzung hergestellt",
|
|
"jvm_diagnostic.workbench.title": "JVM-Diagnosearbeitsbereich",
|
|
"jvm_diagnostic.workflow.command.description": "Nach dem Erstellen der Sitzung werden Befehlseditor, Begründung und Vorlagen angezeigt.",
|
|
"jvm_diagnostic.workflow.command.title": "Befehl ausführen",
|
|
"jvm_diagnostic.workflow.probe.description": "Liest nur Diagnosekanal, Streaming-Ausgabe und Befehlsberechtigungen, ohne eine Sitzung zu erstellen.",
|
|
"jvm_diagnostic.workflow.probe.title": "Funktionen prüfen",
|
|
"jvm_diagnostic.workflow.session.description": "Erstellt einen Diagnosekontext, damit nachfolgende Befehle an diese Sitzung gebunden sind.",
|
|
"jvm_diagnostic.workflow.session.title": "Sitzung erstellen",
|
|
"jvm_monitoring_charts.empty.classes.metric_unavailable": "Die aktuelle Monitoring-Quelle stellt keine Klassenladen-Metriken bereit",
|
|
"jvm_monitoring_charts.empty.classes.no_samples": "Noch keine Klassenladen-Stichproben",
|
|
"jvm_monitoring_charts.empty.gc.metric_unavailable": "Die aktuelle Monitoring-Quelle stellt keine Garbage-Collection-Metriken bereit",
|
|
"jvm_monitoring_charts.empty.gc.no_samples": "Noch keine Garbage-Collection-Stichproben",
|
|
"jvm_monitoring_charts.empty.heap.metric_unavailable": "Die aktuelle Monitoring-Quelle stellt keine Heap-Speicher-Metriken bereit",
|
|
"jvm_monitoring_charts.empty.heap.no_samples": "Noch keine Heap-Speicher-Stichproben",
|
|
"jvm_monitoring_charts.empty.threads.metric_unavailable": "Die aktuelle Monitoring-Quelle stellt keine Thread-Metriken bereit",
|
|
"jvm_monitoring_charts.empty.threads.no_samples": "Noch keine Thread-Stichproben",
|
|
"jvm_monitoring_charts.legend.daemon_thread_count": "Daemon-Threads",
|
|
"jvm_monitoring_charts.legend.gc_count": "GC-Anzahl",
|
|
"jvm_monitoring_charts.legend.gc_time_ms": "GC-Zeit (ms)",
|
|
"jvm_monitoring_charts.legend.heap_committed": "Reservierter Heap",
|
|
"jvm_monitoring_charts.legend.heap_used": "Verwendeter Heap",
|
|
"jvm_monitoring_charts.legend.loaded_classes": "Geladene Klassen",
|
|
"jvm_monitoring_charts.legend.peak_thread_count": "Maximale Thread-Anzahl",
|
|
"jvm_monitoring_charts.legend.thread_count": "Thread-Anzahl",
|
|
"jvm_monitoring_charts.legend.unloaded_classes": "Entladene Klassen",
|
|
"jvm_monitoring_charts.title.classes": "Klassenladen",
|
|
"jvm_monitoring_charts.title.gc": "Garbage Collection",
|
|
"jvm_monitoring_charts.title.heap": "Heap-Speicher",
|
|
"jvm_monitoring_charts.title.threads": "Threads",
|
|
"jvm_monitoring_dashboard.action.refresh": "Aktualisieren",
|
|
"jvm_monitoring_dashboard.action.start": "Überwachung starten",
|
|
"jvm_monitoring_dashboard.action.stop": "Überwachung stoppen",
|
|
"jvm_monitoring_dashboard.connection_missing.message": "Verbindung existiert nicht oder wurde gelöscht",
|
|
"jvm_monitoring_dashboard.degraded.message": "Überwachungsfunktion ist eingeschränkt",
|
|
"jvm_monitoring_dashboard.empty.description": "Nachdem Sie auf \"Überwachung starten\" geklickt haben, behält GoNavi die Sampling-Ergebnisse für diese Verbindung in der aktuellen Sitzung; ein Tabwechsel stoppt das Sampling nicht.",
|
|
"jvm_monitoring_dashboard.empty.title": "Kontinuierliche Überwachung wurde noch nicht gestartet",
|
|
"jvm_monitoring_dashboard.error.history_load_failed": "Überwachungsverlauf konnte nicht geladen werden",
|
|
"jvm_monitoring_dashboard.error.history_unavailable": "JVMGetMonitoringHistory-Backend-Methode ist nicht verfügbar",
|
|
"jvm_monitoring_dashboard.error.start_failed": "Überwachung konnte nicht gestartet werden",
|
|
"jvm_monitoring_dashboard.error.start_unavailable": "JVMStartMonitoring-Backend-Methode ist nicht verfügbar",
|
|
"jvm_monitoring_dashboard.error.stop_failed": "Überwachung konnte nicht gestoppt werden",
|
|
"jvm_monitoring_dashboard.error.stop_unavailable": "JVMStopMonitoring-Backend-Methode ist nicht verfügbar",
|
|
"jvm_monitoring_dashboard.status.sampling": "Sampling läuft",
|
|
"jvm_monitoring_dashboard.status.stopped": "Nicht ausgeführt",
|
|
"jvm_monitoring_dashboard.title": "Kontinuierliche JVM-Überwachung",
|
|
"jvm_monitoring_detail_panel.empty.gc_events_unavailable": "Die aktuelle Monitoring-Quelle stellt keine ereignisbezogenen Garbage-Collection-Daten bereit.",
|
|
"jvm_monitoring_detail_panel.empty.recent_gc_events": "Keine Garbage-Collection-Ereignisse im letzten Fenster.",
|
|
"jvm_monitoring_detail_panel.empty.thread_states": "Noch keine Stichproben für Thread-Zustände.",
|
|
"jvm_monitoring_detail_panel.field.process_cpu": "Prozess-CPU",
|
|
"jvm_monitoring_detail_panel.field.process_physical_memory": "Physischer Prozessspeicher",
|
|
"jvm_monitoring_detail_panel.field.process_virtual_memory": "Virtueller Prozessspeicher",
|
|
"jvm_monitoring_detail_panel.field.system_cpu": "System-CPU",
|
|
"jvm_monitoring_detail_panel.gc.after": "Nach der Collection",
|
|
"jvm_monitoring_detail_panel.gc.before": "Vor der Collection",
|
|
"jvm_monitoring_detail_panel.memory_missing.default": "Die aktuelle Monitoring-Quelle hat keine Metriken für residenten physischen Prozessspeicher zurückgegeben. Prüfen Sie, ob der HTTP-Endpunkt oder der erweiterte Agent physischen Prozessspeicher erfasst und meldet.",
|
|
"jvm_monitoring_detail_panel.memory_missing.jmx": "Die JMX-Verbindung stellt das Attribut für residenten physischen Prozessspeicher nicht bereit. Derzeit kann nur der virtuelle Prozessspeicher gelesen werden. Wechseln Sie zum HTTP-Endpunkt oder zum erweiterten Agent, um physischen Prozessspeicher zu erfassen.",
|
|
"jvm_monitoring_detail_panel.memory_missing.title": "Warum physischer Prozessspeicher fehlt",
|
|
"jvm_monitoring_detail_panel.title.capabilities_and_degradation": "Fähigkeiten und Degradation",
|
|
"jvm_monitoring_detail_panel.title.recent_gc_details": "Details der letzten Garbage Collections",
|
|
"jvm_monitoring_detail_panel.title.thread_state_distribution": "Verteilung der Thread-Zustände",
|
|
"jvm_monitoring_detail_panel.title.troubleshooting_metrics": "Fehlerbehebungsmetriken",
|
|
"jvm_monitoring_presentation.availability.missing_metrics": "Fehlende Metriken: {{metrics}}",
|
|
"jvm_monitoring_presentation.availability.no_obvious_degradation": "In der aktuellen Monitoring-Sitzung wurde keine offensichtliche Degradation gefunden.",
|
|
"jvm_monitoring_presentation.availability.provider_warnings": "Warnung der Monitoring-Quelle: {{warnings}}",
|
|
"jvm_monitoring_presentation.metric.class_loading": "Klassenladen",
|
|
"jvm_monitoring_presentation.metric.cpu_process": "Prozess-CPU",
|
|
"jvm_monitoring_presentation.metric.cpu_system": "System-CPU",
|
|
"jvm_monitoring_presentation.metric.gc_count": "Garbage-Collection-Anzahl",
|
|
"jvm_monitoring_presentation.metric.gc_events": "Letzte Garbage-Collection-Ereignisse",
|
|
"jvm_monitoring_presentation.metric.gc_time": "Garbage-Collection-Dauer",
|
|
"jvm_monitoring_presentation.metric.heap_non_heap": "Nicht-Heap-Speicher",
|
|
"jvm_monitoring_presentation.metric.heap_used": "Heap-Speicher",
|
|
"jvm_monitoring_presentation.metric.memory_rss": "Physischer Prozessspeicher",
|
|
"jvm_monitoring_presentation.metric.memory_virtual": "Virtueller Prozessspeicher",
|
|
"jvm_monitoring_presentation.metric.thread_count": "Thread-Anzahl",
|
|
"jvm_monitoring_presentation.metric.thread_states": "Thread-Zustände",
|
|
"jvm_monitoring_presentation.thread_state.blocked": "Blockiert",
|
|
"jvm_monitoring_presentation.thread_state.new": "Neu",
|
|
"jvm_monitoring_presentation.thread_state.runnable": "Ausführbar",
|
|
"jvm_monitoring_presentation.thread_state.terminated": "Beendet",
|
|
"jvm_monitoring_presentation.thread_state.timed_waiting": "Zeitbegrenzt wartend",
|
|
"jvm_monitoring_presentation.thread_state.waiting": "Wartend",
|
|
"jvm_monitoring_status_cards.meta.gc_total_time": "Gesamt {{value}}",
|
|
"jvm_monitoring_status_cards.meta.heap_committed": "Reserviert {{value}}",
|
|
"jvm_monitoring_status_cards.meta.thread_peak": "Maximum {{value}}",
|
|
"jvm_monitoring_status_cards.meta.waiting_samples": "Warten auf Stichproben",
|
|
"jvm_monitoring_status_cards.status.sampling": "Sampling läuft",
|
|
"jvm_monitoring_status_cards.status.stopped": "Gestoppt",
|
|
"jvm_monitoring_status_cards.thread_state.runnable_count": "Ausführbar {{count}}",
|
|
"jvm_monitoring_status_cards.title.classes": "Klassenladen",
|
|
"jvm_monitoring_status_cards.title.gc_pressure": "GC-Druck",
|
|
"jvm_monitoring_status_cards.title.heap": "Heap-Speicher",
|
|
"jvm_monitoring_status_cards.title.threads": "Threads",
|
|
"jvm_overview.badge.read_only": "Schreibgeschützte Verbindung",
|
|
"jvm_overview.badge.writable": "Schreibbare Verbindung",
|
|
"jvm_overview.capability.can_browse": "Durchsuchbar",
|
|
"jvm_overview.capability.cannot_browse": "Nicht durchsuchbar",
|
|
"jvm_overview.capability.preview_supported": "Vorschau unterstützt",
|
|
"jvm_overview.capability.preview_unsupported": "Vorschau nicht unterstützt",
|
|
"jvm_overview.capability.read_only": "Schreibgeschützt",
|
|
"jvm_overview.capability.writable": "Schreibbar",
|
|
"jvm_overview.card.connection_summary": "Verbindungsübersicht",
|
|
"jvm_overview.card.mode_capability": "Modusfunktionen",
|
|
"jvm_overview.connection_missing.message": "Verbindung existiert nicht oder wurde gelöscht",
|
|
"jvm_overview.empty.capabilities": "Keine Modusfunktionsdaten",
|
|
"jvm_overview.error.capability_load_failed": "JVM-Modusfunktionen konnten nicht gelesen werden",
|
|
"jvm_overview.eyebrow": "JVM-Laufzeit",
|
|
"jvm_overview.field.agent": "Agent",
|
|
"jvm_overview.field.allowed_modes": "Erlaubte Modi",
|
|
"jvm_overview.field.current_mode": "Aktueller Modus",
|
|
"jvm_overview.field.endpoint": "Endpoint",
|
|
"jvm_overview.field.jmx_address": "JMX-Adresse",
|
|
"jvm_overview.field.resource_browse": "Ressourcenbrowser",
|
|
"jvm_overview.title": "JVM-Laufzeitübersicht",
|
|
"jvm_overview.value.enabled": "Aktiviert",
|
|
"jvm_overview.value.not_configured": "Nicht konfiguriert",
|
|
"jvm_overview.value.resource_browse_lazy_load": "Wird nach dem Erweitern eines Modusknotens in der Seitenleiste lazy geladen",
|
|
"jvm_resource.action.ask_ai_plan": "AI um einen Plan bitten",
|
|
"jvm_resource.action.audit": "Auditprotokoll",
|
|
"jvm_resource.action.generate_ai_plan": "AI-Plan erzeugen",
|
|
"jvm_resource.action.preview_change": "Änderung vorschauen",
|
|
"jvm_resource.badge.read_only": "Schreibgeschützte Verbindung",
|
|
"jvm_resource.badge.writable": "Beschreibbare Verbindung",
|
|
"jvm_resource.card.change_draft": "Änderungsentwurf",
|
|
"jvm_resource.card.snapshot": "Ressourcen-Snapshot",
|
|
"jvm_resource.draft_source.ai_plan": "AI-unterstützter Entwurf",
|
|
"jvm_resource.draft_source.manual": "Manuelle Bearbeitung",
|
|
"jvm_resource.empty.no_resource_data": "Keine Ressourcendaten",
|
|
"jvm_resource.error.ai_plan_context_mismatch": "Der aktuelle JVM-Tab passt nicht zum Quellkontext des AI-Plans. Die automatische Anwendung wurde abgelehnt.",
|
|
"jvm_resource.error.ai_plan_missing_context": "Dem AI-Plan fehlt der Quellkontext. Erzeuge ihn auf der Zielseite der JVM-Ressource erneut, bevor du ihn anwendest.",
|
|
"jvm_resource.error.ai_plan_to_draft_failed": "Der AI-Plan kann derzeit nicht in einen JVM-Vorschauentwurf umgewandelt werden.",
|
|
"jvm_resource.error.apply_failed": "JVM-Änderung konnte nicht ausgeführt werden.",
|
|
"jvm_resource.error.apply_unavailable": "Die Ausführung von JVM-Änderungen ist in diesem Build nicht verfügbar.",
|
|
"jvm_resource.error.confirmation_missing": "Das Bestätigungstoken fehlt. Zeige vor der Ausführung erneut eine Vorschau an.",
|
|
"jvm_resource.error.connection_missing": "Die Verbindung existiert nicht oder wurde gelöscht.",
|
|
"jvm_resource.error.context_changed": "Der Ressourcenkontext hat sich geändert. Zeige vor der Ausführung erneut eine Vorschau an.",
|
|
"jvm_resource.error.draft_invalid": "Der Änderungsentwurf ist ungültig.",
|
|
"jvm_resource.error.get_value_unavailable": "Das Lesen von JVM-Werten ist in diesem Build nicht verfügbar.",
|
|
"jvm_resource.error.payload_object_required": "Payload muss ein JSON-Objekt sein.",
|
|
"jvm_resource.error.preview_failed": "JVM-Änderung konnte nicht in der Vorschau angezeigt werden.",
|
|
"jvm_resource.error.preview_required": "Zeige die Änderung in der Vorschau an, bevor du die Ausführung bestätigst.",
|
|
"jvm_resource.error.preview_result_invalid": "Das Vorschauergebnis hat ein ungültiges Format.",
|
|
"jvm_resource.error.preview_unavailable": "Die JVM-Änderungsvorschau ist in diesem Build nicht verfügbar.",
|
|
"jvm_resource.error.read_failed": "JVM-Ressource konnte nicht gelesen werden.",
|
|
"jvm_resource.error.reason_required": "Gib einen Änderungsgrund ein.",
|
|
"jvm_resource.error.resource_id_empty": "Die Ressourcen-ID ist leer, daher kann kein Änderungsentwurf erstellt werden.",
|
|
"jvm_resource.error.resource_path_empty": "Der Ressourcenpfad ist leer.",
|
|
"jvm_resource.field.action": "Aktion",
|
|
"jvm_resource.field.available_actions": "Verfügbare Aktionen",
|
|
"jvm_resource.field.draft_source": "Entwurfsquelle",
|
|
"jvm_resource.field.format": "Format",
|
|
"jvm_resource.field.payload": "Payload (JSON)",
|
|
"jvm_resource.field.payload_fields": "Payload-Felder: ",
|
|
"jvm_resource.field.reason": "Änderungsgrund",
|
|
"jvm_resource.field.resource_id": "Ressourcen-ID",
|
|
"jvm_resource.field.resource_path": "Ressourcenpfad",
|
|
"jvm_resource.field.resource_type": "Ressourcentyp",
|
|
"jvm_resource.field.resource_version": "Ressourcenversion",
|
|
"jvm_resource.field.target_resource": "Zielressource",
|
|
"jvm_resource.field.version": "Version",
|
|
"jvm_resource.list_separator": ", ",
|
|
"jvm_resource.marker.required_suffix": " (erforderlich)",
|
|
"jvm_resource.message.ai_plan_draft_filled": "Der Entwurf wurde aus dem AI-Plan für {{resourceId}} befüllt. Zeige die Änderung vor der Bestätigung der Schreiboperation in der Vorschau an.",
|
|
"jvm_resource.message.apply_success": "JVM-Änderung wurde ausgeführt.",
|
|
"jvm_resource.message.current_action": "Aktuelle Aktion: ",
|
|
"jvm_resource.message.payload_hint": "Die Vorschau verwendet den aktuellen Entwurf. Die Bestätigung verwendet die letzte erfolgreiche Vorschau-Anfrage. Zeigen Sie nach Änderungen am Entwurf erneut eine Vorschau an.",
|
|
"jvm_resource.message.payload_template_applied": "Für die aktuelle Aktion wurde eine empfohlene Vorlage eingefügt.",
|
|
"jvm_resource.placeholder.action_default": "Zum Beispiel put / clear / evict",
|
|
"jvm_resource.placeholder.action_jmx": "Zum Beispiel set oder invoke",
|
|
"jvm_resource.placeholder.reason": "Grund für diese JVM-Ressourcenänderung eingeben",
|
|
"jvm_resource.presentation.action.clear.description": "Leert Daten oder Status in der aktuellen JVM-Ressource.",
|
|
"jvm_resource.presentation.action.clear.label": "Ressource leeren",
|
|
"jvm_resource.presentation.action.delete.description": "Löscht die aktuelle Ressource oder hebt ihre Registrierung auf.",
|
|
"jvm_resource.presentation.action.delete.label": "Ressource löschen",
|
|
"jvm_resource.presentation.action.evict.description": "Verdrängt den Ziel-Cache-Eintrag aus der aktuellen JVM-Laufzeit.",
|
|
"jvm_resource.presentation.action.evict.label": "Cache verdrängen",
|
|
"jvm_resource.presentation.action.invoke.description": "Ruft eine Verwaltungsoperation auf, die die aktuelle Ressource bereitstellt.",
|
|
"jvm_resource.presentation.action.invoke.label": "Operation aufrufen",
|
|
"jvm_resource.presentation.action.put.description": "Schreibt den payload-Inhalt in die aktuelle JVM-Ressource.",
|
|
"jvm_resource.presentation.action.put.label": "Ressource schreiben",
|
|
"jvm_resource.presentation.action.refresh.description": "Aktualisiert den Laufzeitstatus der aktuellen Ressource.",
|
|
"jvm_resource.presentation.action.refresh.label": "Ressource aktualisieren",
|
|
"jvm_resource.presentation.action.reload.description": "Lädt die aktuelle Ressource oder ihre Konfiguration neu.",
|
|
"jvm_resource.presentation.action.reload.label": "Neu laden",
|
|
"jvm_resource.presentation.action.remove.description": "Entfernt den angegebenen Eintrag aus der aktuellen Ressource.",
|
|
"jvm_resource.presentation.action.remove.label": "Eintrag entfernen",
|
|
"jvm_resource.presentation.action.reset.description": "Setzt die aktuelle Ressource auf ihren initialen oder Standardstatus zurück.",
|
|
"jvm_resource.presentation.action.reset.label": "Status zurücksetzen",
|
|
"jvm_resource.presentation.action.set.description": "Aktualisiert einen beschreibbaren Eigenschaftswert, den die aktuelle Ressource bereitstellt.",
|
|
"jvm_resource.presentation.action.set.label": "Eigenschaft setzen",
|
|
"jvm_resource.presentation.audit_result.applied": "Ausgeführt",
|
|
"jvm_resource.presentation.audit_result.blocked": "Blockiert",
|
|
"jvm_resource.presentation.audit_result.failed": "Fehlgeschlagen",
|
|
"jvm_resource.presentation.audit_result.success": "Erfolgreich",
|
|
"jvm_resource.presentation.audit_result.unknown": "Unbekannt",
|
|
"jvm_resource.presentation.audit_result.warning": "Warnung",
|
|
"jvm_resource.presentation.risk.high": "Hoch",
|
|
"jvm_resource.presentation.risk.low": "Niedrig",
|
|
"jvm_resource.presentation.risk.medium": "Mittel",
|
|
"jvm_resource.presentation.risk.unknown": "Unbekannt",
|
|
"jvm_resource.presentation.unnamed_action": "Unbenannte Aktion",
|
|
"jvm_resource.section.metadata": "Metadaten",
|
|
"jvm_resource.section.resource_value": "Ressourcenwert",
|
|
"jvm_resource.section.supported_actions": "Unterstützte Ressourcenaktionen",
|
|
"jvm_resource.title": "JVM-Ressourcenarbeitsbereich",
|
|
"jvm.backend.capability.reason.read_only": "Aktuelle Verbindung ist schreibgeschützt",
|
|
"jvm.backend.connection_error.agent.base_url_invalid.help": "Gib eine vollständige http://- oder https://-URL ein, z. B. http://127.0.0.1:19090/gonavi/agent/jvm.",
|
|
"jvm.backend.connection_error.agent.base_url_invalid.summary": "Agent-Verbindung fehlgeschlagen: Agent Base URL ist ungültig.",
|
|
"jvm.backend.connection_error.agent.base_url_required": "Agent-Verbindung fehlgeschlagen: Agent Base URL fehlt.",
|
|
"jvm.backend.connection_error.agent.connection_refused.help": "Prüfe, ob der Java-Dienst den GoNavi Agent mit `-javaagent` gestartet hat, und prüfe Base URL, Port-Mapping und Firewall.",
|
|
"jvm.backend.connection_error.agent.connection_refused.summary": "Agent-Verbindung fehlgeschlagen: Der Ziel-Agent-Management-Port lauscht nicht oder die Adresse ist nicht erreichbar.",
|
|
"jvm.backend.connection_error.agent.forbidden.help": "Prüfe, ob Client-Quelle, Authentifizierung und Agent-Zugriffsrichtlinie GoNavi den Zugriff erlauben.",
|
|
"jvm.backend.connection_error.agent.forbidden.summary": "Agent-Verbindung fehlgeschlagen: Agent hat diese Anfrage abgelehnt.",
|
|
"jvm.backend.connection_error.agent.scheme_unsupported.help": "Ändere Agent Base URL auf eine Adresse, die mit http:// oder https:// beginnt.",
|
|
"jvm.backend.connection_error.agent.scheme_unsupported.summary": "Agent-Verbindung fehlgeschlagen: nur HTTP oder HTTPS wird unterstützt.",
|
|
"jvm.backend.connection_error.agent.timeout.help": "Prüfe, ob die Zieladresse erreichbar ist, der Agent gestartet ist, und erhöhe bei Bedarf das Verbindungstimeout.",
|
|
"jvm.backend.connection_error.agent.timeout.summary": "Agent-Verbindung fehlgeschlagen: Zugriff auf den Agent-Management-Port ist abgelaufen.",
|
|
"jvm.backend.connection_error.agent.unauthorized.help": "Prüfe, ob der Agent API Key in der Verbindung zu den Startparametern des Zielservices passt.",
|
|
"jvm.backend.connection_error.agent.unauthorized.summary": "Agent-Verbindung fehlgeschlagen: Agent hat geantwortet, aber der API Key fehlt oder ist ungültig.",
|
|
"jvm.backend.connection_error.endpoint.base_url_invalid.help": "Gib eine vollständige http://- oder https://-URL ein, die auf den Management-API-Stammpfad mit GoNavi JVM HTTP contract zeigt, z. B. http://127.0.0.1:19090/manage/jvm.",
|
|
"jvm.backend.connection_error.endpoint.base_url_invalid.summary": "Endpoint-Verbindung fehlgeschlagen: Endpoint Base URL ist ungültig.",
|
|
"jvm.backend.connection_error.endpoint.base_url_required": "Endpoint-Verbindung fehlgeschlagen: Endpoint Base URL fehlt.",
|
|
"jvm.backend.connection_error.endpoint.connection_refused.help": "Prüfe, dass Base URL auf die Management-API mit GoNavi JVM HTTP contract zeigt, und prüfe Dienst-Listener, Port-Mapping und Firewall.",
|
|
"jvm.backend.connection_error.endpoint.connection_refused.summary": "Endpoint-Verbindung fehlgeschlagen: Die Ziel-Management-API lauscht nicht oder die Adresse ist nicht erreichbar.",
|
|
"jvm.backend.connection_error.endpoint.forbidden.help": "Prüfe, ob Client-Quelle, Authentifizierung und Zugriffsrichtlinie GoNavi den Zugriff auf diese Management-API erlauben.",
|
|
"jvm.backend.connection_error.endpoint.forbidden.summary": "Endpoint-Verbindung fehlgeschlagen: Die Ziel-Management-API hat diese Anfrage abgelehnt.",
|
|
"jvm.backend.connection_error.endpoint.not_found.help": "Prüfe, dass Base URL auf den Stamm der JVM-Management-API zeigt und nicht auf Business-Endpoint, Healthcheck oder Gateway-Startseite.",
|
|
"jvm.backend.connection_error.endpoint.not_found.summary": "Endpoint-Verbindung fehlgeschlagen: Das Ziel hat geantwortet, aber die GoNavi JVM-Management-API wurde nicht gefunden.",
|
|
"jvm.backend.connection_error.endpoint.scheme_unsupported.help": "Ändere Endpoint Base URL auf eine Adresse, die mit http:// oder https:// beginnt.",
|
|
"jvm.backend.connection_error.endpoint.scheme_unsupported.summary": "Endpoint-Verbindung fehlgeschlagen: nur HTTP oder HTTPS wird unterstützt.",
|
|
"jvm.backend.connection_error.endpoint.timeout.help": "Prüfe, ob Base URL erreichbar ist, der Zielservice gestartet ist, und erhöhe bei Bedarf das Verbindungstimeout.",
|
|
"jvm.backend.connection_error.endpoint.timeout.summary": "Endpoint-Verbindung fehlgeschlagen: Zugriff auf die Ziel-Management-API ist abgelaufen.",
|
|
"jvm.backend.connection_error.endpoint.unauthorized.help": "Prüfe, ob der Endpoint API Key in der Verbindung zur Zielservice-Konfiguration passt.",
|
|
"jvm.backend.connection_error.endpoint.unauthorized.summary": "Endpoint-Verbindung fehlgeschlagen: Die Ziel-Management-API hat geantwortet, aber der API Key fehlt oder ist ungültig.",
|
|
"jvm.backend.connection_error.generic": "JVM-Verbindung fehlgeschlagen",
|
|
"jvm.backend.connection_error.jmx.auth.help": "Prüfe, ob Ziel-JMX Authentifizierung deaktiviert. Falls Authentifizierung erforderlich ist, gib Benutzername und Passwort vor dem Verbinden an.",
|
|
"jvm.backend.connection_error.jmx.auth.summary": "JMX-Verbindung fehlgeschlagen: {{target}} erfordert Authentifizierung oder die aktuellen Zugangsdaten sind ungültig.",
|
|
"jvm.backend.connection_error.jmx.connection_refused.help": "Prüfe, ob Remote-JMX auf der Ziel-JVM aktiviert ist, und prüfe Host, Firewall, Port-Mapping, SSH und Proxy.",
|
|
"jvm.backend.connection_error.jmx.connection_refused.summary": "JMX-Verbindung fehlgeschlagen: Verbindung zu {{target}} nicht möglich, weil der Port nicht lauscht oder das Netzwerk nicht erreichbar ist.",
|
|
"jvm.backend.connection_error.jmx.connection_reset.help": "Prüfe, ob der konfigurierte Port der exponierte JMX-Port der JVM ist und nicht Business-Port, Debug-Port oder Proxy-Weiterleitung.",
|
|
"jvm.backend.connection_error.jmx.connection_reset.summary": "JMX-Verbindung fehlgeschlagen: Der Dienst auf {{target}} hat die Verbindung geschlossen; der Port ist kein kompatibler Standard-JMX-RMI-Port.",
|
|
"jvm.backend.connection_error.jmx.host_required": "JMX-Verbindung fehlgeschlagen: Host fehlt.",
|
|
"jvm.backend.connection_error.jmx.java_missing.help": "Installiere zuerst JRE/JDK oder setze die Umgebungsvariable GONAVI_JMX_JAVA_BIN auf die richtige `java`-Datei.",
|
|
"jvm.backend.connection_error.jmx.java_missing.summary": "JMX-Verbindung fehlgeschlagen: Auf diesem Rechner wurde keine `java` runtime gefunden, daher kann GoNavi den JMX helper nicht starten.",
|
|
"jvm.backend.connection_error.jmx.no_such_object.help": "Das bedeutet meist, dass ein RMI-Registry-Port, Debug-Port oder anderer Java-Service-Port verwendet wurde. Prüfe `jmxremote.port` und `jmxremote.rmi.port`.",
|
|
"jvm.backend.connection_error.jmx.no_such_object.summary": "JMX-Verbindung fehlgeschlagen: Auf {{target}} läuft ein RMI-Dienst, aber kein verwendbarer JMX RMIServer-Port.",
|
|
"jvm.backend.connection_error.jmx.non_jrmp.help": "Verwende den tatsächlich von der Anwendung exponierten JMX-Port, nicht den Business-`server.port`. Wenn der Dienst nur `-Dcom.sun.management.jmxremote` aktiviert, aber keinen `jmxremote.port` setzt, ist keine direkte Remote-Verbindung möglich.",
|
|
"jvm.backend.connection_error.jmx.non_jrmp.summary": "JMX-Verbindung fehlgeschlagen: {{target}} ist kein Standardport für JMX remote management; er sieht eher wie ein Business- oder HTTP-Port aus.",
|
|
"jvm.backend.connection_error.jmx.port_invalid": "JMX-Verbindung fehlgeschlagen: Port ist ungültig. Gib einen gültigen Port von 1 bis 65535 ein.",
|
|
"jvm.backend.connection_error.jmx.timeout.help": "Prüfe, ob der Port erreichbar ist, das Netzwerk nicht blockiert wird, und erhöhe bei Bedarf das Verbindungstimeout.",
|
|
"jvm.backend.connection_error.jmx.timeout.summary": "JMX-Verbindung fehlgeschlagen: Verbindung zu {{target}} ist abgelaufen.",
|
|
"jvm.backend.connection_error.suggestion": "Vorschlag: {{detail}}",
|
|
"jvm.backend.connection_error.technical_detail": "Technisches Detail: {{detail}}",
|
|
"jvm.backend.diagnostic.arthas.base_url_invalid": "Arthas Tunnel-Adresse ist ungültig: {{detail}}",
|
|
"jvm.backend.diagnostic.arthas.base_url_required": "Arthas Tunnel-Adresse ist erforderlich",
|
|
"jvm.backend.diagnostic.arthas.cancel_command_mismatch": "Der aktive Befehl in dieser Arthas Tunnel-Sitzung stimmt nicht mit dem abzubrechenden Befehl überein.",
|
|
"jvm.backend.diagnostic.arthas.command_already_running": "In dieser Arthas Tunnel-Sitzung läuft bereits ein Befehl. Warte auf den Abschluss oder brich ihn zuerst ab.",
|
|
"jvm.backend.diagnostic.arthas.command_canceled": "Arthas Tunnel-Befehl wurde abgebrochen",
|
|
"jvm.backend.diagnostic.arthas.command_timeout": "Arthas Tunnel-Befehl hat nach {{timeout}} eine Zeitüberschreitung erreicht",
|
|
"jvm.backend.diagnostic.arthas.connect_canceled": "Arthas Tunnel WebSocket-Verbindung wurde abgebrochen",
|
|
"jvm.backend.diagnostic.arthas.connect_failed": "Arthas Tunnel WebSocket-Verbindung fehlgeschlagen: {{detail}}",
|
|
"jvm.backend.diagnostic.arthas.connect_timeout": "Arthas Tunnel WebSocket-Verbindung hat nach {{timeout}} ohne Antwort eine Zeitüberschreitung erreicht",
|
|
"jvm.backend.diagnostic.arthas.connection_closed": "Arthas Tunnel-Verbindung wurde geschlossen: {{detail}}",
|
|
"jvm.backend.diagnostic.arthas.connection_closed_code": "Arthas Tunnel-Verbindung wurde geschlossen: code={{code}}",
|
|
"jvm.backend.diagnostic.arthas.connection_not_ready": "Arthas Tunnel-Verbindung ist noch nicht bereit. Versuche es später erneut.",
|
|
"jvm.backend.diagnostic.arthas.http_failed": "Arthas Tunnel-Verbindung fehlgeschlagen: HTTP {{status}}",
|
|
"jvm.backend.diagnostic.arthas.no_running_command": "In dieser Arthas Tunnel-Sitzung läuft kein Befehl.",
|
|
"jvm.backend.diagnostic.arthas.read_canceled": "Lesen der Arthas Tunnel-Ausgabe wurde abgebrochen",
|
|
"jvm.backend.diagnostic.arthas.read_deadline_failed": "Arthas Tunnel-Lesefrist konnte nicht gesetzt werden: {{detail}}",
|
|
"jvm.backend.diagnostic.arthas.read_failed": "Arthas Tunnel-Ausgabe konnte nicht gelesen werden: {{detail}}",
|
|
"jvm.backend.diagnostic.arthas.read_timeout": "Lesen der Arthas Tunnel-Ausgabe hat nach {{timeout}} ohne Antwort eine Zeitüberschreitung erreicht",
|
|
"jvm.backend.diagnostic.arthas.request_encode_failed": "Arthas Tunnel-Anfrage konnte nicht codiert werden: {{detail}}",
|
|
"jvm.backend.diagnostic.arthas.scheme_unsupported": "Arthas Tunnel unterstützt nur http/https/ws/wss-Adressen: {{scheme}}",
|
|
"jvm.backend.diagnostic.arthas.send_canceled": "Senden des Arthas Tunnel-Terminalbefehls wurde abgebrochen",
|
|
"jvm.backend.diagnostic.arthas.send_failed": "Arthas Tunnel-Terminalbefehl konnte nicht gesendet werden: {{detail}}",
|
|
"jvm.backend.diagnostic.arthas.send_timeout": "Senden des Arthas Tunnel-Terminalbefehls hat nach {{timeout}} ohne Antwort eine Zeitüberschreitung erreicht",
|
|
"jvm.backend.diagnostic.arthas.session_config_changed": "Arthas Tunnel-Sitzungskonfiguration hat sich geändert. Erstelle die Diagnosesitzung erneut.",
|
|
"jvm.backend.diagnostic.arthas.session_missing": "Diagnosesitzung existiert nicht. Erstelle die Arthas Tunnel-Sitzung erneut.",
|
|
"jvm.backend.diagnostic.arthas.target_id_required": "Arthas Tunnel target ID ist erforderlich (targetId / agentId)",
|
|
"jvm.backend.diagnostic.arthas.target_not_found": "Zielinstanz wurde nicht gefunden. Prüfe targetId / agentId und ob der tunnel client online ist.",
|
|
"jvm.backend.diagnostic.arthas.target_not_found_with_id": "Zielinstanz {{target}} wurde nicht gefunden. Prüfe targetId / agentId und ob der tunnel client online ist.",
|
|
"jvm.backend.diagnostic.arthas.terminal_command_encode_failed": "Arthas Tunnel-Terminalbefehl konnte nicht codiert werden: {{detail}}",
|
|
"jvm.backend.diagnostic.arthas.write_deadline_failed": "Arthas Tunnel-Schreibfrist konnte nicht gesetzt werden: {{detail}}",
|
|
"jvm.backend.diagnostic.error.audit_write_blocked": "Diagnose-Auditdatensatz konnte nicht geschrieben werden; Befehlsausführung wurde blockiert: {{detail}}",
|
|
"jvm.backend.diagnostic.error.cancel_identifiers_required": "Abbruchbefehl benötigt sessionId und commandId",
|
|
"jvm.backend.diagnostic.error.command_required": "Diagnosebefehl darf nicht leer sein",
|
|
"jvm.backend.diagnostic.error.disabled": "JVM-Diagnoseerweiterung ist für diese Verbindung nicht aktiviert",
|
|
"jvm.backend.diagnostic.error.execute_canceled": "Diagnose-Ausführungsanfrage wurde abgebrochen: {{detail}}",
|
|
"jvm.backend.diagnostic.error.session_id_required": "Diagnosesitzungs-ID ist erforderlich. Erstelle zuerst eine Sitzung.",
|
|
"jvm.backend.diagnostic.error.transport_unsupported": "Nicht unterstützter JVM-Diagnosetransport: {{transport}}",
|
|
"jvm.backend.diagnostic.message.arthas_command_canceled": "Arthas-Befehl abgebrochen",
|
|
"jvm.backend.diagnostic.message.arthas_command_completed": "Arthas-Befehl abgeschlossen",
|
|
"jvm.backend.diagnostic.message.cancel_requested": "Abbruchanfrage gesendet; warte, bis die Diagnose-Bridge den Befehl beendet",
|
|
"jvm.backend.diagnostic.message.command_completed": "Diagnosebefehl abgeschlossen",
|
|
"jvm.backend.diagnostic.policy.multiline_not_supported": "Diagnosebefehl unterstützt keine Zeilenumbrüche oder mehrere Befehle",
|
|
"jvm.backend.diagnostic.policy.mutating_not_allowed": "Hochriskante Diagnosebefehle sind für diese Verbindung nicht aktiviert: {{command}}",
|
|
"jvm.backend.diagnostic.policy.observe_not_allowed": "Observe-Diagnosebefehle sind für diese Verbindung nicht aktiviert: {{command}}",
|
|
"jvm.backend.diagnostic.policy.read_only_observe_only": "Die aktuelle Verbindung ist schreibgeschützt. Nur Observe-Diagnosebefehle sind erlaubt",
|
|
"jvm.backend.diagnostic.policy.trace_not_allowed": "Trace-Diagnosebefehle sind für diese Verbindung nicht aktiviert: {{command}}",
|
|
"jvm.backend.diagnostic.warning.audit_write_failed": "Auditdatensatz konnte nicht geschrieben werden: {{detail}}",
|
|
"jvm.backend.error.audit_write_blocked": "Auditdatensatz konnte nicht geschrieben werden; JVM-Änderung wurde blockiert: {{detail}}",
|
|
"jvm.backend.error.change_action_required": "JVM-Änderungsaktion ist erforderlich",
|
|
"jvm.backend.error.change_blocked_by_guard": "Die aktuelle Änderung wurde von Guard blockiert",
|
|
"jvm.backend.error.change_blocked_read_only": "Die aktuelle Verbindung ist schreibgeschützt, daher werden Schreibvorgänge blockiert",
|
|
"jvm.backend.error.change_confirmation_token_failed": "JVM-Änderungsbestätigungstoken konnte nicht erzeugt werden: {{detail}}",
|
|
"jvm.backend.error.change_reason_required": "JVM-Änderungsgrund ist erforderlich",
|
|
"jvm.backend.error.change_resource_id_required": "JVM-Ressourcen-ID ist erforderlich",
|
|
"jvm.backend.error.confirmation_token_expired": "Bestätigungstoken ist abgelaufen. Vorschau erneut ausführen und bestätigen.",
|
|
"jvm.backend.error.confirmation_token_invalid": "Bestätigungstoken ist ungültig. Vorschau erneut ausführen und bestätigen.",
|
|
"jvm.backend.error.confirmation_token_missing": "Bestätigungstoken fehlt. Schließe zuerst die Vorschau-Bestätigung ab.",
|
|
"jvm.backend.error.disallowed_mode": "Die aktuelle Verbindung erlaubt den Modus {{mode}} nicht",
|
|
"jvm.backend.error.preview_confirmation_missing": "Bestätigungstoken der Vorschau fehlt. Vorschau vor dem Senden erneut ausführen.",
|
|
"jvm.backend.error.preview_context_hash_failed": "JVM-Vorschaukontext konnte nicht erzeugt werden: {{detail}}",
|
|
"jvm.backend.error.preview_payload_hash_failed": "JVM-Vorschau-Payload-Digest konnte nicht erzeugt werden: {{detail}}",
|
|
"jvm.backend.error.resource_path_invalid": "Ungültiger JVM-Ressourcenpfad: {{detail}}",
|
|
"jvm.backend.message.connect_success": "JVM-Verbindung erfolgreich",
|
|
"jvm.backend.monitoring.error.session_not_found": "JVM-Überwachungssitzung für {{connectionId}} {{providerMode}} nicht gefunden",
|
|
"jvm.backend.monitoring.error.snapshot_unsupported": "{{provider}} Überwachungssnapshot wird noch nicht unterstützt",
|
|
"jvm.backend.monitoring.warning.sample_auto_stopped": "Die Monitoring-Abfrage ist {{count}} Mal in Folge fehlgeschlagen; diese Sitzung wurde automatisch beendet",
|
|
"jvm.backend.separator.message_warning": "; ",
|
|
"jvm.backend.warning.failed_audit_write_failed": "Fehler-Auditdatensatz konnte nicht geschrieben werden: {{detail}}",
|
|
"jvm.backend.warning.terminal_audit_write_failed": "Abschluss-Auditdatensatz konnte nicht geschrieben werden: {{detail}}",
|
|
"log_panel.action.clear": "Logs leeren",
|
|
"log_panel.action.close": "Panel schliessen",
|
|
"log_panel.affected_rows": "Betroffene Zeilen: {{count}}",
|
|
"log_panel.column.duration": "Dauer",
|
|
"log_panel.column.sql_message": "SQL / Meldung",
|
|
"log_panel.column.status": "Zustand",
|
|
"log_panel.column.time": "Zeit",
|
|
"log_panel.description": "Zeichnet Ausfuehrungsstatus, Dauer und Fehler fuer schnelle Nachverfolgung auf.",
|
|
"log_panel.empty": "Keine SQL-Ausfuehrungslogs",
|
|
"log_panel.short_title": "Logs",
|
|
"log_panel.title": "SQL-Ausfuehrungslog",
|
|
"message_publish_modal.action.send": "Senden",
|
|
"message_publish_modal.error.build_command_failed": "Sende-Befehl konnte nicht erstellt werden",
|
|
"message_publish_modal.error.send_failed_detail": "Senden fehlgeschlagen: {{detail}}",
|
|
"message_publish_modal.error.unknown_error": "Unbekannter Fehler",
|
|
"message_publish_modal.field.body_mode.label": "Nachrichtentext-Typ",
|
|
"message_publish_modal.field.body.extra": "Im JSON-Modus ist gültiges JSON erforderlich. Der Textmodus sendet den Inhalt unverändert.",
|
|
"message_publish_modal.field.body.label": "Nachrichtentext",
|
|
"message_publish_modal.field.body.placeholder": "Nachrichtentext eingeben",
|
|
"message_publish_modal.field.body.required": "Nachrichtentext eingeben",
|
|
"message_publish_modal.field.delay_level.extra": "RocketMQ verwendet feste Verzögerungsstufen. 0 sendet sofort.",
|
|
"message_publish_modal.field.delay_level.label": "Delay Level (optional)",
|
|
"message_publish_modal.field.exchange.extra": "Leer lassen, um den Standard-Exchange zu verwenden. Wenn Sie einen eigenen Exchange eingeben, stellen Sie sicher, dass die Ziel-Queue ein binding hat.",
|
|
"message_publish_modal.field.exchange.label": "Exchange (optional)",
|
|
"message_publish_modal.field.exchange.placeholder": "Beispiel: events.topic",
|
|
"message_publish_modal.field.headers.extra": "Muss ein JSON-Objekt sein, zum Beispiel {{example}}.",
|
|
"message_publish_modal.field.headers.label": "Headers (optional)",
|
|
"message_publish_modal.field.properties.extra": "Muss ein JSON-Objekt sein, zum Beispiel {{example}}.",
|
|
"message_publish_modal.field.properties.label": "Properties (optional)",
|
|
"message_publish_modal.field.qos.extra": "0 ist at most once, 1 ist at least once und 2 ist exactly once.",
|
|
"message_publish_modal.field.retain.label": "Retain-Nachricht",
|
|
"message_publish_modal.field.routing_key.extra": "Leer lassen, um standardmäßig den aktuellen Queue-Namen zu verwenden.",
|
|
"message_publish_modal.field.routing_key.label": "Routing Key (optional)",
|
|
"message_publish_modal.field.routing_key.placeholder": "Beispiel: orders.queue",
|
|
"message_publish_modal.field.tag.extra": "Leer lassen, um nicht nach Tag zu filtern oder keinen Tag zu schreiben.",
|
|
"message_publish_modal.field.tag.label": "Tag (optional)",
|
|
"message_publish_modal.footer.success_prefix": "Nach erfolgreichem Senden wird",
|
|
"message_publish_modal.footer.success_suffix": " zurückgegeben, um zu bestätigen, ob diese Testnachricht übermittelt wurde.",
|
|
"message_publish_modal.option.no_delay": "Keine Verzögerung",
|
|
"message_publish_modal.option.text": "Text",
|
|
"message_publish_modal.title": "Nachricht testweise senden",
|
|
"message_publish_modal.title_with_connection": "Nachricht testweise senden · {{connectionName}}",
|
|
"message_publish.error.destination_required": "Ziel-Topic / Queue eingeben",
|
|
"message_publish.error.invalid_json_detail": "{{field}} ist kein gültiges JSON: {{detail}}",
|
|
"message_publish.error.json_object_required": "{{field}} muss ein JSON-Objekt sein",
|
|
"message_publish.error.mqtt_wildcard_topic": "MQTT publish Topic darf keine Platzhalter + oder # enthalten",
|
|
"message_publish.error.required_field": "{{field}} ist erforderlich",
|
|
"message_publish.error.unsupported_type": "Die aktuelle Datenquelle unterstützt das Testen des Nachrichtenversands nicht: {{type}}",
|
|
"message_publish.field.body": "Nachrichtentext",
|
|
"message_publish.field.message_key": "Nachrichten-Key",
|
|
"message_publish.presentation.kafka.alert": "Dieses Formular erstellt automatisch einen Kafka publish JSON-Befehl und ruft das Backend für eine Testsendung auf.",
|
|
"message_publish.presentation.kafka.destination_placeholder": "Beispiel: orders.events",
|
|
"message_publish.presentation.kafka.key_placeholder": "Optional. Im JSON-Modus eine gültige JSON-Zeile eingeben.",
|
|
"message_publish.presentation.kafka.success_hint": "Headers werden als Kafka Record Headers mitgesendet.",
|
|
"message_publish.presentation.key_label": "Nachrichten-Key (optional)",
|
|
"message_publish.presentation.keys_label": "Nachrichten-Keys (optional)",
|
|
"message_publish.presentation.mqtt.alert": "Dieses Formular erstellt automatisch einen MQTT publish JSON-Befehl und sendet eine Testnachricht direkt über den broker.",
|
|
"message_publish.presentation.mqtt.destination_placeholder": "Beispiel: devices/device-001/telemetry",
|
|
"message_publish.presentation.mqtt.success_hint": "QoS und retain können separat angegeben werden. Leere Felder verwenden die Standardwerte der aktuellen Verbindung.",
|
|
"message_publish.presentation.rabbitmq.alert": "Dieses Formular erstellt automatisch einen RabbitMQ publish JSON-Befehl und sendet eine Testnachricht über die Management API.",
|
|
"message_publish.presentation.rabbitmq.destination_placeholder": "Beispiel: orders.queue",
|
|
"message_publish.presentation.rabbitmq.destination_required": "Queue eingeben",
|
|
"message_publish.presentation.rabbitmq.success_hint": "Wenn Exchange leer ist, wird der Standard-Exchange verwendet und der Queue-Name als routing key genutzt.",
|
|
"message_publish.presentation.rocketmq.alert": "Dieses Formular erstellt automatisch einen RocketMQ publish JSON-Befehl und sendet eine Testnachricht über NameServer/Broker.",
|
|
"message_publish.presentation.rocketmq.destination_placeholder": "Beispiel: orders.events",
|
|
"message_publish.presentation.rocketmq.key_placeholder": "Mehrere Key-Werte durch Kommas getrennt eingeben",
|
|
"message_publish.presentation.rocketmq.success_hint": "Tag, Keys, Delay Level und Properties werden in die RocketMQ-Nachrichtenattribute geschrieben.",
|
|
"message_publish.presentation.rocketmq.tag_placeholder": "Beispiel: TagA",
|
|
"message_publish.presentation.topic_required": "Topic eingeben",
|
|
"proxy.backend.error.host_empty": "Proxy-Host ist leer",
|
|
"proxy.backend.error.http_connect_failed": "Verbindung zum HTTP-Proxy fehlgeschlagen: {{detail}}",
|
|
"proxy.backend.error.http_connect_read_failed": "Lesen der HTTP CONNECT-Antwort fehlgeschlagen: {{detail}}",
|
|
"proxy.backend.error.http_connect_status_failed": "HTTP-Proxy CONNECT fehlgeschlagen: {{status}}",
|
|
"proxy.backend.error.http_connect_write_failed": "Senden der HTTP CONNECT-Anfrage fehlgeschlagen: {{detail}}",
|
|
"proxy.backend.error.listen_failed": "Lokaler Proxy-Listener konnte nicht erstellt werden: {{detail}}",
|
|
"proxy.backend.error.port_invalid": "Ungültiger Proxy-Port: {{port}}",
|
|
"proxy.backend.error.remote_addr_invalid": "Ungültige Remote-Adresse: {{address}}",
|
|
"proxy.backend.error.socks5_connect_failed": "SOCKS5-Proxy-Verbindung fehlgeschlagen: {{detail}}",
|
|
"proxy.backend.error.socks5_dialer_failed": "SOCKS5-Proxy-Dialer konnte nicht erstellt werden: {{detail}}",
|
|
"proxy.backend.error.unsupported_type": "Nicht unterstützter Proxy-Typ: {{type}}",
|
|
"query_editor.action.ai_explain_sql": "SQL mit AI erklären",
|
|
"query_editor.action.ai_explain_sql_menu": "SQL erklären",
|
|
"query_editor.action.ai_generate_sql": "SQL mit AI erzeugen",
|
|
"query_editor.action.ai_generate_sql_menu": "SQL erzeugen",
|
|
"query_editor.action.ai_optimize_sql": "SQL mit AI optimieren",
|
|
"query_editor.action.ai_optimize_sql_menu": "SQL optimieren",
|
|
"query_editor.action.ai_schema_analysis": "Schema-Analyse",
|
|
"query_editor.action.export_sql_file": "SQL-Datei exportieren",
|
|
"query_editor.action.format": "Formatieren",
|
|
"query_editor.action.format_sql": "SQL formatieren",
|
|
"query_editor.action.hide_results_panel": "Ergebnisbereich ausblenden",
|
|
"query_editor.action.hide_results_panel_with_shortcut": "Ergebnisbereich ausblenden ({{shortcut}})",
|
|
"query_editor.action.more": "Mehr",
|
|
"query_editor.action.rename_query": "Abfrage umbenennen",
|
|
"query_editor.action.resize_editor": "Höhe durch Ziehen ändern",
|
|
"query_editor.action.results": "Ergebnisse",
|
|
"query_editor.action.run": "Ausführen",
|
|
"query_editor.action.run_with_shortcut": "Ausführen ({{shortcut}})",
|
|
"query_editor.action.save": "Speichern",
|
|
"query_editor.action.save_with_shortcut": "Speichern ({{shortcut}})",
|
|
"query_editor.action.show_object_info": "Objektinformationen anzeigen",
|
|
"query_editor.action.show_results_panel": "Ergebnisbereich anzeigen",
|
|
"query_editor.action.show_results_panel_with_shortcut": "Ergebnisbereich anzeigen ({{shortcut}})",
|
|
"query_editor.action.stop": "Stoppen",
|
|
"query_editor.ai_prompt.context": "Kontext: {{type}} {{name}}, ausgewählte Datenbank {{database}}.\n",
|
|
"query_editor.ai_prompt.default_database": "Standard",
|
|
"query_editor.ai_prompt.default_source": "Datenbank",
|
|
"query_editor.ai_prompt.diagnose": "Beim Ausführen dieses SQL ist ein Fehler aufgetreten:\n```sql\n{{sql}}\n```\n\nDie Datenbank meldete diesen Fehler:\n```text\n{{error}}\n```\n\nAnalysiere die Ursache und schlage eine Korrektur vor.",
|
|
"query_editor.ai_prompt.explain": "Erkläre die Ausführungslogik dieser SQL-Anweisung:\n```sql\n{{sql}}\n```",
|
|
"query_editor.ai_prompt.generate": "Erzeuge eine Abfrage anhand des aktuellen Datenbankschemas.",
|
|
"query_editor.ai_prompt.optimize": "Analysiere diese SQL-Anweisung auf Leistungsprobleme und schlage Optimierungen vor:\n```sql\n{{sql}}\n```",
|
|
"query_editor.ai_prompt.schema": "Analysiere das aktuelle Datenbankschema und schlage Verbesserungen für Leistung und Design vor.",
|
|
"query_editor.completion.action.absolute_value": "Absolutwert",
|
|
"query_editor.completion.action.approximate_distinct": "ungefähr eindeutige Werte",
|
|
"query_editor.completion.action.approximate_distinct_count": "ungefähre Anzahl eindeutiger Werte",
|
|
"query_editor.completion.action.approximate_percentile": "ungefähres Perzentil",
|
|
"query_editor.completion.action.approximate_quantile": "ungefähres Quantil",
|
|
"query_editor.completion.action.array_aggregation": "Array-Aggregation",
|
|
"query_editor.completion.action.array_length": "Array-Länge",
|
|
"query_editor.completion.action.average": "Durchschnitt",
|
|
"query_editor.completion.action.bitmap_aggregation": "Bitmap-Aggregation",
|
|
"query_editor.completion.action.bitmap_construction": "Bitmap erstellen",
|
|
"query_editor.completion.action.bitmap_count": "Bitmap-Anzahl",
|
|
"query_editor.completion.action.boolean_and_aggregation": "Boolesche UND-Aggregation",
|
|
"query_editor.completion.action.boolean_or_aggregation": "Boolesche ODER-Aggregation",
|
|
"query_editor.completion.action.character_length": "Zeichenlänge",
|
|
"query_editor.completion.action.concat_with_separator": "mit Trennzeichen verketten",
|
|
"query_editor.completion.action.concatenation": "verketten",
|
|
"query_editor.completion.action.condition_mapping": "Bedingungszuordnung",
|
|
"query_editor.completion.action.conditional_check": "Bedingungsprüfung",
|
|
"query_editor.completion.action.count": "Anzahl",
|
|
"query_editor.completion.action.current_database": "aktuelle Datenbank",
|
|
"query_editor.completion.action.current_date": "aktuelles Datum",
|
|
"query_editor.completion.action.current_date_time": "aktuelles Datum und Uhrzeit",
|
|
"query_editor.completion.action.current_time": "aktuelle Uhrzeit",
|
|
"query_editor.completion.action.current_timestamp": "aktueller Zeitstempel",
|
|
"query_editor.completion.action.current_user": "aktueller Benutzer",
|
|
"query_editor.completion.action.database_current_time": "aktuelle Datenbankzeit",
|
|
"query_editor.completion.action.date_addition": "Datumsaddition",
|
|
"query_editor.completion.action.date_conversion": "in Datum umwandeln",
|
|
"query_editor.completion.action.date_difference": "Datumsdifferenz",
|
|
"query_editor.completion.action.date_field_extraction": "Datumsfeld extrahieren",
|
|
"query_editor.completion.action.date_formatting": "Datumsformatierung",
|
|
"query_editor.completion.action.date_subtraction": "Datumssubtraktion",
|
|
"query_editor.completion.action.date_truncation": "Datum kürzen",
|
|
"query_editor.completion.action.date_value": "Datum",
|
|
"query_editor.completion.action.datetime_conversion": "in Datum und Uhrzeit umwandeln",
|
|
"query_editor.completion.action.datetime_value": "Datum und Uhrzeit",
|
|
"query_editor.completion.action.decimal_truncation": "Dezimalstellen kürzen",
|
|
"query_editor.completion.action.dense_rank": "dichter Rang",
|
|
"query_editor.completion.action.distinct_array_aggregation": "eindeutige Array-Aggregation",
|
|
"query_editor.completion.action.e_power": "e-Potenz",
|
|
"query_editor.completion.action.elapsed_time": "verstrichene Zeit",
|
|
"query_editor.completion.action.epoch_seconds": "Epoch-Sekunden",
|
|
"query_editor.completion.action.exact_distinct": "exakt eindeutige Werte",
|
|
"query_editor.completion.action.first_non_null": "ersten Nicht-NULL-Wert zurückgeben",
|
|
"query_editor.completion.action.first_value": "erster Wert",
|
|
"query_editor.completion.action.format_as_text": "als Text formatieren",
|
|
"query_editor.completion.action.group_concatenation": "Gruppenverkettung",
|
|
"query_editor.completion.action.guid_generation": "GUID erzeugen",
|
|
"query_editor.completion.action.hexadecimal": "hexadezimal",
|
|
"query_editor.completion.action.high_precision_current_time": "aktuelle Zeit mit hoher Genauigkeit",
|
|
"query_editor.completion.action.hll_aggregation": "HLL-Aggregation",
|
|
"query_editor.completion.action.hll_hash": "HLL-Hash",
|
|
"query_editor.completion.action.instant_rate_of_change": "momentane Änderungsrate",
|
|
"query_editor.completion.action.int64_conversion": "in Int64 umwandeln",
|
|
"query_editor.completion.action.interpolation": "Interpolation",
|
|
"query_editor.completion.action.json_string_extraction": "JSON-Zeichenkette extrahieren",
|
|
"query_editor.completion.action.json_unquote": "JSON-Anführungszeichen entfernen",
|
|
"query_editor.completion.action.json_value_extraction": "JSON-Wert extrahieren",
|
|
"query_editor.completion.action.json_value_set": "JSON-Wert setzen",
|
|
"query_editor.completion.action.jsonb_path_extraction": "JSONB-Pfad extrahieren",
|
|
"query_editor.completion.action.julian_day": "julianischer Tag",
|
|
"query_editor.completion.action.last_insert_id": "letzte Insert-ID",
|
|
"query_editor.completion.action.last_row": "letzte Zeile",
|
|
"query_editor.completion.action.last_value": "letzter Wert",
|
|
"query_editor.completion.action.least_squares": "kleinste Quadrate",
|
|
"query_editor.completion.action.left_padding": "links auffüllen",
|
|
"query_editor.completion.action.left_space_trimming": "linke Leerzeichen entfernen",
|
|
"query_editor.completion.action.left_substring": "von links extrahieren",
|
|
"query_editor.completion.action.length": "Länge",
|
|
"query_editor.completion.action.list_aggregation": "Listenaggregation",
|
|
"query_editor.completion.action.list_unnest": "Liste entpacken",
|
|
"query_editor.completion.action.log_base_10": "Logarithmus zur Basis 10",
|
|
"query_editor.completion.action.log_base_2": "Logarithmus zur Basis 2",
|
|
"query_editor.completion.action.logarithm": "Logarithmus",
|
|
"query_editor.completion.action.lowercase": "in Kleinbuchstaben umwandeln",
|
|
"query_editor.completion.action.maximum": "Maximum",
|
|
"query_editor.completion.action.md5_hash": "MD5-Hash",
|
|
"query_editor.completion.action.minimum": "Minimum",
|
|
"query_editor.completion.action.modulo": "Modulo",
|
|
"query_editor.completion.action.month_addition": "Monate addieren",
|
|
"query_editor.completion.action.month_difference": "Monatsdifferenz",
|
|
"query_editor.completion.action.month_end_date": "Monatsende",
|
|
"query_editor.completion.action.next_row": "nächste Zeile",
|
|
"query_editor.completion.action.null_branch": "NULL-Zweig",
|
|
"query_editor.completion.action.null_if_equal": "NULL zurückgeben, wenn gleich",
|
|
"query_editor.completion.action.null_replacement": "NULL-Ersetzung",
|
|
"query_editor.completion.action.number_conversion": "in Zahl umwandeln",
|
|
"query_editor.completion.action.number_formatting": "Zahlenformatierung",
|
|
"query_editor.completion.action.position_lookup": "Position suchen",
|
|
"query_editor.completion.action.power_operation": "Potenzoperation",
|
|
"query_editor.completion.action.previous_row": "vorherige Zeile",
|
|
"query_editor.completion.action.quantile": "Quantil",
|
|
"query_editor.completion.action.random_number": "Zufallszahl",
|
|
"query_editor.completion.action.rank": "Rang",
|
|
"query_editor.completion.action.rate_of_change": "Änderungsrate",
|
|
"query_editor.completion.action.regex_match": "Regex-Übereinstimmung",
|
|
"query_editor.completion.action.regex_replace": "Regex-Ersetzung",
|
|
"query_editor.completion.action.replacement": "Ersetzung",
|
|
"query_editor.completion.action.right_padding": "rechts auffüllen",
|
|
"query_editor.completion.action.right_space_trimming": "rechte Leerzeichen entfernen",
|
|
"query_editor.completion.action.right_substring": "von rechts extrahieren",
|
|
"query_editor.completion.action.round_down": "abrunden",
|
|
"query_editor.completion.action.round_up": "aufrunden",
|
|
"query_editor.completion.action.rounding": "runden",
|
|
"query_editor.completion.action.row_number": "Zeilennummer",
|
|
"query_editor.completion.action.set_lookup": "Mengensuche",
|
|
"query_editor.completion.action.sha1_hash": "SHA1-Hash",
|
|
"query_editor.completion.action.sha2_hash": "SHA2-Hash",
|
|
"query_editor.completion.action.space_trimming": "Leerzeichen entfernen",
|
|
"query_editor.completion.action.spread": "Streuung",
|
|
"query_editor.completion.action.sql_literal": "SQL-Literal",
|
|
"query_editor.completion.action.square_root": "Quadratwurzel",
|
|
"query_editor.completion.action.string_aggregation": "Zeichenkettenaggregation",
|
|
"query_editor.completion.action.string_conversion": "in Zeichenkette umwandeln",
|
|
"query_editor.completion.action.string_repetition": "Zeichenkette wiederholen",
|
|
"query_editor.completion.action.string_reversal": "Zeichenkette umkehren",
|
|
"query_editor.completion.action.string_to_date": "Zeichenkette in Datum umwandeln",
|
|
"query_editor.completion.action.string_to_timestamp": "Zeichenkette in Zeitstempel umwandeln",
|
|
"query_editor.completion.action.struct_construction": "Struktur erstellen",
|
|
"query_editor.completion.action.substring_extraction": "Teilzeichenkette extrahieren",
|
|
"query_editor.completion.action.sum": "Summe",
|
|
"query_editor.completion.action.time_difference": "Zeitdifferenz",
|
|
"query_editor.completion.action.time_value": "Zeit",
|
|
"query_editor.completion.action.time_weighted_average": "zeitgewichteter Durchschnitt",
|
|
"query_editor.completion.action.timestamp_difference": "Zeitstempeldifferenz",
|
|
"query_editor.completion.action.truncate_date_or_number": "Datum oder Zahl kürzen",
|
|
"query_editor.completion.action.try_conversion": "Umwandlung versuchen",
|
|
"query_editor.completion.action.type_conversion": "Typumwandlung",
|
|
"query_editor.completion.action.unix_time_to_datetime": "Unix-Zeit in Datum und Uhrzeit umwandeln",
|
|
"query_editor.completion.action.unix_timestamp": "Unix-Zeitstempel",
|
|
"query_editor.completion.action.uppercase": "in Großbuchstaben umwandeln",
|
|
"query_editor.completion.action.uuid_generation": "UUID erzeugen",
|
|
"query_editor.completion.action.value_formatting": "Wert formatieren",
|
|
"query_editor.completion.action.version": "Version",
|
|
"query_editor.completion.detail.aggregate": "Aggregatfunktion",
|
|
"query_editor.completion.detail.aggregate_count": "Aggregat - zählen",
|
|
"query_editor.completion.detail.conditional": "Bedingungsfunktion",
|
|
"query_editor.completion.detail.conditional_if": "Bedingung - IF",
|
|
"query_editor.completion.detail.conversion": "Typumwandlungsfunktion",
|
|
"query_editor.completion.detail.conversion_cast": "Umwandlung - Typumwandlung",
|
|
"query_editor.completion.detail.crypto_md5": "Hashwert - MD5",
|
|
"query_editor.completion.detail.date_now": "Datum - aktuelles Datum und Uhrzeit",
|
|
"query_editor.completion.detail.date_time": "Datums- und Zeitfunktion",
|
|
"query_editor.completion.detail.info": "Informationsfunktion",
|
|
"query_editor.completion.detail.info_database": "Info - aktuelle Datenbank",
|
|
"query_editor.completion.detail.json": "JSON-Funktion",
|
|
"query_editor.completion.detail.json_extract": "JSON - Wert extrahieren",
|
|
"query_editor.completion.detail.math": "Mathematische Funktion",
|
|
"query_editor.completion.detail.math_abs": "Mathematik - Absolutwert",
|
|
"query_editor.completion.detail.modifier_distinct": "Modifikator - eindeutig",
|
|
"query_editor.completion.detail.sql_function": "SQL-Funktion",
|
|
"query_editor.completion.detail.string": "Zeichenkettenfunktion",
|
|
"query_editor.completion.detail.string_concat": "Zeichenkette - verketten",
|
|
"query_editor.completion.detail.utility": "Hilfsfunktion",
|
|
"query_editor.completion.detail.window": "Fensterfunktion",
|
|
"query_editor.completion.detail.window_row_number": "Fenster - Zeilennummer",
|
|
"query_editor.completion.documentation.comment": "Kommentar: {{comment}}",
|
|
"query_editor.empty_state.description": "Fuehren Sie eine Abfrage aus, damit die Ergebnisse unten im neuen Datengitter angezeigt werden.",
|
|
"query_editor.empty_state.title": "Warten auf SQL-Ausfuehrung",
|
|
"query_editor.format.keyword_lower": "Schlüsselwörter kleinschreiben",
|
|
"query_editor.format.keyword_upper": "Schlüsselwörter großschreiben",
|
|
"query_editor.format.restore_last_format": "Letzte Formatierung zurücknehmen",
|
|
"query_editor.format.shortcut_settings": "Tastenkürzel-Einstellungen...",
|
|
"query_editor.format.snippet_settings": "Snippet-Einstellungen...",
|
|
"query_editor.hover.open_function_with_shortcut": "{{shortcut}} + klicken, um diese Funktion zu öffnen",
|
|
"query_editor.hover.open_materialized_view_with_shortcut": "{{shortcut}} + klicken, um diese materialisierte Ansicht zu öffnen",
|
|
"query_editor.hover.open_procedure_with_shortcut": "{{shortcut}} + klicken, um diese gespeicherte Prozedur zu öffnen",
|
|
"query_editor.hover.open_table_with_shortcut": "{{shortcut}} + klicken, um diese Tabelle zu öffnen",
|
|
"query_editor.hover.open_trigger_with_shortcut": "{{shortcut}} + klicken, um diesen Trigger zu öffnen",
|
|
"query_editor.hover.open_view_with_shortcut": "{{shortcut}} + klicken, um diese Ansicht zu öffnen",
|
|
"query_editor.hover.switch_database_with_shortcut": "{{shortcut}} + klicken, um zu dieser Datenbank zu wechseln",
|
|
"query_editor.max_rows.option_1000": "Max. Zeilen: 1000",
|
|
"query_editor.max_rows.option_20000": "Max. Zeilen: 20000",
|
|
"query_editor.max_rows.option_500": "Max. Zeilen: 500",
|
|
"query_editor.max_rows.option_5000": "Max. Zeilen: 5000",
|
|
"query_editor.max_rows.option_unlimited": "Max. Zeilen: unbegrenzt",
|
|
"query_editor.max_rows.tooltip": "Maximale Anzahl zurückgegebener Zeilen. SELECT erhält automatisch ein LIMIT, damit sehr große Ergebnismengen die Oberfläche nicht blockieren.",
|
|
"query_editor.message.append_success": "Code angehängt.",
|
|
"query_editor.message.cancel_failed": "Abfrage konnte nicht abgebrochen werden: {{error}}",
|
|
"query_editor.message.cancel_no_running": "Keine laufende Abfrage zum Abbrechen.",
|
|
"query_editor.message.cancel_success": "Abfrage abgebrochen.",
|
|
"query_editor.message.connection_not_found": "Verbindung nicht gefunden.",
|
|
"query_editor.message.connection_readonly_blocked": "Für diese Verbindung ist der Produktionsschutz aktiv; es sind nur Abfragen erlaubt.",
|
|
"query_editor.message.execution_failed_with_error": "Abfrageausführung fehlgeschlagen: {{error}}",
|
|
"query_editor.message.execution_multi_success": "{{statements}} Anweisungen ausgeführt und {{results}} Ergebnismengen erzeugt.",
|
|
"query_editor.message.execution_result_sets_success": "Ausführung abgeschlossen und {{results}} Ergebnismengen erzeugt.",
|
|
"query_editor.message.execution_success": "Ausführung erfolgreich.",
|
|
"query_editor.message.export_sql_file_failed": "SQL-Datei konnte nicht exportiert werden: {{error}}",
|
|
"query_editor.message.export_sql_file_success": "SQL-Datei exportiert.",
|
|
"query_editor.message.format_failed": "Formatierung fehlgeschlagen: Die SQL-Syntax ist möglicherweise ungültig.",
|
|
"query_editor.message.format_restore_success": "Der SQL-Stand vor der Formatierung wurde wiederhergestellt.",
|
|
"query_editor.message.insert_success": "Code an der aktuellen Cursorposition eingefügt.",
|
|
"query_editor.message.no_executable_sql": "Kein ausführbares SQL.",
|
|
"query_editor.message.no_format_restore_snapshot": "Es ist kein SQL-Stand vor der Formatierung zum Wiederherstellen verfügbar.",
|
|
"query_editor.message.no_selectable_sql": "Keine auswählbare SQL-Anweisung.",
|
|
"query_editor.message.object_info_target_not_found": "Der Cursor befindet sich auf keiner erkannten Tabelle oder Spalte.",
|
|
"query_editor.message.page_query_empty": "Die Seitenabfrage hat keine Ergebnismenge zurückgegeben.",
|
|
"query_editor.message.page_query_failed": "Seitenabfrage fehlgeschlagen: {{error}}",
|
|
"query_editor.message.read_only_index_metadata_unavailable": "Die Metadaten des eindeutigen Indexes konnten nicht geladen werden, daher können Änderungen nicht sicher gespeichert werden.",
|
|
"query_editor.message.read_only_no_safe_locator": "Es wurde weder ein Primärschlüssel noch ein verwendbarer eindeutiger Index erkannt, daher können Änderungen nicht sicher gespeichert werden.",
|
|
"query_editor.message.read_only_oracle_rowid_injection_unavailable": "Die Oracle-Abfrage verwendet *, daher konnte die ROWID-Lokatorspalte nicht automatisch eingefügt werden. Das Ergebnis bleibt schreibgeschützt.",
|
|
"query_editor.message.read_only_system_metadata": "Abfrageergebnisse aus Systemmetadaten bleiben schreibgeschützt.",
|
|
"query_editor.message.read_only_table_locator_metadata_unavailable": "Die Metadaten des Primärschlüssels/eindeutigen Indexes für {{table}} konnten nicht geladen werden, daher können Änderungen nicht sicher gespeichert werden.",
|
|
"query_editor.message.read_only_warning_with_detail": "Abfrageergebnisse bleiben schreibgeschützt: {{detail}}",
|
|
"query_editor.message.refresh_failed": "Aktualisierung fehlgeschlagen: {{error}}",
|
|
"query_editor.message.renamed": "Abfrage umbenannt.",
|
|
"query_editor.message.save_first_before_rename": "Speichern Sie die Abfrage, bevor Sie sie umbenennen.",
|
|
"query_editor.message.save_query_failed": "Abfrage konnte nicht gespeichert werden: {{error}}",
|
|
"query_editor.message.save_sql_file_failed": "SQL-Datei konnte nicht gespeichert werden: {{error}}",
|
|
"query_editor.message.saved": "Abfrage gespeichert.",
|
|
"query_editor.message.select_database_first": "Wählen Sie zuerst eine Datenbank aus.",
|
|
"query_editor.message.sql_file_saved": "SQL-Datei gespeichert.",
|
|
"query_editor.message.statement_failed_prefix": "Anweisung {{index}} fehlgeschlagen: ",
|
|
"query_editor.message.unsupported_source": "Diese Datenquelle unterstützt den SQL-Abfrageeditor nicht. Verwenden Sie stattdessen die zugehörige Seite.",
|
|
"query_editor.object_info.column": "Spalte",
|
|
"query_editor.object_info.database": "Datenbank",
|
|
"query_editor.object_info.label.database": "Datenbank",
|
|
"query_editor.object_info.label.schema": "Schema",
|
|
"query_editor.object_info.label.separator": ": ",
|
|
"query_editor.object_info.label.table": "Tabelle",
|
|
"query_editor.object_info.label.type": "Typ",
|
|
"query_editor.object_info.materialized_view": "Materialisierte Ansicht",
|
|
"query_editor.object_info.table": "Tabelle",
|
|
"query_editor.placeholder.connection": "Verbindung auswählen",
|
|
"query_editor.placeholder.database": "Datenbank auswählen",
|
|
"query_editor.result.affected_rows": "Betroffene Zeilen: {{count}}",
|
|
"query_editor.result.ai_diagnose": "AI-Diagnose",
|
|
"query_editor.result.close": "Ergebnis schließen",
|
|
"query_editor.result.execution_failed": "Ausführung fehlgeschlagen",
|
|
"query_editor.result.execution_success": "Ausführung erfolgreich",
|
|
"query_editor.result.tab_title": "Ergebnis {{index}} ({{count}})",
|
|
"query_editor.result.tab_title_success": "Ergebnis {{index}} ✓",
|
|
"query_editor.results_panel.action.hide": "Ausblenden",
|
|
"query_editor.results_panel.aria.hide": "Ergebnisbereich ausblenden",
|
|
"query_editor.results_panel.menu.close_all": "Alle Tabs schließen",
|
|
"query_editor.results_panel.menu.close_left": "Tabs links schließen",
|
|
"query_editor.results_panel.menu.close_other": "Andere Tabs schließen",
|
|
"query_editor.results_panel.menu.close_right": "Tabs rechts schließen",
|
|
"query_editor.results_panel.message.action.copy": "Kopieren",
|
|
"query_editor.results_panel.message.copy_failed": "Nachricht konnte nicht kopiert werden: {{detail}}",
|
|
"query_editor.results_panel.message.copy_unsupported": "Die Zwischenablage ist in der aktuellen Umgebung nicht verfügbar",
|
|
"query_editor.results_panel.message.title": "Ausführungsmeldungen",
|
|
"query_editor.results_panel.panel.title": "Ergebnisbereich",
|
|
"query_editor.results_panel.tab.message": "Meldung {{index}}",
|
|
"query_editor.results_panel.tab.result": "Ergebnis {{index}}",
|
|
"query_editor.results_panel.tooltip.hide": "Ergebnisbereich ausblenden",
|
|
"query_editor.results_panel.tooltip.hide_with_shortcut": "Ergebnisbereich ausblenden ({{shortcut}})",
|
|
"query_editor.save_modal.name_label": "Abfragename",
|
|
"query_editor.save_modal.name_placeholder": "Beispiel: alle Benutzer abfragen",
|
|
"query_editor.save_modal.name_required": "Geben Sie einen Abfragenamen ein.",
|
|
"query_editor.save_modal.rename_ok": "Umbenennen",
|
|
"query_editor.save_modal.rename_title": "Abfrage umbenennen",
|
|
"query_editor.save_modal.title": "Abfrage speichern",
|
|
"query_editor.save_modal.unnamed": "Unbenannte Abfrage",
|
|
"query_editor.slash_command.diff.description": "Tabellenunterschiede vergleichen und Änderungen erzeugen",
|
|
"query_editor.slash_command.diff.label": "Tabellenvergleich",
|
|
"query_editor.slash_command.diff.prompt": "Vergleiche diese zwei Tabellenstrukturen und erzeuge ALTER-Anweisungen für die Migration von der alten zur neuen Version.",
|
|
"query_editor.slash_command.explain.description": "Logik des ausgewählten SQL erklären",
|
|
"query_editor.slash_command.explain.label": "SQL erklären",
|
|
"query_editor.slash_command.explain.prompt": "Erkläre die Ausführungslogik dieser SQL-Anweisung:\n```sql\n{{sql}}\n```",
|
|
"query_editor.slash_command.index.description": "Indexstrategie empfehlen",
|
|
"query_editor.slash_command.index.label": "Indexempfehlung",
|
|
"query_editor.slash_command.index.prompt": "Empfiehl anhand der aktuellen Tabellenstruktur und üblicher Abfragemuster eine Indexstrategie und füge bei Bedarf SQL hinzu.",
|
|
"query_editor.slash_command.mock.description": "INSERT-Testdaten erzeugen",
|
|
"query_editor.slash_command.mock.label": "Testdaten",
|
|
"query_editor.slash_command.mock.prompt": "Erzeuge 10 fachlich sinnvolle INSERT-Testzeilen für die zugehörige Tabelle.",
|
|
"query_editor.slash_command.optimize.description": "SQL-Leistungsengpässe analysieren",
|
|
"query_editor.slash_command.optimize.label": "Optimierungsanalyse",
|
|
"query_editor.slash_command.optimize.prompt": "Analysiere diese SQL-Anweisung auf Leistungsprobleme und schlage Optimierungen vor:\n```sql\n{{sql}}\n```",
|
|
"query_editor.slash_command.query.description": "Beschreiben, was abgefragt werden soll",
|
|
"query_editor.slash_command.query.label": "Abfrage in natürlicher Sprache",
|
|
"query_editor.slash_command.query.prompt": "Schreibe eine SQL-Abfrage für diese Anfrage:",
|
|
"query_editor.slash_command.schema.description": "Qualität der Tabellenstruktur prüfen",
|
|
"query_editor.slash_command.schema.label": "Tabellendesign prüfen",
|
|
"query_editor.slash_command.schema.prompt": "Prüfe das zugehörige Tabellendesign einschließlich Feldtypen, Normalisierung, Indizes und Verbesserungsvorschlägen.",
|
|
"query_editor.slash_command.sql.description": "Anforderung beschreiben und Anweisung erzeugen",
|
|
"query_editor.slash_command.sql.label": "SQL erzeugen",
|
|
"query_editor.slash_command.sql.prompt": "Erzeuge SQL für diese Anforderung:",
|
|
"query_editor.sql_error.rule.column_missing.explanation": "Das SQL verweist auf eine Spalte, die nicht im Ergebnissatz enthalten ist, anders geschrieben wurde oder in der aktuellen Tabelle nicht existiert.",
|
|
"query_editor.sql_error.rule.column_missing.label": "Spalte existiert nicht",
|
|
"query_editor.sql_error.rule.column_missing.suggestion": "Prüfe Spaltennamen, Aliasse, Groß-/Kleinschreibung, Tabellenaliase und ob die Spalte zum aktuellen FROM/JOIN-Objekt gehört.",
|
|
"query_editor.sql_error.rule.connection_or_auth.explanation": "Der Client konnte keine Verbindung zur Datenbank herstellen, oder Zugangsdaten, Netzwerk oder Instanzstatus sind fehlerhaft.",
|
|
"query_editor.sql_error.rule.connection_or_auth.label": "Datenbankverbindung oder Authentifizierung fehlgeschlagen",
|
|
"query_editor.sql_error.rule.connection_or_auth.suggestion": "Prüfe Host, Port, Benutzername, Passwort, Netzwerkverbindung, Proxy/SSH-Tunnel und Status des Datenbankdienstes.",
|
|
"query_editor.sql_error.rule.constraint_failed.explanation": "Die Daten verletzen einen Fremdschlüssel, eine NOT NULL-Regel, CHECK-Einschränkung oder referenzielle Integrität.",
|
|
"query_editor.sql_error.rule.constraint_failed.label": "Einschränkungsprüfung fehlgeschlagen",
|
|
"query_editor.sql_error.rule.constraint_failed.suggestion": "Prüfe zugehörige Parent-Tabelleneinträge, Pflichtfelder, CHECK-Bedingungen und ob die Schreibreihenfolge korrekt ist.",
|
|
"query_editor.sql_error.rule.generic.explanation": "Die Datenbank hat einen Ausführungsfehler zurückgegeben, ohne dass ein spezifischerer Fehlertyp erkannt wurde.",
|
|
"query_editor.sql_error.rule.generic.label": "Datenbankausführungsfehler",
|
|
"query_editor.sql_error.rule.generic.suggestion": "Untersuche weiter mit dem ursprünglichen Fehler, dem SQL-Fragment und dem aktuellen Datenbankdialekt.",
|
|
"query_editor.sql_error.rule.object_missing.explanation": "Das SQL verweist auf eine Tabelle, View, Sequenz oder ein anderes Datenbankobjekt, das in der aktuellen Datenbank oder im schema nicht gefunden wurde.",
|
|
"query_editor.sql_error.rule.object_missing.label": "Tabelle oder Objekt existiert nicht",
|
|
"query_editor.sql_error.rule.object_missing.suggestion": "Prüfe Objektname, Groß-/Kleinschreibung, schema/database-Präfix und ob die für diese Abfrage ausgewählte Datenbank korrekt ist.",
|
|
"query_editor.sql_error.rule.permission_denied.explanation": "Das aktuelle Datenbankkonto darf dieses SQL nicht ausführen oder nicht auf die betroffenen Objekte zugreifen.",
|
|
"query_editor.sql_error.rule.permission_denied.label": "Unzureichende Berechtigungen",
|
|
"query_editor.sql_error.rule.permission_denied.suggestion": "Prüfe Kontoberechtigungen, schema-Berechtigungen, Nur-Lese-Einschränkungen und ob ein Administrator Zugriff gewähren muss.",
|
|
"query_editor.sql_error.rule.syntax.explanation": "Ursache sind meist Schlüsselwörter, Kommas, Klammern, Anführungszeichen, die Reihenfolge der Anweisungen oder ein nicht passender SQL-Dialekt.",
|
|
"query_editor.sql_error.rule.syntax.label": "SQL-Syntaxfehler",
|
|
"query_editor.sql_error.rule.syntax.suggestion": "Prüfe das SQL-Fragment nahe der gemeldeten Position und bestätige, dass Datenquellentyp und SQL-Dialekt zusammenpassen.",
|
|
"query_editor.sql_error.rule.timeout_or_canceled.explanation": "Die SQL-Ausführung hat das Zeitlimit überschritten oder wurde während der Ausführung manuell abgebrochen.",
|
|
"query_editor.sql_error.rule.timeout_or_canceled.label": "Abfrage mit Timeout oder abgebrochen",
|
|
"query_editor.sql_error.rule.timeout_or_canceled.suggestion": "Prüfe SQL-Ausführungsplan, Filterbedingungen und Indizes; begrenze bei Bedarf den Abfragebereich oder passe das Timeout an.",
|
|
"query_editor.sql_error.rule.type_mismatch.explanation": "Der geschriebene, verglichene oder konvertierte Wert passt nicht zum Zielfeld oder Ausdrucksformat.",
|
|
"query_editor.sql_error.rule.type_mismatch.label": "Datentyp oder Format passt nicht",
|
|
"query_editor.sql_error.rule.type_mismatch.suggestion": "Prüfe Datum, Zahlen, Boolesche Werte, Enum-Werte, implizite Konvertierungen und Spaltentypen; nutze bei Bedarf ein explizites CAST.",
|
|
"query_editor.sql_error.rule.unique_conflict.explanation": "Die eingefügten oder aktualisierten Daten duplizieren einen bestehenden Wert in einem eindeutigen Index, Primärschlüssel oder einer eindeutigen Einschränkung.",
|
|
"query_editor.sql_error.rule.unique_conflict.label": "Eindeutige Einschränkung oder Primärschlüsselkonflikt",
|
|
"query_editor.sql_error.rule.unique_conflict.suggestion": "Prüfe den doppelten Schlüsselwert und nutze bei Bedarf UPDATE oder UPSERT, oder passe den eindeutigen Schlüsselwert an.",
|
|
"query_editor.sql_error.unknown": "Unbekannter Fehler",
|
|
"query_editor.sql_error.wrapper.raw_line": "Ursprünglicher Fehler: {{error}}",
|
|
"query_editor.sql_error.wrapper.semantic_line": "Bedeutung: {{label}}. {{explanation}}",
|
|
"query_editor.sql_error.wrapper.suggestion_line": "Vorschlag: {{suggestion}}",
|
|
"query_editor.transaction.action.commit": "Commit",
|
|
"query_editor.transaction.action.commit_with_count": "Commit ({{count}})",
|
|
"query_editor.transaction.action.rollback": "Rollback",
|
|
"query_editor.transaction.delay.immediate": "Sofort",
|
|
"query_editor.transaction.delay.immediate_commit": "Sofort committen",
|
|
"query_editor.transaction.delay.seconds_commit": "Commit in {{seconds}}s",
|
|
"query_editor.transaction.message.pending_managed_transaction": "Im SQL-Editor ist bereits eine nicht festgeschriebene Transaktion offen. Führen Sie zuerst Commit oder Rollback aus, bevor Sie eine weitere DML-Anweisung starten.",
|
|
"query_editor.transaction.mode.auto": "Automatisch",
|
|
"query_editor.transaction.mode.manual": "Manuell",
|
|
"query_editor.transaction.mode.tooltip": "Wie in DBeaver: Wenn der SQL-Editor DML wie INSERT/UPDATE/DELETE/MERGE/REPLACE ausführt, öffnet GoNavi zuerst eine verwaltete Transaktion. Im manuellen Modus müssen Sie commit/rollback ausführen; im automatischen Modus wird nach erfolgreicher Ausführung automatisch COMMIT ausgeführt.",
|
|
"query_editor.transaction.status.auto_commit_countdown": "Automatischer Commit in {{seconds}}s",
|
|
"query_editor.transaction.status.auto_committing": "Automatischer Commit läuft",
|
|
"query_history.backend.error.connection_fingerprint_invalid": "Der Verbindungs-Fingerprint konnte nicht analysiert werden",
|
|
"query_history.backend.message.cleared": "Verlauf langsamer Abfragen wurde geleert",
|
|
"query_history.backend.message.loaded": "Geladen",
|
|
"query.format": "SQL formatieren",
|
|
"query.new": "Neue Abfrage",
|
|
"query.run": "Ausführen",
|
|
"query.save": "Abfrage speichern",
|
|
"query.stop": "Stoppen",
|
|
"redis_command.action.clear_console": "Konsole leeren",
|
|
"redis_command.action.execute": "Ausführen (Cmd+Enter)",
|
|
"redis_command.completion.detail": "Redis-Befehl",
|
|
"redis_command.message.command_required": "Geben Sie einen auszuführenden Befehl ein",
|
|
"redis_command.output.empty_hint": "Führen Sie Befehle in dieser Konsole aus; Ergebnisse werden wie zurückgegeben angezeigt.",
|
|
"redis_command.output.selection_tip": "Tipp: Wählen Sie Zeilen aus und drücken Sie Ctrl + Enter, um nur diese Auswahl auszuführen.",
|
|
"redis_command.output.title": "Ausgabe",
|
|
"redis_command.state.connection_not_found": "Verbindung nicht gefunden",
|
|
"redis_command.title.console": "Redis-Konsole",
|
|
"redis_monitor.action.pause_refresh": "Aktualisierung pausieren",
|
|
"redis_monitor.action.refresh_now": "Jetzt aktualisieren",
|
|
"redis_monitor.action.resume_refresh": "Aktualisierung fortsetzen",
|
|
"redis_monitor.chart.clients_keys": "Verbindungsinformationen (Clients und Keys)",
|
|
"redis_monitor.chart.cpu_usage": "CPU-Auslastung",
|
|
"redis_monitor.chart.memory": "Speicherverbrauch",
|
|
"redis_monitor.chart.qps": "Anfragedurchsatz (QPS)",
|
|
"redis_monitor.message.fetch_failed": "Redis-Informationen konnten nicht abgerufen werden: {{detail}}",
|
|
"redis_monitor.metric.blocked_clients": "Blockiert: {{value}}",
|
|
"redis_monitor.metric.clients": "Client-Verbindungen",
|
|
"redis_monitor.metric.days": "Tage: {{value}}",
|
|
"redis_monitor.metric.memory_peak": "Spitze: {{value}}",
|
|
"redis_monitor.metric.memory_used": "Verwendeter Speicher",
|
|
"redis_monitor.metric.ops": "Durchsatz (OPS)",
|
|
"redis_monitor.metric.uptime": "Laufzeit",
|
|
"redis_monitor.series.clients": "Client-Verbindungen",
|
|
"redis_monitor.series.rss_memory": "RSS-Speicher",
|
|
"redis_monitor.series.system": "Systemlast",
|
|
"redis_monitor.series.total_keys": "Keys gesamt",
|
|
"redis_monitor.series.used_memory": "Verwendeter Speicher",
|
|
"redis_monitor.series.user": "Benutzer",
|
|
"redis_monitor.server_details.title": "Detaillierte Serverparameter",
|
|
"redis_monitor.state.connection_not_found": "Verbindung nicht gefunden",
|
|
"redis_monitor.title.instance": "Redis-Instanzmonitor",
|
|
"redis_viewer.action.add_field": "Feld hinzufügen",
|
|
"redis_viewer.action.add_list_head": "An den Anfang schieben",
|
|
"redis_viewer.action.add_list_tail": "An das Ende schieben",
|
|
"redis_viewer.action.add_member": "Mitglied hinzufügen",
|
|
"redis_viewer.action.add_stream_entry": "Eintrag hinzufügen",
|
|
"redis_viewer.action.clear_group_selection": "Auswahl aufheben",
|
|
"redis_viewer.action.clear_selection": "Auswahl aufheben",
|
|
"redis_viewer.action.copy": "Kopieren",
|
|
"redis_viewer.action.copy_key_name": "Key-Namen kopieren",
|
|
"redis_viewer.action.copy_value": "Wert kopieren",
|
|
"redis_viewer.action.delete_key": "Key löschen",
|
|
"redis_viewer.action.delete_selected": "Auswahl löschen ({{count}})",
|
|
"redis_viewer.action.edit": "Bearbeiten",
|
|
"redis_viewer.action.load_more": "Mehr laden",
|
|
"redis_viewer.action.new_key": "Neu",
|
|
"redis_viewer.action.refresh": "Aktualisieren",
|
|
"redis_viewer.action.rename_key": "Key umbenennen",
|
|
"redis_viewer.action.select_all_loaded": "Alle geladenen auswählen",
|
|
"redis_viewer.action.select_group": "Auswählen",
|
|
"redis_viewer.action.set_ttl": "TTL setzen",
|
|
"redis_viewer.aria.collapse_group": "Gruppe einklappen",
|
|
"redis_viewer.aria.expand_group": "Gruppe ausklappen",
|
|
"redis_viewer.confirm.delete_field": "Dieses Feld löschen?",
|
|
"redis_viewer.confirm.delete_key": "Key \"{{key}}\" löschen?",
|
|
"redis_viewer.confirm.delete_member": "Dieses Mitglied löschen?",
|
|
"redis_viewer.confirm.delete_selected": "Die ausgewählten {{count}} Keys löschen?",
|
|
"redis_viewer.confirm.delete_stream_entry": "Diesen Stream-Eintrag löschen?",
|
|
"redis_viewer.field.field_name": "Feldname",
|
|
"redis_viewer.field.fields_json": "Felder-JSON:",
|
|
"redis_viewer.field.key": "Key",
|
|
"redis_viewer.field.member": "Mitglied:",
|
|
"redis_viewer.field.new_key_name": "Neuer Key-Name",
|
|
"redis_viewer.field.new_score": "Neuer Score:",
|
|
"redis_viewer.field.score": "Punktzahl:",
|
|
"redis_viewer.field.stream_id": "ID (optional, Standard *):",
|
|
"redis_viewer.field.ttl_seconds": "TTL (Sekunden)",
|
|
"redis_viewer.field.value": "Wert",
|
|
"redis_viewer.help.ttl_forever": "-1 bedeutet keine Ablaufzeit",
|
|
"redis_viewer.hint.binary_readonly": "Binärdaten können nicht bearbeitet werden",
|
|
"redis_viewer.hint.switch_auto_to_edit": "Zum Bearbeiten in den Auto-Modus wechseln",
|
|
"redis_viewer.label.encoding": "Kodierung: {{encoding}}",
|
|
"redis_viewer.label.keys_count": "{{count}} Schlüssel",
|
|
"redis_viewer.label.length": "Länge: {{count}}",
|
|
"redis_viewer.label.node_count": "{{count}} Knoten",
|
|
"redis_viewer.label.original_key": "Ursprünglicher Key: {{key}}",
|
|
"redis_viewer.message.add_failed": "Hinzufügen fehlgeschlagen: {{detail}}",
|
|
"redis_viewer.message.add_success": "Hinzugefügt",
|
|
"redis_viewer.message.add_success_with_id": "Hinzugefügt {{id}}",
|
|
"redis_viewer.message.copied": "Kopiert",
|
|
"redis_viewer.message.copy_failed": "Kopieren fehlgeschlagen",
|
|
"redis_viewer.message.create_failed": "Erstellen fehlgeschlagen: {{detail}}",
|
|
"redis_viewer.message.create_success": "Erstellt",
|
|
"redis_viewer.message.delete_failed": "Löschen fehlgeschlagen: {{detail}}",
|
|
"redis_viewer.message.delete_success": "Gelöscht",
|
|
"redis_viewer.message.deleted_keys": "{{count}} Keys gelöscht",
|
|
"redis_viewer.message.fields_json_invalid": "Felder-JSON ist ungültig",
|
|
"redis_viewer.message.fields_must_be_json_object": "Felder müssen ein JSON-Objekt sein",
|
|
"redis_viewer.message.fields_required": "Geben Sie mindestens ein Feld an",
|
|
"redis_viewer.message.key_check_failed": "Ziel-Key konnte nicht geprüft werden: {{detail}}",
|
|
"redis_viewer.message.key_missing_removed": "Der Key existiert nicht mehr oder ist abgelaufen und wurde aus der Liste entfernt",
|
|
"redis_viewer.message.key_name_copied": "Key-Name kopiert",
|
|
"redis_viewer.message.load_keys_failed": "Keys konnten nicht geladen werden: {{detail}}",
|
|
"redis_viewer.message.new_key_name_required": "Geben Sie den neuen Key-Namen ein",
|
|
"redis_viewer.message.rename_failed": "Umbenennen fehlgeschlagen: {{detail}}",
|
|
"redis_viewer.message.rename_same_key": "Der neue Key-Name muss sich vom ursprünglichen unterscheiden",
|
|
"redis_viewer.message.rename_success": "Key umbenannt",
|
|
"redis_viewer.message.save_failed": "Speichern fehlgeschlagen: {{detail}}",
|
|
"redis_viewer.message.save_success": "Gespeichert",
|
|
"redis_viewer.message.set_failed": "Setzen fehlgeschlagen: {{detail}}",
|
|
"redis_viewer.message.stream_entry_not_deleted": "Kein Stream-Eintrag wurde gelöscht; er existiert möglicherweise nicht mehr",
|
|
"redis_viewer.message.target_key_exists": "Ziel-Key existiert bereits: {{key}}",
|
|
"redis_viewer.message.ttl_set_success": "TTL aktualisiert",
|
|
"redis_viewer.message.update_failed": "Aktualisierung fehlgeschlagen: {{detail}}",
|
|
"redis_viewer.message.update_success": "Aktualisiert",
|
|
"redis_viewer.message.value_load_failed": "Wert konnte nicht abgerufen werden: {{detail}}",
|
|
"redis_viewer.modal.add_element": "Element hinzufügen",
|
|
"redis_viewer.modal.add_element_head": "Element am Anfang hinzufügen",
|
|
"redis_viewer.modal.add_field": "Feld hinzufügen",
|
|
"redis_viewer.modal.add_member": "Mitglied hinzufügen",
|
|
"redis_viewer.modal.add_stream_entry": "Stream-Eintrag hinzufügen",
|
|
"redis_viewer.modal.edit_field": "Feld bearbeiten: {{field}}",
|
|
"redis_viewer.modal.edit_index": "Index {{index}} bearbeiten",
|
|
"redis_viewer.modal.edit_value": "Wert bearbeiten",
|
|
"redis_viewer.modal.new_key": "Neuer Key",
|
|
"redis_viewer.modal.rename_key": "Key umbenennen",
|
|
"redis_viewer.modal.set_ttl": "TTL setzen",
|
|
"redis_viewer.modal.update_score": "Score aktualisieren",
|
|
"redis_viewer.notice.large_keyspace_mode": "Leistungsmodus für große Keyspaces ist aktiviert. Die Knotendarstellung ist vereinfacht, und bis zu {{count}} ausgeklappte Gruppen bleiben erhalten.",
|
|
"redis_viewer.placeholder.key_name": "Key-Name",
|
|
"redis_viewer.placeholder.member_value": "Mitgliedswert eingeben",
|
|
"redis_viewer.placeholder.new_element_value": "Neuen Elementwert eingeben",
|
|
"redis_viewer.placeholder.new_key_name": "new:key:name",
|
|
"redis_viewer.placeholder.new_member_value": "Neuen Mitgliedswert eingeben",
|
|
"redis_viewer.placeholder.search_exact": "Vollständigen Key oder Namespace für exakte Suche eingeben",
|
|
"redis_viewer.placeholder.search_fuzzy": "Keys suchen (unscharfe Suche)",
|
|
"redis_viewer.placeholder.stream_id": "Zum Beispiel: * oder 1723110000000-0",
|
|
"redis_viewer.placeholder.value": "Wert",
|
|
"redis_viewer.search.exact": "Exakt",
|
|
"redis_viewer.search.fuzzy": "Unscharf",
|
|
"redis_viewer.state.connection_not_found": "Verbindung nicht gefunden",
|
|
"redis_viewer.state.empty_selection": "Wählen Sie einen Key aus, um Details anzuzeigen",
|
|
"redis_viewer.table.action": "Aktionen",
|
|
"redis_viewer.table.field": "Feld",
|
|
"redis_viewer.table.fields": "Felder",
|
|
"redis_viewer.table.index": "Position",
|
|
"redis_viewer.table.member": "Mitglied",
|
|
"redis_viewer.table.score": "Punktzahl",
|
|
"redis_viewer.table.value": "Wert",
|
|
"redis_viewer.title.active_key": "Aktiver Key",
|
|
"redis_viewer.title.key_explorer": "Key-Explorer",
|
|
"redis_viewer.title.namespace_key": "Namensraum / Key",
|
|
"redis_viewer.title.type_ttl": "Typ / TTL",
|
|
"redis_viewer.tooltip.copy_fields_json": "Felder-JSON kopieren",
|
|
"redis_viewer.tooltip.copy_id": "ID kopieren",
|
|
"redis_viewer.tooltip.copy_key_name": "Key-Namen kopieren",
|
|
"redis_viewer.tooltip.copy_value": "Wert kopieren",
|
|
"redis_viewer.tooltip.resize_panels": "Zum Ändern der Größe ziehen",
|
|
"redis_viewer.topology.cluster": "Cluster",
|
|
"redis_viewer.topology.sentinel": "Sentinel",
|
|
"redis_viewer.topology.single": "Einzelinstanz",
|
|
"redis_viewer.ttl.days_hours": "{{days}} T {{hours}} Std.",
|
|
"redis_viewer.ttl.expired": "Abgelaufen",
|
|
"redis_viewer.ttl.forever": "Dauerhaft",
|
|
"redis_viewer.ttl.hours_minutes": "{{hours}} Std. {{minutes}} Min.",
|
|
"redis_viewer.ttl.minutes_seconds": "{{minutes}} Min. {{seconds}} Sek.",
|
|
"redis_viewer.ttl.seconds": "{{seconds}} Sek.",
|
|
"redis_viewer.validation.key_required": "Geben Sie einen Key ein",
|
|
"redis_viewer.validation.new_key_name_required": "Geben Sie den neuen Key-Namen ein",
|
|
"redis_viewer.validation.value_required": "Geben Sie einen Wert ein",
|
|
"redis_viewer.view.auto": "Auto",
|
|
"redis_viewer.view.hex": "Hex",
|
|
"redis_viewer.view.text": "Rohtext",
|
|
"redis_viewer.view.title": "Ansichtsmodus",
|
|
"redis.backend.error.address_required": "Redis-Verbindungsadresse darf nicht leer sein",
|
|
"redis.backend.error.argument_invalid_type": "{{name}} hat einen ungültigen Typ",
|
|
"redis.backend.error.argument_required": "{{name}} ist erforderlich",
|
|
"redis.backend.error.cluster_connect_failed": "Redis-Cluster-Verbindung fehlgeschlagen: {{detail}}",
|
|
"redis.backend.error.command_required": "Command darf nicht leer sein",
|
|
"redis.backend.error.connect_attempt_failed": "Verbindungsversuch {{attempt}} fehlgeschlagen: {{detail}}",
|
|
"redis.backend.error.connect_failed": "Redis-Verbindung fehlgeschlagen: {{detail}}",
|
|
"redis.backend.error.connect_tls_setup_failed": "TLS-Einrichtung bei Versuch {{attempt}} fehlgeschlagen: {{detail}}",
|
|
"redis.backend.error.invalid_node_address": "Ungültige Redis-Knotenadresse: {{address}}",
|
|
"redis.backend.error.invalid_port": "Ungültiger Redis-Port: {{address}}",
|
|
"redis.backend.error.node_address_required": "Redis-Knotenadresse darf nicht leer sein",
|
|
"redis.backend.error.select_db_index_invalid": "Ungültiger Datenbankindex: {{value}}",
|
|
"redis.backend.error.select_db_index_out_of_range": "Der Datenbankindex muss zwischen {{min}} und {{max}} liegen",
|
|
"redis.backend.error.select_db_index_required": "Für den SELECT-Befehl ist ein Datenbankindex erforderlich",
|
|
"redis.backend.error.sentinel_connect_failed": "Redis-Sentinel-Verbindung fehlgeschlagen: {{detail}}",
|
|
"redis.backend.error.sentinel_master_required": "Der Redis-Sentinel-Modus erfordert einen Master-Namen",
|
|
"redis.backend.error.ssh_tunnel_create_failed": "SSH-Tunnel konnte nicht erstellt werden: {{detail}}",
|
|
"redis.backend.error.test_connection_close_failed": "Verbindung erfolgreich, aber das Freigeben der Testverbindung ist fehlgeschlagen: {{detail}}",
|
|
"redis.backend.error.topology_ssh_tunnel_unsupported": "Der Redis-{{topology}}-Modus unterstützt SSH-Tunnel noch nicht. Deaktivieren Sie SSH und versuchen Sie es erneut.",
|
|
"redis.backend.label.topology_cluster": "Cluster",
|
|
"redis.backend.label.topology_multi_node": "Multi-Node",
|
|
"redis.backend.label.topology_sentinel": "Sentinel",
|
|
"redis.backend.message.add_success": "Hinzufügen erfolgreich",
|
|
"redis.backend.message.connect_success": "Verbindung erfolgreich",
|
|
"redis.backend.message.delete_success": "Löschen erfolgreich",
|
|
"redis.backend.message.flush_success": "Leeren erfolgreich",
|
|
"redis.backend.message.rename_success": "Umbenennen erfolgreich",
|
|
"redis.backend.message.select_db_success": "Datenbank gewechselt",
|
|
"redis.backend.message.set_success": "Setzen erfolgreich",
|
|
"redis.db_alias.menu.set": "Alias festlegen",
|
|
"redis.db_alias.modal.placeholder": "z. B. cache, sessions (leer lassen zum Entfernen)",
|
|
"redis.db_alias.modal.title": "Alias für {{db}}",
|
|
"saved_query.default_name": "Abfrage {{index}}",
|
|
"saved_query.error.missing_context": "Der gespeicherten Abfrage fehlt SQL-, Verbindungs- oder Datenbankkontext",
|
|
"security_update.action.open_ai_settings": "AI-Einstellungen",
|
|
"security_update.action.open_connection": "Verbindung öffnen",
|
|
"security_update.action.open_proxy_settings": "Proxy-Einstellungen",
|
|
"security_update.action.retry_update": "Erneut prüfen",
|
|
"security_update.action.view_details": "Details anzeigen",
|
|
"security_update.backend.issue.ai_provider.migration_required": "Die AI-Anbieterkonfiguration ist noch in der aktuellen App-Konfiguration gespeichert. Nach Abschluss des Sicherheitsupdates wird sie in den neuen sicheren Speicher verschoben.",
|
|
"security_update.backend.issue.ai_provider.missing_or_resave": "Die AI-Anbieterkonfiguration ist nicht mehr vorhanden oder muss erneut gespeichert werden, bevor das Sicherheitsupdate abgeschlossen werden kann.",
|
|
"security_update.backend.issue.ai_provider.secret_missing": "Die AI-Anbieterkonfiguration benötigt weitere Angaben, bevor das Sicherheitsupdate abgeschlossen werden kann.",
|
|
"security_update.backend.issue.connection.incomplete": "Die Verbindungskonfiguration benötigt weitere Angaben, bevor das Sicherheitsupdate abgeschlossen werden kann.",
|
|
"security_update.backend.issue.connection.missing_or_resave": "Die Verbindungskonfiguration ist nicht mehr vorhanden oder muss erneut gespeichert werden, bevor das Sicherheitsupdate abgeschlossen werden kann.",
|
|
"security_update.backend.issue.connection.password_missing": "Das Verbindungspasswort fehlt. Speichern Sie es erneut, bevor Sie fortfahren.",
|
|
"security_update.backend.issue.global_proxy.missing_or_resave": "Die globalen Proxy-Einstellungen sind nicht mehr vorhanden oder müssen erneut gespeichert werden, bevor das Sicherheitsupdate abgeschlossen werden kann.",
|
|
"security_update.backend.issue.global_proxy.password_incomplete": "Das globale Proxy-Passwort benötigt weitere Angaben, bevor das Sicherheitsupdate abgeschlossen werden kann.",
|
|
"security_update.backend.issue.global_proxy.password_missing": "Das globale Proxy-Passwort fehlt. Speichern Sie es erneut, bevor Sie fortfahren.",
|
|
"security_update.backend.issue.global_proxy.title": "Globaler Proxy",
|
|
"security_update.backend.issue.system.message": "Die aktuelle Umgebung konnte dieses Sicherheitsupdate nicht abschließen. Versuchen Sie es später erneut.",
|
|
"security_update.backend.issue.system.title": "Sicherheitsupdate wurde nicht abgeschlossen",
|
|
"security_update.banner.action.restart_update": "Update neu starten",
|
|
"security_update.banner.action.retry_check": "Erneut prüfen",
|
|
"security_update.banner.action.start_now": "Jetzt aktualisieren",
|
|
"security_update.banner.action.view_details": "Details anzeigen",
|
|
"security_update.banner.title": "Gespeicherte Konfigurationen können sicher aktualisiert werden",
|
|
"security_update.bootstrap.legacy.connection.message": "Diese Verbindung ist noch in der lokalen Konfiguration der aktuellen App gespeichert. Nach Abschluss des Sicherheitsupdates wird sie in die neue sichere Speicherung verschoben.",
|
|
"security_update.bootstrap.legacy.global_proxy.message": "Globale Proxy-Einstellungen sind noch in der lokalen Konfiguration der aktuellen App gespeichert. Nach Abschluss des Sicherheitsupdates werden sie in die neue sichere Speicherung verschoben.",
|
|
"security_update.bootstrap.legacy.global_proxy.title": "Globaler Proxy",
|
|
"security_update.error.capability_unavailable": "Sicherheitsupdate-Funktion ist nicht verfügbar",
|
|
"security_update.intro.action.details": "Details anzeigen",
|
|
"security_update.intro.action.later": "Später erinnern",
|
|
"security_update.intro.action.start_now": "Jetzt aktualisieren",
|
|
"security_update.intro.description": "Damit gespeicherte Verbindungen, Proxy-Einstellungen und zugehörige Dienstkonfigurationen die neue sichere Speicherung verwenden, muss dieses Update einmal lokal ausgeführt werden. Vor dem Update wird automatisch eine lokale Sicherung erstellt. Wenn es nicht abgeschlossen wird, behält das System die aktuell nutzbare Konfiguration bei, und Sie können später fortfahren.",
|
|
"security_update.intro.subtitle": "Vor der neuen sicheren Speicherung ist ein lokales Konfigurationsupdate erforderlich.",
|
|
"security_update.intro.title": "Sicherheitsupdate für gespeicherte Konfigurationen",
|
|
"security_update.item_status.failed": "Fehlgeschlagen",
|
|
"security_update.item_status.needs_attention": "Bearbeitung erforderlich",
|
|
"security_update.item_status.pending": "Ausstehend",
|
|
"security_update.item_status.skipped": "Übersprungen",
|
|
"security_update.item_status.updated": "Aktualisiert",
|
|
"security_update.progress.default_detail": "Die aktuell nutzbare Konfiguration bleibt während des Updates erhalten. Bitte warten.",
|
|
"security_update.repair.warning.connection_not_found": "Die zugehörige Verbindung wurde nicht gefunden. Prüfen Sie zuerst den aktuellen Status erneut.",
|
|
"security_update.settings.action.close": "Schließen",
|
|
"security_update.settings.action.restart_update": "Update neu starten",
|
|
"security_update.settings.action.retry_check": "Erneut prüfen",
|
|
"security_update.settings.action.start": "Update starten",
|
|
"security_update.settings.backup_path": "Sicherungsort: ",
|
|
"security_update.settings.current_status": "Aktueller Status: {{status}}",
|
|
"security_update.settings.empty_pending": "Keine offenen Punkte",
|
|
"security_update.settings.item_default_message": "Dieser Punkt erfordert weitere Bearbeitung, bevor das Sicherheitsupdate abgeschlossen werden kann.",
|
|
"security_update.settings.item_severity": "Schweregrad: {{severity}}",
|
|
"security_update.settings.item_status": "Zustand: {{status}}",
|
|
"security_update.settings.last_error": "Letzter Fehler: ",
|
|
"security_update.settings.pending_list": "Offene Punkte",
|
|
"security_update.settings.recent_result": "Letztes Ergebnis",
|
|
"security_update.settings.scope_title": "Betroffener Bereich",
|
|
"security_update.settings.subtitle": "Status des Sicherheitsupdates und offene Punkte für gespeicherte Konfigurationen verwalten.",
|
|
"security_update.settings.summary.failed": "Fehlgeschlagen",
|
|
"security_update.settings.summary.pending": "Offen",
|
|
"security_update.settings.summary.skipped": "Übersprungen",
|
|
"security_update.settings.summary.total": "Gesamt",
|
|
"security_update.settings.summary.updated": "Aktualisiert",
|
|
"security_update.settings.title": "Sicherheitsupdate",
|
|
"security_update.severity.high": "Hohes Risiko",
|
|
"security_update.severity.low": "Niedriges Risiko",
|
|
"security_update.severity.medium": "Mittleres Risiko",
|
|
"security_update.status.completed.description": "Gespeicherte Konfigurationen haben das Sicherheitsupdate abgeschlossen.",
|
|
"security_update.status.completed.label": "Abgeschlossen",
|
|
"security_update.status.in_progress.description": "Sichere Speicherung gespeicherter Konfigurationen wird geprüft und aktualisiert.",
|
|
"security_update.status.in_progress.label": "Aktualisierung läuft",
|
|
"security_update.status.needs_attention.description": "Das Update ist noch nicht abgeschlossen. Einige Konfigurationen erfordern Aufmerksamkeit.",
|
|
"security_update.status.needs_attention.label": "Bearbeitung erforderlich",
|
|
"security_update.status.not_detected.description": "Derzeit erfordert kein Sicherheitsupdate Ihre Aufmerksamkeit.",
|
|
"security_update.status.not_detected.label": "Nicht erkannt",
|
|
"security_update.status.pending.description": "Ein Sicherheitsupdate ist verfügbar. Sie können jetzt starten oder später fortfahren.",
|
|
"security_update.status.pending.label": "Ausstehend",
|
|
"security_update.status.postponed.description": "Dieses Sicherheitsupdate wurde verschoben. Die aktuell nutzbare Konfiguration bleibt erhalten.",
|
|
"security_update.status.postponed.label": "Ausstehend",
|
|
"security_update.status.rolled_back.description": "Dieses Update wurde nicht abgeschlossen. Das System hat die aktuell nutzbare Konfiguration beibehalten.",
|
|
"security_update.status.rolled_back.label": "Zurückgesetzt",
|
|
"settings.language.description": "Wählen Sie die Anzeigesprache für GoNavi.",
|
|
"settings.language.english": "English",
|
|
"settings.language.follow_system": "Systemsprache verwenden",
|
|
"settings.language.german": "Deutsch",
|
|
"settings.language.japanese": "日本語",
|
|
"settings.language.restart_hint": "Einige Editoren und systemnahe Menüs müssen eventuell erneut geöffnet werden, damit die Änderung vollständig wirksam wird.",
|
|
"settings.language.russian": "Русский",
|
|
"settings.language.simplified_chinese": "简体中文",
|
|
"settings.language.title": "Sprache",
|
|
"settings.language.traditional_chinese": "繁體中文",
|
|
"settings.title": "Einstellungen",
|
|
"sidebar.action.backup_database_count": "Datenbanken sichern ({{count}})",
|
|
"sidebar.action.backup_schema_data": "Sicherung (Struktur + Daten)",
|
|
"sidebar.action.batch_databases": "Datenbanken stapelweise bearbeiten",
|
|
"sidebar.action.batch_tables": "Tabellen stapelweise bearbeiten",
|
|
"sidebar.action.cancel": "Abbrechen",
|
|
"sidebar.action.clear_selection": "Alle abwählen",
|
|
"sidebar.action.clear_tables": "Tabellen leeren",
|
|
"sidebar.action.close": "Schließen",
|
|
"sidebar.action.continue": "Fortfahren",
|
|
"sidebar.action.delete": "Löschen",
|
|
"sidebar.action.export_data_only": "Nur Daten (INSERT)",
|
|
"sidebar.action.export_database_schema_count": "Datenbankstrukturen exportieren ({{count}})",
|
|
"sidebar.action.export_schema": "Struktur exportieren",
|
|
"sidebar.action.invert_selection": "Auswahl umkehren",
|
|
"sidebar.action.locate_current_tab": "Aktuellen Tab lokalisieren",
|
|
"sidebar.action.locate_current_table": "Aktuell geöffnete Tabelle lokalisieren",
|
|
"sidebar.action.new_group": "Neue Gruppe",
|
|
"sidebar.action.pin_table": "Tabelle anheften",
|
|
"sidebar.action.select_all": "Alle auswählen",
|
|
"sidebar.action.unpin_table": "Anheften aufheben",
|
|
"sidebar.active_connection.actions": "Verbindungsaktionen",
|
|
"sidebar.active_connection.current_host_database": "Aktueller Host und Datenbank",
|
|
"sidebar.active_connection.no_database_selected": "Keine Datenbank ausgewählt",
|
|
"sidebar.active_connection.no_host_selected": "Kein Host ausgewählt",
|
|
"sidebar.ai_prompt.explain.detail": "Gehe besonders auf Feldbedeutungen, Primärschlüssel/Indizes, mögliche Beziehungen, typische Abfrageszenarien und Risiken ein.",
|
|
"sidebar.ai_prompt.explain.intro": "Erkläre die Struktur und fachliche Bedeutung der Tabelle {{table}}.",
|
|
"sidebar.ai_prompt.query.detail": "Enthalten sein sollen: eine Datenvorschau-Abfrage, eine Abfrage mit Filterung nach Schlüsselfeldern und eine Aggregations- oder Statistikabfrage.",
|
|
"sidebar.ai_prompt.query.intro": "Erstelle 3 häufig genutzte SQL-Abfragen für die Tabelle {{table}}.",
|
|
"sidebar.aria.switch_connection": "Zu Verbindung {{name}} wechseln",
|
|
"sidebar.badge.recommended": "Empfohlen",
|
|
"sidebar.batch_databases": "Datenbanken stapelweise bearbeiten",
|
|
"sidebar.batch_tables": "Tabellen stapelweise bearbeiten",
|
|
"sidebar.batch.filtered_count": "{{filtered}} / {{total}} Objekte angezeigt",
|
|
"sidebar.batch.group.tables": "Tabellen",
|
|
"sidebar.batch.group.views": "Ansichten",
|
|
"sidebar.batch.no_matching_objects": "Keine passenden Objekte",
|
|
"sidebar.batch.selected_databases": "{{selected}} / {{total}} Datenbanken ausgewählt",
|
|
"sidebar.batch.selected_objects": "{{selected}} / {{total}} Objekte ausgewählt",
|
|
"sidebar.command_search.action.ask_ai.title": "AI fragen",
|
|
"sidebar.command_search.action.new_connection.meta": "Eine Datenbank-, Runtime- oder andere Datenquellenverbindung erstellen",
|
|
"sidebar.command_search.action.new_connection.title": "Neue Datenquelle",
|
|
"sidebar.command_search.action.new_query.meta": "Einen neuen SQL-Editor-Tab öffnen",
|
|
"sidebar.command_search.action.open_ai.meta": "AI analysiert den aktuellen Datenbankkontext",
|
|
"sidebar.command_search.action.open_ai.title": "AI-Datenanalyse öffnen",
|
|
"sidebar.command_search.action.open_sql_log.meta": "Das Panel mit den letzten Ausführungen öffnen",
|
|
"sidebar.command_search.action.open_sql_log.title": "SQL-Ausführungslog anzeigen",
|
|
"sidebar.command_search.empty.ai": "Gib nach \"?\" eine Frage ein und drücke Enter, um sie an das AI-Panel zu senden.",
|
|
"sidebar.command_search.empty.default": "Keine Treffer. Gib @Tabelle ein, um nur Tabellenobjekte zu suchen, oder ?Frage, um AI zu fragen.",
|
|
"sidebar.command_search.empty.object": "Keine passenden Tabellen, Sichten oder materialisierten Sichten.",
|
|
"sidebar.command_search.footer.ask_ai": "An AI senden",
|
|
"sidebar.command_search.footer.navigate": "Navigieren",
|
|
"sidebar.command_search.footer.object_only": "Nur Tabellenobjekte",
|
|
"sidebar.command_search.footer.select": "Auswählen",
|
|
"sidebar.command_search.label": "Tabellen, Verbindungen, Aktionen suchen",
|
|
"sidebar.command_search.no_filter_content": "Kein Filtertext",
|
|
"sidebar.command_search.no_synced_filter": "Kein synchronisierter Seitenleistenfilter",
|
|
"sidebar.command_search.object_kind.all": "Alle",
|
|
"sidebar.command_search.object_kind.events": "Ereignisse",
|
|
"sidebar.command_search.object_kind.filter_aria": "Objektfilter",
|
|
"sidebar.command_search.object_kind.packages": "Pakete",
|
|
"sidebar.command_search.object_kind.routines": "Routinen",
|
|
"sidebar.command_search.object_kind.sequences": "Sequenzen",
|
|
"sidebar.command_search.object_kind.tables": "Tabellen",
|
|
"sidebar.command_search.object_kind.views": "Sichten",
|
|
"sidebar.command_search.placeholder": "Tabellen, Verbindungen, Aktionen suchen... oder KI fragen",
|
|
"sidebar.command_search.recent_sql_fallback": "SQL-Eintrag",
|
|
"sidebar.command_search.reset_filter": "Seitenleistenfilter zurücksetzen",
|
|
"sidebar.command_search.scope.compact_smart": "Smart",
|
|
"sidebar.command_search.scope.database": "Datenbank",
|
|
"sidebar.command_search.scope.description": "\"Smart\" wählt automatisch die wahrscheinlichsten Treffer; im manuellen Modus lassen sich Filterdimensionen kombinieren.",
|
|
"sidebar.command_search.scope.host": "Host",
|
|
"sidebar.command_search.scope.manual_help": "Smart schließt andere Optionen aus. Wenn klar ist, ob nach Objekten, Datenbanken, Host oder Tags gesucht werden soll, reduziert der manuelle Bereich störende Treffer.",
|
|
"sidebar.command_search.scope.manual_title": "Manueller Bereich",
|
|
"sidebar.command_search.scope.multi_select": "Mehrfachauswahl unterstützt",
|
|
"sidebar.command_search.scope.object": "Tabellenobjekte",
|
|
"sidebar.command_search.scope.recommended": "Empfohlen",
|
|
"sidebar.command_search.scope.smart": "Smart",
|
|
"sidebar.command_search.scope.smart_help": "Geeignet für die tägliche Suche; deckt automatisch häufige Dimensionen wie Namen, Datenbanken, Host und Tags ab.",
|
|
"sidebar.command_search.scope.summary_smart": "Smart",
|
|
"sidebar.command_search.scope.tag": "Tags",
|
|
"sidebar.command_search.scope.title": "Suchbereich",
|
|
"sidebar.command_search.scope.tooltip": "Suchbereich: {{scope}}",
|
|
"sidebar.command_search.section.actions": "Aktionen",
|
|
"sidebar.command_search.section.ai": "AI · Fragen",
|
|
"sidebar.command_search.section.goto": "Gehe zu",
|
|
"sidebar.command_search.section.recent": "Letzte Abfragen",
|
|
"sidebar.command_search.sync_to_filter_aria": "Mit linkem Filter synchronisieren",
|
|
"sidebar.command_search.sync_to_filter_tooltip": "Eingabe mit dem linken Filter synchronisieren",
|
|
"sidebar.copy_object_name.copied": "{{label}} wurde in die Zwischenablage kopiert",
|
|
"sidebar.copy_object_name.empty": "{{label}} ist leer und kann nicht kopiert werden",
|
|
"sidebar.copy_object_name.failed": "{{label}} konnte nicht kopiert werden: {{error}}",
|
|
"sidebar.copy_object_name.label.event": "Ereignisname",
|
|
"sidebar.copy_object_name.label.materialized_view": "Name der materialisierten Ansicht",
|
|
"sidebar.copy_object_name.label.package": "Paketname",
|
|
"sidebar.copy_object_name.label.sequence": "Sequenzname",
|
|
"sidebar.copy_object_name.label.table": "Tabellenname",
|
|
"sidebar.copy_object_name.label.view": "Ansichtsname",
|
|
"sidebar.error.unknown": "Unbekannter Fehler",
|
|
"sidebar.external_sql_modal.action.create": "Erstellen",
|
|
"sidebar.external_sql_modal.action.rename": "Umbenennen",
|
|
"sidebar.external_sql_modal.field.directory_name": "Verzeichnisname",
|
|
"sidebar.external_sql_modal.field.sql_file_name": "SQL-Dateiname",
|
|
"sidebar.external_sql_modal.help.directory": "Das Verzeichnis wird nur im externen SQL-Verzeichnisbaum angezeigt; Nicht-SQL-Dateien bleiben ausgeblendet",
|
|
"sidebar.external_sql_modal.help.sql_file": "Wenn die Endung .sql fehlt, wird sie automatisch ergänzt",
|
|
"sidebar.external_sql_modal.placeholder.directory_name": "z. B. reports",
|
|
"sidebar.external_sql_modal.placeholder.sql_file_name": "z. B. report.sql",
|
|
"sidebar.external_sql_modal.title.create_directory": "Neues Verzeichnis",
|
|
"sidebar.external_sql_modal.title.create_file": "Neue SQL-Datei",
|
|
"sidebar.external_sql_modal.title.rename_directory": "Verzeichnis umbenennen",
|
|
"sidebar.external_sql_modal.title.rename_file": "SQL-Datei umbenennen",
|
|
"sidebar.external_sql_modal.validation.directory_name_no_separator": "Der Verzeichnisname darf keine Pfadtrennzeichen enthalten",
|
|
"sidebar.external_sql_modal.validation.directory_name_required": "Verzeichnisnamen eingeben",
|
|
"sidebar.external_sql_modal.validation.sql_file_name_no_separator": "Der Dateiname darf keine Pfadtrennzeichen enthalten",
|
|
"sidebar.external_sql_modal.validation.sql_file_name_required": "SQL-Dateinamen eingeben",
|
|
"sidebar.external_sql.directory_fallback": "SQL-Verzeichnis",
|
|
"sidebar.external_sql.root": "Externe SQL-Dateien",
|
|
"sidebar.field.database_name": "Datenbankname",
|
|
"sidebar.field.new_database_name": "Neuer Datenbankname",
|
|
"sidebar.field.new_table_name": "Neuer Tabellenname",
|
|
"sidebar.field.new_view_name": "Neuer Ansichtsname",
|
|
"sidebar.field.schema_name": "schema-Name",
|
|
"sidebar.field.select_connection": "Verbindung auswählen",
|
|
"sidebar.field.select_connections": "Verbindungen auswählen",
|
|
"sidebar.field.select_database": "Datenbank auswählen",
|
|
"sidebar.field.tag_name": "Gruppenname",
|
|
"sidebar.filter.all_objects": "Alle Objekte",
|
|
"sidebar.filter.scope_all": "Auswahl anwenden auf: alle Objekte",
|
|
"sidebar.filter.scope_filtered": "Auswahl anwenden auf: aktuelle Filterergebnisse",
|
|
"sidebar.filter.tables_only": "Nur Tabellen",
|
|
"sidebar.filter.views_only": "Nur Ansichten",
|
|
"sidebar.jvm.action.diagnostic": "Diagnoseerweiterung",
|
|
"sidebar.jvm.action.monitoring": "Kontinuierliche Überwachung",
|
|
"sidebar.jvm.tab.audit": "JVM-Audit",
|
|
"sidebar.jvm.tab.diagnostic": "JVM-Diagnose",
|
|
"sidebar.jvm.tab.monitoring": "JVM-Überwachung",
|
|
"sidebar.jvm.tab.overview": "JVM-Überblick",
|
|
"sidebar.jvm.tab.resource": "JVM-Ressourcen",
|
|
"sidebar.locate.object.materialized_view": "Materialisierte Ansicht",
|
|
"sidebar.locate.object.routine": "Funktion/Prozedur",
|
|
"sidebar.locate.object.table": "Tabelle",
|
|
"sidebar.locate.object.trigger": "Trigger",
|
|
"sidebar.locate.object.view": "Ansicht",
|
|
"sidebar.menu.add_sql_directory": "SQL-Verzeichnis hinzufügen",
|
|
"sidebar.menu.backup_all_tables_sql": "Alle Tabellen sichern (Schema + Daten-SQL)",
|
|
"sidebar.menu.backup_current_schema_sql": "Alle Tabellen im aktuellen schema sichern (Struktur und Daten SQL)",
|
|
"sidebar.menu.backup_table_sql": "Tabelle sichern (SQL)",
|
|
"sidebar.menu.bind_to_connection": "An Verbindung binden",
|
|
"sidebar.menu.browse_keys": "Schlüssel durchsuchen",
|
|
"sidebar.menu.browse_materialized_view_data": "Daten der materialisierten Ansicht durchsuchen",
|
|
"sidebar.menu.browse_view_data": "Ansichtsdaten durchsuchen",
|
|
"sidebar.menu.clear_table": "Tabelle leeren",
|
|
"sidebar.menu.close_database": "Datenbank schließen",
|
|
"sidebar.menu.copy_object_name": "Namen kopieren",
|
|
"sidebar.menu.copy_table_name": "Tabellennamen kopieren",
|
|
"sidebar.menu.copy_table_structure": "Tabellenstruktur kopieren",
|
|
"sidebar.menu.create_database": "Neue Datenbank",
|
|
"sidebar.menu.create_event": "Neues Ereignis",
|
|
"sidebar.menu.create_function": "Neue Funktion",
|
|
"sidebar.menu.create_procedure": "Neue Prozedur",
|
|
"sidebar.menu.create_table": "Neue Tabelle",
|
|
"sidebar.menu.create_view": "Neue Ansicht",
|
|
"sidebar.menu.danger_operations": "Gefährliche Operationen",
|
|
"sidebar.menu.delete_connection": "Verbindung löschen",
|
|
"sidebar.menu.delete_database": "Datenbank löschen",
|
|
"sidebar.menu.delete_local_directory": "Lokales Verzeichnis löschen",
|
|
"sidebar.menu.delete_query": "Abfrage löschen",
|
|
"sidebar.menu.delete_routine": "{{type}} löschen",
|
|
"sidebar.menu.delete_schema": "schema löschen",
|
|
"sidebar.menu.delete_sql_directory": "Verzeichnis löschen",
|
|
"sidebar.menu.delete_sql_file": "SQL-Datei löschen",
|
|
"sidebar.menu.delete_table": "Tabelle löschen",
|
|
"sidebar.menu.delete_tag": "Gruppe löschen",
|
|
"sidebar.menu.delete_view": "Ansicht löschen",
|
|
"sidebar.menu.design_table": "Tabelle entwerfen",
|
|
"sidebar.menu.disconnect": "Trennen",
|
|
"sidebar.menu.duplicate_connection": "Verbindung duplizieren",
|
|
"sidebar.menu.edit_connection": "Verbindung bearbeiten",
|
|
"sidebar.menu.edit_definition": "Definition bearbeiten",
|
|
"sidebar.menu.edit_schema": "schema bearbeiten",
|
|
"sidebar.menu.edit_tag": "Gruppe bearbeiten",
|
|
"sidebar.menu.edit_view": "Ansicht bearbeiten",
|
|
"sidebar.menu.export_all_table_schema_sql": "Schemas aller Tabellen als SQL exportieren",
|
|
"sidebar.menu.export_csv": "Als CSV exportieren",
|
|
"sidebar.menu.export_current_schema_sql": "Tabellenstruktur des aktuellen schema exportieren (SQL)",
|
|
"sidebar.menu.export_html": "Als HTML exportieren",
|
|
"sidebar.menu.export_json": "Als JSON exportieren",
|
|
"sidebar.menu.export_markdown": "Als Markdown exportieren",
|
|
"sidebar.menu.export_table_data": "Tabellendaten exportieren",
|
|
"sidebar.menu.export_xlsx": "Als XLSX exportieren",
|
|
"sidebar.menu.materialized_view_definition": "Definition der materialisierten Ansicht",
|
|
"sidebar.menu.move_out_of_tag": "Aus Gruppe entfernen",
|
|
"sidebar.menu.move_to_tag": "In Gruppe verschieben",
|
|
"sidebar.menu.new_command_window": "Neues Befehlsfenster",
|
|
"sidebar.menu.new_query": "Neue Abfrage",
|
|
"sidebar.menu.new_sql_directory": "Neues Verzeichnis",
|
|
"sidebar.menu.new_sql_directory_in_directory": "Neues Verzeichnis in diesem Verzeichnis",
|
|
"sidebar.menu.new_sql_file": "Neue SQL-Datei",
|
|
"sidebar.menu.new_sql_file_in_directory": "Neue SQL-Datei in diesem Verzeichnis",
|
|
"sidebar.menu.new_table": "Neue Tabelle",
|
|
"sidebar.menu.open_query": "Abfrage öffnen",
|
|
"sidebar.menu.open_sql_file": "SQL-Datei öffnen",
|
|
"sidebar.menu.redis_monitor": "Redis Überwachung",
|
|
"sidebar.menu.refresh": "Aktualisieren",
|
|
"sidebar.menu.refresh_directory": "Verzeichnis aktualisieren",
|
|
"sidebar.menu.remove_directory": "Verzeichnis entfernen",
|
|
"sidebar.menu.rename_database": "Datenbank umbenennen",
|
|
"sidebar.menu.rename_query": "Abfrage umbenennen",
|
|
"sidebar.menu.rename_sql_directory": "Verzeichnis umbenennen",
|
|
"sidebar.menu.rename_sql_file": "SQL-Datei umbenennen",
|
|
"sidebar.menu.rename_table": "Tabelle umbenennen",
|
|
"sidebar.menu.rename_view": "Ansicht umbenennen",
|
|
"sidebar.menu.sort_by_frequency": "Sortieren nach Häufigkeit",
|
|
"sidebar.menu.sort_by_name": "Sortieren nach Name",
|
|
"sidebar.menu.table_structure": "Tabellenstruktur",
|
|
"sidebar.menu.truncate_table": "Tabelle abschneiden",
|
|
"sidebar.menu.view_definition": "Ansichtsdefinition",
|
|
"sidebar.menu.view_object_definition": "Definition anzeigen",
|
|
"sidebar.menu.view_routine_definition": "Definition anzeigen",
|
|
"sidebar.message.add_sql_directory_database_required": "Wählen Sie eine Datenbank aus, bevor Sie ein SQL-Verzeichnis hinzufügen.",
|
|
"sidebar.message.ai_table_context_missing": "Für die aktuelle Tabelle fehlt der Verbindungskontext; sie kann nicht an AI gesendet werden.",
|
|
"sidebar.message.backing_up_database": "Datenbank {{database}} wird gesichert...",
|
|
"sidebar.message.backing_up_selected_objects": "Ausgewählte Objekte werden gesichert: {{count}}...",
|
|
"sidebar.message.backing_up_selected_tables": "Ausgewählte Tabellen werden gesichert: {{count}}...",
|
|
"sidebar.message.clear_failed": "Leeren fehlgeschlagen: {{error}}",
|
|
"sidebar.message.clear_success": "Leeren erfolgreich.",
|
|
"sidebar.message.clearing_selected_tables": "{{count}} ausgewählte Tabellen werden geleert...",
|
|
"sidebar.message.connection_config_not_found": "Verbindungskonfiguration wurde nicht gefunden.",
|
|
"sidebar.message.connection_deleted": "Verbindung gelöscht.",
|
|
"sidebar.message.connection_failed": "Verbindung fehlgeschlagen: {{error}}",
|
|
"sidebar.message.connection_release_failed": "Verbindung konnte nicht freigegeben werden",
|
|
"sidebar.message.connection_release_failed_from_sidebar": "Die Verbindung wurde in der Seitenleiste getrennt, aber die Backend-Verbindung konnte nicht freigegeben werden",
|
|
"sidebar.message.create_failed": "Erstellen fehlgeschlagen: {{error}}",
|
|
"sidebar.message.create_sql_directory_failed": "Verzeichnis konnte nicht erstellt werden: {{error}}",
|
|
"sidebar.message.create_sql_file_failed": "SQL-Datei konnte nicht erstellt werden: {{error}}",
|
|
"sidebar.message.database_closed": "Datenbank geschlossen.",
|
|
"sidebar.message.database_created": "Datenbank erstellt.",
|
|
"sidebar.message.database_deleted": "Datenbank gelöscht.",
|
|
"sidebar.message.database_export_failed": "{{database}} konnte nicht exportiert werden: {{error}}",
|
|
"sidebar.message.database_export_success": "{{database}} wurde exportiert.",
|
|
"sidebar.message.database_name_required": "Datenbankname ist erforderlich.",
|
|
"sidebar.message.database_name_unchanged": "Datenbankname ist unverändert.",
|
|
"sidebar.message.database_renamed": "Datenbank umbenannt.",
|
|
"sidebar.message.delete_connection_backend_unavailable": "Verbindungen können in diesem Build nicht gelöscht werden.",
|
|
"sidebar.message.delete_connection_failed": "Verbindung konnte nicht gelöscht werden.",
|
|
"sidebar.message.delete_failed": "Löschen fehlgeschlagen: {{error}}",
|
|
"sidebar.message.delete_sql_directory_failed": "SQL-Verzeichnis konnte nicht gelöscht werden: {{error}}",
|
|
"sidebar.message.delete_sql_file_failed": "SQL-Datei konnte nicht gelöscht werden: {{error}}",
|
|
"sidebar.message.disconnected": "Getrennt.",
|
|
"sidebar.message.duplicate_backend_unavailable": "Das Duplizieren von Verbindungen ist in diesem Build nicht verfügbar.",
|
|
"sidebar.message.duplicate_empty_result": "Die duplizierte Verbindung wurde nicht zurückgegeben.",
|
|
"sidebar.message.duplicate_failed": "Verbindung konnte nicht dupliziert werden.",
|
|
"sidebar.message.duplicated_connection": "Verbindung {{name}} dupliziert.",
|
|
"sidebar.message.export_failed": "Export fehlgeschlagen: {{error}}",
|
|
"sidebar.message.export_success": "Export erfolgreich.",
|
|
"sidebar.message.export_success_skipped_views": "Export abgeschlossen. {{count}} Ansichten wurden beim Datenexport übersprungen.",
|
|
"sidebar.message.export_tables_same_database_required": "Wählen Sie Tabellen aus derselben Datenbank aus.",
|
|
"sidebar.message.exporting_database_backup": "{{database}} wird gesichert (Struktur und Daten)...",
|
|
"sidebar.message.exporting_database_schema": "Datenbankstruktur {{database}} wird exportiert...",
|
|
"sidebar.message.exporting_schema_backup": "Schema {{schema}} wird gesichert (Struktur und Daten)...",
|
|
"sidebar.message.exporting_schema_structure": "Struktur von Schema {{schema}} wird exportiert...",
|
|
"sidebar.message.exporting_selected_object_data": "{{format}}-Daten von {{count}} ausgewählten Objekten werden exportiert...",
|
|
"sidebar.message.exporting_selected_object_schema": "Struktur der ausgewählten Objekte wird exportiert: {{count}}...",
|
|
"sidebar.message.exporting_selected_table_schema": "Struktur der ausgewählten Tabellen wird exportiert: {{count}}...",
|
|
"sidebar.message.exporting_table_format": "{{table}} wird als {{format}} exportiert...",
|
|
"sidebar.message.external_sql_directory_added": "SQL-Verzeichnis hinzugefügt.",
|
|
"sidebar.message.external_sql_directory_context_missing": "Kontext des SQL-Verzeichnisses fehlt.",
|
|
"sidebar.message.external_sql_directory_delete_target_missing": "Das zu löschende SQL-Verzeichnis wurde nicht gefunden.",
|
|
"sidebar.message.external_sql_directory_not_found": "SQL-Verzeichnis wurde nicht gefunden.",
|
|
"sidebar.message.external_sql_directory_parent_missing": "Der Speicherort zum Erstellen des Verzeichnisses wurde nicht gefunden.",
|
|
"sidebar.message.external_sql_directory_read_failed": "SQL-Verzeichnis {{name}} konnte nicht gelesen werden: {{error}}",
|
|
"sidebar.message.external_sql_directory_refreshed": "SQL-Verzeichnis aktualisiert.",
|
|
"sidebar.message.external_sql_directory_removed": "SQL-Verzeichnis entfernt.",
|
|
"sidebar.message.external_sql_directory_rename_sync_failed": "Das Verzeichnis wurde umbenannt, aber die externe SQL-Verzeichnisliste konnte nicht synchronisiert werden. Fügen Sie das Verzeichnis erneut hinzu.",
|
|
"sidebar.message.external_sql_directory_rename_target_missing": "Das umzubenennende Verzeichnis wurde nicht gefunden.",
|
|
"sidebar.message.external_sql_file_delete_target_missing": "Die zu löschende SQL-Datei wurde nicht gefunden.",
|
|
"sidebar.message.external_sql_file_parent_missing": "Das Verzeichnis zum Erstellen der SQL-Datei wurde nicht gefunden.",
|
|
"sidebar.message.external_sql_file_rename_target_missing": "Die umzubenennende SQL-Datei wurde nicht gefunden.",
|
|
"sidebar.message.jvm_provider_probe_exception": "Prüfung der JVM-Anbieter fehlgeschlagen: {{error}}",
|
|
"sidebar.message.jvm_provider_probe_exception_with_diagnostic": "Bei der JVM-Provider-Prüfung ist eine Ausnahme aufgetreten: {{error}}. Der Einstieg für die Diagnoseerweiterung bleibt verfügbar.",
|
|
"sidebar.message.jvm_provider_probe_failed": "JVM-Anbieter konnten nicht geprüft werden: {{error}}",
|
|
"sidebar.message.jvm_provider_probe_failed_with_diagnostic": "JVM-Provider-Prüfung fehlgeschlagen: {{error}}. Der Einstieg für die Diagnoseerweiterung bleibt verfügbar.",
|
|
"sidebar.message.jvm_resources_backend_unavailable": "JVM-Ressourcen können in diesem Build nicht durchsucht werden.",
|
|
"sidebar.message.load_database_list_failed": "Datenbanken konnten nicht geladen werden: {{error}}",
|
|
"sidebar.message.load_jvm_resources_failed": "JVM-Ressourcen konnten nicht geladen werden: {{error}}",
|
|
"sidebar.message.load_table_list_failed": "Tabellen konnten nicht geladen werden: {{error}}",
|
|
"sidebar.message.load_tables_failed": "Objekte konnten nicht geladen werden: {{error}}",
|
|
"sidebar.message.locate_connection_not_found_for_object": "Die Verbindung für das aktuelle Objekt wurde nicht gefunden",
|
|
"sidebar.message.locate_connection_not_in_tree": "Die aktuelle Verbindung wurde im linken Baum nicht gefunden",
|
|
"sidebar.message.locate_current_tab_unavailable": "Im aktuellen Tab gibt es keinen lokalisierbaren Inhalt",
|
|
"sidebar.message.locate_current_table_unavailable": "Im aktuellen Tab gibt es keine lokalisierbare Tabelle",
|
|
"sidebar.message.locate_database_loading": "Der Datenbankknoten wird noch geladen: {{database}}. Bitte später erneut versuchen",
|
|
"sidebar.message.locate_database_not_found": "Die Datenbank wurde im linken Baum nicht gefunden: {{database}}",
|
|
"sidebar.message.locate_external_sql_file_not_found": "SQL-Datei wurde in den externen SQL-Verzeichnissen nicht gefunden: {{path}}",
|
|
"sidebar.message.locate_object_loading": "Die Datenbankobjekte für {{object}} in {{database}} werden noch geladen. Bitte später erneut versuchen",
|
|
"sidebar.message.locate_object_not_found": "{{object}} wurde im linken Baum nicht gefunden: {{name}}. Bitte den Datenbankknoten aktualisieren und erneut versuchen",
|
|
"sidebar.message.message_publish_success": "Testnachricht an {{destination}} gesendet",
|
|
"sidebar.message.message_publish_success_with_count": "Testnachricht an {{destination}} gesendet ({{count}} übermittelt)",
|
|
"sidebar.message.message_publish_target_fallback": "Ziel",
|
|
"sidebar.message.message_publish_unsupported": "Das aktuelle Objekt unterstützt kein testweises Senden von Nachrichten",
|
|
"sidebar.message.no_visible_databases": "Es wurden keine sichtbaren Datenbanken oder Schemas zurückgegeben. Prüfen Sie die Berechtigungen oder aktualisieren Sie über das Kontextmenü.",
|
|
"sidebar.message.operation_create_failed": "Erstellen fehlgeschlagen: {{error}}",
|
|
"sidebar.message.operation_drop_failed": "Löschen fehlgeschlagen: {{error}}",
|
|
"sidebar.message.operation_rename_failed": "Umbenennen fehlgeschlagen: {{error}}",
|
|
"sidebar.message.read_file_failed": "Datei konnte nicht gelesen werden: {{error}}",
|
|
"sidebar.message.read_sql_file_failed": "SQL-Datei konnte nicht gelesen werden: {{error}}",
|
|
"sidebar.message.rename_failed": "Umbenennen fehlgeschlagen: {{error}}",
|
|
"sidebar.message.rename_sql_directory_failed": "Verzeichnis konnte nicht umbenannt werden: {{error}}",
|
|
"sidebar.message.rename_sql_file_failed": "SQL-Datei konnte nicht umbenannt werden: {{error}}",
|
|
"sidebar.message.routine_deleted": "{{type}} gelöscht.",
|
|
"sidebar.message.saved_query_delete_failed": "Abfrage konnte nicht gelöscht werden: {{error}}",
|
|
"sidebar.message.saved_query_deleted": "Abfrage gelöscht.",
|
|
"sidebar.message.saved_query_name_unchanged": "Der Abfragename ist unverändert.",
|
|
"sidebar.message.saved_query_rebind_failed": "Abfrage konnte nicht gebunden werden: {{error}}",
|
|
"sidebar.message.saved_query_rebind_success": "Abfrage an {{name}} gebunden",
|
|
"sidebar.message.saved_query_rename_failed": "Abfrage konnte nicht umbenannt werden: {{error}}",
|
|
"sidebar.message.saved_query_renamed": "Abfrage umbenannt.",
|
|
"sidebar.message.schema_create_unsupported": "Diese Datenbank unterstützt das Erstellen von schema nicht.",
|
|
"sidebar.message.schema_created": "schema wurde erstellt.",
|
|
"sidebar.message.schema_deleted": "schema gelöscht.",
|
|
"sidebar.message.schema_edit_unsupported": "Der aktuelle Knoten unterstützt das Bearbeiten von schema über diesen Einstieg nicht.",
|
|
"sidebar.message.schema_export_target_missing": "Das Ziel-Schema wurde nicht gefunden. Der Export kann nicht fortgesetzt werden.",
|
|
"sidebar.message.schema_name_unchanged": "Der schema-Name ist unverändert.",
|
|
"sidebar.message.schema_renamed": "schema umbenannt.",
|
|
"sidebar.message.schema_target_delete_missing": "Ziel-schema zum Löschen nicht gefunden.",
|
|
"sidebar.message.schema_target_edit_missing": "Ziel-schema für die Bearbeitung nicht gefunden.",
|
|
"sidebar.message.schema_target_missing": "Wählen Sie eine Datenbank für das Erstellen von schema aus.",
|
|
"sidebar.message.select_connection_or_database_first": "Wählen Sie zuerst eine Verbindung oder Datenbank aus.",
|
|
"sidebar.message.select_database_required": "Wählen Sie mindestens eine Datenbank aus.",
|
|
"sidebar.message.select_host_before_large_sql_file": "Wählen Sie einen Host aus, bevor Sie eine große SQL-Datei ausführen.",
|
|
"sidebar.message.select_object_required": "Wählen Sie mindestens ein Objekt aus.",
|
|
"sidebar.message.select_sql_directory_failed": "SQL-Verzeichnis konnte nicht ausgewählt werden: {{error}}",
|
|
"sidebar.message.sidebar_filter_reset": "Seitenleistenfilter zurückgesetzt.",
|
|
"sidebar.message.sidebar_filter_sync_disabled": "Synchronisierung des linken Filters deaktiviert.",
|
|
"sidebar.message.sidebar_filter_sync_enabled": "Synchronisierung des linken Filters aktiviert.",
|
|
"sidebar.message.sphinx_unsupported_objects": "Diese Sphinx-Instanz stellt diese Objektfunktionen nicht bereit: {{objects}}. Der Kompatibilitätsmodus wurde angewendet.",
|
|
"sidebar.message.sql_directory_created": "Verzeichnis erstellt.",
|
|
"sidebar.message.sql_directory_deleted": "SQL-Verzeichnis gelöscht.",
|
|
"sidebar.message.sql_directory_name_required": "Der Verzeichnisname ist erforderlich.",
|
|
"sidebar.message.sql_directory_path_invalid": "Pfad des SQL-Verzeichnisses ist ungültig.",
|
|
"sidebar.message.sql_directory_renamed": "Verzeichnis umbenannt.",
|
|
"sidebar.message.sql_file_context_incomplete": "SQL-Dateikontext unvollständig.",
|
|
"sidebar.message.sql_file_created": "SQL-Datei erstellt.",
|
|
"sidebar.message.sql_file_deleted": "SQL-Datei gelöscht.",
|
|
"sidebar.message.sql_file_name_required": "Der SQL-Dateiname ist erforderlich.",
|
|
"sidebar.message.sql_file_path_incomplete": "Der Pfad der SQL-Datei ist unvollständig und kann nicht geöffnet werden.",
|
|
"sidebar.message.sql_file_renamed": "SQL-Datei umbenannt.",
|
|
"sidebar.message.table_data_action_failed": "{{action}} fehlgeschlagen: {{error}}",
|
|
"sidebar.message.table_data_action_loading": "{{action}} {{table}}...",
|
|
"sidebar.message.table_data_action_success": "{{action}} abgeschlossen.",
|
|
"sidebar.message.table_deleted": "Tabelle gelöscht.",
|
|
"sidebar.message.table_export_target_missing": "Der Tabellenname konnte nicht erkannt werden, daher kann der Export nicht fortgesetzt werden.",
|
|
"sidebar.message.table_name_required": "Tabellenname ist erforderlich.",
|
|
"sidebar.message.table_name_unchanged": "Tabellenname ist unverändert.",
|
|
"sidebar.message.table_pinned": "Tabelle angeheftet",
|
|
"sidebar.message.table_renamed": "Tabelle umbenannt.",
|
|
"sidebar.message.table_structure_copied": "Tabellenstruktur kopiert.",
|
|
"sidebar.message.table_unpinned": "Tabellenfixierung aufgehoben",
|
|
"sidebar.message.view_deleted": "Ansicht gelöscht.",
|
|
"sidebar.message.view_name_required": "Ansichtsname ist erforderlich.",
|
|
"sidebar.message.view_name_unchanged": "Ansichtsname ist unverändert.",
|
|
"sidebar.message.view_renamed": "Ansicht umbenannt.",
|
|
"sidebar.message.visual_new_table_unsupported": "Diese Datenquelle unterstützt das visuelle Erstellen von Tabellen noch nicht.",
|
|
"sidebar.modal.batch_databases.description": "Exportieren Sie Datenbankstrukturen stapelweise nach Datenbank oder erstellen Sie Backups mit Struktur und Daten.",
|
|
"sidebar.modal.batch_databases.selection_hint": "Nach der Auswahl einer Verbindung wird die Liste der darunter stapelweise exportierbaren Datenbanken geladen.",
|
|
"sidebar.modal.batch_databases.title": "Stapeloperationen für Datenbanken",
|
|
"sidebar.modal.batch_tables.description": "Exportieren Sie Strukturen, Daten oder vollständige Backups für Objekte stapelweise.",
|
|
"sidebar.modal.batch_tables.selection_hint": "Wählen Sie zuerst Verbindung und Datenbank aus und legen Sie dann Exportbereich und Zielobjekte fest.",
|
|
"sidebar.modal.batch_tables.title": "Stapeloperationen für Objekte",
|
|
"sidebar.modal.confirm_clear_selected_tables.content": "Daten der ausgewählten Objekte unter {{connection}} / {{database}} leeren? Dies kann nicht rückgängig gemacht werden.",
|
|
"sidebar.modal.confirm_clear_selected_tables.title": "Ausgewählte Tabellen leeren",
|
|
"sidebar.modal.confirm_delete_connection.content": "{{name}} löschen?",
|
|
"sidebar.modal.confirm_delete_database.content": "{{name}} löschen? Dies kann nicht rückgängig gemacht werden.",
|
|
"sidebar.modal.confirm_delete_database.title": "Datenbank löschen",
|
|
"sidebar.modal.confirm_delete_routine.content": "{{type}} {{name}} löschen? Dies kann nicht rückgängig gemacht werden.",
|
|
"sidebar.modal.confirm_delete_routine.title": "{{type}} löschen",
|
|
"sidebar.modal.confirm_delete_saved_query.content": "Gespeicherte Abfrage \"{{name}}\" löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
|
|
"sidebar.modal.confirm_delete_schema.content": "schema {{name}} löschen? Das schema und alle enthaltenen Objekte werden gelöscht. Dies kann nicht rückgängig gemacht werden.",
|
|
"sidebar.modal.confirm_delete_schema.title": "schema löschen",
|
|
"sidebar.modal.confirm_delete_sql_directory.content": "\"{{name}}\" löschen? Dadurch wird das lokale Verzeichnis vom Datenträger gelöscht; es können nur leere Verzeichnisse gelöscht werden.",
|
|
"sidebar.modal.confirm_delete_sql_directory.title": "SQL-Verzeichnis löschen",
|
|
"sidebar.modal.confirm_delete_sql_file.content": "\"{{name}}\" löschen? Dadurch wird die lokale Datei vom Datenträger gelöscht und kann nicht wiederhergestellt werden.",
|
|
"sidebar.modal.confirm_delete_sql_file.title": "SQL-Datei löschen",
|
|
"sidebar.modal.confirm_delete_table.content": "{{name}} löschen? Dies kann nicht rückgängig gemacht werden.",
|
|
"sidebar.modal.confirm_delete_table.title": "Tabelle löschen",
|
|
"sidebar.modal.confirm_delete_tag.content": "Gruppe \"{{name}}\" löschen? Die enthaltenen Verbindungen werden nicht gelöscht.",
|
|
"sidebar.modal.confirm_delete_view.content": "{{name}} löschen? Dies kann nicht rückgängig gemacht werden.",
|
|
"sidebar.modal.confirm_delete_view.title": "Ansicht löschen",
|
|
"sidebar.modal.confirm_delete.title": "Löschen bestätigen",
|
|
"sidebar.modal.confirm_table_data_action.content": "{{action}} für {{table}} ausführen? Dies kann nicht rückgängig gemacht werden.",
|
|
"sidebar.modal.confirm_table_data_action.title": "{{action}} bestätigen",
|
|
"sidebar.modal.create_database.title": "Datenbank erstellen",
|
|
"sidebar.modal.rename_database.title": "Datenbank umbenennen: {{name}}",
|
|
"sidebar.modal.rename_schema.title": "schema bearbeiten: {{name}}",
|
|
"sidebar.modal.rename_table.title": "Tabelle umbenennen: {{name}}",
|
|
"sidebar.modal.rename_view.title": "Ansicht umbenennen: {{name}}",
|
|
"sidebar.modal.tag.create_description": "Eine Gruppe zum Organisieren von Verbindungen erstellen.",
|
|
"sidebar.modal.tag.create_title": "Gruppe erstellen",
|
|
"sidebar.modal.tag.edit_description": "Gruppenname und enthaltene Verbindungen aktualisieren.",
|
|
"sidebar.modal.tag.edit_title": "Gruppe bearbeiten",
|
|
"sidebar.object_group.events": "Ereignisse",
|
|
"sidebar.object_group.materialized_views": "Materialisierte Ansichten",
|
|
"sidebar.object_group.packages": "Pakete",
|
|
"sidebar.object_group.routines": "Funktionen und Prozeduren",
|
|
"sidebar.object_group.sequences": "Sequenzen",
|
|
"sidebar.object_group.tables": "Tabellen",
|
|
"sidebar.object_group.triggers": "Trigger",
|
|
"sidebar.object_group.views": "Ansichten",
|
|
"sidebar.object.function": "Funktion",
|
|
"sidebar.object.procedure": "Prozedur",
|
|
"sidebar.object.view": "Ansicht",
|
|
"sidebar.placeholder.filter_table_view": "Tabellen und Ansichten filtern",
|
|
"sidebar.placeholder.select_connection": "Verbindung auswählen",
|
|
"sidebar.placeholder.select_connection_first": "Zuerst eine Verbindung auswählen",
|
|
"sidebar.placeholder.tag_name": "Gruppenname",
|
|
"sidebar.punctuation.list_separator": ", ",
|
|
"sidebar.rail.object_actions": "Schnellaktionen im Objektbereich",
|
|
"sidebar.rail.system_actions": "Systemaktionen",
|
|
"sidebar.search.manual_scope": "Manueller Bereich",
|
|
"sidebar.search.multi_select_supported": "Mehrere Bereiche unterstützt",
|
|
"sidebar.search.placeholder": "Suchen...",
|
|
"sidebar.search.scope_description": "Wählen Sie, wo die Suche in der Seitenleiste Treffer finden soll.",
|
|
"sidebar.search.scope_hint": "Im intelligenten Modus werden je nach Kontext Namen, Hosts, Datenbanken und Objekte durchsucht.",
|
|
"sidebar.search.scope_title": "Suchbereich",
|
|
"sidebar.search.scope_tooltip": "Aktueller Suchbereich: {{scope}}",
|
|
"sidebar.search.scope.database": "Datenbank",
|
|
"sidebar.search.scope.host": "Rechner",
|
|
"sidebar.search.scope.object": "Objekt",
|
|
"sidebar.search.scope.smart": "Intelligent",
|
|
"sidebar.search.scope.smart_description": "Grenzt die Suche anhand des ausgewählten Knotens automatisch ein.",
|
|
"sidebar.search.scope.smart_short": "Intelligent",
|
|
"sidebar.search.scope.tag": "Markierung",
|
|
"sidebar.sql_directory.default_name": "SQL-Verzeichnis",
|
|
"sidebar.sql_file_exec.cancel": "Ausführung abbrechen",
|
|
"sidebar.sql_file_exec.executed_label": "Ausgeführt: ",
|
|
"sidebar.sql_file_exec.file_size": "Dateigröße: ",
|
|
"sidebar.sql_file_exec.rows_separator": " Zeilen | Fehlgeschlagen: ",
|
|
"sidebar.sql_file_exec.rows_suffix": " Zeilen",
|
|
"sidebar.sql_file_exec.status_label": "Status: ",
|
|
"sidebar.sql_file_exec.status.cancelled": "Abgebrochen",
|
|
"sidebar.sql_file_exec.status.done": "Abgeschlossen",
|
|
"sidebar.sql_file_exec.status.error": "Fehler",
|
|
"sidebar.sql_file_exec.status.running": "Wird ausgeführt",
|
|
"sidebar.sql_file_exec.title": "Externe SQL-Datei ausführen",
|
|
"sidebar.sql_file.default_name": "SQL-Datei",
|
|
"sidebar.sql_template.duckdb_macro_hint": "Verwenden Sie SQL Macro für funktionsähnliches Verhalten",
|
|
"sidebar.sql_template.duckdb_procedure_unsupported": "DuckDB unterstützt gespeicherte Prozeduren noch nicht",
|
|
"sidebar.sql_template.edit_routine": "{{type}} {{name}} bearbeiten",
|
|
"sidebar.sql_template.edit_view": "Ansicht {{name}} bearbeiten",
|
|
"sidebar.sql_template.modify_then_execute": "Ändern und ausführen",
|
|
"sidebar.status.pinned": "Angeheftet",
|
|
"sidebar.tab.batch_export_databases": "Datenbanken gesammelt exportieren",
|
|
"sidebar.tab.batch_export_objects": "Objekte gesammelt exportieren",
|
|
"sidebar.tab.batch_export_objects_database": "Objekte aus {{database}} gesammelt exportieren",
|
|
"sidebar.tab.create_function": "Neue Funktion",
|
|
"sidebar.tab.create_procedure": "Neue Prozedur",
|
|
"sidebar.tab.create_view": "Neue Ansicht",
|
|
"sidebar.tab.design_table": "Tabelle entwerfen ({{table}})",
|
|
"sidebar.tab.edit_event": "Ereignis bearbeiten: {{name}}",
|
|
"sidebar.tab.edit_routine": "{{type}} bearbeiten: {{name}}",
|
|
"sidebar.tab.edit_view": "Ansicht bearbeiten: {{name}}",
|
|
"sidebar.tab.event": "Ereignis: {{name}}",
|
|
"sidebar.tab.materialized_view_definition": "Materialisierte Ansicht: {{name}}",
|
|
"sidebar.tab.new_event": "Neues Ereignis",
|
|
"sidebar.tab.new_query": "Neue Abfrage",
|
|
"sidebar.tab.new_query_database": "Neue Abfrage ({{database}})",
|
|
"sidebar.tab.new_table": "Neue Tabelle - {{database}}",
|
|
"sidebar.tab.recent_query": "Letzte Abfrage",
|
|
"sidebar.tab.redis_command": "Befehl - {{database}}",
|
|
"sidebar.tab.redis_monitor": "Monitoring - {{database}}",
|
|
"sidebar.tab.routine_definition": "{{type}}: {{name}}",
|
|
"sidebar.tab.table_overview": "Tabellenübersicht - {{database}}{{schema}}",
|
|
"sidebar.tab.table_structure": "Tabellenstruktur ({{table}})",
|
|
"sidebar.tab.trigger": "Trigger: {{name}}",
|
|
"sidebar.tab.view_definition": "Ansicht: {{name}}",
|
|
"sidebar.table_action.clear.label": "Tabellendaten löschen",
|
|
"sidebar.table_action.clear.progress": "Wird gelöscht",
|
|
"sidebar.table_action.truncate.label": "Tabelle leeren",
|
|
"sidebar.table_action.truncate.progress": "Wird geleert",
|
|
"sidebar.table_folder.columns": "Spalten",
|
|
"sidebar.table_folder.foreign_keys": "Fremdschlüssel",
|
|
"sidebar.table_folder.indexes": "Indizes",
|
|
"sidebar.table_folder.triggers": "Trigger",
|
|
"sidebar.tree.all_saved_queries": "Alle gespeicherten Abfragen",
|
|
"sidebar.tree.default_database": "Standarddatenbank",
|
|
"sidebar.tree.default_schema": "Standardschema",
|
|
"sidebar.tree.saved_queries": "Gespeicherte Abfragen",
|
|
"sidebar.tree.unknown_connection": "Unbekannte Verbindung",
|
|
"sidebar.tree.unmatched_saved_queries": "Nicht zugeordnet",
|
|
"sidebar.tree.untitled_query": "Unbenannte Abfrage",
|
|
"sidebar.v2_database_menu.backup_all_tables_sql": "Alle Tabellen sichern · Schema + Daten SQL",
|
|
"sidebar.v2_database_menu.export_all_table_schema_sql": "Schemas aller Tabellen exportieren · SQL",
|
|
"sidebar.v2_database_menu.export_backup_section": "Export und Sicherung",
|
|
"sidebar.v2_database_menu.meta": "{{dialect}} · Datenbankaktionen",
|
|
"sidebar.v2_database_menu.new_external_catalog": "Neuer externer Catalog",
|
|
"sidebar.v2_database_menu.new_materialized_view": "Neue materialisierte Ansicht",
|
|
"sidebar.v2_database_menu.new_schema": "Neues schema",
|
|
"sidebar.v2_database_menu.refresh_object_tree": "Objektbaum aktualisieren",
|
|
"sidebar.v2_schema_menu.backup_current_schema_sql": "Alle Tabellen des aktuellen Schemas sichern · Schema + Daten",
|
|
"sidebar.v2_schema_menu.delete_schema_cascade": "Schema löschen · DROP CASCADE",
|
|
"sidebar.v2_schema_menu.edit_schema": "Schema bearbeiten",
|
|
"sidebar.v2_schema_menu.export_current_schema_sql": "Tabellenstrukturen des aktuellen Schemas exportieren · SQL",
|
|
"sidebar.v2_schema_menu.meta": "{{database}} · Schema-Aktionen",
|
|
"sidebar.v2_table_group_menu.current_database": "Aktuelle Datenbank",
|
|
"sidebar.v2_table_group_menu.meta": "{{database}} · {{count}} Tabellen · nach {{sort}} sortiert",
|
|
"sidebar.v2_table_group_menu.sort_frequency": "Nutzungshäufigkeit",
|
|
"sidebar.v2_table_group_menu.sort_name": "Name",
|
|
"sidebar.v2_table_group_menu.title": "Tabellen",
|
|
"sidebar.v2_table_menu.ai_explain_table": "Mit AI diese Tabelle erklären",
|
|
"sidebar.v2_table_menu.ai_generate_query": "Mit AI eine Abfrage erzeugen",
|
|
"sidebar.v2_table_menu.backup_sql_dump": "Backup · {{keyword}}",
|
|
"sidebar.v2_table_menu.copy_section": "Kopieren",
|
|
"sidebar.v2_table_menu.copy_table_as_insert": "Gesamte Tabelle als {{keyword}} kopieren",
|
|
"sidebar.v2_table_menu.copy_table_name": "Tabellennamen kopieren",
|
|
"sidebar.v2_table_menu.design_table_detail": "Spalten / Indizes / Fremdschlüssel",
|
|
"sidebar.v2_table_menu.item_with_suffix": "{{label}} · {{suffix}}",
|
|
"sidebar.v2_table_menu.maintenance_section": "Wartung",
|
|
"sidebar.v2_table_menu.meta.idle": "Zum Laden der Statistiken auf Aktualisieren klicken",
|
|
"sidebar.v2_table_menu.meta.loading": "Tabellenstatistiken werden geladen...",
|
|
"sidebar.v2_table_menu.meta.rows": "{{count}} Zeilen",
|
|
"sidebar.v2_table_menu.meta.rows_empty": "— Zeilen",
|
|
"sidebar.v2_table_menu.meta.summary": "{{rows}} · {{data}} Daten · {{indexes}} Indizes",
|
|
"sidebar.v2_table_menu.meta.unavailable": "Tabellenstatistiken nicht verfügbar",
|
|
"sidebar.v2_table_menu.metadata_section": "Metadaten",
|
|
"sidebar.v2_table_menu.new_rollup": "Neues {{keyword}}",
|
|
"sidebar.v2_table_menu.open_data": "Daten anzeigen",
|
|
"sidebar.v2_table_menu.open_export_workbench": "Export-Workbench öffnen...",
|
|
"sidebar.v2_table_menu.open_in_new_tab": "In neuem Tab öffnen",
|
|
"sidebar.v2_table_menu.refresh_stats": "Statistiken aktualisieren",
|
|
"sidebar.v2_table_menu.rename_compact": "Umbenennen...",
|
|
"sidebar.v2_table_menu.truncate_table": "Tabelle abschneiden",
|
|
"sidebar.v2_table_menu.view_in_er": "Im ER-Diagramm anzeigen",
|
|
"sidebar.validation.name_required": "Geben Sie einen Namen ein.",
|
|
"sidebar.validation.new_database_name_required": "Geben Sie den neuen Datenbanknamen ein.",
|
|
"sidebar.validation.new_table_name_required": "Geben Sie den neuen Tabellennamen ein.",
|
|
"sidebar.validation.new_view_name_required": "Geben Sie den neuen Ansichtsnamen ein.",
|
|
"sidebar.validation.schema_name_required": "Geben Sie den schema-Namen ein.",
|
|
"sidebar.validation.tag_name_required": "Geben Sie einen Gruppennamen ein.",
|
|
"snippet_settings.action.close": "Schließen",
|
|
"snippet_settings.action.delete": "Löschen",
|
|
"snippet_settings.action.new": "Neues Snippet",
|
|
"snippet_settings.action.reset": "Auf Standard zurücksetzen",
|
|
"snippet_settings.action.save": "Speichern",
|
|
"snippet_settings.confirm.delete.description": "Möchten Sie dieses Snippet wirklich löschen?",
|
|
"snippet_settings.confirm.delete.title": "Snippet löschen",
|
|
"snippet_settings.confirm.reset.description": "Den ursprünglichen Inhalt dieses integrierten Snippets wiederherstellen",
|
|
"snippet_settings.confirm.reset.title": "Auf Standard zurücksetzen",
|
|
"snippet_settings.empty_state": "Wählen Sie links ein Snippet zum Bearbeiten oder klicken Sie auf „{{action}}“",
|
|
"snippet_settings.field.body.label": "Snippet-Inhalt",
|
|
"snippet_settings.field.description.label": "Beschreibung (optional)",
|
|
"snippet_settings.field.description.placeholder": "Beschreibung für die Vervollständigungsdetails",
|
|
"snippet_settings.field.name.label": "Name",
|
|
"snippet_settings.field.name.placeholder": "Anzeigename des Snippets",
|
|
"snippet_settings.field.prefix.label": "Präfix",
|
|
"snippet_settings.field.prefix.placeholder": "z. B. sel, ins",
|
|
"snippet_settings.list.title": "Snippet-Liste",
|
|
"snippet_settings.message.body_required": "Snippet-Inhalt ist erforderlich",
|
|
"snippet_settings.message.deleted": "Snippet gelöscht",
|
|
"snippet_settings.message.name_required": "Name ist erforderlich",
|
|
"snippet_settings.message.prefix_duplicate": "Das Präfix \"{{prefix}}\" wird bereits von einem anderen Snippet verwendet",
|
|
"snippet_settings.message.prefix_required": "Präfix ist erforderlich",
|
|
"snippet_settings.message.reset_default": "Auf Standard zurückgesetzt",
|
|
"snippet_settings.message.saved": "Snippet gespeichert",
|
|
"snippet_settings.syntax_help.label": "Snippet-Syntaxhinweise (bearbeitbar)",
|
|
"snippet_settings.syntax_help.placeholder": "Hinweise, die in den Vervollständigungsdetails angezeigt werden, z. B. Platzhalterbedeutungen, Parameterkonventionen oder Hinweise",
|
|
"snippet_settings.syntax_reference.builtin_variables": "Eingebaute Variablen (werden beim Expandieren automatisch ersetzt):",
|
|
"snippet_settings.syntax_reference.current_date": "${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE} Aktuelles Datum",
|
|
"snippet_settings.syntax_reference.current_time": "${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND} Aktuelle Uhrzeit",
|
|
"snippet_settings.syntax_reference.example": "Beispiel: SELECT ${1:spaltenname} FROM ${2:tabellenname} WHERE date >= '${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}';$0",
|
|
"snippet_settings.syntax_reference.final_cursor": "$0 Endgültige Cursor-Position",
|
|
"snippet_settings.syntax_reference.first_tabstop": "${1:Platzhalter} Erste Tab-Position; der Platzhalter ist der Hinweistext",
|
|
"snippet_settings.syntax_reference.label": "Referenz für Platzhalter-Syntax",
|
|
"snippet_settings.syntax_reference.linked_tabstop": "${1:tabellenname} Bei gleicher Nummer werden Bearbeitungen synchronisiert",
|
|
"snippet_settings.syntax_reference.random": "${RANDOM} 6-stellige Zufallszahl",
|
|
"snippet_settings.syntax_reference.second_tabstop": "${2:Standardwert} Zweite Tab-Position; der Standardwert kann direkt übernommen werden",
|
|
"snippet_settings.syntax_reference.unix_seconds": "${CURRENT_SECONDS_UNIX} Unix-Zeitstempel",
|
|
"snippet_settings.syntax_reference.uuid": "${UUID} Zufällige UUID",
|
|
"snippet_settings.tag.builtin": "Integriert",
|
|
"sql_analysis.backend.error.driver_explain_failed": "Driver-EXPLAIN-Ausführung fehlgeschlagen: {{detail}}",
|
|
"sql_analysis.backend.error.explain_dialect_unsupported": "Der EXPLAIN-Dialekt für {{dbType}} wird nicht unterstützt",
|
|
"sql_analysis.backend.error.explain_execution_failed": "EXPLAIN-Ausführung fehlgeschlagen: {{detail}}",
|
|
"sql_analysis.backend.error.explain_query_not_implemented": "Die EXPLAIN-Abfrageerzeugung für {{dbType}} ist nicht implementiert",
|
|
"sql_analysis.backend.error.explain_result_empty": "Der EXPLAIN-Ergebnissatz war leer",
|
|
"sql_analysis.backend.error.explain_result_missing": "Es wurde kein EXPLAIN-Ergebnissatz zurückgegeben",
|
|
"sql_analysis.backend.error.query_required": "Die SQL-Abfrage darf nicht leer sein",
|
|
"sql_analysis.backend.error.select_only": "Die Diagnose unterstuetzt nur SELECT- / WITH-Abfragen. Fuer Schreiboperationen verwenden Sie bitte den EXPLAIN-PLAN-Modus (PR2-Unterstuetzung).",
|
|
"sql_analysis.backend.error.unsupported_db_type": "Die aktuelle Datenquelle ({{dbType}}) unterstuetzt noch keine SQL-Diagnose. In Phase 1 werden MySQL/PostgreSQL/SQLite/ClickHouse/Oracle/SQLServer/OceanBase unterstuetzt.",
|
|
"sql_analysis.backend.message.completed": "Diagnose abgeschlossen",
|
|
"sql_analysis.explain_graph.flag.filesort": "Zusatzsortierung",
|
|
"sql_analysis.explain_graph.flag.full_scan": "Vollscan",
|
|
"sql_analysis.explain_graph.flag.temp_table": "Temporäre Tabelle",
|
|
"sql_analysis.explain_graph.label.index": "Index: ",
|
|
"sql_analysis.explain_graph.label.table": "Tabelle: ",
|
|
"sql_analysis.explain_graph.metric.actual_rows": "Tatsaechlich",
|
|
"sql_analysis.explain_graph.metric.cost": "Kosten",
|
|
"sql_analysis.explain_graph.metric.est_rows": "Geschaetzt",
|
|
"sql_analysis.explain.empty": "SQL eingeben und Diagnose ausfuehren",
|
|
"sql_analysis.explain.error.query_required": "Die Abfrage ist leer",
|
|
"sql_analysis.explain.error.run_failed": "Diagnose fehlgeschlagen",
|
|
"sql_analysis.explain.error.title": "Diagnose fehlgeschlagen: ",
|
|
"sql_analysis.explain.loading": "EXPLAIN wird ausgefuehrt und der Plan wird analysiert...",
|
|
"sql_analysis.explain.meta.node_count": "{{count}} Knoten",
|
|
"sql_analysis.explain.raw.empty": "(kein Rohtext)",
|
|
"sql_analysis.explain.view.plan": "Ausfuehrungsplan",
|
|
"sql_analysis.explain.view.raw": "Rohtext",
|
|
"sql_analysis.sidebar.node.actual_rows": "Tatsaechliche Zeilen",
|
|
"sql_analysis.sidebar.node.buffer_hit": "Buffer-Treffer",
|
|
"sql_analysis.sidebar.node.cost": "Kosten",
|
|
"sql_analysis.sidebar.node.duration": "Dauer",
|
|
"sql_analysis.sidebar.node.est_rows": "Geschaetzte Zeilen",
|
|
"sql_analysis.sidebar.node.extra": "Extra-Felder ({{count}})",
|
|
"sql_analysis.sidebar.node.flags": "Kennzeichen",
|
|
"sql_analysis.sidebar.node.index": "Index",
|
|
"sql_analysis.sidebar.node.loops": "Schleifen",
|
|
"sql_analysis.sidebar.node.op_detail": "Operationsdetail",
|
|
"sql_analysis.sidebar.node.op_type": "Operationstyp",
|
|
"sql_analysis.sidebar.node.table": "Tabelle",
|
|
"sql_analysis.sidebar.node.title": "Knotendetails",
|
|
"sql_analysis.sidebar.stats.buffer_hit": "Buffer-Treffer",
|
|
"sql_analysis.sidebar.stats.max_est_rows": "Max. geschaetzte Zeilen je Knoten",
|
|
"sql_analysis.sidebar.stats.rows_read": "Gelesene Zeilen",
|
|
"sql_analysis.sidebar.stats.title": "Ausfuehrungsstatistik",
|
|
"sql_analysis.sidebar.stats.total_cost": "Gesamtkosten",
|
|
"sql_analysis.sidebar.stats.total_duration": "Gesamtdauer",
|
|
"sql_analysis.sidebar.suggestions.empty": "Keine offensichtlichen Performance-Probleme gefunden",
|
|
"sql_analysis.sidebar.suggestions.rows": "{{count}} Zeilen",
|
|
"sql_analysis.sidebar.suggestions.table": "Tabelle: {{table}}",
|
|
"sql_analysis.sidebar.suggestions.title": "Indexempfehlungen ({{count}})",
|
|
"sql_analysis.sidebar.warning.filesort": "Zusaetzliche Sortierung erkannt",
|
|
"sql_analysis.sidebar.warning.full_scan": "Vollstaendiger Tabellenscan erkannt",
|
|
"sql_analysis.sidebar.warning.temp_table": "Temporäre Tabelle verwendet",
|
|
"sql_analysis.slow_query.current_connection": "(aktuelle Verbindung)",
|
|
"sql_analysis.slow_query.empty": "Noch keine langsamen Abfragen (Schwelle {{threshold}}ms)",
|
|
"sql_analysis.slow_query.error.clear_failed": "Leeren fehlgeschlagen",
|
|
"sql_analysis.slow_query.error.load_failed": "Laden fehlgeschlagen",
|
|
"sql_analysis.slow_query.error.title": "Laden fehlgeschlagen: ",
|
|
"sql_analysis.slow_query.loading": "Verlauf langsamer Abfragen wird geladen...",
|
|
"sql_analysis.slow_query.message.cleared": "Verlauf langsamer Abfragen wurde geleert",
|
|
"sql_analysis.slow_query.metric.rows_read": "Gelesen",
|
|
"sql_analysis.slow_query.metric.rows_returned": "Zurueckgegeben",
|
|
"sql_analysis.slow_query.preview.empty": "(keine SQL-Vorschau)",
|
|
"sql_analysis.slow_query.rail.aria_label": "Workbench fuer langsame SQL",
|
|
"sql_analysis.slow_query.rail.tooltip.no_connection": "Oeffnen Sie zuerst einen Datenbankverbindungs-Tab",
|
|
"sql_analysis.slow_query.rail.tooltip.open": "Die SQL-Analyse-Workbench fuer die aktuelle Verbindung oeffnen",
|
|
"sql_analysis.slow_query.relative.days_ago": "vor {{count}} Tagen",
|
|
"sql_analysis.slow_query.relative.hours_ago": "vor {{count}} Stunden",
|
|
"sql_analysis.slow_query.relative.just_now": "Gerade eben",
|
|
"sql_analysis.slow_query.relative.minutes_ago": "vor {{count}} Minuten",
|
|
"sql_analysis.slow_query.sort.duration": "Nach Dauer",
|
|
"sql_analysis.slow_query.sort.recent": "Nach Zeit",
|
|
"sql_analysis.slow_query.sort.rows_read": "Nach gelesenen Zeilen",
|
|
"sql_analysis.slow_query.title": "Verlauf langsamer SQL",
|
|
"sql_analysis.slow_query.tooltip.clear_current": "Verlauf der aktuellen Verbindung leeren",
|
|
"sql_analysis.workbench.action.run": "Diagnose ausfuehren",
|
|
"sql_analysis.workbench.alert.connection_missing_description": "Waehlen Sie erneut eine gueltige Verbindung aus, bevor Sie die SQL-Analyse-Workbench wieder oeffnen.",
|
|
"sql_analysis.workbench.alert.connection_missing_title": "Die zugehoerige Verbindung fuer diese Workbench ist nicht mehr verfuegbar",
|
|
"sql_analysis.workbench.editor.hint": "Eintraege aus der Liste langsamer SQL koennen direkt uebernommen werden",
|
|
"sql_analysis.workbench.editor.placeholder": "Geben Sie das zu analysierende SQL ein oder uebernehmen Sie einen Eintrag aus der Liste langsamer SQL",
|
|
"sql_analysis.workbench.tab_title": "SQL-Analyse",
|
|
"sql_analysis.workbench.tab_title_with_database": "SQL-Analyse · {{database}}",
|
|
"sql_analysis.workbench.title": "SQL-Analyse-Workbench",
|
|
"sql_analysis.workbench.validation.sql_required": "Geben Sie das zu analysierende SQL ein",
|
|
"sql_analysis.workbench.view.diagnose": "SQL-Diagnose",
|
|
"sql_analysis.workbench.view.slow_query": "Langsame SQL",
|
|
"sql_snippets.builtin.alt.description": "ALTER TABLE-Vorlage zum Hinzufügen einer Spalte",
|
|
"sql_snippets.builtin.alt.name": "ALTER TABLE",
|
|
"sql_snippets.builtin.ct.description": "CREATE TABLE-Vorlage",
|
|
"sql_snippets.builtin.ct.name": "CREATE TABLE",
|
|
"sql_snippets.builtin.ctt.description": "Tabellenerstellungsvorlage mit created_at / updated_at-Zeitspalten",
|
|
"sql_snippets.builtin.ctt.name": "CREATE TABLE (mit Zeitspalten)",
|
|
"sql_snippets.builtin.del.description": "Vorlage zum Löschen von Daten mit DELETE",
|
|
"sql_snippets.builtin.del.name": "DELETE",
|
|
"sql_snippets.builtin.dro.description": "DROP TABLE-Vorlage",
|
|
"sql_snippets.builtin.dro.name": "DROP TABLE",
|
|
"sql_snippets.builtin.grp.description": "Aggregationsabfragevorlage mit GROUP BY",
|
|
"sql_snippets.builtin.grp.name": "GROUP BY",
|
|
"sql_snippets.builtin.ins.description": "Vorlage zum Einfügen von Daten mit INSERT",
|
|
"sql_snippets.builtin.ins.name": "INSERT",
|
|
"sql_snippets.builtin.inst.description": "INSERT-Vorlage, automatisch mit dem aktuellen Zeitstempel vorbelegt",
|
|
"sql_snippets.builtin.inst.name": "INSERT (mit Zeitstempel)",
|
|
"sql_snippets.builtin.lim.description": "Paging-Abfragevorlage mit LIMIT",
|
|
"sql_snippets.builtin.lim.name": "LIMIT-Abfrage",
|
|
"sql_snippets.builtin.ljo.description": "LEFT JOIN-Vorlage",
|
|
"sql_snippets.builtin.ljo.name": "LEFT JOIN",
|
|
"sql_snippets.builtin.ord.description": "Abfragevorlage mit Sortierung",
|
|
"sql_snippets.builtin.ord.name": "ORDER BY",
|
|
"sql_snippets.builtin.sel.description": "Einfache SELECT-Abfragevorlage",
|
|
"sql_snippets.builtin.sel.name": "SELECT-Basisabfrage",
|
|
"sql_snippets.builtin.seld.description": "SELECT-Abfrage mit Datumsfilter, automatisch mit dem heutigen Datum vorbelegt",
|
|
"sql_snippets.builtin.seld.name": "SELECT nach Datum",
|
|
"sql_snippets.builtin.selj.description": "SELECT-Abfrage mit INNER JOIN",
|
|
"sql_snippets.builtin.selj.name": "SELECT JOIN",
|
|
"sql_snippets.builtin.selw.description": "SELECT-Abfrage mit WHERE-Bedingung",
|
|
"sql_snippets.builtin.selw.name": "SELECT WHERE",
|
|
"sql_snippets.builtin.sub.description": "IN-Unterabfragevorlage",
|
|
"sql_snippets.builtin.sub.name": "Unterabfrage",
|
|
"sql_snippets.builtin.upd.description": "Vorlage zum Aktualisieren von Daten mit UPDATE",
|
|
"sql_snippets.builtin.upd.name": "UPDATE",
|
|
"store.fallback.connection_name": "Verbindung {{index}}",
|
|
"store.fallback.connection_tag_name": "Tag {{index}}",
|
|
"store.fallback.sql_snippet_name": "Snippet {{index}}",
|
|
"tab_manager.close_aria": "{{title}} schließen",
|
|
"tab_manager.empty.action.open_ai": "AI öffnen",
|
|
"tab_manager.empty.aria.start_workbench": "GoNavi-Startarbeitsbereich",
|
|
"tab_manager.empty.eyebrow.connections": "{{count}} Verbindungen",
|
|
"tab_manager.empty.eyebrow.workbench": "ARBEITSBEREICH",
|
|
"tab_manager.empty.hero.description": "Wählen Sie eine Datenquelle, öffnen Sie den Abfrageeditor oder arbeiten Sie mit Kontext im AI-Panel weiter.",
|
|
"tab_manager.empty.hero.title": "Verbindungen, Abfragen und Analysen beginnen in einem Arbeitsbereich.",
|
|
"tab_manager.empty.quick.ai_assist.description": "SQL erklären, Abfragen generieren und Ergebnisse prüfen",
|
|
"tab_manager.empty.quick.ai_assist.title": "AI-Unterstützung öffnen",
|
|
"tab_manager.empty.quick.aria": "Schneller Workflow",
|
|
"tab_manager.empty.quick.configure_source.description": "URI, SSH, Proxy und Treiber zentral festlegen",
|
|
"tab_manager.empty.quick.configure_source.title": "Datenquelle konfigurieren",
|
|
"tab_manager.empty.quick.heading": "Schneller Workflow",
|
|
"tab_manager.empty.quick.sql_workspace.description": "Abfrageeditor mit aktuellem Kontext öffnen",
|
|
"tab_manager.empty.quick.sql_workspace.title": "SQL-Arbeitsbereich starten",
|
|
"tab_manager.hover.fallback.database_not_specified": "Nicht angegeben",
|
|
"tab_manager.hover.fallback.host_not_configured": "Nicht konfiguriert",
|
|
"tab_manager.hover.fallback.unbound_connection": "Nicht gebundene Verbindung",
|
|
"tab_manager.hover.kind.design": "Tabellendesign",
|
|
"tab_manager.hover.kind.event": "Ereignis",
|
|
"tab_manager.hover.kind.fallback": "Tab",
|
|
"tab_manager.hover.kind.jvm_audit": "JVM-Audit",
|
|
"tab_manager.hover.kind.jvm_diagnostic": "JVM-Diagnose",
|
|
"tab_manager.hover.kind.jvm_monitoring": "JVM-Monitoring",
|
|
"tab_manager.hover.kind.jvm_overview": "JVM-Übersicht",
|
|
"tab_manager.hover.kind.jvm_resource": "JVM-Ressource",
|
|
"tab_manager.hover.kind.materialized_view": "Materialisierte Ansicht",
|
|
"tab_manager.hover.kind.query": "SQL-Abfrage",
|
|
"tab_manager.hover.kind.redis_command": "Redis-Befehl",
|
|
"tab_manager.hover.kind.redis_keys": "Redis Key",
|
|
"tab_manager.hover.kind.redis_monitor": "Redis-Monitor",
|
|
"tab_manager.hover.kind.routine": "Funktion / Prozedur",
|
|
"tab_manager.hover.kind.sql_analysis": "SQL-Analyse-Workbench",
|
|
"tab_manager.hover.kind.table": "Tabellendaten",
|
|
"tab_manager.hover.kind.table_export": "Export-Workbench",
|
|
"tab_manager.hover.kind.table_overview": "Tabellenübersicht",
|
|
"tab_manager.hover.kind.trigger": "Trigger",
|
|
"tab_manager.hover.kind.view": "Ansicht",
|
|
"tab_manager.hover.label.connection": "Verbindung",
|
|
"tab_manager.hover.label.database": "Datenbank",
|
|
"tab_manager.hover.label.object": "Objekt",
|
|
"tab_manager.hover.label.type": "Typ",
|
|
"tab_manager.kind_badge.design": "Design",
|
|
"tab_manager.kind_badge.event": "Ereignis",
|
|
"tab_manager.kind_badge.fallback": "Tab",
|
|
"tab_manager.kind_badge.jvm": "JVM",
|
|
"tab_manager.kind_badge.materialized_view": "MV",
|
|
"tab_manager.kind_badge.query": "SQL",
|
|
"tab_manager.kind_badge.redis": "Redis",
|
|
"tab_manager.kind_badge.routine": "Funktion",
|
|
"tab_manager.kind_badge.sql_analysis": "Analyse",
|
|
"tab_manager.kind_badge.table": "Tabelle",
|
|
"tab_manager.kind_badge.table_export": "Export",
|
|
"tab_manager.kind_badge.table_overview": "DB",
|
|
"tab_manager.kind_badge.trigger": "Trigger",
|
|
"tab_manager.kind_badge.view": "Ansicht",
|
|
"tab_manager.menu.close_all": "Alle Tabs schließen",
|
|
"tab_manager.menu.close_left": "Tabs links schließen",
|
|
"tab_manager.menu.close_other": "Andere Tabs schließen",
|
|
"tab_manager.menu.close_right": "Tabs rechts schließen",
|
|
"tab_manager.menu.tab_display_settings": "Tab-Einstellungen",
|
|
"tab_manager.sql_file_close.close_tabs": "Tabs schließen",
|
|
"tab_manager.sql_file_close.continue_close": "Schließen fortsetzen",
|
|
"tab_manager.sql_file_close.dirty_multiple_label": "{{count}} SQL-Dateien",
|
|
"tab_manager.sql_file_close.dirty_single_label": "\"{{title}}\"",
|
|
"tab_manager.sql_file_close.discard": "Nicht speichern",
|
|
"tab_manager.sql_file_close.missing_confirm_content": "Die externe SQL-Datei für {{label}} ist nicht mehr vorhanden oder wurde verschoben. Beim Schließen wird der lokale Entwurf im Tab verworfen.",
|
|
"tab_manager.sql_file_close.missing_confirm_title": "Fehlende SQL-Datei-Tabs schließen?",
|
|
"tab_manager.sql_file_close.missing_multiple_label": "{{count}} SQL-Datei-Tabs",
|
|
"tab_manager.sql_file_close.missing_single_label": "\"{{title}}\"",
|
|
"tab_manager.sql_file_close.read_failed_cancel_close": "SQL-Datei konnte nicht gelesen werden, das Schließen wurde abgebrochen: {{detail}}",
|
|
"tab_manager.sql_file_close.save_and_close": "Speichern und schließen",
|
|
"tab_manager.sql_file_close.save_confirm_content": "{{label}} enthält ungespeicherte Änderungen. Vor dem Schließen speichern?",
|
|
"tab_manager.sql_file_close.save_confirm_title": "Änderungen an SQL-Dateien speichern?",
|
|
"tab_manager.sql_file_close.save_failed": "{{title}} konnte nicht gespeichert werden: {{detail}}",
|
|
"tab_manager.sql_file_close.saved": "SQL-Datei gespeichert",
|
|
"tab_manager.sql_file_close.unknown_error": "Unbekannter Fehler",
|
|
"table_designer.action.add": "Hinzufügen",
|
|
"table_designer.action.add_after_selected": "Nach ausgewählter Spalte hinzufügen",
|
|
"table_designer.action.add_column": "Spalte hinzufügen",
|
|
"table_designer.action.apply": "Anwenden",
|
|
"table_designer.action.cancel": "Abbrechen",
|
|
"table_designer.action.copy_selected_to_new_table": "Auswahl in neue Tabelle kopieren",
|
|
"table_designer.action.create": "Erstellen",
|
|
"table_designer.action.create_table": "Neue Tabelle erstellen",
|
|
"table_designer.action.delete": "Löschen",
|
|
"table_designer.action.edit": "Bearbeiten",
|
|
"table_designer.action.execute": "Ausführen",
|
|
"table_designer.action.refresh": "Aktualisieren",
|
|
"table_designer.action.refresh_anyway": "Trotzdem aktualisieren",
|
|
"table_designer.action.save": "Speichern",
|
|
"table_designer.action.table_comment": "Tabellenkommentar",
|
|
"table_designer.action.view_statement": "Anweisung anzeigen",
|
|
"table_designer.column.actions": "Aktionen",
|
|
"table_designer.column.auto_increment": "Auto-Inkrement",
|
|
"table_designer.column.comment": "Kommentar",
|
|
"table_designer.column.default": "Standardwert",
|
|
"table_designer.column.name": "Name",
|
|
"table_designer.column.not_null": "NOT NULL",
|
|
"table_designer.column.primary_key": "Primärschlüssel",
|
|
"table_designer.column.type": "Typ",
|
|
"table_designer.empty.triggers": "Diese Tabelle hat keine Trigger",
|
|
"table_designer.fallback.empty": "(leer)",
|
|
"table_designer.fallback.unknown_error": "Unbekannter Fehler",
|
|
"table_designer.fallback.unnamed_foreign_key": "(unbenannter Fremdschlüssel)",
|
|
"table_designer.fallback.unnamed_index": "(unbenannter Index)",
|
|
"table_designer.foreign_key.column.constraint_name": "Constraint-Name",
|
|
"table_designer.foreign_key.column.fields": "Spalten",
|
|
"table_designer.foreign_key.column.ref_fields": "Referenzspalten",
|
|
"table_designer.foreign_key.column.ref_table": "Referenztabelle",
|
|
"table_designer.index.column.fields": "Spalten",
|
|
"table_designer.index.column.name": "Indexname",
|
|
"table_designer.index.column.type": "Indextyp",
|
|
"table_designer.index.column.uniqueness": "Eindeutigkeit",
|
|
"table_designer.index.kind.fulltext": "Volltextindex",
|
|
"table_designer.index.kind.normal": "Normaler Index",
|
|
"table_designer.index.kind.normal_nonclustered": "Normaler Index (nicht geclustert)",
|
|
"table_designer.index.kind.primary_clustered": "Primärschlüsselindex (geclustert)",
|
|
"table_designer.index.kind.spatial": "Räumlicher Index",
|
|
"table_designer.index.kind.unique": "Eindeutiger Index",
|
|
"table_designer.index.uniqueness.normal": "Normal",
|
|
"table_designer.index.uniqueness.unique": "Eindeutig",
|
|
"table_designer.label.create_statement": "CREATE-Anweisung für {{name}}",
|
|
"table_designer.label.create_statement_plain": "CREATE-Anweisung",
|
|
"table_designer.message.add_at_least_one_column": "Fügen Sie mindestens eine Spalte hinzu",
|
|
"table_designer.message.columns_copied_to_new_table": "{{count}} Spalten wurden in die neue Tabelle {{table}} kopiert",
|
|
"table_designer.message.connection_not_found": "Verbindung nicht gefunden",
|
|
"table_designer.message.delete_failed": "Löschen fehlgeschlagen: {{detail}}",
|
|
"table_designer.message.drop_old_trigger_failed": "Alter Trigger konnte nicht gelöscht werden: {{detail}}",
|
|
"table_designer.message.duckdb_primary_key_change_unsupported": "DuckDB unterstützt derzeit nur das Hinzufügen eines Primärschlüssels zu Tabellen ohne Primärschlüssel. Das Ändern oder Entfernen eines vorhandenen Primärschlüssels erfordert den Neuaufbau der Tabelle.",
|
|
"table_designer.message.execution_failed": "Ausführung fehlgeschlagen: {{detail}}",
|
|
"table_designer.message.execution_failed_plain": "Ausführung fehlgeschlagen",
|
|
"table_designer.message.execution_failed_prefix": "Ausführung fehlgeschlagen: ",
|
|
"table_designer.message.foreign_key_column_count_mismatch": "Die Anzahl der lokalen Spalten muss mit der Anzahl der Referenzspalten übereinstimmen",
|
|
"table_designer.message.foreign_key_created": "Fremdschlüssel erstellt",
|
|
"table_designer.message.foreign_key_delete_unsupported": "Diese Datenbank unterstützt das Löschen dieses Fremdschlüssels hier nicht",
|
|
"table_designer.message.foreign_key_deleted": "Fremdschlüssel gelöscht",
|
|
"table_designer.message.foreign_key_maintenance_unsupported": "Diese Datenbank unterstützt die Fremdschlüsselpflege hier nicht",
|
|
"table_designer.message.foreign_key_name_exists": "Fremdschlüssel-Constraint existiert bereits: {{name}}",
|
|
"table_designer.message.foreign_key_name_required": "Geben Sie einen Namen für den Fremdschlüssel-Constraint ein",
|
|
"table_designer.message.foreign_key_updated": "Fremdschlüssel aktualisiert",
|
|
"table_designer.message.index_create_sql_placeholder": "SQL zum Erstellen des Index ist nicht verfügbar",
|
|
"table_designer.message.index_create_sql_unavailable": "SQL zum Erstellen des Index kann nicht generiert werden",
|
|
"table_designer.message.index_created": "Index erstellt",
|
|
"table_designer.message.index_delete_named_unsupported": "Diese Datenbank unterstützt das Löschen des Index \"{{name}}\" nicht",
|
|
"table_designer.message.index_delete_unsupported": "Diese Datenbank unterstützt das Löschen dieses Index nicht",
|
|
"table_designer.message.index_deleted": "Index gelöscht",
|
|
"table_designer.message.index_kind_unsupported": "Diese Datenbank unterstützt diesen Indextyp nicht",
|
|
"table_designer.message.index_maintenance_unsupported": "Diese Datenbank unterstützt die Indexpflege hier nicht",
|
|
"table_designer.message.index_name_exists": "Indexname existiert bereits: {{name}}",
|
|
"table_designer.message.index_name_required": "Geben Sie einen Indexnamen ein",
|
|
"table_designer.message.index_restore_failed": "{{detail}}; Wiederherstellung des ursprünglichen Index fehlgeschlagen: {{restoreDetail}}",
|
|
"table_designer.message.index_restore_unavailable": "{{detail}}; der ursprüngliche Index konnte nicht automatisch wiederhergestellt werden. Bitte prüfen Sie ihn zeitnah.",
|
|
"table_designer.message.index_restored_after_failure": "{{detail}}; der ursprüngliche Index wurde automatisch wiederhergestellt.",
|
|
"table_designer.message.index_updated": "Index aktualisiert",
|
|
"table_designer.message.indexes_deleted": "{{count}} Indizes gelöscht",
|
|
"table_designer.message.load_columns_failed": "Spalten konnten nicht geladen werden: {{detail}}",
|
|
"table_designer.message.no_changes_detected": "Keine Änderungen erkannt",
|
|
"table_designer.message.no_copyable_columns": "Keine kopierbaren Spalten ausgewählt",
|
|
"table_designer.message.no_index_changes": "Keine Indexänderungen erkannt",
|
|
"table_designer.message.only_normal_unique_index_supported": "Diese Datenbank unterstützt nur die Pflege normaler und eindeutiger Indizes",
|
|
"table_designer.message.ref_columns_required": "Geben Sie mindestens eine Referenzspalte ein",
|
|
"table_designer.message.ref_table_required": "Geben Sie eine Referenztabelle ein",
|
|
"table_designer.message.relational_index_unsupported": "Diese Datenquelle unterstützt keine relationalen Indizes",
|
|
"table_designer.message.schema_saved_alter": "Tabellenstruktur aktualisiert.",
|
|
"table_designer.message.schema_saved_create": "Tabelle erstellt.",
|
|
"table_designer.message.select_at_least_one_column": "Wählen Sie mindestens eine Spalte aus",
|
|
"table_designer.message.select_column_before_insert": "Wählen Sie vor dem Einfügen eine Spalte aus.",
|
|
"table_designer.message.select_columns_to_copy": "Wählen Sie zuerst die zu kopierenden Spalten aus",
|
|
"table_designer.message.select_index_to_delete": "Wählen Sie zuerst einen zu löschenden Index aus",
|
|
"table_designer.message.select_local_columns": "Wählen Sie mindestens eine lokale Spalte aus",
|
|
"table_designer.message.select_one_foreign_key": "Wählen Sie zuerst einen Fremdschlüssel aus",
|
|
"table_designer.message.select_one_index": "Wählen Sie zuerst einen Index aus",
|
|
"table_designer.message.statement_execution_failed_prefix": "Anweisung {{current}}/{{total}} fehlgeschlagen: ",
|
|
"table_designer.message.switch_index_kind": "Stellen Sie die Indexkategorie auf {{kind}}-Index um",
|
|
"table_designer.message.table_comment_unsupported": "Diese Datenbank unterstützt das Bearbeiten von Tabellenkommentaren hier nicht",
|
|
"table_designer.message.table_comment_updated": "Tabellenkommentar aktualisiert",
|
|
"table_designer.message.table_name_required": "Geben Sie einen Tabellennamen ein",
|
|
"table_designer.message.target_table_required": "Geben Sie den Namen der Zieltabelle ein",
|
|
"table_designer.message.trigger_created": "Trigger erstellt",
|
|
"table_designer.message.trigger_deleted": "Trigger gelöscht",
|
|
"table_designer.message.trigger_updated": "Trigger aktualisiert",
|
|
"table_designer.modal.column_comment_title": "Spaltenkommentar",
|
|
"table_designer.modal.column_comment_title_named": "Spaltenkommentar - {{name}}",
|
|
"table_designer.modal.confirm_sql_title": "SQL-Änderungen bestätigen",
|
|
"table_designer.modal.copy_columns_title": "Ausgewählte Spalten in neue Tabelle kopieren",
|
|
"table_designer.modal.delete_foreign_key_content": "Fremdschlüssel-Constraint \"{{name}}\" löschen?",
|
|
"table_designer.modal.delete_foreign_key_title": "Fremdschlüssel löschen",
|
|
"table_designer.modal.delete_index_many": "Diese {{count}} Indizes löschen?\n{{names}}",
|
|
"table_designer.modal.delete_index_one": "Index {{names}} löschen?",
|
|
"table_designer.modal.delete_index_title": "Index löschen",
|
|
"table_designer.modal.delete_trigger_content": "Trigger \"{{name}}\" löschen? Dies kann nicht rückgängig gemacht werden.",
|
|
"table_designer.modal.delete_trigger_title": "Trigger löschen",
|
|
"table_designer.modal.foreign_key_create_title": "Fremdschlüssel hinzufügen",
|
|
"table_designer.modal.foreign_key_edit_title": "Fremdschlüssel bearbeiten",
|
|
"table_designer.modal.index_create_title": "Index hinzufügen",
|
|
"table_designer.modal.index_edit_title": "Index bearbeiten",
|
|
"table_designer.modal.table_comment_title": "Tabellenkommentar bearbeiten",
|
|
"table_designer.modal.trigger_create_title": "Trigger hinzufügen",
|
|
"table_designer.modal.trigger_detail_title": "Triggerdetails",
|
|
"table_designer.modal.trigger_detail_title_named": "Trigger: {{name}}",
|
|
"table_designer.modal.trigger_edit_title": "Trigger bearbeiten",
|
|
"table_designer.modal.unsaved_changes_content": "Beim Aktualisieren gehen die ungespeicherten Spaltenänderungen im aktuellen Entwurf verloren. Trotzdem aktualisieren und den Entwurf überschreiben?",
|
|
"table_designer.modal.unsaved_changes_title": "Ungespeicherte Spaltenänderungen",
|
|
"table_designer.notice.foreign_key_readonly": "Diese Datenbank unterstützt das Bearbeiten von Fremdschlüsseln hier nicht. Nur Ansicht.",
|
|
"table_designer.notice.foreign_key_replace_hint": "Beim Bearbeiten eines Fremdschlüssels wird zuerst der alte Fremdschlüssel gelöscht und danach der neue erstellt.",
|
|
"table_designer.notice.index_readonly": "Diese Datenbank unterstützt das Bearbeiten von Indizes hier nicht. Nur Ansicht.",
|
|
"table_designer.notice.index_restore_hint": "Wenn beim Bearbeiten eines Index das Erstellen des neuen Index fehlschlägt, versucht das System den ursprünglichen Index wiederherzustellen.",
|
|
"table_designer.notice.sql_irreversible": "Prüfen Sie das SQL sorgfältig. Die Ausführung kann nicht rückgängig gemacht werden.",
|
|
"table_designer.notice.sql_statement_irreversible": "Prüfen Sie die SQL-Anweisung sorgfältig. Die Ausführung kann nicht rückgängig gemacht werden.",
|
|
"table_designer.notice.trigger_replace_hint": "Beim Bearbeiten eines Triggers wird zuerst der ursprüngliche Trigger gelöscht und danach ein neuer erstellt.",
|
|
"table_designer.option.default": "Standard",
|
|
"table_designer.option.recommended_suffix": "(Empfohlen)",
|
|
"table_designer.placeholder.column_comment": "Spaltenkommentar eingeben",
|
|
"table_designer.placeholder.foreign_key_name": "Name des Fremdschlüssel-Constraints, z. B. fk_order_user",
|
|
"table_designer.placeholder.index_columns": "Indexspalten auswählen; die Auswahlreihenfolge wird verwendet",
|
|
"table_designer.placeholder.index_name": "Indexname, z. B. idx_user_name",
|
|
"table_designer.placeholder.local_columns": "Lokale Spalten auswählen; die Reihenfolge muss zu den Referenzspalten passen",
|
|
"table_designer.placeholder.primary_index_name": "Primärschlüsselindex verwendet festen Namen: PRIMARY",
|
|
"table_designer.placeholder.ref_columns": "Referenzspalten eingeben; mehrere Werte möglich",
|
|
"table_designer.placeholder.ref_table": "Referenztabelle; db.table wird unterstützt",
|
|
"table_designer.placeholder.table_comment": "Tabellenkommentar eingeben",
|
|
"table_designer.placeholder.table_name": "Tabellennamen eingeben",
|
|
"table_designer.placeholder.target_table_name": "Namen der Zieltabelle eingeben",
|
|
"table_designer.schema_sql.doris.primary_key_hint": "-- Doris-Primärschlüssel-/Key-Modelländerungen müssen passend zum Tabellenmodell manuell migriert werden. MySQL-spezifische DROP/ADD PRIMARY KEY-Klauseln wurden ausgelassen.",
|
|
"table_designer.schema_sql.duckdb.comment_hint": "-- DuckDB kann Spaltenkommentare nicht über COMMENT ON COLUMN dauerhaft speichern. Der Kommentar für Spalte {{column}} bleibt nur in der Designer-Vorschau erhalten.",
|
|
"table_designer.schema_sql.duckdb.primary_key_hint": "-- DuckDB unterstützt derzeit nur das Hinzufügen von PRIMARY KEY zu Tabellen ohne bestehenden Primärschlüssel. Änderungen oder Löschungen bestehender Primärschlüssel erfordern einen Tabellenneuaufbau.",
|
|
"table_designer.schema_sql.limited_column_hint": "-- Die Syntax für Spalten-Constraints, Standardwerte und Kommentare in {{dialect}} unterscheidet sich von MySQL. MySQL-spezifische Klauseln wurden ausgelassen; ergänzen Sie vor der Ausführung dialektspezifisches SQL.",
|
|
"table_designer.schema_sql.sqlite.modify_column_hint": "-- SQLite kann Spalteneigenschaften nicht direkt ändern. Erstellen Sie für Spalte {{column}} eine neue Tabelle, migrieren Sie die Daten und ersetzen Sie die alte Tabelle.",
|
|
"table_designer.schema_sql.sqlserver.drop_primary_key_hint": "-- SQL Server benötigt zum Löschen des alten Primärschlüssels den ursprünglichen Constraint-Namen. Prüfen Sie ihn vor dem Löschen im Indextab.",
|
|
"table_designer.schema_sql.tdengine.timestamp_hint": "-- Normale TDengine-Tabellen benötigen in der Regel eine TIMESTAMP-Zeitspalte. Prüfen Sie vor der Ausführung das Tabellenmodell.",
|
|
"table_designer.selection.columns_selected": "{{count}} Spalten ausgewählt",
|
|
"table_designer.selection.foreign_key_selected": "Ausgewählt: {{name}}",
|
|
"table_designer.selection.indexes_selected": "{{count}} Indizes ausgewählt",
|
|
"table_designer.selection.trigger_prompt": "Klicken Sie, um einen Trigger auszuwählen",
|
|
"table_designer.selection.trigger_selected": "Ausgewählt: {{name}}",
|
|
"table_designer.sql_preview.change.add": "Hinzufügung",
|
|
"table_designer.sql_preview.change.comment": "Kommentaränderung",
|
|
"table_designer.sql_preview.change.constraint": "Constraint-Änderung",
|
|
"table_designer.sql_preview.change.create": "Neue Tabellenstruktur",
|
|
"table_designer.sql_preview.change.create_index": "Index erstellen",
|
|
"table_designer.sql_preview.change.drop": "Entfernung",
|
|
"table_designer.sql_preview.change.modify": "Spalteneigenschaft geändert",
|
|
"table_designer.sql_preview.change.rename": "Umbenennung",
|
|
"table_designer.starrocks.bucket_mode.auto": "Eimeranzahl automatisch",
|
|
"table_designer.starrocks.bucket_mode.number": "Feste Eimeranzahl",
|
|
"table_designer.starrocks.distribution.hash": "Hash-Verteilung",
|
|
"table_designer.starrocks.distribution.none": "Keine Verteilung",
|
|
"table_designer.starrocks.distribution.random": "Zufällige Verteilung",
|
|
"table_designer.starrocks.key_model.aggregate": "Aggregatschlüssel",
|
|
"table_designer.starrocks.key_model.duplicate": "Duplikatschlüssel",
|
|
"table_designer.starrocks.key_model.unique": "Eindeutiger Schlüssel",
|
|
"table_designer.starrocks.placeholder.bucket_count": "Eimeranzahl",
|
|
"table_designer.starrocks.placeholder.distribution_columns": "Verteilungsspalten, z. B. user_id",
|
|
"table_designer.starrocks.placeholder.key_columns": "Schlüsselspalten, z. B. id, date",
|
|
"table_designer.starrocks.placeholder.partition_clause": "Partitionsklausel, z. B. PARTITION BY RANGE(date_col)(...)",
|
|
"table_designer.starrocks.table_kind.external": "Externe Tabelle",
|
|
"table_designer.starrocks.table_kind.olap": "OLAP-Tabelle",
|
|
"table_designer.status.read_only": "Schreibgeschützt",
|
|
"table_designer.summary.columns": "{{count}} Spalten",
|
|
"table_designer.summary.indexes": "Indizes: {{count}}, Indexspalten: {{fields}}",
|
|
"table_designer.tab.columns": "Spalten",
|
|
"table_designer.tab.edit_trigger_title": "Trigger bearbeiten: {{name}}",
|
|
"table_designer.tab.foreign_keys": "Fremdschlüssel",
|
|
"table_designer.tab.indexes": "Indizes",
|
|
"table_designer.tab.triggers": "Trigger",
|
|
"table_designer.table_comment.current": "Aktueller Kommentar: {{comment}}",
|
|
"table_designer.title.default_database": "Standarddatenbank",
|
|
"table_designer.title.schema_designer": "Schema-Designer",
|
|
"table_designer.title.untitled_table": "Unbenannte Tabelle",
|
|
"table_designer.tooltip.edit_comment_popup": "Kommentar im Dialog bearbeiten",
|
|
"table_designer.trigger.column.event": "Ereignis",
|
|
"table_designer.trigger.column.name": "Name",
|
|
"table_designer.trigger.column.timing": "Zeitpunkt",
|
|
"table_designer.trigger.definition_unavailable": "Vollständige Triggerdefinition konnte nicht abgerufen werden",
|
|
"table_designer.trigger.field.event": "Ereignis",
|
|
"table_designer.trigger.field.timing": "Zeitpunkt",
|
|
"table_designer.trigger.template.body_comment": "Triggerlogik",
|
|
"table_designer.trigger.template.enter_create": "Geben Sie eine CREATE TRIGGER-Anweisung ein",
|
|
"table_overview.action.show_more": "Mehr Tabellen anzeigen ({{count}} verbleibend)",
|
|
"table_overview.empty.no_matches": "Keine Treffer",
|
|
"table_overview.empty.no_tables": "Keine Tabellen",
|
|
"table_overview.menu.backup_table_sql": "Tabelle sichern (SQL)",
|
|
"table_overview.menu.clear_table": "Tabelle leeren",
|
|
"table_overview.menu.copy_structure": "Tabellenstruktur kopieren",
|
|
"table_overview.menu.copy_table_name": "Tabellennamen kopieren",
|
|
"table_overview.menu.danger_operations": "Gefährliche Aktionen",
|
|
"table_overview.menu.delete_table": "Tabelle löschen",
|
|
"table_overview.menu.design_table": "Tabelle entwerfen",
|
|
"table_overview.menu.export_csv": "CSV exportieren",
|
|
"table_overview.menu.export_html": "HTML exportieren",
|
|
"table_overview.menu.export_json": "JSON exportieren",
|
|
"table_overview.menu.export_markdown": "Markdown exportieren",
|
|
"table_overview.menu.export_table_data": "Tabellendaten exportieren",
|
|
"table_overview.menu.export_xlsx": "XLSX exportieren",
|
|
"table_overview.menu.new_query": "Neue Abfrage",
|
|
"table_overview.menu.rename_table": "Tabelle umbenennen",
|
|
"table_overview.menu.table_structure": "Tabellenstruktur",
|
|
"table_overview.menu.truncate_table": "Tabelle truncaten",
|
|
"table_overview.message.copy_structure_failed": "Tabellenstruktur konnte nicht kopiert werden: {{detail}}",
|
|
"table_overview.message.copy_structure_success": "Tabellenstruktur in die Zwischenablage kopiert",
|
|
"table_overview.message.copy_table_name_empty": "Der Tabellenname ist leer und kann nicht kopiert werden",
|
|
"table_overview.message.copy_table_name_failed": "Tabellenname konnte nicht kopiert werden: {{detail}}",
|
|
"table_overview.message.copy_table_name_success": "Tabellenname wurde in die Zwischenablage kopiert",
|
|
"table_overview.message.delete_table_failed": "Tabelle konnte nicht gelöscht werden: {{detail}}",
|
|
"table_overview.message.delete_table_success": "Tabelle gelöscht",
|
|
"table_overview.message.export_failed": "Export fehlgeschlagen: {{detail}}",
|
|
"table_overview.message.export_success": "Export erfolgreich",
|
|
"table_overview.message.exporting_table_format": "{{table}} wird als {{format}} exportiert...",
|
|
"table_overview.message.load_tables_failed": "Tabelleninformationen konnten nicht geladen werden: {{detail}}",
|
|
"table_overview.message.pinned": "Tabelle angeheftet",
|
|
"table_overview.message.rename_table_failed": "Tabelle konnte nicht umbenannt werden: {{detail}}",
|
|
"table_overview.message.rename_table_success": "Tabelle umbenannt",
|
|
"table_overview.message.table_data_action_failed": "{{action}} fehlgeschlagen: {{detail}}",
|
|
"table_overview.message.table_data_action_loading": "{{action}} für {{table}} wird ausgeführt...",
|
|
"table_overview.message.table_data_action_success": "{{action}} erfolgreich",
|
|
"table_overview.message.unknown_error": "Unbekannter Fehler",
|
|
"table_overview.message.unpinned": "Anheften der Tabelle aufgehoben",
|
|
"table_overview.metric.data_size": "Datengröße",
|
|
"table_overview.metric.engine": "Engine",
|
|
"table_overview.metric.index_size": "Indexgröße",
|
|
"table_overview.metric.relative_size": "Relative Größe",
|
|
"table_overview.modal.delete_table.content": "Tabelle \"{{table}}\" löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
|
|
"table_overview.modal.delete_table.title": "Tabelle löschen",
|
|
"table_overview.modal.rename_table.placeholder": "Neuen Tabellennamen eingeben",
|
|
"table_overview.modal.rename_table.title": "Tabelle umbenennen",
|
|
"table_overview.modal.table_data_action.content": "{{action}} löscht dauerhaft alle Daten in Tabelle \"{{table}}\". Diese Aktion kann nicht rückgängig gemacht werden. Fortfahren?",
|
|
"table_overview.modal.table_data_action.title": "{{action}} bestätigen",
|
|
"table_overview.placeholder.search": "Tabellennamen oder Kommentare suchen...",
|
|
"table_overview.row.engine_table": "{{engine}}-Tabelle",
|
|
"table_overview.row.open_hint": "Doppelklicken, um Daten zu öffnen; Rechtsklick für weitere Aktionen",
|
|
"table_overview.section.all": "Alle",
|
|
"table_overview.section.pinned": "Angeheftet",
|
|
"table_overview.sort.name": "Name",
|
|
"table_overview.sort.rows": "Zeilen",
|
|
"table_overview.sort.size": "Groesse",
|
|
"table_overview.status.hidden_count_hint": "{{count}} weitere sind nicht gerendert. Mehr laden oder die Suche eingrenzen.",
|
|
"table_overview.status.loading_tables": "Tabelleninformationen werden geladen...",
|
|
"table_overview.status.matching_rendered": "{{matched}} Tabellen gefunden, {{rendered}} werden angezeigt",
|
|
"table_overview.status.updating_filter": "Gefilterte Ergebnisse werden aktualisiert...",
|
|
"table_overview.tab.design_table_title": "Tabelle entwerfen ({{table}})",
|
|
"table_overview.tab.table_structure_title": "Tabellenstruktur ({{table}})",
|
|
"table_overview.table_data_action.clear.label": "Tabellendaten leeren",
|
|
"table_overview.table_data_action.truncate.label": "Tabelle leeren",
|
|
"table_overview.toolbar.summary": "{{count}} Tabellen · {{rows}} Zeilen · {{size}}",
|
|
"table_overview.tooltip.card_view": "Kartenansicht",
|
|
"table_overview.tooltip.list_view": "Listenansicht",
|
|
"table_overview.tooltip.refresh": "Aktualisieren",
|
|
"table_overview.tooltip.sort": "Sortieren",
|
|
"table_overview.validation.table_name_required": "Tabellenname ist erforderlich",
|
|
"table_overview.validation.table_name_unchanged": "Der neue Tabellenname entspricht dem aktuellen Namen",
|
|
"trigger_viewer.action.edit_object": "Objekt bearbeiten",
|
|
"trigger_viewer.edit_sql.compatibility_hint": "Prüfe vor dem Ausführen die Kompatibilität mit der aktuellen Datenbank.",
|
|
"trigger_viewer.edit_sql.empty_definition": "Die Triggerdefinition ist leer. Vervollständige die CREATE TRIGGER-Anweisung vor dem Ausführen.",
|
|
"trigger_viewer.edit_sql.fragment_definition": "Die aktuelle Datenquelle hat nur ein Fragment der Triggerdefinition zurückgegeben. Vervollständige die CREATE TRIGGER-Anweisung vor dem Ausführen.",
|
|
"trigger_viewer.edit_sql.header": "Trigger bearbeiten: {{name}}",
|
|
"trigger_viewer.edit_sql.replace_hint": "Die Tabellenentwurfsänderung löscht zuerst den ursprünglichen Trigger und erstellt danach einen neuen. Vor dem Ausführen prüfen.",
|
|
"trigger_viewer.editor.definition_not_found": "Triggerdefinition nicht gefunden",
|
|
"trigger_viewer.editor.sphinx.compat_queries_hint": "Mehrere Kompatibilitätsabfragen wurden ausgeführt. Ursache können Versionsbeschränkungen oder ein nicht unterstützter Objekttyp sein.",
|
|
"trigger_viewer.editor.sphinx.empty_result": "Die aktuelle Sphinx-Instanz{{version}} hat keine Triggerdefinition zurückgegeben.",
|
|
"trigger_viewer.editor.sphinx.failed_message_label": "Zurückgegebene Fehlermeldung",
|
|
"trigger_viewer.editor.sphinx.failed_message_unknown": "Zurückgegebene Fehlermeldung: Unbekannter Fehler",
|
|
"trigger_viewer.editor.sphinx.unsupported_query": "Die aktuelle Sphinx-Instanz{{version}} unterstützt das Abfragen von Triggerdefinitionen nicht.",
|
|
"trigger_viewer.editor.sphinx.version_suffix": " (Version: {{version}})",
|
|
"trigger_viewer.editor.unsupported.duckdb": "DuckDB unterstützt keine Trigger",
|
|
"trigger_viewer.editor.unsupported.generic": "Dieser Datenbanktyp unterstützt das Anzeigen von Triggerdefinitionen nicht",
|
|
"trigger_viewer.editor.unsupported.mongodb": "MongoDB unterstützt keine Trigger",
|
|
"trigger_viewer.editor.unsupported.tdengine": "TDengine unterstützt keine Trigger",
|
|
"trigger_viewer.error.connection_not_found": "Datenbankverbindung nicht gefunden",
|
|
"trigger_viewer.error.load_failed": "Laden fehlgeschlagen",
|
|
"trigger_viewer.error.query_failed": "Triggerdefinitionsabfrage fehlgeschlagen",
|
|
"trigger_viewer.error.query_failed_detail": "Triggerdefinitionsabfrage fehlgeschlagen: {{detail}}",
|
|
"trigger_viewer.error.trigger_name_empty": "Triggername ist leer",
|
|
"trigger_viewer.field.database": "Datenbank",
|
|
"trigger_viewer.field.trigger": "Trigger",
|
|
"trigger_viewer.loading.definition": "Triggerdefinition wird geladen...",
|
|
"trigger_viewer.tab.edit_trigger_title": "Trigger bearbeiten: {{name}}",
|
|
"trigger_viewer.warning.refresh_latest_failed": "Neueste Definition konnte nicht aktualisiert werden"
|
|
}
|