mojulo 0.0.0 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +53 -4
  2. package/lib/audit-logger-new.js +11 -0
  3. package/lib/auth/gate.js +25 -0
  4. package/lib/auth/service.js +17 -0
  5. package/lib/auth/session.js +63 -0
  6. package/lib/builder/chat-processor.js +607 -0
  7. package/lib/builder/composer-bridge.js +82 -0
  8. package/lib/builder/evaluator.js +159 -0
  9. package/lib/builder/executor.js +252 -0
  10. package/lib/builder/index.js +48 -0
  11. package/lib/builder/session.js +248 -0
  12. package/lib/builder/system-prompt.js +422 -0
  13. package/lib/builder/tone-presets.js +75 -0
  14. package/lib/builder/tool-executors.js +1418 -0
  15. package/lib/builder/tools.js +338 -0
  16. package/lib/builder/validators.js +239 -0
  17. package/lib/composer/composer.js +225 -0
  18. package/lib/composer/index.js +40 -0
  19. package/lib/composer/protocols/00_base.txt +19 -0
  20. package/lib/composer/protocols/01_knowledge.txt +9 -0
  21. package/lib/composer/protocols/02_form-gathering.txt +32 -0
  22. package/lib/composer/protocols/03_appointments.txt +16 -0
  23. package/lib/composer/protocols/04_triage.txt +15 -0
  24. package/lib/composer/protocols/05_optical-read.txt +22 -0
  25. package/lib/composer/response-builder.js +98 -0
  26. package/lib/config-builder.js +650 -0
  27. package/lib/db/ids.js +10 -0
  28. package/lib/db/index.js +179 -0
  29. package/lib/db/repositories/apiKeys.js +72 -0
  30. package/lib/db/repositories/auditLogs.js +12 -0
  31. package/lib/db/repositories/botSpaces.js +12 -0
  32. package/lib/db/repositories/builderSessions.js +312 -0
  33. package/lib/db/repositories/deploymentEvents.js +12 -0
  34. package/lib/db/repositories/deployments.js +385 -0
  35. package/lib/db/repositories/documents.js +68 -0
  36. package/lib/db/repositories/mcpJobs.js +84 -0
  37. package/lib/deployers/bot-fleet.js +110 -0
  38. package/lib/deployers/bot-proxy.js +72 -0
  39. package/lib/deployers/build.js +89 -0
  40. package/lib/deployers/cloud-deploy.js +310 -0
  41. package/lib/deployers/docker.js +439 -0
  42. package/lib/deployers/fly.js +432 -0
  43. package/lib/deployers/index.js +38 -0
  44. package/lib/deployment-auth.js +36 -0
  45. package/lib/document-parser.js +171 -0
  46. package/lib/embedder/chunker.js +93 -0
  47. package/lib/embedder/local.js +101 -0
  48. package/lib/embedder/preview-rag.js +93 -0
  49. package/lib/envelope-schema.js +54 -0
  50. package/lib/fleet/scoped-sql.js +342 -0
  51. package/lib/form-schema-config/base.js +135 -0
  52. package/lib/form-schema-config/index.js +286 -0
  53. package/lib/form-schema-config/locales/af-ZA.js +153 -0
  54. package/lib/form-schema-config/locales/ar-AE.js +142 -0
  55. package/lib/form-schema-config/locales/ar-SA.js +164 -0
  56. package/lib/form-schema-config/locales/de-DE.js +152 -0
  57. package/lib/form-schema-config/locales/en-AU.js +161 -0
  58. package/lib/form-schema-config/locales/en-CA.js +115 -0
  59. package/lib/form-schema-config/locales/en-GB.js +132 -0
  60. package/lib/form-schema-config/locales/en-IN.js +219 -0
  61. package/lib/form-schema-config/locales/en-MY.js +171 -0
  62. package/lib/form-schema-config/locales/en-NG.js +198 -0
  63. package/lib/form-schema-config/locales/en-PH.js +186 -0
  64. package/lib/form-schema-config/locales/en-SG.js +153 -0
  65. package/lib/form-schema-config/locales/en-US.js +138 -0
  66. package/lib/form-schema-config/locales/es-ES.js +171 -0
  67. package/lib/form-schema-config/locales/es-MX.js +193 -0
  68. package/lib/form-schema-config/locales/fr-CA.js +138 -0
  69. package/lib/form-schema-config/locales/fr-FR.js +155 -0
  70. package/lib/form-schema-config/locales/hi-IN.js +219 -0
  71. package/lib/form-schema-config/locales/it-IT.js +157 -0
  72. package/lib/form-schema-config/locales/ja-JP.js +169 -0
  73. package/lib/form-schema-config/locales/ko-KR.js +140 -0
  74. package/lib/form-schema-config/locales/nl-NL.js +149 -0
  75. package/lib/form-schema-config/locales/pt-BR.js +168 -0
  76. package/lib/form-schema-config/locales/zh-CN.js +172 -0
  77. package/lib/form-schema-config/locales/zh-HK.js +142 -0
  78. package/lib/form-structure-schema.js +191 -0
  79. package/lib/llm-providers.js +828 -0
  80. package/lib/markdown.js +197 -0
  81. package/lib/mcp/catalysts/appointment-to-calendar.md +84 -0
  82. package/lib/mcp/catalysts/conversations-to-channel-digest.md +104 -0
  83. package/lib/mcp/catalysts/document-extract-to-store.md +92 -0
  84. package/lib/mcp/catalysts/knowledge-gap-miner.md +96 -0
  85. package/lib/mcp/catalysts/loader.js +144 -0
  86. package/lib/mcp/catalysts/qualify-lead-to-crm.md +83 -0
  87. package/lib/mcp/catalysts/scan-conversations-for-signal.md +92 -0
  88. package/lib/mcp/catalysts/submission-to-ticket.md +83 -0
  89. package/lib/mcp/catalysts/submissions-to-warehouse.md +103 -0
  90. package/lib/mcp/catalysts/weekly-submissions-digest.md +82 -0
  91. package/lib/mcp/jobs.js +64 -0
  92. package/lib/mcp/server.js +184 -0
  93. package/lib/mcp/session-binding.js +130 -0
  94. package/lib/mcp/tools/build.js +123 -0
  95. package/lib/mcp/tools/catalysts.js +477 -0
  96. package/lib/mcp/tools/context.js +325 -0
  97. package/lib/mcp/tools/fleet.js +391 -0
  98. package/lib/mcp/tools/jobs-tools.js +240 -0
  99. package/lib/mcp/tools/operate.js +314 -0
  100. package/lib/preview/build-preview-config.js +136 -0
  101. package/lib/rate-limiter.js +11 -0
  102. package/lib/resolve-api-key.js +142 -0
  103. package/lib/storage/index.js +40 -0
  104. package/messages/de.json +2136 -0
  105. package/messages/en.json +2136 -0
  106. package/messages/es.json +2136 -0
  107. package/messages/fr.json +2136 -0
  108. package/messages/it.json +2136 -0
  109. package/messages/ja.json +2136 -0
  110. package/messages/ko.json +2136 -0
  111. package/messages/nl.json +2136 -0
  112. package/messages/pl.json +2136 -0
  113. package/messages/pt.json +2136 -0
  114. package/messages/ru.json +2136 -0
  115. package/messages/uk.json +2136 -0
  116. package/messages/zh.json +2136 -0
  117. package/package.json +61 -5
  118. package/scripts/mcp-config.mjs +162 -0
  119. package/scripts/mcp-stdio-loader.mjs +42 -0
  120. package/scripts/mcp-stdio.mjs +108 -0
  121. package/scripts/mojulo-paths.mjs +48 -0
@@ -0,0 +1,2136 @@
1
+ {
2
+ "common": {
3
+ "loading": "Laden...",
4
+ "save": "Speichern",
5
+ "saving": "Speichern...",
6
+ "cancel": "Abbrechen",
7
+ "delete": "Löschen",
8
+ "edit": "Bearbeiten",
9
+ "close": "Schließen",
10
+ "search": "Suchen",
11
+ "back": "Zurück",
12
+ "next": "Weiter",
13
+ "submit": "Absenden",
14
+ "create": "Erstellen",
15
+ "copy": "Kopieren",
16
+ "copied": "Kopiert!",
17
+ "view": "Ansehen",
18
+ "hide": "Verbergen",
19
+ "yes": "Ja",
20
+ "no": "Nein",
21
+ "confirm": "Bestätigen",
22
+ "done": "Fertig",
23
+ "updating": "Aktualisieren...",
24
+ "moveTo": "Verschieben nach:",
25
+ "unknown": "Unbekannt",
26
+ "error": "Fehler",
27
+ "remove": "Entfernen",
28
+ "selectAnOption": "Option auswählen",
29
+ "addItemLabel": "{itemLabel} hinzufügen",
30
+ "itemNumber": "{itemLabel} Nr. {number}"
31
+ },
32
+ "auth": {
33
+ "signIn": "Anmelden",
34
+ "signOut": "Abmelden",
35
+ "signingIn": "Anmelden...",
36
+ "email": "E-Mail",
37
+ "password": "Passwort",
38
+ "signInToContinue": "Melde dich an, um fortzufahren",
39
+ "invalidCredentials": "Ungültige E-Mail oder Passwort",
40
+ "needAccess": "Du brauchst Zugang? Wende dich an deinen Organisationsadministrator.",
41
+ "controlPanel": "Mojulo Control Panel",
42
+ "setupComplete": "Admin-Konto erfolgreich erstellt. Bitte melde dich an.",
43
+ "emailPlaceholder": "du@firma.com",
44
+ "passwordPlaceholder": "Dein Passwort"
45
+ },
46
+ "dashboard": {
47
+ "title": "Dashboard",
48
+ "loading": "Dashboard wird geladen...",
49
+ "loadingChatbots": "Chatbots werden geladen...",
50
+ "loadingHistory": "Verlauf wird geladen...",
51
+ "createNewBot": "Neuen Bot erstellen",
52
+ "noBots": "Noch keine Bots",
53
+ "selectBotOrSpace": "Wähle einen Bot oder Bot Space, um Details anzuzeigen",
54
+ "createBot": "Bot erstellen",
55
+ "workspace": "Arbeitsbereich von {name}",
56
+ "unassignedWorkspace": "Nicht zugewiesener Arbeitsbereich",
57
+ "searchChatbots": "Chatbots suchen",
58
+ "noChatbotsFound": "Keine Chatbots gefunden",
59
+ "privateNotShared": "Privat (nicht geteilt)",
60
+ "inSpace": "in {spaceName}",
61
+ "chooseBotType": "Wähle einen Bot-Typ, um zu beginnen:",
62
+ "addNewBot": "Neuen Bot hinzufügen",
63
+ "addNewPrivateBot": "Neuen privaten Bot hinzufügen",
64
+ "expandBotSpaces": "Bot Spaces ausklappen",
65
+ "allSpaces": "Alle Spaces",
66
+ "adminSummary": {
67
+ "title": "Übersicht",
68
+ "totalBots": "Bots gesamt",
69
+ "running": "Aktiv",
70
+ "stopped": "Gestoppt",
71
+ "failed": "Fehlgeschlagen",
72
+ "recentDeployments": "Aktuelle Deployments",
73
+ "activeBots": "Aktive Bots (24 Std.)",
74
+ "noRecentActivity": "Keine aktuellen Aktivitäten",
75
+ "conversations": "Konversationen",
76
+ "totalActive": "{bots} Bots mit {conversations} Konversationen in den letzten 24 Stunden",
77
+ "private": "Privat",
78
+ "unknown": "Unbekannt",
79
+ "justNow": "gerade eben",
80
+ "minutesAgo": "vor {count} Min.",
81
+ "hoursAgo": "vor {count} Std.",
82
+ "yesterday": "gestern",
83
+ "daysAgo": "vor {count} T."
84
+ },
85
+ "private": "Privat",
86
+ "showBotList": "Bot-Liste anzeigen",
87
+ "deleteConfirm": "Möchtest du \"{name}\" wirklich löschen? Dies zerstört das Deployment und kann nicht rückgängig gemacht werden.",
88
+ "deleteError": "Deployment konnte nicht gelöscht werden: {error}",
89
+ "actionError": "Aktion {action} für Deployment fehlgeschlagen: {error}",
90
+ "assignError": "Zuweisung zum Bot Space fehlgeschlagen: {error}",
91
+ "sections": {
92
+ "control": "Steuerung",
93
+ "data": "Daten",
94
+ "resources": "Ressourcen"
95
+ },
96
+ "launcher": {
97
+ "modularChat": {
98
+ "title": "Modularer Bot (Chat)",
99
+ "badge": "Neu",
100
+ "description": "Mit einem KI-Assistenten bauen"
101
+ },
102
+ "modularWizard": {
103
+ "title": "Modularer Bot (Assistent)",
104
+ "description": "Schritt-für-Schritt-Konfiguration"
105
+ }
106
+ },
107
+ "redeploy": {
108
+ "confirm": "\"{name}\" mit aktueller Konfiguration neu bereitstellen? Der Bot wird ohne Änderungen neu gestartet.",
109
+ "initiating": "Redeploy wird gestartet...",
110
+ "sending": "Deployment-Anfrage wird gesendet...",
111
+ "deploying": "Deployen...",
112
+ "redeploying": "Neu deployen...",
113
+ "failed": "Redeploy fehlgeschlagen"
114
+ },
115
+ "myBots": "Meine Bots",
116
+ "subtitle": "Jeder Bot ist eine gespeicherte Konfiguration. Baue ihn, wann immer du ein lauffähiges ZIP möchtest.",
117
+ "noKeyBanner": {
118
+ "text": "Füge einen LLM-Provider-Schlüssel hinzu, um den Chat-Builder und den formularbasierten Assistenten freizuschalten.",
119
+ "cta": "Einstellungen öffnen →"
120
+ },
121
+ "documentLibrary": "Dokumentbibliothek →",
122
+ "newBotChat": "Neuer Bot (Chat)",
123
+ "newBotWizard": "Neuer Bot (Assistent)",
124
+ "loadingShort": "Laden…",
125
+ "noBotsHint": "Noch keine Bots. Starte einen aus dem Chat-Builder oder dem Assistenten.",
126
+ "searchBots": "Bots suchen…",
127
+ "noBotsMatch": "Keine Bots passen zu \"{query}\".",
128
+ "emptyDetailHint": "Wähle einen Bot, um seine Lifecycle-Aktionen zu sehen.",
129
+ "buildFailedAlert": "Build fehlgeschlagen: {error}",
130
+ "statuses": {
131
+ "building": "Wird gebaut",
132
+ "buildFailed": "Build fehlgeschlagen",
133
+ "needsRebuild": "Neuer Build nötig",
134
+ "running": "Aktiv",
135
+ "runningStale": "Aktiv · veraltet",
136
+ "ready": "Bereit",
137
+ "draft": "Entwurf"
138
+ },
139
+ "builds": {
140
+ "building": "Wird gebaut…",
141
+ "retry": "Build wiederholen",
142
+ "rebuild": "Neu bauen",
143
+ "build": "Bauen"
144
+ },
145
+ "connect": {
146
+ "title": "Laufenden Bot verbinden",
147
+ "description": "Füge die URL ein, unter der du <code>{name}</code> betreibst. Das Control Plane testet sie mit dem in der Zeile gespeicherten API-Schlüssel.",
148
+ "botUrlLabel": "Bot-URL",
149
+ "probeFailedFallback": "Probe fehlgeschlagen ({status})",
150
+ "disconnect": "Trennen",
151
+ "testing": "Teste…",
152
+ "testAndSave": "Testen & speichern"
153
+ },
154
+ "documents": {
155
+ "title": "Dokumentbibliothek",
156
+ "breadcrumbHere": "Dokumentbibliothek",
157
+ "subtitle": "Alle deine hochgeladenen Dokumente und die Bots, die sie referenzieren. Dokumente überdauern Bots — Bots zu löschen entfernt deren Dokumente nicht.",
158
+ "loadFailed": "Bibliothek konnte nicht geladen werden: {error}",
159
+ "loading": "Laden…",
160
+ "searchPlaceholder": "Nach Dateiname suchen…",
161
+ "filters": {
162
+ "all": "Alle",
163
+ "unattached": "Nicht zugeordnet",
164
+ "parseFailed": "Parsing fehlgeschlagen"
165
+ },
166
+ "selectAll": "Alle auswählen",
167
+ "deselectAll": "Auswahl aufheben",
168
+ "selectionStatus": "{selected} von {total} ausgewählt",
169
+ "deleting": "Lösche…",
170
+ "deleteSelected": "Auswahl löschen",
171
+ "deleteCount": "{count} löschen",
172
+ "deleteSingleConfirm": "\"{name}\" löschen? Dies entfernt die Datei vom Datenträger.",
173
+ "deleteMultiConfirm": "{count} nicht zugeordnete Dokumente löschen? Diese werden vom Datenträger entfernt.",
174
+ "deleteFailed": "Löschen von {failed} von {total} fehlgeschlagen: {details}",
175
+ "noDocs": "Noch keine Dokumente hochgeladen. Lade beim Konfigurieren eines Bots eines aus dem Assistenten oder Chat-Builder hoch.",
176
+ "noMatch": "Keine Dokumente passen zu diesem Filter.",
177
+ "table": {
178
+ "document": "Dokument",
179
+ "size": "Größe",
180
+ "uploaded": "Hochgeladen",
181
+ "parsed": "Geparst",
182
+ "usedBy": "Verwendet von"
183
+ },
184
+ "parseFailedLabel": "fehlgeschlagen",
185
+ "parseFailedTooltip": "Kein extrahierter Text — RAG verwendet dieses Dokument nicht",
186
+ "unattachedLabel": "Nicht zugeordnet"
187
+ },
188
+ "detail": {
189
+ "backToList": "Zurück zur Liste",
190
+ "runningAt": "läuft unter",
191
+ "staleNotice": "Konfiguration seit dem letzten Build geändert — neu bauen, um das aktuelle ZIP zu erhalten.",
192
+ "wizard": "Assistent",
193
+ "chat": "Chat",
194
+ "connect": "Verbinden",
195
+ "reconnect": "Neu verbinden",
196
+ "conversations": "Konversationen",
197
+ "downloadZip": "ZIP herunterladen",
198
+ "downloadWithDocs": "Mit Dokumenten herunterladen",
199
+ "deployToCloud": "In die Cloud deployen",
200
+ "live": "Live ↗",
201
+ "hideEmbed": "Embed ausblenden",
202
+ "embedScript": "Embed-Skript",
203
+ "deleteBot": "Bot löschen",
204
+ "deleteConfirm": "Diesen Bot und sein Artefakt löschen?"
205
+ }
206
+ },
207
+ "bots": {
208
+ "types": {
209
+ "chat": "Chat",
210
+ "knowledge": "Wissen",
211
+ "form": "Formular",
212
+ "triage": "Triage",
213
+ "appointment": "Termin",
214
+ "bot": "Bot"
215
+ },
216
+ "descriptions": {
217
+ "chat": "KI-gestützter Chat-Assistent",
218
+ "form": "Strukturierte Datenerfassung",
219
+ "triage": "Nutzer an den richtigen Ort leiten",
220
+ "appointment": "Meetings & Buchungen planen"
221
+ },
222
+ "status": {
223
+ "deployed": "deployed",
224
+ "deploying": "deployen",
225
+ "failed": "fehlgeschlagen"
226
+ }
227
+ },
228
+ "actions": {
229
+ "modify": "Ändern",
230
+ "clone": "Klonen",
231
+ "reassign": "Neu zuweisen",
232
+ "goToLiveBot": "Zum Live-Bot",
233
+ "modifyTitle": "Deployment ändern - URL und Name bleiben gleich",
234
+ "cloneTitle": "Dieses Deployment mit einem neuen Namen klonen",
235
+ "reassignTitle": "Einem anderen Bot Space neu zuweisen",
236
+ "deleteTitle": "Deployment löschen",
237
+ "editInChat": "Chat",
238
+ "editInChatTitle": "Mit Chat-Assistent ändern",
239
+ "pause": "Pausieren",
240
+ "start": "Starten",
241
+ "pauseBot": "Bot pausieren",
242
+ "startBot": "Bot starten",
243
+ "redeploy": "Neu deployen",
244
+ "redeployBot": "Bot neu deployen",
245
+ "live": "Live",
246
+ "embed": "Einbetten",
247
+ "copied": "Kopiert",
248
+ "replicas": "Replikate",
249
+ "scaleReplicas": "Replikate skalieren",
250
+ "replicasDescription": "Passe die Anzahl der Bot-Replikate an. Mehr Replikate bedienen mehr gleichzeitige Nutzer. Sticky Sessions stellen sicher, dass Nutzer mit demselben Replikat verbunden bleiben.",
251
+ "replicaCount": "Anzahl der Replikate",
252
+ "replicasRange": "Min: 1, Max: 10",
253
+ "currentReplicas": "Aktuelle Replikate (verfügbar/gewünscht)",
254
+ "scale": "Skalieren",
255
+ "scaling": "Skaliere...",
256
+ "cancel": "Abbrechen"
257
+ },
258
+ "nav": {
259
+ "dashboard": "Dashboard",
260
+ "analytics": "Analytics",
261
+ "conversations": "Konversationen",
262
+ "submissions": "Einreichungen",
263
+ "liveLogs": "Live-Logs"
264
+ },
265
+ "wizard": {
266
+ "loading": "Assistent wird geladen...",
267
+ "loadingDeployment": "Deployment-Konfiguration wird geladen...",
268
+ "previewAfterDeployment": "Vorschau nach Deployment verfügbar",
269
+ "clickToBegin": "Klicke auf eine Deployment-Schaltfläche, um zu beginnen",
270
+ "clickToUpdate": "Klicke auf eine Deployment-Schaltfläche, um zu aktualisieren",
271
+ "steps": {
272
+ "identity": "Identität",
273
+ "knowledge": "Wissensbasis",
274
+ "deployment": "Deployment",
275
+ "resources": "Ressourcen",
276
+ "infoGathering": "Informationserfassung",
277
+ "triage": "Triage",
278
+ "appointments": "Termine",
279
+ "botSetup": "Bot-Einrichtung",
280
+ "capabilities": "Fähigkeiten",
281
+ "formCollection": "Formularerfassung",
282
+ "routing": "Routing",
283
+ "opticalRead": "Optical Read",
284
+ "deploy": "Bauen"
285
+ },
286
+ "titles": {
287
+ "newBot": "Neuer Bot",
288
+ "editBot": "Bot bearbeiten",
289
+ "cloneBot": "Bot klonen",
290
+ "newConversationalBot": "Neuer Konversations-Bot",
291
+ "editConversationalBot": "Konversations-Bot bearbeiten",
292
+ "cloneConversationalBot": "Konversations-Bot klonen",
293
+ "newTriageBot": "Neuer Triage-Bot",
294
+ "editTriageBot": "Triage-Bot bearbeiten",
295
+ "cloneTriageBot": "Triage-Bot klonen",
296
+ "newAppointmentsBot": "Neuer Termin-Bot",
297
+ "editAppointmentsBot": "Termin-Bot bearbeiten",
298
+ "cloneAppointmentsBot": "Termin-Bot klonen",
299
+ "configureYourBot": "Deinen Bot konfigurieren",
300
+ "selectBotCapabilities": "Bot-Fähigkeiten auswählen",
301
+ "defineBotIdentity": "Bot-Identität definieren",
302
+ "uploadKnowledgeBase": "Wissensbasis hochladen",
303
+ "configureFormCollection": "Formularerfassung konfigurieren",
304
+ "configureAppointments": "Termine konfigurieren",
305
+ "configureTriageRouting": "Triage-Routing konfigurieren",
306
+ "configureOpticalRead": "Optical Read konfigurieren",
307
+ "deployYourBot": "Bauen & Herunterladen"
308
+ },
309
+ "badges": {
310
+ "modifying": "Wird geändert",
311
+ "clone": "Klon",
312
+ "new": "Neu",
313
+ "conversational": "Konversation",
314
+ "triage": "Triage",
315
+ "appointments": "Termine",
316
+ "form": "Formular",
317
+ "modular": "Modular",
318
+ "knowledge": "Wissen",
319
+ "forms": "Formulare",
320
+ "routing": "Routing",
321
+ "opticalRead": "Optical Read"
322
+ },
323
+ "theatre": {
324
+ "modelConfiguration": "Modell-Konfiguration",
325
+ "botPreview": "Bot-Vorschau",
326
+ "knowledgeBase": "Wissensbasis",
327
+ "deployment": "Deployment",
328
+ "preview": "Vorschau",
329
+ "infoGathering": "Informationserfassung",
330
+ "triageDestinations": "Triage-Ziele",
331
+ "appointmentTypes": "Termintypen",
332
+ "calendarProviders": "Kalender-Anbieter",
333
+ "protocolPreview": "Protokoll-Vorschau",
334
+ "formPreview": "Formular-Vorschau",
335
+ "appointmentPreview": "Termin-Vorschau",
336
+ "triagePreview": "Triage-Vorschau",
337
+ "opticalReadPreview": "Optical-Read-Vorschau"
338
+ },
339
+ "protocols": {
340
+ "selectCapabilities": "Bot-Fähigkeiten auswählen",
341
+ "selectCapabilitiesDescription": "Aktiviere die Protokolle, die dein Bot braucht. Kombiniere mehrere Fähigkeiten.",
342
+ "knowledgeBase": "Wissensbasis",
343
+ "knowledgeBaseDescription": "Fragen mit hochgeladenen Dokumenten und RAG (Retrieval-Augmented Generation) beantworten",
344
+ "formCollection": "Formularerfassung",
345
+ "formCollectionDescription": "Konversationsformulare, um Informationen zu sammeln, ohne dass die KI Nutzerdaten sieht",
346
+ "appointmentBooking": "Terminbuchung",
347
+ "appointmentBookingDescription": "Nutzer an Kalender-Anbieter wie Calendly oder Google Calendar weiterleiten",
348
+ "triageRouting": "Triage-Routing",
349
+ "triageRoutingDescription": "Nutzer basierend auf ihren Bedürfnissen an spezialisierte Bots oder menschlichen Support leiten",
350
+ "opticalRead": "Optical Read",
351
+ "opticalReadDescription": "Strukturierte Daten aus einem hochgeladenen Bild mit einem visionsfähigen LLM extrahieren",
352
+ "opticalReadProviderGate": "Optical Read benötigt einen visionsfähigen Anbieter. Anthropic und OpenAI werden unterstützt.",
353
+ "modelGate": "Dieses Modell unterstützt nur das Knowledge-Protokoll. Wechsle zu llama3.3 (Ollama) oder einem Cloud-Anbieter, um mehrstufige Flows zu aktivieren.",
354
+ "exampleFaq": "FAQ-Chatbots",
355
+ "exampleDocumentation": "Dokumentations-Assistenten",
356
+ "exampleProductSupport": "Produkt-Support",
357
+ "exampleLeadCapture": "Lead-Erfassung",
358
+ "exampleOnboarding": "Nutzer-Onboarding",
359
+ "exampleSurvey": "Umfrage-Erfassung",
360
+ "exampleConsultation": "Beratungs-Buchung",
361
+ "exampleScheduling": "Service-Planung",
362
+ "exampleMeeting": "Meeting-Einrichtung",
363
+ "exampleMultiBot": "Multi-Bot-Routing",
364
+ "exampleDelegation": "Intelligente Delegation",
365
+ "exampleCustomerRouting": "Kunden-Routing",
366
+ "selectAtLeastOne": "Wähle mindestens eine Fähigkeit",
367
+ "capabilitiesSelected": "{count} {count, plural, one {capability} other {capabilities}} ausgewählt",
368
+ "yourCombination": "Deine Kombination:",
369
+ "combinationFullService": "Full-Service-Bot: Fragen beantworten, Nutzerinformationen sammeln und Termine buchen.",
370
+ "combinationQaData": "Q&A + Datenerfassung: Fragen aus deiner Wissensbasis beantworten und gleichzeitig Nutzerinformationen sammeln.",
371
+ "combinationQaBooking": "Q&A + Buchung: Fragen beantworten und Nutzern beim Buchen von Terminen helfen.",
372
+ "combinationIntakeBooking": "Aufnahme + Buchung: Nutzerinformationen sammeln und Termine planen.",
373
+ "preview": {
374
+ "selectProtocolPrompt": "Wähle links Fähigkeiten, um zu sehen, was dein Bot kann",
375
+ "selectedCapabilities": "Ausgewählte Fähigkeiten",
376
+ "combinedPossibilities": "Kombinierte Möglichkeiten",
377
+ "exampleUseCases": "Beispiel-Anwendungsfälle",
378
+ "showExamples": "Beispiele anzeigen",
379
+ "contexts": {
380
+ "contextGeneric": "Allgemein",
381
+ "contextMedical": "Medizin",
382
+ "contextLegal": "Recht",
383
+ "contextRetail": "Einzelhandel",
384
+ "contextRealEstate": "Immobilien",
385
+ "contextEducation": "Bildung",
386
+ "contextHospitality": "Gastgewerbe",
387
+ "contextFinance": "Finanzen",
388
+ "medical": {
389
+ "medicalKnowledge": "Medizinische Wissensbasis",
390
+ "medicalKnowledgeDesc": "Patientenfragen zu Symptomen, Medikamenten, Eingriffen und Versicherungen beantworten",
391
+ "symptomChecker": "Symptom-Checker",
392
+ "drugInfo": "Medikamenten-Informationen",
393
+ "treatmentFAQ": "Behandlungs-FAQ",
394
+ "insuranceCoverage": "Versicherungsschutz",
395
+ "prepInstructions": "Eingriffsvorbereitung",
396
+ "medicalForms": "Patientenaufnahme",
397
+ "medicalFormsDesc": "Krankengeschichte, Versicherung und Einwilligung über Konversationsformulare erfassen",
398
+ "patientIntake": "Patientenaufnahme",
399
+ "medicalHistory": "Krankengeschichte",
400
+ "consentForms": "Einwilligungsformulare",
401
+ "insuranceVerification": "Versicherungsprüfung",
402
+ "symptomQuestionnaire": "Symptom-Fragebogen",
403
+ "medicalAppointments": "Terminplanung",
404
+ "medicalAppointmentsDesc": "Arztbesuche, Labortests und Folgetermine mit Kalender-Integration buchen",
405
+ "doctorBooking": "Arzttermin-Buchung",
406
+ "labScheduling": "Laborplanung",
407
+ "followUpReminders": "Folgetermin-Erinnerungen",
408
+ "specialistReferral": "Facharztüberweisung",
409
+ "telehealth": "Telemedizin-Sitzungen",
410
+ "medicalTriage": "Klinische Triage",
411
+ "medicalTriageDesc": "Dringlichkeit bewerten und Patienten an die passende Versorgungsstufe leiten",
412
+ "urgencyAssessment": "Dringlichkeitsbewertung",
413
+ "departmentRouting": "Abteilungs-Routing",
414
+ "nurseEscalation": "Eskalation an Pflegekraft",
415
+ "emergencyDetection": "Notfall-Erkennung",
416
+ "specialistMatch": "Facharzt-Zuordnung",
417
+ "medicalKnowledgeForm": "Smarte Patientenaufnahme",
418
+ "medicalKnowledgeFormDesc": "Patienten aufklären und gleichzeitig Aufnahmeinformationen sammeln",
419
+ "smartIntake": "Smarte Aufnahme",
420
+ "guidedSymptoms": "Geführte Symptomerfassung",
421
+ "educatedConsent": "Informierte Einwilligung",
422
+ "preVisitPrep": "Vorbereitung vor dem Besuch",
423
+ "medicalKnowledgeAppt": "Informierte Buchung",
424
+ "medicalKnowledgeApptDesc": "Leistungen erklären und Patienten beim Buchen des richtigen Termins helfen",
425
+ "informedBooking": "Informierte Buchung",
426
+ "prepThenSchedule": "Vorbereiten, dann planen",
427
+ "serviceExplainer": "Leistungs-Erklärer",
428
+ "waitTimeInfo": "Wartezeit-Info",
429
+ "medicalTriple": "Patientenreise",
430
+ "medicalTripleDesc": "Kompletter Aufnahmeablauf: aufklären, Informationen sammeln und in einem Gespräch planen",
431
+ "fullPatientJourney": "Komplette Patientenreise",
432
+ "newPatientOnboarding": "Neupatienten-Onboarding",
433
+ "referralWorkflow": "Überweisungs-Workflow",
434
+ "medicalAll": "Virtuelle Rezeption",
435
+ "medicalAllDesc": "Komplette digitale Rezeption: Triage, Aufnahme, Aufklärung und Planung",
436
+ "virtualFrontDesk": "Virtuelle Rezeption",
437
+ "completePatientPortal": "Patientenportal-Assistent",
438
+ "urgentCareBot": "Notfall-Bot"
439
+ },
440
+ "legal": {
441
+ "legalKnowledge": "Rechtsinformationen",
442
+ "legalKnowledgeDesc": "Fragen zu Tätigkeitsfeldern, Verfahren und Honorarstrukturen beantworten",
443
+ "legalFAQ": "Rechts-FAQ",
444
+ "caseTypesInfo": "Falltypen-Info",
445
+ "feeStructure": "Honorarstruktur",
446
+ "processExplainer": "Verfahrens-Erklärer",
447
+ "jurisdictionInfo": "Zuständigkeits-Info",
448
+ "legalForms": "Mandantenaufnahme",
449
+ "legalFormsDesc": "Falldetails, Dokumente und Informationen zur Interessenkollisionsprüfung erfassen",
450
+ "clientIntake": "Mandantenaufnahme",
451
+ "caseDetails": "Falldetails",
452
+ "documentCollection": "Dokumentensammlung",
453
+ "conflictCheck": "Interessenkollisionsprüfung",
454
+ "retainerInfo": "Mandatsvereinbarung",
455
+ "legalAppointments": "Beratungs-Buchung",
456
+ "legalAppointmentsDesc": "Beratungen, Vernehmungen und Meetings planen",
457
+ "consultationBooking": "Beratungs-Buchung",
458
+ "depositionSchedule": "Vernehmungsplanung",
459
+ "courtDateReminders": "Gerichtstermin-Erinnerungen",
460
+ "meetingCoordination": "Meeting-Koordination",
461
+ "legalTriage": "Fall-Routing",
462
+ "legalTriageDesc": "Anfragen an den passenden Anwalt oder Tätigkeitsbereich leiten",
463
+ "caseTypeRouting": "Falltyp-Routing",
464
+ "urgencyAssessment": "Dringlichkeitsbewertung",
465
+ "attorneyMatch": "Anwalts-Zuordnung",
466
+ "departmentRouting": "Abteilungs-Routing",
467
+ "legalKnowledgeForm": "Geführte Fallbewertung",
468
+ "legalKnowledgeFormDesc": "Rechtliche Optionen erklären und gleichzeitig Fallinformationen sammeln",
469
+ "guidedIntake": "Geführte Aufnahme",
470
+ "informedConsent": "Informierte Einwilligung",
471
+ "caseEvaluation": "Fallbewertung",
472
+ "legalAll": "Virtueller Rechtsassistent",
473
+ "legalAllDesc": "Komplette Mandantenservices: Aufnahme, Fallbewertung, Routing und Planung",
474
+ "virtualParalegal": "Virtueller Rechtsassistent",
475
+ "clientPortal": "Mandantenportal",
476
+ "caseManagement": "Fallmanagement"
477
+ },
478
+ "retail": {
479
+ "retailKnowledge": "Produkt-Assistent",
480
+ "retailKnowledgeDesc": "Fragen zu Produkten, Verfügbarkeit, Richtlinien und Größen beantworten",
481
+ "productInfo": "Produktinformationen",
482
+ "stockAvailability": "Lagerverfügbarkeit",
483
+ "returnPolicy": "Rückgaberichtlinie",
484
+ "shippingFAQ": "Versand-FAQ",
485
+ "sizeGuide": "Größenführer",
486
+ "retailForms": "Kundenservice",
487
+ "retailFormsDesc": "Bestellabfragen, Rückgaben und Garantieregistrierungen bearbeiten",
488
+ "orderLookup": "Bestellabfrage",
489
+ "returnRequest": "Rückgabeanfrage",
490
+ "warrantyRegistration": "Garantieregistrierung",
491
+ "feedbackSurvey": "Feedback-Umfrage",
492
+ "wishlist": "Wunschlisten-Erfassung",
493
+ "retailAppointments": "Service-Buchung",
494
+ "retailAppointmentsDesc": "Personal Shopping, Abholungen und Services im Geschäft planen",
495
+ "personalShopping": "Personal Shopping",
496
+ "storePickup": "Filialabholung",
497
+ "serviceBooking": "Service-Buchung",
498
+ "consultations": "Stil-Beratung",
499
+ "fittingRoom": "Umkleidekabinen-Buchung",
500
+ "retailTriage": "Kunden-Routing",
501
+ "retailTriageDesc": "Kunden an die richtige Abteilung leiten oder Probleme eskalieren",
502
+ "departmentRouting": "Abteilungs-Routing",
503
+ "issueEscalation": "Problem-Eskalation",
504
+ "vipCustomers": "VIP-Kunden",
505
+ "languageRouting": "Sprach-Routing",
506
+ "retailAll": "Virtueller Concierge",
507
+ "retailAllDesc": "Kompletter Shopping-Assistent: Produkt-Hilfe, Service-Buchung und Support",
508
+ "virtualConcierge": "Virtueller Concierge",
509
+ "omniChannelSupport": "Omnichannel-Support",
510
+ "personalShopperBot": "Personal-Shopper-Bot"
511
+ },
512
+ "realestate": {
513
+ "realestateKnowledge": "Immobilieninformationen",
514
+ "realestateKnowledgeDesc": "Fragen zu Angeboten, Stadtteilen und Kaufprozess beantworten",
515
+ "listingInfo": "Angebots-Informationen",
516
+ "neighborhoodGuide": "Stadtteilführer",
517
+ "mortgageFAQ": "Hypotheken-FAQ",
518
+ "buyingProcess": "Kaufprozess",
519
+ "marketTrends": "Markttrends",
520
+ "realestateForms": "Lead-Qualifizierung",
521
+ "realestateFormsDesc": "Käufer/Verkäufer qualifizieren und Immobilienpräferenzen erfassen",
522
+ "buyerQualification": "Käufer-Qualifizierung",
523
+ "sellerIntake": "Verkäufer-Aufnahme",
524
+ "propertyPreferences": "Immobilienpräferenzen",
525
+ "preApprovalInfo": "Vorab-Genehmigungs-Info",
526
+ "contactCapture": "Kontakterfassung",
527
+ "realestateAppointments": "Besichtigungsplanung",
528
+ "realestateAppointmentsDesc": "Besichtigungen, Tage der offenen Tür und Maklertermine buchen",
529
+ "showingSchedule": "Besichtigungsplan",
530
+ "openHouseRSVP": "Tag-der-offenen-Tür-Anmeldung",
531
+ "agentMeeting": "Maklertermin",
532
+ "virtualTour": "Virtueller Rundgang",
533
+ "inspectionBooking": "Begutachtungsbuchung",
534
+ "realestateTriage": "Makler-Zuordnung",
535
+ "realestateTriageDesc": "Leads basierend auf Bedürfnissen und Standort dem richtigen Makler zuordnen",
536
+ "buyerVsSeller": "Käufer vs. Verkäufer",
537
+ "locationRouting": "Standort-Routing",
538
+ "agentMatch": "Makler-Zuordnung",
539
+ "propertyTypeSpecialist": "Immobilienspezialist",
540
+ "realestateAll": "Virtueller Makler",
541
+ "realestateAllDesc": "Kompletter Immobilien-Assistent: Angebote, Qualifizierung und Planung",
542
+ "virtualAgent": "Virtueller Makler",
543
+ "leadQualification": "Lead-Qualifizierung",
544
+ "propertyMatchmaker": "Immobilien-Matchmaker"
545
+ },
546
+ "education": {
547
+ "educationKnowledge": "Kurs- & Programminfo",
548
+ "educationKnowledgeDesc": "Fragen zu Kursen, Zulassung, Finanzhilfe und Campusleben beantworten",
549
+ "courseCatalog": "Kurskatalog",
550
+ "admissionsFAQ": "Zulassungs-FAQ",
551
+ "financialAid": "Finanzhilfe-Info",
552
+ "campusInfo": "Campus-Informationen",
553
+ "programRequirements": "Programmvoraussetzungen",
554
+ "educationForms": "Studienbewerbungen",
555
+ "educationFormsDesc": "Einschreibungs-, Registrierungs- und Bewerbungsinformationen sammeln",
556
+ "applicationForm": "Bewerbungsformular",
557
+ "enrollmentInfo": "Einschreibungs-Info",
558
+ "transcriptRequest": "Zeugnisanforderung",
559
+ "financialAidApp": "Finanzhilfe-Antrag",
560
+ "courseRegistration": "Kursregistrierung",
561
+ "educationAppointments": "Akademische Planung",
562
+ "educationAppointmentsDesc": "Beratungstermine, Campusführungen und Nachhilfesitzungen buchen",
563
+ "advisorMeeting": "Beratungstermin",
564
+ "campusTour": "Campusführung",
565
+ "admissionsInterview": "Zulassungsgespräch",
566
+ "tutoringSessions": "Nachhilfesitzungen",
567
+ "officeHours": "Sprechstunden",
568
+ "educationTriage": "Studenten-Routing",
569
+ "educationTriageDesc": "Anfragen an die richtige Abteilung oder das richtige Support-Team leiten",
570
+ "departmentRouting": "Abteilungs-Routing",
571
+ "studentVsProspect": "Student vs. Interessent",
572
+ "academicVsAdmin": "Akademisch vs. Verwaltung",
573
+ "urgencyLevel": "Dringlichkeitsstufe",
574
+ "educationAll": "Virtueller Berater",
575
+ "educationAllDesc": "Komplette Studentenservices: Informationen, Bewerbungen und Planung",
576
+ "virtualAdvisor": "Virtueller Berater",
577
+ "admissionsBot": "Zulassungs-Bot",
578
+ "studentServicesHub": "Studentenservice-Hub"
579
+ },
580
+ "hospitality": {
581
+ "hospitalityKnowledge": "Gäste-Informationen",
582
+ "hospitalityKnowledgeDesc": "Fragen zu Annehmlichkeiten, Gastronomie, Aktivitäten und lokalen Sehenswürdigkeiten beantworten",
583
+ "amenitiesInfo": "Annehmlichkeiten-Info",
584
+ "localAttractions": "Lokale Sehenswürdigkeiten",
585
+ "diningOptions": "Gastronomie-Optionen",
586
+ "policyFAQ": "Richtlinien-FAQ",
587
+ "eventInfo": "Veranstaltungs-Info",
588
+ "hospitalityForms": "Gäste-Präferenzen",
589
+ "hospitalityFormsDesc": "Zimmerpräferenzen, Ernährungsbedürfnisse und Details für besondere Anlässe vor der Ankunft erfassen",
590
+ "roomPreferences": "Zimmerpräferenzen",
591
+ "dietaryRestrictions": "Ernährungseinschränkungen",
592
+ "pillowMenu": "Kissen- & Bettwäsche-Menü",
593
+ "arrivalDetails": "Ankunftsdetails",
594
+ "specialOccasions": "Besondere Anlässe",
595
+ "hospitalityAppointments": "Reservierungsbuchung",
596
+ "hospitalityAppointmentsDesc": "Essen, Spa, Aktivitäten und Roomservice buchen",
597
+ "reservationBooking": "Reservierungsbuchung",
598
+ "spaAppointment": "Spa-Termin",
599
+ "diningReservation": "Essens-Reservierung",
600
+ "roomService": "Roomservice",
601
+ "activityBooking": "Aktivitäten-Buchung",
602
+ "hospitalityTriage": "Gäste-Routing",
603
+ "hospitalityTriageDesc": "Anfragen an die richtige Abteilung leiten oder dringende Anliegen eskalieren",
604
+ "guestVsProspect": "Gast vs. Interessent",
605
+ "urgentRequests": "Dringende Anfragen",
606
+ "departmentRouting": "Abteilungs-Routing",
607
+ "vipHandling": "VIP-Behandlung",
608
+ "hospitalityAll": "Virtueller Concierge",
609
+ "hospitalityAllDesc": "Komplette Gäste-Services: Informationen, Reservierungen und Support",
610
+ "virtualConcierge": "Virtueller Concierge",
611
+ "guestServicesBot": "Gästeservice-Bot",
612
+ "preArrivalConcierge": "Vor-Ankunft-Concierge"
613
+ },
614
+ "finance": {
615
+ "financeKnowledge": "Finanzprodukte",
616
+ "financeKnowledgeDesc": "Fragen zu Konten, Krediten, Zinssätzen und KYC-Anforderungen beantworten",
617
+ "productInfo": "Produktinformationen",
618
+ "ratesFAQ": "Zinsen & Gebühren FAQ",
619
+ "eligibilityGuide": "Berechtigungs-Leitfaden",
620
+ "kycRequirements": "KYC-Anforderungen",
621
+ "complianceInfo": "Compliance-Info",
622
+ "financeForms": "KYC & Onboarding",
623
+ "financeFormsDesc": "Identitätsdokumente erfassen, Kunden überprüfen und regulatorisches Onboarding abschließen",
624
+ "kycCollection": "KYC-Erfassung",
625
+ "identityVerification": "Identitätsprüfung",
626
+ "amlScreening": "AML-Screening",
627
+ "accountOpening": "Kontoeröffnung",
628
+ "riskProfiling": "Risikoprofilierung",
629
+ "financeAppointments": "Berater-Planung",
630
+ "financeAppointmentsDesc": "Termine mit Beratern, Kreditsachbearbeitern und Spezialisten buchen",
631
+ "advisorMeeting": "Beratungstermin",
632
+ "loanConsultation": "Kreditberatung",
633
+ "accountReview": "Konto-Review",
634
+ "planningSession": "Planungssitzung",
635
+ "branchVisit": "Filialbesuch",
636
+ "financeTriage": "Service-Routing",
637
+ "financeTriageDesc": "An den passenden Produktspezialisten leiten oder komplexe Fälle eskalieren",
638
+ "productRouting": "Produkt-Routing",
639
+ "complianceEscalation": "Compliance-Eskalation",
640
+ "advisorMatch": "Berater-Zuordnung",
641
+ "fraudEscalation": "Betrugs-Eskalation",
642
+ "financeAll": "Digitales Onboarding",
643
+ "financeAllDesc": "Komplettes digitales Onboarding: KYC-Prüfung, Produktzuordnung und Berater-Planung",
644
+ "digitalOnboarding": "Digitales Onboarding",
645
+ "kycBot": "KYC-Bot",
646
+ "wealthAdvisorAssistant": "Vermögensberater-Assistent"
647
+ }
648
+ },
649
+ "knowledge": {
650
+ "title": "Wissensbasis",
651
+ "description": "Fragen mit deinen hochgeladenen Dokumenten und RAG-gestützter Suche beantworten",
652
+ "example1": "Produkt-FAQ-Chatbot",
653
+ "example2": "Dokumentations-Assistent",
654
+ "example3": "Internes Wissensportal"
655
+ },
656
+ "formGathering": {
657
+ "title": "Formularerfassung",
658
+ "description": "Nutzerinformationen schrittweise durch natürliches Gespräch sammeln",
659
+ "example1": "Lead-Erfassungsformulare",
660
+ "example2": "Kunden-Onboarding",
661
+ "example3": "Umfrage- & Feedback-Erfassung"
662
+ },
663
+ "appointments": {
664
+ "title": "Terminbuchung",
665
+ "description": "Nutzern erlauben, Meetings über Kalender-Integrationen zu buchen",
666
+ "example1": "Vertriebsberatungs-Buchung",
667
+ "example2": "Service-Terminplanung",
668
+ "example3": "Demo- & Meeting-Anfragen"
669
+ },
670
+ "triage": {
671
+ "title": "Triage-Routing",
672
+ "description": "Nutzer basierend auf ihren Bedürfnissen an spezialisierte Bots oder menschlichen Support leiten",
673
+ "example1": "Abteilungs-Routing",
674
+ "example2": "Eskalation an menschliche Agenten",
675
+ "example3": "Multi-Bot-Orchestrierung"
676
+ },
677
+ "singles": {
678
+ "singleKnowledge": "Wissens-Assistent",
679
+ "singleKnowledgeDesc": "Fragen mit deinen hochgeladenen Dokumenten und intelligenter RAG-gestützter Suche beantworten",
680
+ "scenarioFAQ": "FAQ-Chatbot",
681
+ "scenarioProductInfo": "Produktinformationen",
682
+ "scenarioDocumentation": "Dokumentationsportal",
683
+ "scenarioInternalKB": "Interne Wissensbasis",
684
+ "scenarioPolicyLookup": "Richtlinien-Suche",
685
+ "singleFormGathering": "Datensammler",
686
+ "singleFormGatheringDesc": "Strukturierte Informationen schrittweise durch natürliches Gespräch sammeln",
687
+ "scenarioLeadCapture": "Lead-Erfassung",
688
+ "scenarioSurvey": "Umfrage-Erfassung",
689
+ "scenarioContactForm": "Kontaktformulare",
690
+ "scenarioFeedback": "Feedback-Erfassung",
691
+ "scenarioRegistration": "Veranstaltungs-Registrierung",
692
+ "singleAppointments": "Buchungs-Assistent",
693
+ "singleAppointmentsDesc": "Nutzern helfen, Meetings über Kalender-Integrationen wie Calendly oder Cal.com zu planen",
694
+ "scenarioBookMeeting": "Meeting-Buchung",
695
+ "scenarioScheduleDemo": "Demo-Planung",
696
+ "scenarioConsultation": "Beratungs-Buchung",
697
+ "scenarioServiceAppt": "Service-Termine",
698
+ "scenarioOfficeHours": "Sprechstunden",
699
+ "singleTriage": "Smart Router",
700
+ "singleTriageDesc": "Nutzer basierend auf Absicht, Dringlichkeit oder Thema an das richtige Ziel leiten",
701
+ "scenarioRouteToAgent": "Agenten-Routing",
702
+ "scenarioDepartmentRouting": "Abteilungs-Routing",
703
+ "scenarioEscalation": "Eskalations-Handling",
704
+ "scenarioLanguageRouting": "Sprachbasiertes Routing",
705
+ "scenarioVIPRouting": "Prioritäts-/VIP-Routing",
706
+ "singleOpticalRead": "Vision-Extraktor",
707
+ "singleOpticalReadDesc": "Strukturierte Felder aus einem hochgeladenen Bild extrahieren — das Modell liest, der Nutzer prüft und sendet",
708
+ "scenarioIdScan": "Ausweis-Scan",
709
+ "scenarioInsuranceCard": "Versicherungskarte erfassen",
710
+ "scenarioReceiptExtract": "Belege extrahieren",
711
+ "scenarioBusinessCard": "Visitenkarten-Leser",
712
+ "scenarioPrescriptionLabel": "Rezeptetikett"
713
+ },
714
+ "synergies": {
715
+ "synergyKnowledgeForm": "Informierte Lead-Erfassung",
716
+ "synergyKnowledgeFormDesc": "Produktfragen beantworten, um Vertrauen aufzubauen, dann interessierte Leads mit kontextuellen Formularen erfassen",
717
+ "scenarioQualifyThenCapture": "Qualifizieren, dann erfassen",
718
+ "scenarioAnswerThenCollect": "Antworten, dann sammeln",
719
+ "scenarioContextualForms": "Kontextuelle Formulare",
720
+ "scenarioEducateThenConvert": "Aufklären, dann konvertieren",
721
+ "scenarioSupportToLead": "Support → Lead",
722
+ "synergyKnowledgeAppointments": "Beratende Buchung",
723
+ "synergyKnowledgeAppointmentsDesc": "Nutzer über Services/Produkte informieren, dann buchen lassen, wenn sie bereit sind",
724
+ "scenarioInformThenBook": "Informieren, dann buchen",
725
+ "scenarioSmartScheduling": "Smarte Planung",
726
+ "scenarioPreQualifyBooking": "Buchungen vorqualifizieren",
727
+ "scenarioServiceExplainer": "Service-Erklärer → Buchen",
728
+ "scenarioPricingToDemo": "Preis-FAQ → Demo",
729
+ "synergyKnowledgeTriage": "Intelligente Eskalation",
730
+ "synergyKnowledgeTriageDesc": "Selbstbedienungs-Antworten für häufige Fragen, nahtlose Übergabe bei komplexen Problemen",
731
+ "scenarioAnswerOrEscalate": "Beantworten oder eskalieren",
732
+ "scenarioSmartRouting": "Smartes Routing",
733
+ "scenarioTieredSupport": "Mehrstufiger Support",
734
+ "scenarioDeflectOrRoute": "Ablenken oder leiten",
735
+ "scenarioL1Automation": "L1-Automatisierung",
736
+ "synergyKnowledgeOpticalRead": "Scannen & Erklären",
737
+ "synergyKnowledgeOpticalReadDesc": "Daten aus einem hochgeladenen Bild extrahieren und Folgefragen anhand deiner Wissensbasis beantworten",
738
+ "scenarioScanThenAsk": "Scannen, dann fragen",
739
+ "scenarioDocumentExplainer": "Dokumenten-Erklärer",
740
+ "scenarioCardToPolicy": "Karte → Richtlinien-Suche",
741
+ "scenarioPrescriptionExplainer": "Rezept-Erklärer",
742
+ "scenarioReceiptToReturns": "Beleg → Rückgaben-FAQ",
743
+ "synergyFormAppointments": "Aufnahme zu Buchung",
744
+ "synergyFormAppointmentsDesc": "Qualifizierende Informationen sammeln und dann personalisierte Termin-Slots anbieten",
745
+ "scenarioIntakeSchedule": "Aufnehmen, dann planen",
746
+ "scenarioBookAndCapture": "Buchen und erfassen",
747
+ "scenarioQualifyBook": "Qualifizieren, dann buchen",
748
+ "scenarioPreVisitForm": "Vor-Besuch-Formular → Buchen",
749
+ "scenarioNeedsAssessment": "Bedarfsanalyse → Planen",
750
+ "synergyFormTriage": "Smarter Lead-Routing",
751
+ "synergyFormTriageDesc": "Nutzerdetails sammeln und dann an das perfekte Teammitglied oder die Abteilung weiterleiten",
752
+ "scenarioCollectThenRoute": "Sammeln, dann leiten",
753
+ "scenarioFormBasedRouting": "Formularbasiertes Routing",
754
+ "scenarioLeadDistribution": "Lead-Verteilung",
755
+ "scenarioSkillBasedRouting": "Skill-basiertes Routing",
756
+ "scenarioTerritoryAssignment": "Gebietszuweisung",
757
+ "synergyAppointmentsTriage": "Spezialisten-Buchung",
758
+ "synergyAppointmentsTriageDesc": "Den richtigen Spezialisten für die Nutzerbedürfnisse identifizieren und direkt buchen",
759
+ "scenarioRouteToCalendar": "An Kalender leiten",
760
+ "scenarioSpecialistBooking": "Spezialisten-Buchung",
761
+ "scenarioSmartDelegation": "Smarte Delegation",
762
+ "scenarioExpertMatch": "Experten-Zuordnung",
763
+ "scenarioAvailabilityRouting": "Verfügbarkeitsbasiertes Routing",
764
+ "synergyTriple1": "Vollständiger Sales-Funnel",
765
+ "synergyTriple1Desc": "Komplette Verkaufsreise: Interessenten aufklären, Leads erfassen und qualifizierte Demos buchen",
766
+ "scenarioFullSalesFlow": "Kompletter Verkaufsablauf",
767
+ "scenarioCompleteOnboarding": "Komplettes Onboarding",
768
+ "scenarioNurtureToClose": "Pflegen bis zum Abschluss",
769
+ "scenarioInboundSales": "Inbound-Sales-Automatisierung",
770
+ "synergyTriple2": "Support-Hub",
771
+ "synergyTriple2Desc": "Selbstbedienungs-Wissensbasis, Ticket-Erstellung und intelligente Eskalation an Agenten",
772
+ "scenarioSupportEscalation": "Support-Eskalation",
773
+ "scenarioIntelligentTicketing": "Intelligentes Ticketing",
774
+ "scenarioHelpDeskAuto": "Helpdesk-Automatisierung",
775
+ "scenarioIssueCapture": "Problem-Erfassung → Leiten",
776
+ "synergyTriple3": "Beratungsablauf",
777
+ "synergyTriple3Desc": "Fragen beantworten, an den richtigen Experten weiterleiten und direkte Kalenderbuchung ermöglichen",
778
+ "scenarioMultiSpecialistBooking": "Multi-Spezialisten-Buchung",
779
+ "scenarioSmartConsultation": "Smarte Beratung",
780
+ "scenarioAdvisoryFlow": "Beratungs-Service-Ablauf",
781
+ "scenarioExpertConnect": "Experten-Verbindung",
782
+ "synergyTriple4": "Komplette Aufnahme",
783
+ "synergyTriple4Desc": "Strukturierte Aufnahmeformulare, smartes Routing an Teams und automatisierte Planung",
784
+ "scenarioIntakeRouteBook": "Aufnehmen → Leiten → Buchen",
785
+ "scenarioCompleteLeadFlow": "Kompletter Lead-Ablauf",
786
+ "scenarioPatientIntake": "Patientenaufnahme-Ablauf",
787
+ "scenarioClientOnboarding": "Mandanten-Onboarding",
788
+ "synergyAll": "Enterprise-Assistent",
789
+ "synergyAllDesc": "Voll ausgestatteter Concierge: Fragen beantworten, Daten sammeln, intelligent leiten und Termine buchen",
790
+ "scenarioEnterpriseBot": "Enterprise-Assistent",
791
+ "scenarioFullServiceAssistant": "Full-Service-Bot",
792
+ "scenarioDigitalConcierge": "Digitaler Concierge",
793
+ "scenarioVirtualReceptionist": "Virtueller Empfang",
794
+ "scenarioUnifiedSupport": "Einheitlicher Support-Hub"
795
+ }
796
+ }
797
+ },
798
+ "modular": {
799
+ "addCalendarProvider": "Kalender-Anbieter hinzufügen",
800
+ "addUrlDestination": "URL-Ziel hinzufügen",
801
+ "redirectToBot": "Zu Bot umleiten",
802
+ "addRoutingDestination": "Routing-Ziel hinzufügen",
803
+ "selectedBot": "Ausgewählter Bot",
804
+ "displayName": "Anzeigename",
805
+ "displayNamePlaceholder": "z. B. Vertriebssupport, Technische Hilfe",
806
+ "description": "Beschreibung",
807
+ "descriptionPlaceholder": "Beschreibe, wann Nutzer hierher geleitet werden sollen...",
808
+ "url": "URL",
809
+ "urlPlaceholder": "https://example.com/support",
810
+ "paradigm": "Paradigma",
811
+ "protocols": "Protokolle",
812
+ "set": "Gesetzt",
813
+ "notGenerated": "Nicht generiert",
814
+ "calendars": "Kalender",
815
+ "configured": "{count} konfiguriert",
816
+ "triageRoutes": "Triage-Routen",
817
+ "opticalReadFields": "Optical-Read-Felder",
818
+ "required": "Erforderlich",
819
+ "displayNameRequired": "Anzeigename ist erforderlich",
820
+ "descriptionRequired": "Beschreibung ist erforderlich",
821
+ "urlRequired": "URL ist erforderlich",
822
+ "urlInvalid": "Bitte gib eine gültige URL ein",
823
+ "addOpticalReadField": "Extraktionsfeld hinzufügen",
824
+ "editOpticalReadField": "Extraktionsfeld bearbeiten",
825
+ "updateOpticalReadField": "Extraktionsfeld aktualisieren"
826
+ },
827
+ "tabs": {
828
+ "desktop": "Desktop",
829
+ "documents": "Dokumente",
830
+ "fieldsDisplay": "Felderansicht",
831
+ "flow": "Ablauf",
832
+ "jsonView": "JSON-Ansicht",
833
+ "fields": "Felder",
834
+ "preview": "Vorschau"
835
+ },
836
+ "identity": {
837
+ "chatDisplayName": "Anzeigename im Chat-Fenster",
838
+ "chatDisplayNameHelper": "Name, der im Header der Chat-Oberfläche angezeigt wird",
839
+ "personaObjective": "Persona & Ziel",
840
+ "personaObjectivePlaceholder": "Beschreibe den Zweck, die Persönlichkeit und individuelle Anweisungen deines Bots",
841
+ "personaObjectiveHelper": "Definiere, wie sich dein Bot verhalten soll, wobei er helfen soll und welche besonderen Richtlinien gelten.",
842
+ "welcomeMessage": "Willkommensnachricht",
843
+ "welcomeMessagePlaceholder": "Hallo! Wie kann ich dir heute helfen?",
844
+ "welcomeMessageHelper": "Die erste Nachricht, die Nutzer beim Start einer Konversation sehen.",
845
+ "suggestedPrompts": "Vorgeschlagene Prompts (Optional)",
846
+ "suggestedPromptsHelper": "Stelle Schnellstart-Prompts bereit, damit Nutzer Konversationen leichter beginnen können",
847
+ "inputPlaceholder": "Eingabe-Platzhalter",
848
+ "inputPlaceholderHelper": "Platzhaltertext im Nachrichteneingabefeld",
849
+ "inputPlaceholderDefault": "Nachricht eingeben...",
850
+ "promptPlaceholder": "Wobei kannst du mir helfen?",
851
+ "chatDisplayNamePlaceholder": "Bot",
852
+ "promptItemLabel": "Prompt"
853
+ },
854
+ "resources": {
855
+ "botName": "Eindeutigen Bot-Namen festlegen",
856
+ "botNameHelper": "Dies wird als deine eindeutige Ressourcenkennung verwendet. Max. 50 Zeichen.",
857
+ "botNamePlaceholder": "Mein toller Bot",
858
+ "aboutBotNames": "Über Bot-Namen",
859
+ "botNameInfo": "Ressourcennamen sind auf dem Dashboard durchsuchbar. Verwende aussagekräftige Beschreibungen oder dein eigenes System.",
860
+ "botNameWarning": "Der Name kann nach dem Deployment nicht mehr geändert werden.",
861
+ "provider": "Anbieter",
862
+ "selectProvider": "Anbieter auswählen",
863
+ "model": "Modell",
864
+ "selectModel": "Modell auswählen",
865
+ "apiKey": "API-Schlüssel",
866
+ "apiKeyEnter": "Gib deinen API-Schlüssel ein",
867
+ "apiKeySelectProviderFirst": "Wähle zuerst einen Anbieter",
868
+ "apiKeySavedPlaceholder": "•••••••• (gespeicherter Schlüssel wird verwendet)",
869
+ "apiKeyExistingPlaceholder": "•••••••• (vorhandener Schlüssel hinterlegt — leer lassen, um zu behalten)",
870
+ "apiKeyUsingSaved": "Verwende gespeicherten API-Schlüssel:",
871
+ "apiKeyExistingConfigured": "Vorhandener API-Schlüssel konfiguriert — wird wiederverwendet, sofern du keinen neuen eingibst",
872
+ "apiKeyIsSet": "API-Schlüssel ist gesetzt",
873
+ "apiKeyClear": "Löschen",
874
+ "apiKeyAbout": "Über API-Schlüssel",
875
+ "apiKeyTooltip": "Dein API-Schlüssel wird verschlüsselt und sicher gespeichert. Er wird verwendet, um die Antworten deines Chatbots zu liefern. Du kannst deine gespeicherten API-Schlüssel in den Einstellungen verwalten.",
876
+ "apiKeyEncryptedHelper": "Dein API-Schlüssel wird verschlüsselt und sicher gespeichert",
877
+ "apiKeyLoadingSaved": "Gespeicherte Schlüssel werden geladen...",
878
+ "apiKeyOrUseSaved": "Oder verwende einen gespeicherten API-Schlüssel:",
879
+ "ollamaNoCredsNeeded": "Ollama läuft gegen deinen eigenen Endpunkt — kein API-Schlüssel erforderlich.",
880
+ "ollamaHost": "Ollama-Host-URL",
881
+ "ollamaHostHelper": "Der Endpunkt, den dein Bot ansteuert. Leer lassen, um http://localhost:11434 als Standard zu verwenden. Wenn dein Bot in Docker läuft und Ollama auf dem Host, verwende http://host.docker.internal:11434 (Mac/Windows) oder die LAN-IP deines Hosts (Linux). Cloud-Deployments benötigen einen öffentlich erreichbaren Ollama-Endpunkt. Erfordert Ollama ≥ 0.5.0 für Envelope-Validitätsgarantien — ältere Daemons funktionieren, fallen aber auf Best-Effort-JSON-Parsing zurück.",
882
+ "ollamaHostSavedPlaceholder": "Gespeicherter Host wird verwendet — leeren, um eine neue URL einzugeben",
883
+ "ollamaHostUsingSaved": "Gespeicherter Ollama-Host wird verwendet:",
884
+ "ollamaHostOrUseSaved": "Oder verwende einen gespeicherten Ollama-Host:",
885
+ "awsCredentialsUsing": "Verwende gespeicherte AWS-Zugangsdaten:",
886
+ "awsCredentialsExisting": "Vorhandene AWS-Zugangsdaten konfiguriert — werden wiederverwendet, sofern du unten keine neuen eingibst",
887
+ "awsUseIamRole": "IAM-Rolle verwenden (empfohlen für EKS/EC2)",
888
+ "awsUseIamRoleHelper": "Verwendet die Instanz-/Pod-IAM-Rolle statt expliziter Zugangsdaten",
889
+ "awsAccessKeyId": "AWS Access Key ID",
890
+ "awsAccessKeyIdPlaceholder": "AKIAIOSFODNN7EXAMPLE",
891
+ "awsSecretAccessKey": "AWS Secret Access Key",
892
+ "awsSecretAccessKeyPlaceholder": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
893
+ "bedrockRegion": "Bedrock-Region",
894
+ "bedrockRegionOption": "{name} ({geoPrefix} regionsübergreifend)",
895
+ "bedrockCrossRegion": "Regionsübergreifende Inferenz leitet Anfragen an verfügbare Kapazitäten in der {regionName}-Region",
896
+ "regionUS": "US",
897
+ "regionEU": "EU",
898
+ "regionAPAC": "APAC",
899
+ "awsUsingIamRoleStatus": "Verwende IAM-Rolle",
900
+ "awsCredentialsConfigured": "AWS-Zugangsdaten konfiguriert",
901
+ "awsLoadingCredentials": "Gespeicherte Zugangsdaten werden geladen...",
902
+ "awsOrUseSaved": "Oder verwende gespeicherte AWS-Zugangsdaten:"
903
+ },
904
+ "knowledge": {
905
+ "loadingDocuments": "Dokumente werden geladen...",
906
+ "noDocumentsInSpace": "Noch keine Dokumente in diesem Bot Space.",
907
+ "selectFromBotSpace": "Aus Bot-Space-Dateien auswählen",
908
+ "selected": "Ausgewählt",
909
+ "select": "Auswählen",
910
+ "skipRag": "RAG überspringen",
911
+ "skipRagHelper": "Der Zielprompt ist die einzige Wissensquelle"
912
+ },
913
+ "infoGathering": {
914
+ "formRegion": "Formularregion",
915
+ "formRegionHelper": "Legt Validierungsmuster, Feldformate und Labels für deine Zielregion fest",
916
+ "describeInfo": "Beschreibe die Informationen, die du sammeln möchtest",
917
+ "describeInfoPlaceholder": "Ich möchte den Namen, die E-Mail und den Firmennamen des Nutzers erfassen...",
918
+ "describeInfoHelperEdit": "Beschreibung hinzufügen und neu generieren oder das JSON direkt im JSON-Ansicht-Tab bearbeiten",
919
+ "describeInfoHelper": "Beschreibe die Formularfelder in einfachem Text",
920
+ "aiFormGeneration": "KI-gestützte Formulargenerierung",
921
+ "regenerateDescription": "Formularstruktur aus deiner neuen Beschreibung neu generieren",
922
+ "generateDescription": "Aus deiner Beschreibung ein strukturiertes Formular generieren",
923
+ "errorNoDescription": "Bitte beschreibe die Informationen, die du sammeln möchtest",
924
+ "errorNoApiKey": "API-Schlüssel fehlt. Bitte gehe zurück zu Schritt 1 und gib deinen API-Schlüssel ein.",
925
+ "formSubmissionOptions": "Formularübermittlungs-Optionen",
926
+ "sendToControlPlane": "An Control Plane senden",
927
+ "sendToControlPlaneHelper": "Speichere abgeschlossene Formulareinreichungen in deinem Dashboard zur Ansicht und zum Export",
928
+ "webhookUrl": "Externe Webhook-URL (Optional)",
929
+ "webhookUrlPlaceholder": "https://deine-webhook-url.com/endpoint",
930
+ "webhookUrlHelper": "Sende Formulardaten zusätzlich an einen externen Webhook (z. B. Zapier, Make, eigener Endpunkt)",
931
+ "afterSubmitMessage": "Chat-Nachricht nach Absenden",
932
+ "afterSubmitPlaceholder": "Danke! Lass uns loslegen...",
933
+ "afterSubmitHelper": "Nachricht, die Nutzern nach dem Absenden des Formulars angezeigt wird",
934
+ "termsAndConditions": "Allgemeine Geschäftsbedingungen",
935
+ "termsPlaceholder": "Gib hier den Text deiner AGB ein. Unterstützt Markdown-Formatierung...",
936
+ "termsHelper": "Wenn angegeben, erscheint als letztes Formularfeld eine erforderliche Checkbox. Leer lassen, um zu überspringen.",
937
+ "termsInfo": "Nutzer können auf den Link \"Allgemeine Geschäftsbedingungen\" klicken, um den vollständigen Text in einem Popup zu sehen, bevor sie akzeptieren.",
938
+ "jsonViewTip": "Tipp: Wechsle rechts zum \"JSON-Ansicht\"-Tab, um die generierte Formularstruktur zu bearbeiten."
939
+ },
940
+ "triage": {
941
+ "addRoute": "Chatbot-Route hinzufügen",
942
+ "deleteRoute": "Route löschen",
943
+ "deleteDestination": "Ziel löschen",
944
+ "selectedBotUrl": "URL des ausgewählten Bots",
945
+ "editBotDestination": "Bot-Ziel bearbeiten",
946
+ "editUrlDestination": "URL-Ziel bearbeiten",
947
+ "selectBot": "Bot auswählen",
948
+ "loadingBots": "Bots werden geladen...",
949
+ "noBotsAvailable": "Keine Bots verfügbar. Erstelle zuerst einen Bot.",
950
+ "descriptionHelper": "Wird für RAG-Matching verwendet, um zu bestimmen, wann Nutzer hierher geleitet werden sollen",
951
+ "updateDestination": "Ziel aktualisieren"
952
+ },
953
+ "opticalRead": {
954
+ "addField": "Extraktionsfeld hinzufügen",
955
+ "deleteField": "Feld löschen",
956
+ "label": "Label",
957
+ "labelPlaceholder": "Geburtsdatum",
958
+ "labelRequired": "Label ist erforderlich",
959
+ "idName": "ID-Name",
960
+ "idNamePlaceholder": "dob",
961
+ "idNameHelper": "snake_case-Schlüssel, der in extractedFields verwendet wird",
962
+ "idNameRequired": "ID-Name ist erforderlich",
963
+ "idNameInvalid": "Verwende nur Kleinbuchstaben, Zahlen und Unterstriche",
964
+ "idNameDuplicate": "ID-Name muss eindeutig sein",
965
+ "hint": "Hinweis",
966
+ "hintPlaceholder": "TT.MM.JJJJ, Vorderseite des Führerscheins",
967
+ "hintHelper": "Optional: gib Ort oder Format vor. Der Hinweis ist die tragende Tuning-Primitive.",
968
+ "noFieldsYet": "Füge mindestens ein Extraktionsfeld hinzu, um Optical Read zu aktivieren.",
969
+ "providerNotSupported": "Optical Read benötigt einen visionsfähigen Anbieter. Anthropic und OpenAI werden unterstützt.",
970
+ "intro": "Benenne die Felder, die du extrahieren möchtest. Das Modell löst sie anhand seines eigenen visuellen Vorwissens auf — der optionale Hinweis gibt Ort oder Format vor.",
971
+ "showUploadOnStart": "Upload-Button als Starter-Prompt anzeigen",
972
+ "showUploadOnStartHelper": "Rendert eine Upload-Karte neben den ersten Vorschlägen des Bots. Überspringt das Konversations-Warm-up — der Nutzer kann sofort hochladen.",
973
+ "afterSubmitMessage": "Chat-Nachricht nach Absenden (Optional)",
974
+ "afterSubmitMessagePlaceholder": "Danke! Wir haben deine Daten erhalten.",
975
+ "afterSubmitMessageHelper": "Bot-Antwort, die im Chat angezeigt wird, nachdem der Nutzer die extrahierten Felder abgeschickt hat. Leer lassen, um zu überspringen."
976
+ },
977
+ "appointments": {
978
+ "addAppointment": "Termintyp hinzufügen",
979
+ "deleteAppointment": "Termin löschen",
980
+ "editCalendarProvider": "Kalender-Anbieter bearbeiten",
981
+ "updateCalendarProvider": "Kalender-Anbieter aktualisieren",
982
+ "calendarId": "Kalender-ID",
983
+ "calendarIdPlaceholder": "z. B. dr-smith-general",
984
+ "calendarIdHelper": "Eindeutige Kennung, die als calendarId in der Antwort zurückgegeben wird",
985
+ "calendarIdRequired": "Kalender-ID ist erforderlich",
986
+ "calendarIdExists": "Diese Kalender-ID existiert bereits",
987
+ "providerName": "Anbietername",
988
+ "providerNameRequired": "Anbietername ist erforderlich",
989
+ "providerNameHelper": "Kalender-Anbieterdienst",
990
+ "popupUrl": "Popup-URL",
991
+ "popupUrlPlaceholder": "https://calendly.com/dr-smith",
992
+ "popupUrlHelper": "URL, die geöffnet wird, wenn der Nutzer auf den Kalender-Button klickt",
993
+ "popupUrlRequired": "Popup-URL ist erforderlich",
994
+ "popupUrlInvalid": "Bitte gib eine gültige URL ein",
995
+ "descriptionPlaceholder": "Beschreibe, wann Nutzer mit diesem Kalender-Anbieter buchen sollen...",
996
+ "descriptionRequired": "Beschreibung ist erforderlich",
997
+ "descriptionHelper": "Wird für RAG-Matching verwendet, um zu bestimmen, welcher Kalender angezeigt wird"
998
+ },
999
+ "deployment": {
1000
+ "inProgress": "Deployment läuft...",
1001
+ "testDeployment": "Test-Deployment",
1002
+ "currentDeployment": "Aktuelles Deployment",
1003
+ "testBotLive": "Dein Test-Bot ist unter dieser URL live:",
1004
+ "botLive": "Dein Bot ist unter dieser URL live:",
1005
+ "testSuccess": "Test-Deployment erfolgreich!",
1006
+ "testSuccessMessage": "Dein Test-Bot ist live und läuft. Du kannst ihn im Vorschau-Panel rechts testen.",
1007
+ "productionSuccess": "Produktions-Deployment erfolgreich!",
1008
+ "productionSuccessMessage": "Dein Bot ist jetzt live und bereit für den Produktionseinsatz.",
1009
+ "deployToProduction": "In Produktion deployen",
1010
+ "viewDeployments": "Bots anzeigen",
1011
+ "previewChanges": "Änderungen vorschauen (Test)",
1012
+ "deployToTest": "In Test deployen",
1013
+ "updateProduction": "Produktions-Bot aktualisieren",
1014
+ "editMode": "Bearbeitungsmodus",
1015
+ "editModeMessage": "Beim Deployen wird der bestehende Bot mit deinen Änderungen aktualisiert. Die Bot-URL bleibt gleich.",
1016
+ "configSummary": "Konfigurationsübersicht",
1017
+ "botName": "Bot-Name:",
1018
+ "provider": "Anbieter:",
1019
+ "model": "Modell:",
1020
+ "documents": "Dokumente:",
1021
+ "formCollection": "Formularerfassung:",
1022
+ "uploaded": "hochgeladen",
1023
+ "enabled": "Aktiviert",
1024
+ "embeddings": "Embeddings",
1025
+ "embeddingsChunks": "{count} Chunks",
1026
+ "editConfiguration": "Konfiguration bearbeiten",
1027
+ "aboutDeployments": "Über Deployments",
1028
+ "testDeploymentInfo": "Test-Deployment: Erstellt eine dauerhafte URL zum Testen.",
1029
+ "productionDeploymentInfo": "Produktions-Deployment: Erstellt deinen Live-Bot, der öffentlich zugänglich ist.",
1030
+ "deploymentRegion": "Deployment-Region",
1031
+ "useOrgDefault": "Organisations-Standard verwenden ({region})",
1032
+ "regionHelp": "Wähle die AWS-Region, in der dein Bot bereitgestellt wird. Dies beeinflusst Latenz und Datenresidenz.",
1033
+ "none": "Keine",
1034
+ "saving": "Speichere…",
1035
+ "saveChanges": "Änderungen speichern",
1036
+ "saveConfiguration": "Konfiguration speichern",
1037
+ "saveFailed": "Speichern fehlgeschlagen",
1038
+ "saveErrorFallback": "Konfiguration konnte nicht gespeichert werden",
1039
+ "buildFailed": "Build fehlgeschlagen",
1040
+ "buildErrorFallback": "Artefakt konnte nicht gebaut werden",
1041
+ "building": "Wird gebaut…",
1042
+ "buildArtifact": "Artefakt bauen",
1043
+ "configurationSaved": "Konfiguration gespeichert",
1044
+ "configurationSavedDesc": "Gespeichert als <mono>{name}</mono>. Baue das lauffähige ZIP, wenn du bereit bist.",
1045
+ "artifactReadyCached": "Artefakt bereit (gecacht)",
1046
+ "artifactBuilt": "Artefakt gebaut",
1047
+ "artifactReadyDesc": "Dein Bot-Artefakt <mono>{name}</mono> ist zum Herunterladen bereit.",
1048
+ "downloadArtifact": "Artefakt herunterladen",
1049
+ "downloadArtifactWithDocs": "Mit Dokumenten herunterladen",
1050
+ "previewHelp": "Probiere deinen Bot live im Panel rechts aus. Wenn die Antworten passen, speichere und lade die Konfiguration herunter. Baue das lauffähige Artefakt, wann immer du bereit bist."
1051
+ },
1052
+ "previews": {
1053
+ "identity": {
1054
+ "fallbackBotName": "Bot",
1055
+ "fallbackPlaceholder": "Nachricht eingeben...",
1056
+ "fallbackFirstMessage": "Hallo! Wie kann ich dir heute helfen?",
1057
+ "minimize": "Minimieren",
1058
+ "minimizeChat": "Chat minimieren",
1059
+ "botMessage": "Bot-Nachricht",
1060
+ "suggestedPrompts": "Vorgeschlagene Prompts",
1061
+ "chatMessage": "Chat-Nachricht",
1062
+ "typeYourMessageAria": "Nachricht eingeben",
1063
+ "sendMessage": "Nachricht senden"
1064
+ },
1065
+ "appointments": {
1066
+ "fallbackBotName": "Termin-Bot",
1067
+ "noProviders": "Noch keine Kalender-Anbieter konfiguriert",
1068
+ "noProvidersHint": "Klicke auf \"Kalender-Anbieter hinzufügen\", um zu beginnen",
1069
+ "userQuery": "Nutzeranfrage",
1070
+ "calendarIconAlt": "Kalender-Symbol"
1071
+ },
1072
+ "triage": {
1073
+ "fallbackBotName": "Triage-Bot",
1074
+ "noRoutes": "Noch keine Routing-Ziele konfiguriert",
1075
+ "noRoutesHint": "Klicke auf \"Routing-Ziel hinzufügen\", um zu beginnen",
1076
+ "user": "Nutzer",
1077
+ "evaluatesAndRoutes": "Bewertet & leitet"
1078
+ },
1079
+ "opticalRead": {
1080
+ "noFields": "Noch keine Extraktionsfelder konfiguriert",
1081
+ "noFieldsHint": "Klicke auf \"Extraktionsfeld hinzufügen\", um zu beginnen",
1082
+ "clientPreviewLabel": "Wie Nutzer es sehen werden",
1083
+ "editButton": "Bearbeiten",
1084
+ "sendButton": "Senden",
1085
+ "previewNote": "Eingaben werden bis zur Extraktion deaktiviert gerendert. Nutzer tippen auf Bearbeiten, um zu korrigieren, und auf Senden, um abzuschicken."
1086
+ },
1087
+ "knowledge": {
1088
+ "unlinkTitle": "Von diesem Bot trennen (Datei bleibt im Bot Space)",
1089
+ "deleteTitle": "Dokument dauerhaft löschen",
1090
+ "deleteConfirm": "Möchtest du \"{name}\" wirklich löschen? Dies entfernt die Datei dauerhaft und kann nicht rückgängig gemacht werden.",
1091
+ "deleteError": "Datei konnte nicht gelöscht werden",
1092
+ "uploadedDocuments": "Hochgeladene Dokumente",
1093
+ "noUploadedDocs": "Keine hochgeladenen Dokumente",
1094
+ "uploadDocsLeft": "Lade links Dokumente hoch",
1095
+ "linkedFromBotSpace": "Aus Bot Space verknüpft",
1096
+ "noLinkedDocs": "Keine verknüpften Dokumente",
1097
+ "selectSharedFilesHint": "Wähle gemeinsame Dateien aus dem Bot Space",
1098
+ "linkedTooltip": "Hochgeladene Dokumente werden standardmäßig Teil dieses Bot Spaces",
1099
+ "linkedFooter": "Verknüpfte Dokumente bleiben im Bot Space, wenn sie von diesem Bot getrennt werden.",
1100
+ "ragInfo": "Diese Dokumente werden verarbeitet und verwendet, um Kontext für die Antworten deines Bots über RAG (Retrieval-Augmented Generation) bereitzustellen.",
1101
+ "fileCount": "{count} {count, plural, one {file} other {files}}",
1102
+ "untitled": "Ohne Titel",
1103
+ "unknown": "Unbekannt",
1104
+ "fileFallback": "DATEI",
1105
+ "embedding": {
1106
+ "title": "Vektor-Embeddings",
1107
+ "ready": "Bereit",
1108
+ "notGenerated": "Nicht generiert",
1109
+ "chunks": "Chunks",
1110
+ "model": "Modell",
1111
+ "sourceDocuments": "Quelldokumente",
1112
+ "generated": "Generiert",
1113
+ "embeddedFiles": "Eingebettete Dateien",
1114
+ "technicalDetails": "Technische Details",
1115
+ "noEmbeddingsYet": "Noch keine Embeddings",
1116
+ "uploadFirst": "Lade zuerst Dokumente im Dokumente-Tab hoch.",
1117
+ "clickToGenerate": "Klicke unten, um deine Dokumente lokal zu chunken und einzubetten.",
1118
+ "generating": "Generiere…",
1119
+ "embeddingDocs": "Dokumente werden eingebettet…",
1120
+ "regenerate": "Embeddings neu generieren",
1121
+ "generate": "Vektor-Embeddings generieren",
1122
+ "errorNoDocuments": "Bitte lade zuerst mindestens ein Dokument hoch",
1123
+ "errorGenerationFailed": "Embeddings konnten nicht generiert werden",
1124
+ "doneStatus": "Fertig! {count} Chunks mit {model} eingebettet.",
1125
+ "regenWarning": "Wenn du die Dokumentenmenge änderst, generiere neu, um das Artefakt synchron zu halten.",
1126
+ "vectorModeInfo": "Im Vektormodus bettet der Bot Anfragen in-process mit dem mitgelieferten multilingual-e5-small ONNX-Modell ein und führt die Cosinus-Ähnlichkeit lokal aus. Keine Factory-Abhängigkeit zur Laufzeit."
1127
+ }
1128
+ },
1129
+ "form": {
1130
+ "validate": "Validieren",
1131
+ "validateInput": "Eingabe validieren",
1132
+ "selectOption": "Option auswählen...",
1133
+ "noStructure": "Keine Formularstruktur generiert",
1134
+ "noStructureHint": "Generiere ein Formular, um die Vorschau zu sehen",
1135
+ "editJsonTitle": "Formularstruktur bearbeiten (JSON)",
1136
+ "openLargerView": "In größerer Ansicht öffnen",
1137
+ "expand": "Vergrößern",
1138
+ "generatedJsonLabel": "Generierte Formularstruktur (JSON)",
1139
+ "validJson": "Gültiges JSON",
1140
+ "invalidJson": "Ungültiges JSON",
1141
+ "jsonParseError": "JSON-Parse-Fehler:",
1142
+ "editJsonHelper": "Bearbeite dieses JSON, um die Formularstruktur anzupassen. Änderungen werden im Felderansicht-Tab widergespiegelt.",
1143
+ "branches": "Zweige",
1144
+ "requiredBadge": "Erforderlich",
1145
+ "piiBadge": "PII"
1146
+ },
1147
+ "bot": {
1148
+ "missingConfig": "Füge in Schritt 1 einen Anbieter, ein Modell und einen API-Schlüssel hinzu, um den Vorschau-Bot zu starten.",
1149
+ "livePreview": "Live-Vorschau",
1150
+ "resetPreview": "Vorschau zurücksetzen",
1151
+ "iframeTitle": "Bot-Vorschau",
1152
+ "skippedInPreview": "(in Vorschau übersprungen)",
1153
+ "webhookSideEffect": "Webhook würde an {url} POSTen",
1154
+ "webhookNoUrl": "(keine URL)",
1155
+ "submitFormSideEffect": "Formular würde an Control Plane übermittelt",
1156
+ "genericSideEffect": "Seiteneffekt in Vorschau übersprungen"
1157
+ }
1158
+ },
1159
+ "botSummary": {
1160
+ "title": "Bot-Zusammenfassung",
1161
+ "whyFillThis": "Warum dies ausfüllen?",
1162
+ "tooltipLine1": "Die Bot-Zusammenfassung hilft anderen Bots in deinem Netzwerk zu verstehen, was dieser Bot tut und welches Wissen er hat.",
1163
+ "tooltipLine2": "Dies ermöglicht smarteres Routing, Triage und Multi-Bot-Orchestrierung.",
1164
+ "description": "Beschreibe die Rolle dieses Bots in deinem Netzwerk.",
1165
+ "notSystemPrompt": "Kein System-Prompt",
1166
+ "placeholder": "Beschreibe, was dieser Bot tut und welches Wissen er hat. Z. B. 'Bearbeitet Abrechnungsanfragen mit Zugriff auf Preis-Dokumente und FAQs.'",
1167
+ "characters": "Zeichen",
1168
+ "optionalBadge": "Optional - Deployen, um diese Zusammenfassung zu speichern und in deinem Netzwerk zu verwenden."
1169
+ }
1170
+ },
1171
+ "settings": {
1172
+ "title": "Einstellungen",
1173
+ "subtitle": "Verwalte deine Kontoeinstellungen und Präferenzen",
1174
+ "tabs": {
1175
+ "apiKeys": "API-Schlüssel",
1176
+ "account": "Konto",
1177
+ "servicePlan": "Service-Plan",
1178
+ "languages": "Sprachen",
1179
+ "botSpaces": "Bot Spaces",
1180
+ "builderConfig": "Builder-Konfiguration",
1181
+ "region": "Region",
1182
+ "auditLogs": "Audit-Logs",
1183
+ "admin": "Admin"
1184
+ },
1185
+ "languages": {
1186
+ "title": "Spracheinstellungen",
1187
+ "description": "Wähle deine bevorzugte Sprache für die Oberfläche",
1188
+ "preferredLanguage": "Bevorzugte Sprache",
1189
+ "languageHelper": "Diese Einstellung wird auf alle deine Sitzungen angewendet",
1190
+ "saveLanguage": "Sprache speichern",
1191
+ "saveSuccess": "Spracheinstellung erfolgreich gespeichert",
1192
+ "saveError": "Spracheinstellung konnte nicht gespeichert werden",
1193
+ "aboutTitle": "Über Spracheinstellungen",
1194
+ "aboutItem1": "Deine Sprachpräferenz wird in deinem Konto gespeichert",
1195
+ "aboutItem2": "Änderungen werden nach dem Speichern wirksam",
1196
+ "aboutItem3": "Einige Inhalte sind möglicherweise noch nicht übersetzt",
1197
+ "locales": {
1198
+ "en": "English",
1199
+ "es": "Spanisch (Español)",
1200
+ "fr": "Französisch (Français)",
1201
+ "de": "Deutsch",
1202
+ "pt": "Portugiesisch (Português)",
1203
+ "ja": "Japanisch (日本語)",
1204
+ "zh": "Chinesisch (中文)",
1205
+ "ko": "Koreanisch (한국어)",
1206
+ "uk": "Ukrainisch (Українська)",
1207
+ "ar": "Arabisch (العربية)",
1208
+ "nl": "Niederländisch (Nederlands)",
1209
+ "sw": "Swahili (Kiswahili)"
1210
+ }
1211
+ },
1212
+ "region": {
1213
+ "title": "Deployment-Region",
1214
+ "description": "Konfiguriere die Standard-AWS-Region für Bot-Deployments",
1215
+ "currentRegion": "Aktuelle Standardregion",
1216
+ "selectRegion": "Standardregion auswählen",
1217
+ "regionHelp": "Neue Deployments verwenden diese Region standardmäßig. Nutzer können diese Einstellung pro Deployment überschreiben.",
1218
+ "saveSuccess": "Standardregion erfolgreich aktualisiert",
1219
+ "unsavedChanges": "Du hast nicht gespeicherte Änderungen",
1220
+ "infoTitle": "Über Regionseinstellungen",
1221
+ "infoDescription": "Die Deployment-Region bestimmt, wo die Infrastruktur deines Bots läuft. Eine Region näher an deinen Nutzern kann die Antwortzeiten verbessern. Einzelne Deployments können diese Standardeinstellung überschreiben."
1222
+ },
1223
+ "account": {
1224
+ "title": "Kontoinformationen",
1225
+ "emailAddress": "E-Mail-Adresse",
1226
+ "userId": "Nutzer-ID",
1227
+ "logout": "Abmelden",
1228
+ "loggingOut": "Abmelden...",
1229
+ "logoutConfirm": "Möchtest du dich wirklich abmelden?",
1230
+ "logoutNote": "Du wirst von deinem Konto abgemeldet",
1231
+ "dangerZone": "Gefahrenzone",
1232
+ "deleteAccount": "Konto löschen",
1233
+ "deleteAdminWarning": "Lösche dein Konto und alle zugehörigen Daten dauerhaft, einschließlich Bots, Bot Spaces und Mitwirkenden-Konten, die nur mit deiner Organisation verbunden sind. Diese Aktion kann nicht rückgängig gemacht werden.",
1234
+ "deleteUserWarning": "Lösche dein Konto und alle deine persönlichen Daten dauerhaft, einschließlich Bots, Dokumenten und API-Schlüsseln. Deine Bot-Space-Mitgliedschaften werden entfernt. Diese Aktion kann nicht rückgängig gemacht werden."
1235
+ },
1236
+ "servicePlan": {
1237
+ "title": "Service-Plan",
1238
+ "description": "Sieh deinen aktuellen Plan, deine Nutzung und verfügbare Funktionen",
1239
+ "currentPlan": "Dein aktueller Abonnementplan",
1240
+ "usage": "Aktuelle Nutzung",
1241
+ "deployedBots": "Deployte Bots",
1242
+ "botSpaces": "Bot Spaces",
1243
+ "users": "Nutzer",
1244
+ "includedFeatures": "Enthaltene Funktionen",
1245
+ "allPlans": "Verfügbare Pläne",
1246
+ "current": "Aktuell",
1247
+ "bots": "Bots",
1248
+ "spaces": "Spaces",
1249
+ "usersLabel": "Nutzer",
1250
+ "organization": "Organisation",
1251
+ "needMore": "Brauchst du mehr?",
1252
+ "contactUs": "Kontaktiere uns, um über ein Upgrade deines Plans oder maßgeschneiderte Enterprise-Lösungen zu sprechen."
1253
+ },
1254
+ "apiKeys": {
1255
+ "title": "API-Schlüssel",
1256
+ "description": "Speichere deine LLM-Provider-API-Schlüssel zur einfachen Wiederverwendung über Deployments hinweg",
1257
+ "addKey": "+ API-Schlüssel hinzufügen",
1258
+ "addNewKey": "Neuen API-Schlüssel hinzufügen",
1259
+ "name": "Name",
1260
+ "namePlaceholder": "z. B. Mein OpenAI-Schlüssel",
1261
+ "provider": "Anbieter",
1262
+ "apiKey": "API-Schlüssel",
1263
+ "apiKeyPlaceholder": "Gib deinen API-Schlüssel ein",
1264
+ "saving": "Speichere...",
1265
+ "saveKey": "API-Schlüssel speichern",
1266
+ "loading": "API-Schlüssel werden geladen...",
1267
+ "noKeys": "Noch keine API-Schlüssel gespeichert",
1268
+ "noKeysHint": "Füge deinen ersten API-Schlüssel hinzu, um zu beginnen",
1269
+ "added": "Hinzugefügt {date}",
1270
+ "deleteConfirm": "Möchtest du diesen API-Schlüssel wirklich löschen?",
1271
+ "saveSuccess": "API-Schlüssel erfolgreich gespeichert",
1272
+ "deleteSuccess": "API-Schlüssel erfolgreich gelöscht",
1273
+ "loadError": "API-Schlüssel konnten nicht geladen werden",
1274
+ "saveError": "API-Schlüssel konnte nicht gespeichert werden",
1275
+ "deleteError": "API-Schlüssel konnte nicht gelöscht werden",
1276
+ "nameAndKeyRequired": "Name und API-Schlüssel sind erforderlich",
1277
+ "awsRegion": "AWS-Region",
1278
+ "authentication": "Authentifizierung",
1279
+ "useIamRole": "IAM-Rolle verwenden",
1280
+ "useIamRoleHint": "Verwendet die an den Kubernetes-Pod angehängte IAM-Rolle (empfohlen für Produktion)",
1281
+ "useExplicitCredentials": "Explizite Zugangsdaten verwenden",
1282
+ "useExplicitCredentialsHint": "Stelle AWS Access Key und Secret Key direkt bereit",
1283
+ "awsAccessKeyId": "AWS Access Key ID",
1284
+ "awsSecretAccessKey": "AWS Secret Access Key",
1285
+ "defaultBotConfig": {
1286
+ "title": "Standard-Bot-Konfiguration",
1287
+ "description": "Wähle einen API-Schlüssel und ein Modell als Standard, wenn neue Bots mit dem Builder erstellt werden.",
1288
+ "selectKey": "Standard-API-Schlüssel",
1289
+ "selectModel": "Standardmodell",
1290
+ "noDefault": "Kein Standard (Auto-Auswahl verwenden)",
1291
+ "selectModelPlaceholder": "Modell auswählen",
1292
+ "selectKeyFirst": "Wähle einen API-Schlüssel, um verfügbare Modelle zu sehen",
1293
+ "currentSelection": "Aktueller Standard",
1294
+ "noModel": "Kein Modell ausgewählt",
1295
+ "save": "Standard speichern"
1296
+ }
1297
+ },
1298
+ "botSpaces": {
1299
+ "title": "Bot Spaces",
1300
+ "description": "Organisiere Chatbots in Spaces und steuere den Zugriff von Mitwirkenden",
1301
+ "createSpace": "+ Bot Space erstellen",
1302
+ "createNewSpace": "Neuen Bot Space erstellen",
1303
+ "name": "Name",
1304
+ "namePlaceholder": "z. B. customer-support",
1305
+ "nameHint": "Nur Buchstaben, Zahlen, Unterstriche und Bindestriche erlaubt",
1306
+ "descriptionLabel": "Beschreibung",
1307
+ "descriptionPlaceholder": "Optionale Beschreibung für diesen Bot Space",
1308
+ "creating": "Erstelle...",
1309
+ "create": "Bot Space erstellen",
1310
+ "loading": "Bot Spaces werden geladen...",
1311
+ "noSpaces": "Noch keine Bot Spaces erstellt",
1312
+ "noSpacesHint": "Erstelle deinen ersten Bot Space, um deine Chatbots zu organisieren",
1313
+ "botCount": "{count} Bots",
1314
+ "created": "Erstellt {date}",
1315
+ "invite": "Einladen",
1316
+ "manage": "Verwalten",
1317
+ "deleteConfirm": "Möchtest du diesen Bot Space wirklich löschen? Alle darin enthaltenen Bots werden dauerhaft gelöscht.",
1318
+ "createSuccess": "Bot Space erfolgreich erstellt",
1319
+ "deleteSuccess": "Bot Space erfolgreich gelöscht",
1320
+ "loadError": "Bot Spaces konnten nicht geladen werden",
1321
+ "createError": "Bot Space konnte nicht erstellt werden",
1322
+ "deleteError": "Bot Space konnte nicht gelöscht werden",
1323
+ "nameRequired": "Name ist erforderlich",
1324
+ "nameInvalid": "Name darf nur Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten",
1325
+ "aboutTitle": "Über Bot Spaces",
1326
+ "aboutItem1": "Bot Spaces ermöglichen es dir, verwandte Chatbots zu gruppieren",
1327
+ "aboutItem2": "Gewähre Mitwirkenden Lese- oder Schreibzugriff auf bestimmte Spaces",
1328
+ "aboutItem3": "Admins haben vollen Zugriff auf alle Bot Spaces in der Organisation",
1329
+ "invitationSent": "Einladung erfolgreich gesendet"
1330
+ },
1331
+ "auditLogs": {
1332
+ "title": "Audit-Logs",
1333
+ "description": "Sieh alle in deiner Organisation durchgeführten Aktionen ein",
1334
+ "exportCsv": "CSV exportieren",
1335
+ "exportJson": "JSON exportieren",
1336
+ "loadError": "Audit-Logs konnten nicht geladen werden",
1337
+ "externalIntegration": "Externe Integration",
1338
+ "webhookDescription": "Sende Audit-Logs über Webhook an ein externes SIEM- oder Logging-Service.",
1339
+ "webhookUrl": "Webhook-URL",
1340
+ "webhookUrlPlaceholder": "https://dein-siem.example.com/webhook",
1341
+ "enableWebhook": "Webhook aktivieren",
1342
+ "hmacEnabled": "HMAC-Signierung aktiviert",
1343
+ "webhookSecretWarning": "Webhook-Secret (jetzt kopieren — wird nicht erneut angezeigt)",
1344
+ "saveSettings": "Einstellungen speichern",
1345
+ "testWebhook": "Webhook testen",
1346
+ "regenerateSecret": "Secret neu generieren",
1347
+ "regenerateConfirm": "Webhook-Secret neu generieren? Du musst deinen empfangenden Endpunkt aktualisieren.",
1348
+ "webhookSaved": "Webhook-Einstellungen gespeichert",
1349
+ "secretRegenerated": "Neues Secret generiert",
1350
+ "testSuccess": "Test-Webhook erfolgreich gesendet",
1351
+ "saveError": "Webhook-Einstellungen konnten nicht gespeichert werden",
1352
+ "testError": "Webhook-Test fehlgeschlagen",
1353
+ "regenerateError": "Secret konnte nicht neu generiert werden",
1354
+ "payloadFormat": "Webhook-Payload-Format",
1355
+ "payloadDescription": "Jedes Audit-Event wird als POST-Anfrage mit folgenden Headern gesendet:",
1356
+ "headerEvent": "X-Audit-Event: event_type",
1357
+ "headerTimestamp": "X-Audit-Timestamp: ISO-Zeitstempel",
1358
+ "headerSignature": "X-Audit-Signature: sha256=hmac (falls Secret konfiguriert)"
1359
+ },
1360
+ "admin": {
1361
+ "title": "Admin-Dashboard",
1362
+ "description": "Nutzer verwalten und systemweite Informationen ansehen",
1363
+ "allUsers": "Alle Nutzer",
1364
+ "loadingUsers": "Nutzer werden geladen...",
1365
+ "noUsers": "Keine Nutzer gefunden",
1366
+ "loadError": "Nutzer konnten nicht geladen werden",
1367
+ "tableHeaders": {
1368
+ "name": "Name",
1369
+ "email": "E-Mail",
1370
+ "organization": "Organisation",
1371
+ "role": "Rolle",
1372
+ "created": "Erstellt"
1373
+ },
1374
+ "you": "Du",
1375
+ "stats": {
1376
+ "totalUsers": "Nutzer gesamt",
1377
+ "admins": "Admins",
1378
+ "contributors": "Mitwirkende"
1379
+ }
1380
+ },
1381
+ "builderConfig": {
1382
+ "title": "Builder-Konfiguration",
1383
+ "description": "Konfiguriere, welches KI-Modell den Bot-Builder antreibt, und lege Standards für die Bot-Erstellung fest",
1384
+ "builderTitle": "Builder-Modell-Treiber",
1385
+ "builderDescription": "Wähle, welches KI-Modell die Bot-Builder-Oberfläche antreibt. Dieses Modell verarbeitet Konversationen und die Tool-Ausführung.",
1386
+ "defaultBotTitle": "Standardmodell für Bot-Erstellung",
1387
+ "defaultBotDescription": "Diese Einstellungen werden vorausgewählt, wenn neue Bots über den Builder erstellt werden. Nutzer können sie beim Deployment überschreiben.",
1388
+ "provider": "Anbieter",
1389
+ "apiKey": "API-Schlüssel",
1390
+ "model": "Modell",
1391
+ "selectProvider": "Anbieter auswählen...",
1392
+ "selectKey": "API-Schlüssel auswählen...",
1393
+ "selectModel": "Modell auswählen...",
1394
+ "noKeysForProvider": "Keine API-Schlüssel für diesen Anbieter gespeichert. Füge einen im API-Schlüssel-Tab hinzu.",
1395
+ "useSameAsBuilder": "Gleiche Einstellungen wie Builder verwenden",
1396
+ "saveConfig": "Konfiguration speichern",
1397
+ "saveSuccess": "Builder-Konfiguration erfolgreich gespeichert",
1398
+ "saveError": "Builder-Konfiguration konnte nicht gespeichert werden",
1399
+ "aboutTitle": "Über die Builder-Konfiguration",
1400
+ "aboutItem1": "Das Builder-Modell verarbeitet die Konversations-Oberfläche zur Bot-Erstellung",
1401
+ "aboutItem2": "Standard-Bot-Einstellungen werden beim Deployment über den Builder vorausgewählt",
1402
+ "aboutItem3": "Tool-Use wird von Claude, GPT, Gemini und mehr unterstützt",
1403
+ "displaySettings": {
1404
+ "title": "Anzeigeeinstellungen",
1405
+ "description": "Konfiguriere, wie der Modulo-Assistent in der Oberfläche erscheint",
1406
+ "disableAnimation": "Helfer-Animation deaktivieren",
1407
+ "disableAnimationHint": "Zeigt Modulo als statisches Symbol statt als animierten Helfer"
1408
+ }
1409
+ },
1410
+ "mojulo": {
1411
+ "title": "Einstellungen",
1412
+ "subtitle": "Konfiguriere die API-Schlüssel, die deine Bots antreiben, und die Cloud-Zugangsdaten zum Deployen.",
1413
+ "noKeyGate": "Die Builder benötigen einen LLM-Provider-Schlüssel zum Ausführen. Füge einen im LLM-Keys-Tab hinzu und komm zurück.",
1414
+ "tabs": {
1415
+ "llm": "LLM-Schlüssel",
1416
+ "provider": "Provider-Schlüssel",
1417
+ "language": "Spracheinstellung"
1418
+ },
1419
+ "form": {
1420
+ "addKey": "Schlüssel hinzufügen",
1421
+ "name": "Anzeigename",
1422
+ "provider": "Anbieter",
1423
+ "apiKey": "API-Schlüssel",
1424
+ "ollamaHost": "Host-URL",
1425
+ "makeDefault": "Diesen als Standardschlüssel festlegen",
1426
+ "ollamaNoDefault": "Ollama kann nicht als Standard festgelegt werden — der Chat-Builder benötigt einen Cloud-Anbieter.",
1427
+ "saving": "Speichere…",
1428
+ "save": "Schlüssel speichern",
1429
+ "saveError": "Speichern fehlgeschlagen"
1430
+ },
1431
+ "list": {
1432
+ "title": "Gespeicherte Schlüssel",
1433
+ "loading": "Laden…",
1434
+ "empty": "Noch keine Schlüssel.",
1435
+ "defaultBadge": "Standard",
1436
+ "makeDefault": "Als Standard festlegen",
1437
+ "delete": "Löschen"
1438
+ },
1439
+ "llm": {
1440
+ "title": "LLM-Schlüssel",
1441
+ "description": "Treibt den Bot-Builder an und wird in jeden kompilierten Bot eingebrannt.",
1442
+ "defaultName": "Standard",
1443
+ "placeholder": "sk-…",
1444
+ "bedrockPlaceholder": "{\"region\":\"us-east-1\",\"accessKeyId\":\"…\",\"secretAccessKey\":\"…\"}",
1445
+ "ollamaPlaceholder": "http://localhost:11434",
1446
+ "providers": {
1447
+ "anthropic": "Anthropic",
1448
+ "openai": "OpenAI",
1449
+ "bedrock": "AWS Bedrock (JSON-Zugangsdaten einfügen)",
1450
+ "ollama": "Ollama (lokal — Host-URL einfügen)"
1451
+ }
1452
+ },
1453
+ "provider": {
1454
+ "title": "Provider-Schlüssel",
1455
+ "description": "Cloud-Host-Zugangsdaten. Werden verwendet, wenn du einen Bot aus dem Control Plane bei einem Cloud-Anbieter deployst.",
1456
+ "defaultName": "Fly.io",
1457
+ "placeholder": "fo1_…",
1458
+ "providers": {
1459
+ "fly": "Fly.io"
1460
+ }
1461
+ },
1462
+ "language": {
1463
+ "title": "Spracheinstellung",
1464
+ "description": "Wähle die Sprache, die in der Control-Plane-Oberfläche verwendet wird.",
1465
+ "label": "Oberflächensprache"
1466
+ }
1467
+ }
1468
+ },
1469
+ "deployments": {
1470
+ "title": "Deployments",
1471
+ "loading": "Deployments werden geladen...",
1472
+ "empty": "Keine Deployments in diesem Bot Space",
1473
+ "columns": {
1474
+ "botName": "Bot-Name",
1475
+ "status": "Status",
1476
+ "deployed": "Deployed",
1477
+ "by": "Von"
1478
+ },
1479
+ "history": {
1480
+ "title": "Deployment-Verlauf",
1481
+ "noHistory": "Noch kein Deployment-Verlauf",
1482
+ "historyWillAppear": "Der Verlauf erscheint nach dem nächsten Deployment",
1483
+ "event": "Ereignis",
1484
+ "status": "Status",
1485
+ "date": "Datum",
1486
+ "by": "Von",
1487
+ "config": "Konfiguration"
1488
+ },
1489
+ "embed": {
1490
+ "title": "Embed-Skript",
1491
+ "description": "Kopiere dieses Skript, um den Chatbot auf deiner Website einzubetten:"
1492
+ },
1493
+ "confirmDelete": "Möchtest du \"{name}\" wirklich löschen? Dies zerstört das Deployment und kann nicht rückgängig gemacht werden."
1494
+ },
1495
+ "cloudDeploy": {
1496
+ "title": "In die Cloud deployen",
1497
+ "backToDashboard": "← Zurück zum Dashboard",
1498
+ "loading": "Laden…",
1499
+ "botLabel": "Bot:",
1500
+ "protocolsLabel": "Protokolle: {protocols}",
1501
+ "statusPills": {
1502
+ "pending": "Ausstehend",
1503
+ "deploying": "Deployen",
1504
+ "running": "Aktiv",
1505
+ "paused": "Pausiert",
1506
+ "failed": "Fehlgeschlagen",
1507
+ "destroyed": "Zerstört"
1508
+ },
1509
+ "artifact": {
1510
+ "title": "Neuestes Artefakt",
1511
+ "status": "Status",
1512
+ "configHash": "Konfigurations-Hash",
1513
+ "lastBuiltHash": "Letzter Build-Hash",
1514
+ "artifactPath": "Artefakt-Pfad",
1515
+ "notBuiltYet": "— (noch nicht gebaut)",
1516
+ "staleWarning": "Konfiguration seit dem letzten Build geändert. Das Cloud-Deployment baut automatisch neu, oder du kannst jetzt neu bauen.",
1517
+ "missingWarning": "Noch kein Artefakt. Das Cloud-Deployment baut es automatisch, oder du kannst jetzt bauen, um eine Vorschau zu erhalten.",
1518
+ "buildZip": "ZIP bauen",
1519
+ "rebuildZip": "ZIP neu bauen",
1520
+ "downloadZip": ".zip herunterladen"
1521
+ },
1522
+ "provider": {
1523
+ "title": "Anbieter",
1524
+ "fly": {
1525
+ "name": "Fly.io",
1526
+ "description": "Single-Region-Maschine + persistentes Volume"
1527
+ }
1528
+ },
1529
+ "fly": {
1530
+ "title": "Fly.io-Optionen",
1531
+ "region": "Region",
1532
+ "regionHint": "3-Buchstaben-Fly-Regionscode (iad, sjc, lhr, nrt, etc.)",
1533
+ "volumeSize": "Volume-Größe (GB)",
1534
+ "volumeHint": "Persistenter Speicher für SQLite (1 GB reicht für die meisten Bots)",
1535
+ "cpuCount": "CPU-Anzahl",
1536
+ "cpuHint": "geteilte CPUs",
1537
+ "memory": "Speicher (MB)",
1538
+ "memoryHint": "1024 MB empfohlen",
1539
+ "tokenNote": "Verwendet deinen <mono>FLY_API_TOKEN</mono> aus der Control-Plane-Umgebung. Dein Konto, deine Rechnung.",
1540
+ "deploy": "Deployen",
1541
+ "redeploy": "Neu deployen",
1542
+ "deploying": "Deployen…"
1543
+ },
1544
+ "status": {
1545
+ "title": "Status",
1546
+ "provider": "Anbieter",
1547
+ "appName": "App-Name",
1548
+ "url": "URL",
1549
+ "region": "Region",
1550
+ "lastDeployed": "Zuletzt deployed",
1551
+ "errorPrefix": "Fehler: {error}",
1552
+ "destroy": "Zerstören"
1553
+ },
1554
+ "errors": {
1555
+ "deployFailed": "Deployment fehlgeschlagen ({status})",
1556
+ "destroyFailed": "Zerstörung fehlgeschlagen ({status})",
1557
+ "buildFailed": "Build fehlgeschlagen ({status})"
1558
+ },
1559
+ "confirmDestroy": "Die Cloud-App, die Maschine und das Volume zerstören? Konversationsdaten auf dem Volume werden dauerhaft gelöscht."
1560
+ },
1561
+ "analytics": {
1562
+ "title": "Analytics",
1563
+ "loading": "Analytics werden geladen...",
1564
+ "loadingConversations": "Konversations-Analytics werden geladen...",
1565
+ "analyzingQuestions": "Nutzerfragen werden analysiert...",
1566
+ "failedToLoad": "Deployment konnte nicht geladen werden",
1567
+ "failedToLoadAnalytics": "Analytics-Daten konnten nicht geladen werden",
1568
+ "chatbotMetrics": "Chatbot-Metriken",
1569
+ "conversationAnalytics": "Konversations-Analytics",
1570
+ "topQuestions": "Top-Nutzerfragen & Themen",
1571
+ "metrics": {
1572
+ "age": "Alter",
1573
+ "uptime": "Uptime",
1574
+ "documents": "Dokumente",
1575
+ "lastUpdated": "Zuletzt aktualisiert",
1576
+ "totalConversations": "Konversationen gesamt",
1577
+ "totalMessages": "Nachrichten gesamt",
1578
+ "formStarts": "Formularstarts",
1579
+ "formCompletes": "Formularabschlüsse",
1580
+ "completionRate": "{rate}% Abschlussrate",
1581
+ "avgMessagesPerConv": "Durchschn. Nachrichten/Konv."
1582
+ },
1583
+ "badges": {
1584
+ "formCollection": "Formularerfassung",
1585
+ "live": "Live"
1586
+ },
1587
+ "searchTerms": {
1588
+ "longPhrases": "Lange Phrasen",
1589
+ "phrases": "Phrasen",
1590
+ "words": "Wörter",
1591
+ "analyzed": "{count} Nutzernachrichten analysiert",
1592
+ "noData": "Noch keine Konversationsdaten verfügbar",
1593
+ "noDataHint": "Daten erscheinen hier, nachdem Nutzer mit deinem Chatbot interagiert haben"
1594
+ },
1595
+ "uptime": {
1596
+ "inProgress": "Läuft...",
1597
+ "failed": "Fehlgeschlagen",
1598
+ "notAvailable": "N/V"
1599
+ }
1600
+ },
1601
+ "conversations": {
1602
+ "title": "Konversationen",
1603
+ "totalConversations": "{count} Konversationen gesamt",
1604
+ "total": "{count} gesamt",
1605
+ "dashboardLink": "← Dashboard",
1606
+ "backToDashboard": "← Zurück zum Dashboard",
1607
+ "tabs": {
1608
+ "conversations": "Konversationen",
1609
+ "storage": "Speicher"
1610
+ },
1611
+ "unreachable": {
1612
+ "title": "Bot nicht erreichbar",
1613
+ "message": "Das Control Plane konnte diesen Bot nicht erreichen. Er könnte gestoppt sein oder die URL bzw. der API-Schlüssel geändert worden sein. Verbinde dich über das Dashboard neu, um Konversationen anzusehen.",
1614
+ "reconnect": "Neu verbinden"
1615
+ },
1616
+ "search": {
1617
+ "dataSource": "Datenquelle",
1618
+ "conversationId": "Konversations-ID",
1619
+ "partialId": "Teil-ID...",
1620
+ "partialIdShort": "Teil-ID",
1621
+ "from": "Von",
1622
+ "to": "Bis",
1623
+ "search": "Suchen",
1624
+ "searching": "Suche...",
1625
+ "last24h": "Letzte 24 Std.",
1626
+ "last7days": "Letzte 7 Tage",
1627
+ "clear": "Löschen",
1628
+ "resultsFound": "{count} Ergebnis gefunden",
1629
+ "resultsFoundPlural": "{count} Ergebnisse gefunden",
1630
+ "result": "{count} Ergebnis",
1631
+ "results": "{count} Ergebnisse",
1632
+ "noMatch": "Keine Konversationen passen zu deiner Suche",
1633
+ "noMatchShort": "Keine passenden Konversationen.",
1634
+ "searchToFind": "Suchen, um Konversationen zu finden",
1635
+ "searchByIdOrDate": "Suche nach ID oder Datum, um Konversationen zu finden.",
1636
+ "useIdOrDate": "Verwende Konversations-ID, Datumsbereich oder beides"
1637
+ },
1638
+ "timeAgo": {
1639
+ "days": "vor {count} T.",
1640
+ "hours": "vor {count} Std.",
1641
+ "minutes": "vor {count} Min."
1642
+ },
1643
+ "detail": {
1644
+ "started": "Begonnen:",
1645
+ "startedAt": "Begonnen {timestamp}",
1646
+ "turns": "{count} Turns",
1647
+ "last": "Zuletzt:",
1648
+ "lastAt": "Zuletzt {timestamp}",
1649
+ "turn": "Turn {number}",
1650
+ "user": "Nutzer",
1651
+ "assistant": "Assistent",
1652
+ "ragContext": "RAG-Kontext",
1653
+ "ragContextShort": "RAG-Kontext",
1654
+ "verifyChain": "Chain verifizieren",
1655
+ "showMetadata": "Quellen & Metadaten anzeigen",
1656
+ "showMetadataShort": "Metadaten anzeigen",
1657
+ "selectConversation": "Wähle eine Konversation, um Nachrichten anzusehen",
1658
+ "selectConversationShort": "Wähle eine Konversation, um ihre Turns zu sehen.",
1659
+ "loadingMessages": "Nachrichten werden geladen...",
1660
+ "loading": "Laden…"
1661
+ },
1662
+ "storage": {
1663
+ "loading": "Speicher-Info wird geladen...",
1664
+ "loadingShort": "Laden…",
1665
+ "volumeCapacity": "Volume-Kapazität",
1666
+ "volumeCapacityShort": "Volume-Kapazität",
1667
+ "used": "{used} von {total} belegt",
1668
+ "usedOfTotal": "{used} von {total}",
1669
+ "available": "{amount} verfügbar",
1670
+ "statsConversations": "Konversationen",
1671
+ "statsTurns": "Turns gesamt",
1672
+ "statsTurnsShort": "Turns",
1673
+ "statsDbSize": "Datenbankgröße",
1674
+ "statsDbSizeShort": "DB-Größe",
1675
+ "autoExtendPolicy": "Auto-Erweiterungs-Richtlinie",
1676
+ "autoExtendDescription": "Volume erweitert sich automatisch bei {threshold}% Kapazität und fügt pro Erweiterung {increment} GB hinzu, bis zu maximal {limit} GB.",
1677
+ "exportTitle": "Konversationen exportieren",
1678
+ "exportTitleShort": "Exportieren",
1679
+ "exportDescription": "Alle Konversationen als JSON-Datei herunterladen.",
1680
+ "exportDescriptionShort": "Alle Konversationen von diesem Bot als JSON herunterladen.",
1681
+ "exportButton": "Alle Konversationen exportieren (JSON)",
1682
+ "exportButtonShort": "JSON exportieren",
1683
+ "exporting": "Exportiere...",
1684
+ "refresh": "Speicher-Info aktualisieren",
1685
+ "retry": "Wiederholen"
1686
+ },
1687
+ "loadMore": "Mehr laden",
1688
+ "loadingMore": "Laden…",
1689
+ "errors": {
1690
+ "fetchConversations": "Konversationen konnten nicht abgerufen werden",
1691
+ "fetchDetails": "Konversationsdetails konnten nicht abgerufen werden",
1692
+ "fetchStorage": "Speicher-Info konnte nicht abgerufen werden",
1693
+ "exportFailed": "Konversationen konnten nicht exportiert werden",
1694
+ "close": "Schließen"
1695
+ }
1696
+ },
1697
+ "submissions": {
1698
+ "title": "Formular-Einreichungen",
1699
+ "description": "Sieh die von {botName} gesammelten Formular-Einreichungen an",
1700
+ "total": "({count} gesamt)",
1701
+ "dashboardLink": "← Dashboard",
1702
+ "backToDashboard": "← Zurück zum Dashboard",
1703
+ "unreachable": {
1704
+ "title": "Bot nicht erreichbar",
1705
+ "message": "Das Control Plane konnte diesen Bot nicht erreichen. Er könnte gestoppt sein oder die URL bzw. der API-Schlüssel geändert worden sein. Verbinde dich über das Dashboard neu, um Einreichungen anzusehen.",
1706
+ "reconnect": "Neu verbinden"
1707
+ },
1708
+ "search": {
1709
+ "last24h": "Letzte 24 Std.",
1710
+ "last7days": "Letzte 7 Tage",
1711
+ "last30days": "Letzte 30 Tage",
1712
+ "from": "Von",
1713
+ "to": "Bis",
1714
+ "search": "Suchen",
1715
+ "searching": "Suche...",
1716
+ "export": "CSV exportieren"
1717
+ },
1718
+ "list": {
1719
+ "title": "Einreichungen",
1720
+ "shown": "({count} angezeigt)",
1721
+ "loading": "Laden...",
1722
+ "noSubmissions": "Keine Einreichungen für diesen Zeitraum gefunden.",
1723
+ "searchToView": "Suchen, um Einreichungen anzusehen.",
1724
+ "fields": "{count} Felder"
1725
+ },
1726
+ "detail": {
1727
+ "title": "Einreichungsdetails",
1728
+ "conversationId": "Konversations-ID:",
1729
+ "submitted": "Eingereicht:",
1730
+ "formData": "Formulardaten",
1731
+ "field": "Feld",
1732
+ "value": "Wert",
1733
+ "metadata": "Metadaten",
1734
+ "selectSubmission": "Wähle eine Einreichung, um Details anzusehen"
1735
+ }
1736
+ },
1737
+ "logs": {
1738
+ "title": "Live-Logs",
1739
+ "refresh": "Logs aktualisieren",
1740
+ "refreshing": "Aktualisieren...",
1741
+ "loading": "Logs werden geladen...",
1742
+ "search": {
1743
+ "label": "Logs durchsuchen",
1744
+ "placeholder": "Nachrichten, Levels, Instanzen suchen..."
1745
+ },
1746
+ "lineCount": {
1747
+ "label": "Anzuzeigende Zeilen",
1748
+ "lines": "{count} Zeilen"
1749
+ },
1750
+ "autoRefresh": {
1751
+ "label": "Auto-Aktualisierung",
1752
+ "every10s": "Alle 10 Sekunden aktualisieren"
1753
+ },
1754
+ "noLogs": "Keine Logs verfügbar",
1755
+ "noMatch": "Keine Logs passen zu deiner Suche",
1756
+ "showing": "Zeige {filtered} von {total} Log-Einträgen",
1757
+ "filteredBy": "(gefiltert nach \"{query}\")"
1758
+ },
1759
+ "accessLevels": {
1760
+ "owner": "Eigentümer",
1761
+ "admin": "Admin",
1762
+ "write": "Schreiben",
1763
+ "read": "Lesen"
1764
+ },
1765
+ "errors": {
1766
+ "generic": "Ein Fehler ist aufgetreten. Bitte versuche es erneut.",
1767
+ "failedToFetch": "Daten konnten nicht abgerufen werden",
1768
+ "failedToLoad": "Laden fehlgeschlagen",
1769
+ "failedToSave": "Speichern fehlgeschlagen",
1770
+ "failedToDelete": "Deployment konnte nicht gelöscht werden",
1771
+ "failedToAssign": "Bot Space konnte nicht zugewiesen werden",
1772
+ "notFound": "Nicht gefunden",
1773
+ "error": "Fehler"
1774
+ },
1775
+ "deleteAccount": {
1776
+ "title": "Konto löschen",
1777
+ "loadingInfo": "Kontoinformationen werden geladen...",
1778
+ "permanentWarning": "Diese Aktion ist dauerhaft und kann nicht rückgängig gemacht werden.",
1779
+ "willBeDeleted": "Folgendes wird dauerhaft gelöscht:",
1780
+ "deployments": "Deployments (Bots)",
1781
+ "documents": "Dokumente",
1782
+ "apiKeys": "API-Schlüssel",
1783
+ "botSpaces": "Bot Spaces",
1784
+ "contributorsToDelete": "Zu löschende Mitwirkenden-Konten",
1785
+ "contributorsNote": "Diese Mitwirkenden sind nur Mitglieder der Bot Spaces deiner Organisation.",
1786
+ "organization": "Organisation",
1787
+ "adminDeleteNote": "Als Admin löscht das Löschen deines Kontos auch alle Organisationsdaten und Mitwirkenden-Konten, die nur mit deiner Organisation verbunden sind.",
1788
+ "userDeleteNote": "Deine Bot-Space-Mitgliedschaften werden entfernt, aber Bot Spaces und andere Nutzer sind nicht betroffen.",
1789
+ "continue": "Weiter",
1790
+ "confirmPrompt": "Um die Löschung zu bestätigen, gib bitte deine E-Mail-Adresse ein:",
1791
+ "confirmEmail": "Bestätige deine E-Mail",
1792
+ "emailPlaceholder": "Gib deine E-Mail zur Bestätigung ein",
1793
+ "deleting": "Lösche...",
1794
+ "deleteMyAccount": "Mein Konto löschen",
1795
+ "errors": {
1796
+ "loadFailed": "Kontoinformationen konnten nicht geladen werden",
1797
+ "loadError": "Fehler beim Laden der Kontoinformationen",
1798
+ "emailMismatch": "Bitte gib deine E-Mail-Adresse exakt zur Bestätigung ein",
1799
+ "deleteFailed": "Konto konnte nicht gelöscht werden",
1800
+ "deleteError": "Fehler beim Löschen des Kontos"
1801
+ }
1802
+ },
1803
+ "botSpaceInvite": {
1804
+ "title": "Zu {spaceName} einladen",
1805
+ "description": "Sende eine Einladung zur Zusammenarbeit in diesem Bot Space. Sie erhalten eine E-Mail mit einem Beitritts-Link.",
1806
+ "emailLabel": "E-Mail-Adresse",
1807
+ "emailPlaceholder": "kollege@firma.com",
1808
+ "accessLabel": "Zugriffsebene",
1809
+ "accessRead": "Lesen - Kann Bots in diesem Space ansehen",
1810
+ "accessWrite": "Schreiben - Kann Bots erstellen und bearbeiten",
1811
+ "accessAdmin": "Admin - Voller Zugriff inklusive Einladen anderer",
1812
+ "accessNote": "Eingeladene Nutzer treten als Mitwirkende deiner Organisation bei.",
1813
+ "sending": "Sende...",
1814
+ "sendInvitation": "Einladung senden",
1815
+ "errors": {
1816
+ "sendFailed": "Einladung konnte nicht gesendet werden"
1817
+ }
1818
+ },
1819
+ "auditLogTable": {
1820
+ "loading": "Audit-Logs werden geladen...",
1821
+ "noLogs": "Keine Audit-Logs gefunden",
1822
+ "noLogsHint": "Logs erscheinen hier, sobald Aktionen ausgeführt werden",
1823
+ "headers": {
1824
+ "time": "Zeit",
1825
+ "event": "Ereignis",
1826
+ "actor": "Akteur",
1827
+ "resource": "Ressource",
1828
+ "outcome": "Ergebnis"
1829
+ },
1830
+ "events": {
1831
+ "authLoginSuccess": "Login",
1832
+ "authLoginFailure": "Login fehlgeschlagen",
1833
+ "authLogout": "Logout",
1834
+ "authSignup": "Registrierung",
1835
+ "deploymentCreate": "Deploy erstellt",
1836
+ "deploymentRedeploy": "Neu deployed",
1837
+ "deploymentDelete": "Deploy gelöscht",
1838
+ "botSpaceCreate": "Space erstellt",
1839
+ "botSpaceDelete": "Space gelöscht",
1840
+ "botSpaceMemberAdd": "Mitglied hinzugefügt",
1841
+ "botSpaceMemberRemove": "Mitglied entfernt",
1842
+ "documentUpload": "Dok. hochgeladen",
1843
+ "documentDelete": "Dok. gelöscht",
1844
+ "apiKeyCreate": "API-Schlüssel erstellt",
1845
+ "apiKeyDelete": "API-Schlüssel gelöscht",
1846
+ "userInvite": "Nutzer eingeladen",
1847
+ "userInviteAccept": "Einladung akzeptiert",
1848
+ "auditWebhookUpdate": "Webhook aktualisiert",
1849
+ "auditLogsExport": "Logs exportiert"
1850
+ },
1851
+ "outcomes": {
1852
+ "success": "Erfolg",
1853
+ "failure": "Fehler",
1854
+ "denied": "Verweigert"
1855
+ },
1856
+ "details": {
1857
+ "timestamp": "Vollständiger Zeitstempel",
1858
+ "requestId": "Request-ID",
1859
+ "ipAddress": "IP-Adresse",
1860
+ "userAgent": "User Agent",
1861
+ "resource": "Ressource",
1862
+ "metadata": "Metadaten"
1863
+ },
1864
+ "showing": "Zeige {shown} von {total} Logs",
1865
+ "loadMore": "Mehr laden"
1866
+ },
1867
+ "auditLogFilters": {
1868
+ "eventTypes": {
1869
+ "allEvents": "Alle Ereignisse",
1870
+ "authentication": "Authentifizierung",
1871
+ "deployments": "Deployments",
1872
+ "botSpaces": "Bot Spaces",
1873
+ "documents": "Dokumente",
1874
+ "apiKeys": "API-Schlüssel",
1875
+ "usersInvites": "Nutzer & Einladungen",
1876
+ "conversations": "Konversationen",
1877
+ "settings": "Einstellungen",
1878
+ "auditSystem": "Audit-System"
1879
+ },
1880
+ "outcomes": {
1881
+ "all": "Alle",
1882
+ "success": "Erfolg",
1883
+ "failure": "Fehler",
1884
+ "denied": "Verweigert"
1885
+ },
1886
+ "dateRange": "Datumsbereich",
1887
+ "from": "Von",
1888
+ "to": "Bis",
1889
+ "clear": "Löschen"
1890
+ },
1891
+ "data": {
1892
+ "navLabel": "Daten",
1893
+ "title": "Flottendaten",
1894
+ "subtitle": "Durchsuche und aggregiere Konversationsaktivität über alle verbundenen Bots hinweg. Konversationsinhalte bleiben auf dem Bot — nur Zählwerte werden im Prozess zusammengeführt.",
1895
+ "loading": "Laden…",
1896
+ "tabs": {
1897
+ "explorer": "Explorer",
1898
+ "sql": "SQL",
1899
+ "analytics": "Analytics"
1900
+ },
1901
+ "fleet": {
1902
+ "unreachableBanner": "{unreachable} von {total} Bots nicht erreichbar — Ergebnisse können unvollständig sein."
1903
+ },
1904
+ "explorer": {
1905
+ "filters": {
1906
+ "conversationId": "Konversations-ID enthält",
1907
+ "startDate": "Begonnen nach",
1908
+ "endDate": "Begonnen vor"
1909
+ },
1910
+ "search": "Suchen",
1911
+ "searching": "Suche läuft…",
1912
+ "clear": "Zurücksetzen",
1913
+ "hint": "Gib ein Fragment einer Konversations-ID oder einen Datumsbereich ein, um eine Suche über alle verbundenen Bots zu fächern.",
1914
+ "pagination": {
1915
+ "showing": "Zeige {start} – {end} von {total}",
1916
+ "previous": "Zurück",
1917
+ "next": "Weiter",
1918
+ "truncatedNotice": "Ergebnismenge auf die ersten 500 Konversationen der gesamten Flotte begrenzt. Schränke deinen Datumsbereich ein, um ältere Ergebnisse zu erhalten."
1919
+ },
1920
+ "noConversations": "Keine Konversationen entsprachen deinem Filter."
1921
+ },
1922
+ "sql": {
1923
+ "placeholder": "SELECT bot_name, conversations_7d FROM bot_health ORDER BY conversations_7d DESC",
1924
+ "runQuery": "Abfrage ausführen",
1925
+ "running": "Führe aus…",
1926
+ "exportCsv": "CSV exportieren",
1927
+ "exportJson": "JSON exportieren",
1928
+ "keyboardHint": "Drücke Cmd/Strg + Enter zum Ausführen",
1929
+ "rowCount": "{count} Zeilen",
1930
+ "truncated": "(auf 10.000 gekürzt)",
1931
+ "noResults": "Keine Zeilen",
1932
+ "help": "Starter-Abfragen",
1933
+ "starterQueries": {
1934
+ "title": "Starter-Abfragen",
1935
+ "hint": "Jede Abfrage liest aus den In-Memory-Rollup-Tabellen, die pro Anfrage aus den Analytics-Endpunkten jedes Bots zusammengestellt werden. Klicke zum Laden.",
1936
+ "dailyStats": "Tägliche Konversationsstatistiken über die gesamte Flotte",
1937
+ "botHealth": "Bot-Health (letzte 7 Tage)",
1938
+ "protocolDistribution": "Verteilung der Protokollnutzung",
1939
+ "mostActiveBots": "Aktivste Bots diese Woche",
1940
+ "staleBots": "Bots in den letzten 24h nicht gesehen",
1941
+ "dailyByBot": "Tägliche Aktivität verknüpft mit Bot-Namen"
1942
+ }
1943
+ },
1944
+ "schema": {
1945
+ "availableTables": "Schema-Referenz",
1946
+ "clickToShow": "(klicken zum Anzeigen)",
1947
+ "clickToHide": "(klicken zum Ausblenden)",
1948
+ "note": "Hinweis:",
1949
+ "scopeNote": "Diese Tabellen werden bei jeder Abfrage im Prozessspeicher aufgebaut — eine Zeile pro Bot für die Rollup-Tabellen, befüllt durch Aufrufe der Analytics-Endpunkte jedes verbundenen Bots. Rohe Turn-Inhalte werden nicht offengelegt; nutze dafür den Explorer-Tab, um in eine einzelne Konversation einzutauchen."
1950
+ },
1951
+ "analytics": {
1952
+ "loading": "Flotten-Rollups werden geladen…",
1953
+ "dateRange": {
1954
+ "last7days": "Letzte 7 Tage",
1955
+ "last14days": "Letzte 14 Tage",
1956
+ "last30days": "Letzte 30 Tage",
1957
+ "last90days": "Letzte 90 Tage"
1958
+ },
1959
+ "summary": {
1960
+ "totalConversations": "Konversationen",
1961
+ "totalTurns": "Turns",
1962
+ "avgTurnsPerConversation": "Ø Turns/Konv.",
1963
+ "activeBots": "Erreichbare Bots"
1964
+ },
1965
+ "charts": {
1966
+ "dailyConversations": "Tägliches Turn-Volumen",
1967
+ "topBotsByActivity": "Top-Bots nach Turn-Volumen",
1968
+ "activityHeatmap": "Aktivitäts-Heatmap (letzte 7 Tage)"
1969
+ },
1970
+ "noData": "Keine Aktivität in diesem Zeitraum.",
1971
+ "noActivityData": "Keine Aktivität in den letzten 7 Tagen.",
1972
+ "convs": "Konv.",
1973
+ "days": {
1974
+ "sun": "So",
1975
+ "mon": "Mo",
1976
+ "tue": "Di",
1977
+ "wed": "Mi",
1978
+ "thu": "Do",
1979
+ "fri": "Fr",
1980
+ "sat": "Sa"
1981
+ }
1982
+ },
1983
+ "table": {
1984
+ "headers": {
1985
+ "bot": "Bot",
1986
+ "started": "Begonnen",
1987
+ "duration": "Dauer",
1988
+ "turns": "Turns",
1989
+ "conversationId": "Konversations-ID"
1990
+ }
1991
+ }
1992
+ },
1993
+ "documentUploader": {
1994
+ "title": "Dokumente hochladen",
1995
+ "description": "Lade Dokumente hoch, die dein Chatbot für RAG (Retrieval-Augmented Generation) verwenden wird",
1996
+ "uploading": "Lade hoch...",
1997
+ "chooseFiles": "Dateien auswählen",
1998
+ "dropFilesHere": "Dateien hier ablegen",
1999
+ "dragAndDropHint": "oder Dateien per Drag & Drop hier ablegen",
2000
+ "fileTypes": "PDF, TXT, MD, DOC, DOCX",
2001
+ "uploadedDocuments": "Hochgeladene Dokumente ({count})",
2002
+ "noDocumentsYet": "Noch keine Dokumente hochgeladen",
2003
+ "noDocumentsHint": "Klicke auf \"Dateien auswählen\", um zu beginnen",
2004
+ "skippedFiles": "Einige Dateien wurden übersprungen. Nur PDF-, TXT-, MD-, DOC- und DOCX-Dateien werden unterstützt.",
2005
+ "deleteConfirm": "Möchtest du diese Datei wirklich löschen?",
2006
+ "uploadFailed": "Upload fehlgeschlagen",
2007
+ "uploadFailedFallback": "Dateien konnten nicht hochgeladen werden",
2008
+ "deleteFailed": "Löschen fehlgeschlagen",
2009
+ "deleteFailedFallback": "Datei konnte nicht gelöscht werden"
2010
+ },
2011
+ "chatBuilder": {
2012
+ "title": "KI-Bot-Builder",
2013
+ "subtitle": "Beschreibe den Bot, den du bauen möchtest, und ich erstelle ihn für dich",
2014
+ "loading": "KI-Builder wird geladen...",
2015
+ "newChat": "Neuer Chat",
2016
+ "recentChats": "Aktuelle Chats",
2017
+ "noPreviousChats": "Keine früheren Chats",
2018
+ "botPreview": "Bot-Vorschau",
2019
+ "viewDeployedBot": "Deployten Bot ansehen",
2020
+ "selectWorkspace": "Arbeitsbereich auswählen",
2021
+ "selectWorkspacePrompt": "Wähle einen Arbeitsbereich, um zu beginnen",
2022
+ "noWorkspaces": "Keine Arbeitsbereiche verfügbar",
2023
+ "createWorkspaceFirst": "Erstelle zuerst einen",
2024
+ "backToDashboard": "Zurück zum Dashboard",
2025
+ "welcome": {
2026
+ "title": "Einen Bot mit KI bauen",
2027
+ "description": "Beschreibe den Bot, den du erstellen möchtest, lade relevante Dokumente hoch, und ich helfe dir, ihn zu konfigurieren und zu deployen. Keine Programmierung erforderlich.",
2028
+ "quickPrompts": {
2029
+ "customerSupport": {
2030
+ "title": "Kundensupport-Bot",
2031
+ "description": "Produktfragen beantworten",
2032
+ "prompt": "Ich brauche einen Kundensupport-Bot, der Fragen zu unserem Produkt beantworten kann"
2033
+ },
2034
+ "leadCapture": {
2035
+ "title": "Lead-Erfassungs-Bot",
2036
+ "description": "Besucherinformationen sammeln",
2037
+ "prompt": "Erstelle einen Lead-Erfassungs-Bot, der Name, E-Mail und Firmen-Info sammelt"
2038
+ },
2039
+ "faqAssistant": {
2040
+ "title": "FAQ-Assistent",
2041
+ "description": "Häufige Fragen beantworten",
2042
+ "prompt": "Hilf mir, einen FAQ-Bot mit unserer Dokumentation zu bauen"
2043
+ },
2044
+ "onboarding": {
2045
+ "title": "Onboarding-Bot",
2046
+ "description": "Neue Nutzer anleiten",
2047
+ "prompt": "Ich möchte einen Bot erstellen, der neue Kunden beim Onboarding unterstützt"
2048
+ }
2049
+ }
2050
+ },
2051
+ "input": {
2052
+ "placeholder": "Beschreibe den Bot, den du bauen möchtest...",
2053
+ "defaultPlaceholder": "Nachricht eingeben...",
2054
+ "dropFilesHere": "Dateien hier ablegen...",
2055
+ "dropToAttach": "Dateien ablegen, um sie an deine Nachricht anzuhängen",
2056
+ "hint": "Drücke Enter zum Senden, Shift+Enter für neue Zeile. Dateien per Drag-and-Drop oder klicke auf die Büroklammer zum Anhängen.",
2057
+ "hintShort": "Drücke Enter zum Senden, Shift+Enter für neue Zeile",
2058
+ "hintWithAttach": "Dateien per Drag & Drop oder klicke auf Anhängen. Drücke Enter zum Senden.",
2059
+ "attachFiles": "Dateien anhängen",
2060
+ "attachDocuments": "Dokumente anhängen"
2061
+ },
2062
+ "tools": {
2063
+ "toolsExecuted": "{count} Tool ausgeführt",
2064
+ "toolsExecutedPlural": "{count} Tools ausgeführt",
2065
+ "uploadDocument": "Dokument hochladen",
2066
+ "generateForm": "Formular generieren",
2067
+ "deployBot": "Bot deployen",
2068
+ "listDeployments": "Deployments auflisten",
2069
+ "checkDeploymentStatus": "Deployment-Status prüfen",
2070
+ "destroyDeployment": "Deployment zerstören",
2071
+ "getAnalytics": "Analytics abrufen",
2072
+ "getFormSubmissions": "Formular-Einreichungen abrufen",
2073
+ "listWorkspaces": "Arbeitsbereiche auflisten",
2074
+ "listDocuments": "Dokumente auflisten",
2075
+ "listApiKeys": "API-Schlüssel auflisten"
2076
+ },
2077
+ "documentPicker": {
2078
+ "title": "Dokumente auswählen",
2079
+ "noDocuments": "Keine Dokumente in diesem Arbeitsbereich",
2080
+ "uploadFirst": "Lade zuerst Dokumente hoch, um sie für deinen Bot zu verwenden",
2081
+ "selected": "{count} Dokument ausgewählt",
2082
+ "selectedPlural": "{count} Dokumente ausgewählt",
2083
+ "useSelected": "Auswahl verwenden"
2084
+ },
2085
+ "errors": {
2086
+ "failedToSend": "Nachricht konnte nicht gesendet werden",
2087
+ "failedToLoadSession": "Sitzung konnte nicht geladen werden",
2088
+ "failedToLoadDocuments": "Dokumente konnten nicht geladen werden"
2089
+ },
2090
+ "invertedPanel": {
2091
+ "createABot": "Einen Bot erstellen",
2092
+ "editBot": "{name} bearbeiten",
2093
+ "fallbackBotName": "Bot",
2094
+ "private": "Privat",
2095
+ "createTitle": "Welche Art von Bot kann ich für dich bauen?",
2096
+ "createDescription": "Du kannst auch Dokumente anhängen, um ihm Wissen zu geben. Lade eine Datei hoch oder bitte, auf Dokumente im Bot Space zu verweisen.",
2097
+ "buildWithWizard": "Mit Assistent bauen (Schritt-für-Schritt-Konfiguration)",
2098
+ "editTitle": "{name} ändern",
2099
+ "editFallbackName": "deinen Bot",
2100
+ "editDescription": "Sag mir, was du ändern möchtest. Ich lade deine aktuelle Konfiguration und helfe dir beim Aktualisieren.",
2101
+ "editExamples": "Beispiele: \"Begrüßung ändern\", \"Neues Formularfeld hinzufügen\", \"Bot-Namen aktualisieren\"",
2102
+ "errorPrefix": "Fehler:",
2103
+ "inputPlaceholder": "Beschreibe, was dein Bot tun soll...",
2104
+ "adjustMessage": "Ich möchte die Konfiguration anpassen"
2105
+ },
2106
+ "status": {
2107
+ "ready": "Bereit",
2108
+ "processing": "Verarbeite",
2109
+ "awaitingConfirmation": "Warte auf Bestätigung",
2110
+ "deploying": "Deployen",
2111
+ "deployed": "Deployed",
2112
+ "editing": "Bearbeite"
2113
+ },
2114
+ "success": {
2115
+ "botBuilt": "Bot gebaut!",
2116
+ "botSaved": "Bot gespeichert",
2117
+ "botBuiltMessage": "Dein Bot <strong>{name}</strong> ist gebaut und bereit zum Herunterladen.",
2118
+ "botSavedMessage": "Dein Bot <strong>{name}</strong> ist gespeichert. Baue ihn aus deinem Bot Space, wenn du bereit bist.",
2119
+ "liveUrl": "Live-URL",
2120
+ "embedCode": "Embed-Code",
2121
+ "downloadArtifact": "Artefakt herunterladen",
2122
+ "downloadWithDocs": "Mit Dokumenten herunterladen",
2123
+ "openBot": "Bot öffnen",
2124
+ "viewInBotSpace": "Im Bot Space ansehen"
2125
+ }
2126
+ },
2127
+ "login": {
2128
+ "subtitle": "Melde dich an, um fortzufahren",
2129
+ "username": "Benutzername",
2130
+ "password": "Passwort",
2131
+ "signIn": "Anmelden",
2132
+ "signingIn": "Anmelden…",
2133
+ "signOut": "Abmelden",
2134
+ "invalid": "Ungültiger Benutzername oder Passwort"
2135
+ }
2136
+ }