533 KiB
533 KiB
i18n: vermutlich noch ohne t()
Anzahl Einträge (heuristisch): 2146
Hinweis: Einige Treffer können falsch positiv sein (technische Strings). Vor apply prüfen.
src/components/AccessRules/AccessRulesEditor.tsx:86
- Text: 'Regel löschen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Regel löschen"
src/components/AccessRules/AccessRulesEditor.tsx:140
- Text: 'Delete'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.permissionLabel}>Delete</span>
src/components/AccessRules/AccessRulesEditor.tsx:204
- Text: 'z.B. data.feature.trustee.TrusteePosition'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'z.B. data.feature.trustee.TrusteePosition';
src/components/AccessRules/AccessRulesEditor.tsx:206
- Text: 'z.B. ui.feature.trustee.dashboard'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'z.B. ui.feature.trustee.dashboard';
src/components/AccessRules/AccessRulesEditor.tsx:208
- Text: 'z.B. resource.feature.trustee.documents.create'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'z.B. resource.feature.trustee.documents.create';
src/components/AccessRules/AccessRulesEditor.tsx:220
- Text: 'Objekt auswählen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.formLabel}>Objekt auswählen</label>
src/components/AccessRules/AccessRulesEditor.tsx:226
- Text: '← Aus Katalog wählen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{useCustom ? '← Aus Katalog wählen' : 'Freie Eingabe →'}
src/components/AccessRules/AccessRulesEditor.tsx:226
- Text: 'Freie Eingabe →'
- Art: string_literal
- Kontext: string literal
- Zeile:
{useCustom ? '← Aus Katalog wählen' : 'Freie Eingabe →'}
src/components/AccessRules/AccessRulesEditor.tsx:245
- Text: '-- Global (alle Objekte) --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Global (alle Objekte) --</option>
src/components/AccessRules/AccessRulesEditor.tsx:280
- Text: 'Eigene (m)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.matrixGroup}>Eigene (m)</div>
src/components/AccessRules/AccessRulesEditor.tsx:281
- Text: 'Gruppe (g)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.matrixGroup}>Gruppe (g)</div>
src/components/AccessRules/AccessRulesEditor.tsx:282
- Text: 'Alle (a)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.matrixGroup}>Alle (a)</div>
src/components/AccessRules/AccessRulesEditor.tsx:289
- Text: 'Delete'
- Art: string_literal
- Kontext: string literal
- Zeile:
const labels = { create: 'Create', read: 'Read', update: 'Update', delete: 'Delete' };
src/components/AccessRules/AccessRulesEditor.tsx:372
- Text: 'Keine Daten-Regeln definiert'
- Art: string_literal
- Kontext: string literal
- Zeile:
case 'DATA': return 'Keine Daten-Regeln definiert';
src/components/AccessRules/AccessRulesEditor.tsx:373
- Text: 'Keine UI-Regeln definiert'
- Art: string_literal
- Kontext: string literal
- Zeile:
case 'UI': return 'Keine UI-Regeln definiert';
src/components/AccessRules/AccessRulesEditor.tsx:374
- Text: 'Keine Ressourcen-Regeln definiert'
- Art: string_literal
- Kontext: string literal
- Zeile:
case 'RESOURCE': return 'Keine Ressourcen-Regeln definiert';
src/components/AccessRules/AccessRulesEditor.tsx:392
- Text: 'Tabellenansicht'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Tabellenansicht"
src/components/AccessRules/AccessRulesEditor.tsx:399
- Text: 'Kartenansicht'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Kartenansicht"
src/components/AccessRules/AccessRulesEditor.tsx:430
- Text: 'Neue Regel'
- Art: string_literal
- Kontext: string literal
- Zeile:
Klicken Sie auf "Neue Regel" um eine Berechtigung hinzuzufügen.
src/components/AccessRules/AccessRulesEditor.tsx:480
- Text: 'JSON muss ein Array sein'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error('JSON muss ein Array sein');
src/components/AccessRules/AccessRulesEditor.tsx:605
- Text: 'Fehler beim Speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Speichern');
src/components/AccessRules/AccessRulesEditor.tsx:631
- Text: 'Daten'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ id: 'DATA', label: 'Daten', icon: <FaTable />, count: groupedRules.DATA.length },
src/components/AccessRules/AccessRulesEditor.tsx:632
- Text: 'UI'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ id: 'UI', label: 'UI', icon: <FaDesktop />, count: groupedRules.UI.length },
src/components/AccessRules/AccessRulesEditor.tsx:633
- Text: 'Ressourcen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ id: 'RESOURCE', label: 'Ressourcen', icon: <FaServer />, count: groupedRules.RESOURCE.length },
src/components/AccessRules/AccessRulesEditor.tsx:634
- Text: 'JSON'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ id: 'JSON', label: 'JSON', icon: <FaCode />, count: rules.length },
src/components/AccessRules/AccessRulesEditor.tsx:642
- Text: 'Lade Berechtigungen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Berechtigungen...</span>
src/components/AccessRules/AccessRulesTable.tsx:112
- Text: 'Sichtbar'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Sichtbar"
src/components/AccessRules/AccessRulesTable.tsx:166
- Text: 'Regel löschen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Regel löschen"
src/components/AccessRules/AccessRulesTable.tsx:198
- Text: 'Objekt (Dot-Notation)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<th className={styles.colObject}>Objekt (Dot-Notation)</th>
src/components/AccessRules/AccessRulesTable.tsx:202
- Text: 'Eigene (m)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<th className={styles.colGroupHeader} colSpan={4}>Eigene (m)</th>
src/components/AccessRules/AccessRulesTable.tsx:203
- Text: 'Gruppe (g)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<th className={styles.colGroupHeader} colSpan={4}>Gruppe (g)</th>
src/components/AccessRules/AccessRulesTable.tsx:204
- Text: 'Alle (a)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<th className={styles.colGroupHeader} colSpan={4}>Alle (a)</th>
src/components/AccessRules/AccessRulesTable.tsx:213
- Text: 'Create'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<th title="Create">C</th>
src/components/AccessRules/AccessRulesTable.tsx:214
- Text: 'Read'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<th title="Read">R</th>
src/components/AccessRules/AccessRulesTable.tsx:215
- Text: 'Update'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<th title="Update">U</th>
src/components/AccessRules/AccessRulesTable.tsx:216
- Text: 'Delete'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<th title="Delete">D</th>
src/components/AccessRules/AccessRulesTable.tsx:217
- Text: 'Create'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<th title="Create">C</th>
src/components/AccessRules/AccessRulesTable.tsx:218
- Text: 'Read'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<th title="Read">R</th>
src/components/AccessRules/AccessRulesTable.tsx:219
- Text: 'Update'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<th title="Update">U</th>
src/components/AccessRules/AccessRulesTable.tsx:220
- Text: 'Delete'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<th title="Delete">D</th>
src/components/AccessRules/AccessRulesTable.tsx:221
- Text: 'Create'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<th title="Create">C</th>
src/components/AccessRules/AccessRulesTable.tsx:222
- Text: 'Read'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<th title="Read">R</th>
src/components/AccessRules/AccessRulesTable.tsx:223
- Text: 'Update'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<th title="Update">U</th>
src/components/AccessRules/AccessRulesTable.tsx:224
- Text: 'Delete'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<th title="Delete">D</th>
src/components/Chat/ChatInput.tsx:20
- Text: 'Type a message...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder = 'Type a message...',
src/components/Chat/ChatInput.tsx:55
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderTop: '1px solid var(--border-color, #e0e0e0)',
src/components/Chat/ChatInput.tsx:71
- Text: '1px solid var(--border-color, #ddd)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #ddd)',
src/components/Chat/ChatMessageList.tsx:34
- Text: 'No messages yet.'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage = 'No messages yet.',
src/components/ContentPreview/ContentPreview.tsx:64
- Text: 'Invalid file ID'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Invalid file ID');
src/components/ContentPreview/ContentPreview.tsx:67
- Text: 'Unknown Item'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (!fileName || fileName === 'Unknown Item') {
src/components/ContentPreview/ContentPreview.tsx:68
- Text: 'File name not available'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('File name not available');
src/components/ContentPreview/ContentPreview.tsx:96
- Text: 's text content but MIME type says PDF, we'
- Art: string_literal
- Kontext: string literal
- Zeile:
// If it's text content but MIME type says PDF, we'll handle it in renderPreview
src/components/ContentPreview/ContentPreview.tsx:98
- Text: 'Failed to load preview'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(result.error || 'Failed to load preview');
src/components/ContentPreview/ContentPreview.tsx:101
- Text: 'An unexpected error occurred while loading the preview'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('An unexpected error occurred while loading the preview');
src/components/ContentPreview/ContentPreview.tsx:171
- Text: 'Failed to load PDF preview'
- Art: string_literal
- Kontext: string literal
- Zeile:
onError={() => setError('Failed to load PDF preview')}
src/components/ContentPreview/ContentPreview.tsx:197
- Text: 'JSON Preview (Fallback)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.jsonTitle}>JSON Preview (Fallback)</span>
src/components/ContentPreview/ContentPreview.tsx:199
- Text: 'Raw content'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.jsonSize}>Raw content</span>
src/components/ContentPreview/ContentPreview.tsx:204
- Text: 'No content available'
- Art: string_literal
- Kontext: string literal
- Zeile:
{previewContent || 'No content available'}
src/components/ContentPreview/ContentPreview.tsx:222
- Text: 'Failed to load image preview'
- Art: string_literal
- Kontext: string literal
- Zeile:
onError={() => setError('Failed to load image preview')}
src/components/ContentPreview/ContentPreview.tsx:233
- Text: 'Failed to load HTML preview'
- Art: string_literal
- Kontext: string literal
- Zeile:
onError={() => setError('Failed to load HTML preview')}
src/components/ContentPreview/ContentPreview.tsx:243
- Text: 'Failed to load text preview'
- Art: string_literal
- Kontext: string literal
- Zeile:
onError={() => setError('Failed to load text preview')}
src/components/ContentPreview/ContentPreview.tsx:260
- Text: 'Failed to load PDF preview'
- Art: string_literal
- Kontext: string literal
- Zeile:
onError={() => setError('Failed to load PDF preview')}
src/components/ContentPreview/ContentPreview.tsx:270
- Text: 'Failed to load HTML preview'
- Art: string_literal
- Kontext: string literal
- Zeile:
onError={() => setError('Failed to load HTML preview')}
src/components/ContentPreview/ContentPreview.tsx:282
- Text: 'Preview not supported for this file type'
- Art: string_literal
- Kontext: string literal
- Zeile:
onError={() => setError('Preview not supported for this file type')}
src/components/ContentPreview/UrlContentPreview.tsx:56
- Text: 'noopener noreferrer'
- Art: string_literal
- Kontext: string literal
- Zeile:
link.rel = 'noopener noreferrer';
src/components/ContentPreview/UrlContentPreview.tsx:82
- Text: 'Failed to load PDF. This might be due to CORS restrictions. You can try downloading the file or opening it in a new tab.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Failed to load PDF. This might be due to CORS restrictions. You can try downloading the file or opening it in a new tab.');
src/components/ContentPreview/UrlContentPreview.tsx:99
- Text: 'PDF lädt langsam. Sie können es auch direkt herunterladen oder in einem neuen Tab öffnen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setWarning('PDF lädt langsam. Sie können es auch direkt herunterladen oder in einem neuen Tab öffnen.');
src/components/ContentPreview/UrlContentPreview.tsx:110
- Text: 'PDF lädt langsam. Versuche alternative Anzeigemethode...'
- Art: string_literal
- Kontext: string literal
- Zeile:
setWarning('PDF lädt langsam. Versuche alternative Anzeigemethode...');
src/components/ContentPreview/UrlContentPreview.tsx:114
- Text: 'PDF lädt langsam. Bitte verwenden Sie den Download-Button oder öffnen Sie es in einem neuen Tab.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('PDF lädt langsam. Bitte verwenden Sie den Download-Button oder öffnen Sie es in einem neuen Tab.');
src/components/ContentPreview/UrlContentPreview.tsx:132
- Text: 'Invalid URL'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Invalid URL');
src/components/ContentPreview/UrlContentPreview.tsx:161
- Text: '1px solid var(--color-border, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--color-border, #e5e7eb)',
src/components/ContentPreview/UrlContentPreview.tsx:172
- Text: '1px solid var(--color-border, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--color-border, #e5e7eb)',
src/components/ContentPreview/UrlContentPreview.tsx:270
- Text: '1px solid var(--color-border, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--color-border, #e5e7eb)',
src/components/ContentPreview/UrlContentPreview.tsx:317
- Text: 'Preview not supported for this file type. Please download the file to view it.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Preview not supported for this file type. Please download the file to view it.</p>
src/components/ContentPreview/renderers/JsonRenderer.tsx:342
- Text: 'Error: Invalid nested data'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.jsonValue}>Error: Invalid nested data</span>
src/components/ContentPreview/renderers/JsonRenderer.tsx:482
- Text: 'Raw Content'
- Art: string_literal
- Kontext: string literal
- Zeile:
keys: ['Raw Content'],
src/components/ContentPreview/renderers/PdfJsRenderer.tsx:65
- Text: 'Failed to load PDF'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err instanceof Error ? err.message : 'Failed to load PDF');
src/components/ContentPreview/renderers/PdfJsRenderer.tsx:115
- Text: 'Failed to render PDF page'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err instanceof Error ? err.message : 'Failed to render PDF page');
src/components/ContentPreview/renderers/PdfJsRenderer.tsx:131
- Text: 'Fehler beim Laden der PDF: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Fehler beim Laden der PDF: {error}</p>
src/components/ContentPreview/renderers/PdfJsRenderer.tsx:140
- Text: 'PDF wird geladen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>PDF wird geladen...</p>
src/components/ContentPreview/renderers/PdfJsRenderer.tsx:152
- Text: '1px solid var(--color-border, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--color-border, #e5e7eb)',
src/components/ContentPreview/renderers/PdfJsRenderer.tsx:197
- Text: '1px solid var(--color-border, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--color-border, #e5e7eb)',
src/components/ContentPreview/renderers/PdfJsRenderer.tsx:213
- Text: '1px solid var(--color-border, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--color-border, #e5e7eb)',
src/components/ContentPreview/renderers/PdfJsRenderer.tsx:232
- Text: '0 2px 8px rgba(0,0,0,0.1)'
- Art: string_literal
- Kontext: string literal
- Zeile:
boxShadow: '0 2px 8px rgba(0,0,0,0.1)',
src/components/ContentPreview/renderers/TextRenderer.tsx:19
- Text: 'Text Preview'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.textTitle}>Text Preview</span>
src/components/FlowEditor/editor/Automation2FlowEditor.tsx:59
- Text: 'Jetzt ausführen'
- Art: string_literal
- Kontext: string literal
- Zeile:
buildInvocationsForPrimaryKind('manual', [], 'Jetzt ausführen');
src/components/FlowEditor/editor/Automation2FlowEditor.tsx:203
- Text: 'Keine Nodes im Workflow.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setExecuteResult({ success: false, error: 'Keine Nodes im Workflow.' });
src/components/FlowEditor/editor/Automation2FlowEditor.tsx:228
- Text: 'Keine Nodes zum Speichern.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setExecuteResult({ success: false, error: 'Keine Nodes zum Speichern.' });
src/components/FlowEditor/editor/Automation2FlowEditor.tsx:238
- Text: 'Workflow speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Workflow speichern',
src/components/FlowEditor/editor/Automation2FlowEditor.tsx:239
- Text: 'Neuer Workflow'
- Art: string_literal
- Kontext: string literal
- Zeile:
defaultValue: 'Neuer Workflow',
src/components/FlowEditor/editor/Automation2FlowEditor.tsx:240
- Text: 'Name des Workflows'
- Art: string_literal
- Kontext: string literal
- Zeile:
placeholder: 'Name des Workflows',
src/components/FlowEditor/editor/Automation2FlowEditor.tsx:247
- Text: 'Neuer Workflow'
- Art: string_literal
- Kontext: string literal
- Zeile:
label: label.trim() || 'Neuer Workflow',
src/components/FlowEditor/editor/Automation2FlowEditor.tsx:596
- Text: 'Lade Node-Typen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Lade Node-Typen...</p>
src/components/FlowEditor/editor/CanvasHeader.tsx:38
- Text: 'Entwurf'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
draft: { label: 'Entwurf', color: 'var(--warning-color, #ffc107)' },
src/components/FlowEditor/editor/CanvasHeader.tsx:39
- Text: 'Veröffentlicht'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
published: { label: 'Veröffentlicht', color: 'var(--success-color, #28a745)' },
src/components/FlowEditor/editor/CanvasHeader.tsx:40
- Text: 'Archiviert'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
archived: { label: 'Archiviert', color: 'var(--text-secondary, #666)' },
src/components/FlowEditor/editor/CanvasHeader.tsx:116
- Text: 'Meine Vorlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
const SCOPE_LABELS: Record<string, string> = { user: 'Meine Vorlagen', instance: 'Instanz', mandate: 'Mandant' };
src/components/FlowEditor/editor/CanvasHeader.tsx:137
- Text: 'Klicken zum Umbenennen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={onWorkflowRename ? 'Klicken zum Umbenennen' : undefined}
src/components/FlowEditor/editor/CanvasHeader.tsx:151
- Text: 'Workflow-Konfiguration (Einstieg / Starts)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Workflow-Konfiguration (Einstieg / Starts)"
src/components/FlowEditor/editor/CanvasHeader.tsx:152
- Text: 'Workflow-Konfiguration'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
aria-label="Workflow-Konfiguration"
src/components/FlowEditor/editor/CanvasHeader.tsx:170
- Text: 'Neu aus Vorlage'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Neu aus Vorlage"
src/components/FlowEditor/editor/CanvasHeader.tsx:214
- Text: 'Als Vorlage speichern'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Als Vorlage speichern"
src/components/FlowEditor/editor/CanvasHeader.tsx:242
- Text: '— Workflow laden —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— Workflow laden —</option>
src/components/FlowEditor/editor/CanvasHeader.tsx:268
- Text: 'Workspace-Panel (Chats, Dateien, Quellen)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button type="button" className={styles.retryButton} onClick={onToggleChat} title="Workspace-Panel (Chats, Dateien, Quellen)">
src/components/FlowEditor/editor/CanvasHeader.tsx:285
- Text: '— Aktuelle —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— Aktuelle —</option>
src/components/FlowEditor/editor/CanvasHeader.tsx:310
- Text: 'Version veröffentlichen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Version veröffentlichen"
src/components/FlowEditor/editor/CanvasHeader.tsx:323
- Text: 'Veröffentlichung zurücknehmen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Veröffentlichung zurücknehmen"
src/components/FlowEditor/editor/CanvasHeader.tsx:336
- Text: 'Version archivieren'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Version archivieren"
src/components/FlowEditor/editor/CanvasHeader.tsx:349
- Text: 'Neuen Entwurf erstellen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Neuen Entwurf erstellen"
src/components/FlowEditor/editor/CanvasHeader.tsx:379
- Text: '✓ Ausführung abgeschlossen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<>✓ Ausführung abgeschlossen.</>
src/components/FlowEditor/editor/CanvasHeader.tsx:382
- Text: 'Workflows & Tasks'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
⏸ Workflow pausiert. Öffne <strong>Workflows & Tasks</strong> in der Sidebar, um den
src/components/FlowEditor/editor/CanvasHeader.tsx:386
- Text: "✗ {executeResult.error ?? 'Unbekannter Fehler'}"
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<>✗ {executeResult.error ?? 'Unbekannter Fehler'}</>
src/components/FlowEditor/editor/CanvasHeader.tsx:386
- Text: 'Unbekannter Fehler'
- Art: string_literal
- Kontext: string literal
- Zeile:
<>✗ {executeResult.error ?? 'Unbekannter Fehler'}</>
src/components/FlowEditor/editor/EditorChatPanel.tsx:137
- Text: 'Request failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
const errText = event.content || 'Request failed';
src/components/FlowEditor/editor/EditorChatPanel.tsx:190
- Text: 'Describe what you want to build. The AI will create and modify nodes on the canvas.'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Describe what you want to build. The AI will create and modify nodes on the canvas."
src/components/FlowEditor/editor/EditorChatPanel.tsx:197
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderTop: '1px solid var(--border-color, #e0e0e0)',
src/components/FlowEditor/editor/EditorChatPanel.tsx:223
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderTop: pendingFiles.length > 0 ? 'none' : '1px solid var(--border-color, #e0e0e0)',
src/components/FlowEditor/editor/EditorChatPanel.tsx:264
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderTop: hasAttachments ? 'none' : '1px solid var(--border-color, #e0e0e0)',
src/components/FlowEditor/editor/EditorChatPanel.tsx:267
- Text: '2px dashed var(--primary-color, #F25843)'
- Art: string_literal
- Kontext: string literal
- Zeile:
outline: treeDropOver ? '2px dashed var(--primary-color, #F25843)' : 'none',
src/components/FlowEditor/editor/EditorChatPanel.tsx:269
- Text: 'background 0.15s, outline 0.15s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'background 0.15s, outline 0.15s',
src/components/FlowEditor/editor/EditorChatPanel.tsx:280
- Text: 'Describe a change...'
- Art: string_literal
- Kontext: string literal
- Zeile:
placeholder={workflowId ? 'Describe a change...' : 'Save workflow first'}
src/components/FlowEditor/editor/EditorChatPanel.tsx:280
- Text: 'Save workflow first'
- Art: string_literal
- Kontext: string literal
- Zeile:
placeholder={workflowId ? 'Describe a change...' : 'Save workflow first'}
src/components/FlowEditor/editor/EditorChatPanel.tsx:285
- Text: '1px solid var(--border-color, #ccc)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #ccc)',
src/components/FlowEditor/editor/EditorChatPanel.tsx:297
- Text: 'Datenquellen anhängen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Datenquellen anhängen"
src/components/FlowEditor/editor/EditorChatPanel.tsx:300
- Text: '1px solid var(--border-color, #ddd)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #ddd)',
src/components/FlowEditor/editor/EditorChatPanel.tsx:341
- Text: '2px solid #2e7d32'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: isSelected ? '2px solid #2e7d32' : '2px solid #ccc',
src/components/FlowEditor/editor/EditorChatPanel.tsx:341
- Text: '2px solid #ccc'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: isSelected ? '2px solid #2e7d32' : '2px solid #ccc',
src/components/FlowEditor/editor/EditorChatPanel.tsx:370
- Text: '2px solid #7b1fa2'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: isSelected ? '2px solid #7b1fa2' : '2px solid #ccc',
src/components/FlowEditor/editor/EditorChatPanel.tsx:370
- Text: '2px solid #ccc'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: isSelected ? '2px solid #7b1fa2' : '2px solid #ccc',
src/components/FlowEditor/editor/FlowCanvas.tsx:511
- Text: 'Delete'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (e.key === 'Delete' || e.key === 'Backspace') {
src/components/FlowEditor/editor/FlowCanvas.tsx:596
- Text: '0 0, 10 3.5, 0 7'
- Art: string_literal
- Kontext: string literal
- Zeile:
<polygon points="0 0, 10 3.5, 0 7" fill="var(--text-secondary, #666)" />
src/components/FlowEditor/editor/FlowCanvas.tsx:606
- Text: '0 0, 10 3.5, 0 7'
- Art: string_literal
- Kontext: string literal
- Zeile:
<polygon points="0 0, 10 3.5, 0 7" fill="var(--primary-color, #007bff)" />
src/components/FlowEditor/editor/FlowCanvas.tsx:616
- Text: '0 0, 10 3.5, 0 7'
- Art: string_literal
- Kontext: string literal
- Zeile:
<polygon points="0 0, 10 3.5, 0 7" fill="#FF9800" />
src/components/FlowEditor/editor/FlowCanvas.tsx:641
- Text: 'Verbindung auswählen (Entf zum Löschen, klicken Sie auf einen anderen Eingang zum Umleiten)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
aria-label="Verbindung auswählen (Entf zum Löschen, klicken Sie auf einen anderen Eingang zum Umleiten)"
src/components/FlowEditor/editor/FlowCanvas.tsx:660
- Text: 'Type mismatch warning: output type may not match input type'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<title>Type mismatch warning: output type may not match input type</title>
src/components/FlowEditor/editor/FlowCanvas.tsx:759
- Text: 'Aktuelles Ziel – klicken zum Abwählen'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Aktuelles Ziel – klicken zum Abwählen'
src/components/FlowEditor/editor/FlowCanvas.tsx:760
- Text: 'Klicken zum Umleiten'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Klicken zum Umleiten'
src/components/FlowEditor/editor/FlowCanvas.tsx:839
- Text: 'Nodes aus der Liste links hierher ziehen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Nodes aus der Liste links hierher ziehen.</p>
src/components/FlowEditor/editor/NodeConfigPanel.tsx:89
- Text: 'z.B. Kundenformular, Prüfen Land'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="z.B. Kundenformular, Prüfen Land"
src/components/FlowEditor/editor/NodeSidebar.tsx:89
- Text: 'Nodes durchsuchen...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Nodes durchsuchen..."
src/components/FlowEditor/editor/RunTracingPanel.tsx:220
- Text: 'Retry count'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<span style={{ color: '#f0ad4e', fontSize: '11px' }} title="Retry count">
src/components/FlowEditor/editor/TemplatePicker.tsx:132
- Text: 'Übernehmen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{copying === tpl.id ? <FaSpinner className={styles.spinner} /> : 'Übernehmen'}
src/components/FlowEditor/editor/WorkflowConfigurationModal.tsx:15
- Text: 'Manueller Trigger'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'manual', label: 'Manueller Trigger' },
src/components/FlowEditor/editor/WorkflowConfigurationModal.tsx:16
- Text: 'Formular'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'form', label: 'Formular' },
src/components/FlowEditor/editor/WorkflowConfigurationModal.tsx:17
- Text: 'Zeitplan'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'schedule', label: 'Zeitplan' },
src/components/FlowEditor/editor/WorkflowConfigurationModal.tsx:18
- Text: 'Immer aktiv'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'always_on', label: 'Immer aktiv' },
src/components/FlowEditor/editor/WorkflowConfigurationModal.tsx:85
- Text: 'z. B. Angebot anlegen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="z. B. Angebot anlegen"
src/components/FlowEditor/editor/WorkflowConfigurationModal.tsx:88
- Text: 'Einstiegsart'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<div className={styles.workflowModalRadioGroup} role="radiogroup" aria-label="Einstiegsart">
src/components/FlowEditor/nodes/configs/AiNodeConfig.tsx:11
- Text: 'Prompt'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
'ai.prompt': [{ label: 'Prompt', key: 'prompt', type: 'textarea' }],
src/components/FlowEditor/nodes/configs/AiNodeConfig.tsx:12
- Text: 'Query'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
'ai.webResearch': [{ label: 'Query', key: 'query', type: 'dynamic' }],
src/components/FlowEditor/nodes/configs/AiNodeConfig.tsx:14
- Text: 'Summary length'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ label: 'Summary length', key: 'summaryLength', type: 'select', options: ['short', 'medium', 'long'] },
src/components/FlowEditor/nodes/configs/AiNodeConfig.tsx:16
- Text: 'Target language'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
'ai.translateDocument': [{ label: 'Target language', key: 'targetLanguage', type: 'input' }],
src/components/FlowEditor/nodes/configs/AiNodeConfig.tsx:18
- Text: 'Target format'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ label: 'Target format', key: 'targetFormat', type: 'select', options: ['pdf', 'docx', 'txt', 'md'] },
src/components/FlowEditor/nodes/configs/AiNodeConfig.tsx:20
- Text: 'Prompt'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
'ai.generateDocument': [{ label: 'Prompt', key: 'prompt', type: 'dynamic' }],
src/components/FlowEditor/nodes/configs/AiNodeConfig.tsx:22
- Text: 'Prompt'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ label: 'Prompt', key: 'prompt', type: 'dynamic' },
src/components/FlowEditor/nodes/configs/AiNodeConfig.tsx:23
- Text: 'Language'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ label: 'Language', key: 'language', type: 'select', options: ['python', 'javascript', 'typescript', 'sql'] },
src/components/FlowEditor/nodes/configs/ApprovalNodeConfig.tsx:15
- Text: 'Genehmigungstitel'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Genehmigungstitel"
src/components/FlowEditor/nodes/configs/ApprovalNodeConfig.tsx:23
- Text: 'Was genehmigt werden soll'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Was genehmigt werden soll"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:84
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e0e0e0)',
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:103
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderTop: '1px solid var(--border-color, #e0e0e0)',
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:111
- Text: 'Liste wählen (Ordner bis /team/…/list/…)'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'Liste wählen (Ordner bis /team/…/list/…)';
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:115
- Text: 'Aufgabe wählen (Pfad …/task/…)'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'Aufgabe wählen (Pfad …/task/…)';
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:117
- Text: 'ClickUp durchsuchen'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'ClickUp durchsuchen';
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:378
- Text: 'Aufgaben konnten nicht geladen werden.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setLoadError('Aufgaben konnten nicht geladen werden.');
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:402
- Text: '— Quelle wählen —'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="— Quelle wählen —"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:403
- Text: 'Statisch (Aufgabe wählen)'
- Art: string_literal
- Kontext: string literal
- Zeile:
staticLabel="Statisch (Aufgabe wählen)"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:422
- Text: '— Aufgabe wählen —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— Aufgabe wählen —</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:542
- Text: '— Quelle wählen —'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="— Quelle wählen —"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:555
- Text: '— Option wählen —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— Option wählen —</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:577
- Text: '— Quelle wählen —'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="— Quelle wählen —"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:613
- Text: '— Quelle wählen —'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="— Quelle wählen —"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:638
- Text: 'z. B. 1234.56'
- Art: string_literal
- Kontext: string literal
- Zeile:
placeholder={ft === 'currency' ? 'z. B. 1234.56' : undefined}
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:688
- Text: 'Fälligkeit'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Fälligkeit</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:694
- Text: '— Quelle wählen —'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="— Quelle wählen —"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:734
- Text: 'Zeitschätzung (Stunden)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Zeitschätzung (Stunden)</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:740
- Text: '— Quelle wählen —'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="— Quelle wählen —"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:782
- Text: 'Titel (name)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'name', label: 'Titel (name)' },
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:783
- Text: 'Beschreibung'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'description', label: 'Beschreibung' },
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:784
- Text: 'Status'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'status', label: 'Status' },
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:785
- Text: 'Priorität (1–4)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'priority', label: 'Priorität (1–4)' },
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:786
- Text: 'Fälligkeit (Datum oder ms)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'due_date', label: 'Fälligkeit (Datum oder ms)' },
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:787
- Text: 'Zeitschätzung (Stunden)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'time_estimate_h', label: 'Zeitschätzung (Stunden)' },
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:788
- Text: 'Zeitschätzung (ms)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'time_estimate_ms', label: 'Zeitschätzung (ms)' },
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:789
- Text: 'Zugewiesene'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'assignees', label: 'Zugewiesene' },
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:790
- Text: 'Benutzerdefiniertes Feld'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'custom_field', label: 'Benutzerdefiniertes Feld' },
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:852
- Text: 'Aufgaben konnten nicht geladen werden.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setErr('Aufgaben konnten nicht geladen werden.');
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:867
- Text: 'Vorhandene Aufgabe in der gewählten Liste'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Vorhandene Aufgabe in der gewählten Liste</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:882
- Text: '— Aufgabe aus ClickUp wählen —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— Aufgabe aus ClickUp wählen —</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1047
- Text: 'Oder Referenz (ohne Formular-Payload)'
- Art: string_literal
- Kontext: string literal
- Zeile:
label="Oder Referenz (ohne Formular-Payload)"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1064
- Text: 'Feld-ID'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Feld-ID"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1068
- Text: 'Neuer Wert'
- Art: string_literal
- Kontext: string literal
- Zeile:
label="Neuer Wert"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1072
- Text: 'Wert'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Wert"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1083
- Text: 'Status (Referenz)'
- Art: string_literal
- Kontext: string literal
- Zeile:
label="Status (Referenz)"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1086
- Text: 'Kontext mit Status-String'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Kontext mit Status-String"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1097
- Text: 'Status (wie in ClickUp)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Status (wie in ClickUp)</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1099
- Text: 'Status werden geladen…'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">Status werden geladen…</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1106
- Text: 'Status (wie in ClickUp)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Status (wie in ClickUp)</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1114
- Text: '— Keine Status geladen —'
- Art: string_literal
- Kontext: string literal
- Zeile:
? '— Keine Status geladen —'
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1115
- Text: '— Status wählen —'
- Art: string_literal
- Kontext: string literal
- Zeile:
: '— Status wählen —'}
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1147
- Text: 'Priorität'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Priorität</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1152
- Text: '— wählen —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— wählen —</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1153
- Text: '1 — Dringend'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="1">1 — Dringend</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1154
- Text: '2 — Hoch'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="2">2 — Hoch</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1155
- Text: '3 — Normal'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="3">3 — Normal</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1156
- Text: '4 — Niedrig'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="4">4 — Niedrig</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1169
- Text: 'Alternativ nur Referenz'
- Art: string_literal
- Kontext: string literal
- Zeile:
{commonHybrid(false, 'Alternativ nur Referenz')}
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1181
- Text: 'Alternativ: Referenz (Stunden)'
- Art: string_literal
- Kontext: string literal
- Zeile:
{commonHybrid(false, 'Alternativ: Referenz (Stunden)')}
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1206
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e0e0e0)',
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1234
- Text: '[123,456] oder JSON-Array'
- Art: string_literal
- Kontext: string literal
- Zeile:
{commonHybrid(false, '[123,456] oder JSON-Array')}
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1246
- Text: 'Beschreibung'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Beschreibung"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1258
- Text: 'Titel'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Titel"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1280
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e0e0e0)',
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1654
- Text: 'Connection (ClickUp)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Connection (ClickUp)</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1660
- Text: 'Loading...'
- Art: string_literal
- Kontext: string literal
- Zeile:
<option value="">{connectionsLoading ? 'Loading...' : 'Select connection'}</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1660
- Text: 'Select connection'
- Art: string_literal
- Kontext: string literal
- Zeile:
<option value="">{connectionsLoading ? 'Loading...' : 'Select connection'}</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1683
- Text: 'Workspaces werden geladen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
{searchTeamsLoading ? 'Workspaces werden geladen…' : 'Workspace wählen…'}
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1683
- Text: 'Workspace wählen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
{searchTeamsLoading ? 'Workspaces werden geladen…' : 'Workspace wählen…'}
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1693
- Text: 'Liste (Tabelle)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Liste (Tabelle)</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1701
- Text: 'Listen werden geladen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Listen werden geladen…'
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1703
- Text: 'Alle Listen im Workspace'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Alle Listen im Workspace'
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1704
- Text: 'Zuerst Workspace wählen'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Zuerst Workspace wählen'}
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1718
- Text: 'Stichwort für die Aufgabensuche'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Stichwort für die Aufgabensuche"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1726
- Text: 'Seite (Pagination)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Seite (Pagination)</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1754
- Text: 'Erledigte Aufgaben einbeziehen (Listen-Suche)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Erledigte Aufgaben einbeziehen (Listen-Suche)</span>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1793
- Text: 'Workspaces werden geladen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
{searchTeamsLoading ? 'Workspaces werden geladen…' : 'Workspace wählen…'}
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1793
- Text: 'Workspace wählen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
{searchTeamsLoading ? 'Workspaces werden geladen…' : 'Workspace wählen…'}
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1819
- Text: 'Listen werden geladen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
<option value="">{searchListsLoading ? 'Listen werden geladen…' : 'Liste wählen…'}</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1819
- Text: 'Liste wählen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
<option value="">{searchListsLoading ? 'Listen werden geladen…' : 'Liste wählen…'}</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1835
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e0e0e0)',
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1854
- Text: 'Bei Listenwahl automatisch abgleichen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Bei Listenwahl automatisch abgleichen</span>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1898
- Text: '— Standard (ClickUp) —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— Standard (ClickUp) —</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1909
- Text: 'Priorität'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Priorität</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1914
- Text: '— keine —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— keine —</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1915
- Text: '1 — Dringend'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="1">1 — Dringend</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1916
- Text: '2 — Hoch'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="2">2 — Hoch</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1917
- Text: '3 — Normal'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="3">3 — Normal</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1918
- Text: '4 — Niedrig'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="4">4 — Niedrig</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:1940
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e0e0e0)',
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2013
- Text: 'Zusätzliche Felder (JSON)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Zusätzliche Felder (JSON)</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2018
- Text: '{"priority": "3"}'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder='{"priority": "3"}'
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2028
- Text: 'List path'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>List path</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2032
- Text: '/team/{teamId}/list/{listId}'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="/team/{teamId}/list/{listId}"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2069
- Text: 'Referenz: voriger Knoten „Aufgabe erstellen“ → taskId'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Referenz: voriger Knoten „Aufgabe erstellen“ → taskId"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2073
- Text: 'Path (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Path (optional)</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2077
- Text: '.../task/{taskId}'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder=".../task/{taskId}"
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2090
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e0e0e0)',
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2122
- Text: 'Workspaces werden geladen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
{searchTeamsLoading ? 'Workspaces werden geladen…' : 'Workspace wählen…'}
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2122
- Text: 'Workspace wählen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
{searchTeamsLoading ? 'Workspaces werden geladen…' : 'Workspace wählen…'}
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2146
- Text: 'Listen werden geladen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
<option value="">{searchListsLoading ? 'Listen werden geladen…' : 'Liste wählen…'}</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2146
- Text: 'Liste wählen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
<option value="">{searchListsLoading ? 'Listen werden geladen…' : 'Liste wählen…'}</option>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2177
- Text: 'taskUpdate (JSON)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>taskUpdate (JSON)</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2182
- Text: '{"name": "…"} — Basis; Zeilen darüber setzen/überschreiben Felder'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder='{"name": "…"} — Basis; Zeilen darüber setzen/überschreiben Felder'
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2191
- Text: 'File name (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>File name (optional)</label>
src/components/FlowEditor/nodes/configs/ClickUpNodeConfig.tsx:2195
- Text: 'report.pdf'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="report.pdf"
src/components/FlowEditor/nodes/configs/CommentNodeConfig.tsx:15
- Text: 'Kommentar eingeben...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Kommentar eingeben..."
src/components/FlowEditor/nodes/configs/ConfirmationNodeConfig.tsx:15
- Text: 'Möchten Sie bestätigen?'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Möchten Sie bestätigen?"
src/components/FlowEditor/nodes/configs/ConfirmationNodeConfig.tsx:19
- Text: 'Bestätigen-Button'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Bestätigen-Button</label>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:60
- Text: 'Loading...'
- Art: string_literal
- Kontext: string literal
- Zeile:
<option value="">{loading ? 'Loading...' : 'Select connection'}</option>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:60
- Text: 'Select connection'
- Art: string_literal
- Kontext: string literal
- Zeile:
<option value="">{loading ? 'Loading...' : 'Select connection'}</option>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:77
- Text: 'Loading folders...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{foldersLoading ? 'Loading folders...' : !connectionId ? 'Select account first' : 'Select folder'}
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:77
- Text: 'Select account first'
- Art: string_literal
- Kontext: string literal
- Zeile:
{foldersLoading ? 'Loading folders...' : !connectionId ? 'Select account first' : 'Select folder'}
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:77
- Text: 'Select folder'
- Art: string_literal
- Kontext: string literal
- Zeile:
{foldersLoading ? 'Loading folders...' : !connectionId ? 'Select account first' : 'Select folder'}
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:95
- Text: 'Sent Items'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="SentItems">Sent Items</option>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:96
- Text: 'Deleted Items'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="DeletedItems">Deleted Items</option>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:97
- Text: 'Junk Email'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="JunkEmail">Junk Email</option>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:114
- Text: 'Search query (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Search query (optional)</label>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:118
- Text: 'General search term (subject, body, from)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="General search term (subject, body, from)"
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:122
- Text: 'From address (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>From address (optional)</label>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:126
- Text: 'e.g. sender@example.com'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="e.g. sender@example.com"
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:130
- Text: 'To address (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>To address (optional)</label>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:134
- Text: 'e.g. recipient@example.com'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="e.g. recipient@example.com"
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:138
- Text: 'Subject contains (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Subject contains (optional)</label>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:142
- Text: 'Word or phrase in subject'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Word or phrase in subject"
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:146
- Text: 'Body/content contains (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Body/content contains (optional)</label>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:150
- Text: 'Word or phrase in email body'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Word or phrase in email body"
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:160
- Text: 'Only emails with attachment'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label htmlFor="searchHasAttachment">Only emails with attachment</label>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:175
- Text: 'From address (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>From address (optional)</label>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:179
- Text: 'e.g. sender@example.com'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="e.g. sender@example.com"
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:183
- Text: 'Subject contains (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Subject contains (optional)</label>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:187
- Text: 'Word or phrase in subject'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Word or phrase in subject"
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:197
- Text: 'Only emails with attachment'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label htmlFor="hasAttachment">Only emails with attachment</label>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:216
- Text: 'Email subject (or leave empty if connected to AI node above)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Email subject (or leave empty if connected to AI node above)"
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:224
- Text: 'Email body (or leave empty if connected to AI node above)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Email body (or leave empty if connected to AI node above)"
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:229
- Text: 'To (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>To (optional)</label>
src/components/FlowEditor/nodes/configs/EmailNodeConfig.tsx:233
- Text: 'Recipient(s) (or from AI when connected)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Recipient(s) (or from AI when connected)"
src/components/FlowEditor/nodes/configs/FileCreateNodeConfig.tsx:44
- Text: 'Inhalte (welche Kontexte nacheinander in die Datei?)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Inhalte (welche Kontexte nacheinander in die Datei?)</label>
src/components/FlowEditor/nodes/configs/FileCreateNodeConfig.tsx:50
- Text: 'Quelle wählen…'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Quelle wählen…"
src/components/FlowEditor/nodes/configs/FileCreateNodeConfig.tsx:56
- Text: 'Entfernen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Entfernen"
src/components/FlowEditor/nodes/configs/FileCreateNodeConfig.tsx:57
- Text: 'Inhalt entfernen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
aria-label="Inhalt entfernen"
src/components/FlowEditor/nodes/configs/FileCreateNodeConfig.tsx:90
- Text: 'Dokumenttitel'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Dokumenttitel"
src/components/FlowEditor/nodes/configs/FileCreateNodeConfig.tsx:94
- Text: 'Vorlage / Stil'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Vorlage / Stil</label>
src/components/FlowEditor/nodes/configs/ReviewNodeConfig.tsx:16
- Text: '{{nodeId.field}}'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="{{nodeId.field}}"
src/components/FlowEditor/nodes/configs/SelectionNodeConfig.tsx:16
- Text: 'value'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="value"
src/components/FlowEditor/nodes/configs/SelectionNodeConfig.tsx:25
- Text: 'label'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="label"
src/components/FlowEditor/nodes/configs/SelectionNodeConfig.tsx:35
- Text: ''
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
<button type="button" onClick={() => updateParam('options', [...options, { value: '', label: '' }])}>
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:15
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e0e0e0)',
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:34
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderTop: '1px solid var(--border-color, #e0e0e0)',
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:42
- Text: 'Zielordner durchsuchen'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'Zielordner durchsuchen';
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:44
- Text: 'Ordner durchsuchen'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'Ordner durchsuchen';
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:46
- Text: 'Datei auswählen'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'Datei auswählen';
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:48
- Text: 'Datei auswählen'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'Datei auswählen';
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:50
- Text: 'Pfad aus Bibliothek wählen'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'Pfad aus Bibliothek wählen';
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:52
- Text: 'SharePoint durchsuchen'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'SharePoint durchsuchen';
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:156
- Text: 'Loading...'
- Art: string_literal
- Kontext: string literal
- Zeile:
<option value="">{connectionsLoading ? 'Loading...' : 'Select connection'}</option>
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:156
- Text: 'Select connection'
- Art: string_literal
- Kontext: string literal
- Zeile:
<option value="">{connectionsLoading ? 'Loading...' : 'Select connection'}</option>
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:167
- Text: 'Search query / path'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Search query / path</label>
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:171
- Text: '/sites/SiteName/Shared Documents or search term'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="/sites/SiteName/Shared Documents or search term"
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:178
- Text: 'Folder path'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Folder path</label>
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:182
- Text: '/ or /sites/SiteName/Shared Documents/Folder'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="/ or /sites/SiteName/Shared Documents/Folder"
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:191
- Text: 'Target folder path'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Target folder path'
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:193
- Text: 'File path'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'File path'
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:204
- Text: 'File path'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'File path'
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:212
- Text: 'Site ID'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Site ID</label>
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:216
- Text: 'SharePoint site ID'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="SharePoint site ID"
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:224
- Text: 'Source file'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Source file</label>
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:228
- Text: '/sites/.../folder/file.pdf'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="/sites/.../folder/file.pdf"
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:232
- Text: 'Destination folder'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Destination folder</label>
src/components/FlowEditor/nodes/configs/SharePointNodeConfig.tsx:236
- Text: '/sites/.../target-folder/'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="/sites/.../target-folder/"
src/components/FlowEditor/nodes/configs/TrusteeNodeConfig.tsx:35
- Text: 'Trustee Instance ID'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Trustee Instance ID</label>
src/components/FlowEditor/nodes/configs/TrusteeNodeConfig.tsx:39
- Text: 'Trustee Feature-Instanz-ID'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Trustee Feature-Instanz-ID"
src/components/FlowEditor/nodes/configs/TrusteeNodeConfig.tsx:46
- Text: 'SharePoint Connection (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>SharePoint Connection (optional)</label>
src/components/FlowEditor/nodes/configs/TrusteeNodeConfig.tsx:52
- Text: 'Keine (Dateien aus vorherigem Schritt)'
- Art: string_literal
- Kontext: string literal
- Zeile:
<option value="">{loading ? 'Laden...' : 'Keine (Dateien aus vorherigem Schritt)'}</option>
src/components/FlowEditor/nodes/configs/TrusteeNodeConfig.tsx:61
- Text: 'SharePoint Ordnerpfad (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>SharePoint Ordnerpfad (optional)</label>
src/components/FlowEditor/nodes/configs/TrusteeNodeConfig.tsx:65
- Text: '/sites/MySite/Documents/Expenses'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="/sites/MySite/Documents/Expenses"
src/components/FlowEditor/nodes/configs/TrusteeNodeConfig.tsx:69
- Text: 'AI Prompt (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>AI Prompt (optional)</label>
src/components/FlowEditor/nodes/configs/TrusteeNodeConfig.tsx:73
- Text: 'Zusätzliche Anweisungen für die AI-Extraktion'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Zusätzliche Anweisungen für die AI-Extraktion"
src/components/FlowEditor/nodes/configs/TrusteeNodeConfig.tsx:82
- Text: 'Document List (Referenz)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Document List (Referenz)</label>
src/components/FlowEditor/nodes/configs/TrusteeNodeConfig.tsx:86
- Text: 'Referenz auf vorherigen Schritt (automatisch verknüpft)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Referenz auf vorherigen Schritt (automatisch verknüpft)"
src/components/FlowEditor/nodes/configs/UploadNodeConfig.tsx:40
- Text: 'Erlaubte Dateitypen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Erlaubte Dateitypen</label>
src/components/FlowEditor/nodes/configs/UploadNodeConfig.tsx:58
- Text: 'Max. Größe (MB)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Max. Größe (MB)</label>
src/components/FlowEditor/nodes/form/FormNodeConfig.tsx:77
- Text: 'Zum Verschieben ziehen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Zum Verschieben ziehen"
src/components/FlowEditor/nodes/form/FormNodeConfig.tsx:88
- Text: 'name'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="name"
src/components/FlowEditor/nodes/form/FormNodeConfig.tsx:97
- Text: 'label'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="label"
src/components/FlowEditor/nodes/form/FormNodeConfig.tsx:134
- Text: 'ClickUp-Aufgabe (Referenz)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="clickup_tasks">ClickUp-Aufgabe (Referenz)</option>
src/components/FlowEditor/nodes/form/FormNodeConfig.tsx:135
- Text: 'ClickUp-Status (Liste)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="clickup_status">ClickUp-Status (Liste)</option>
src/components/FlowEditor/nodes/form/FormNodeConfig.tsx:152
- Text: 'Feld entfernen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Feld entfernen"
src/components/FlowEditor/nodes/form/FormNodeConfig.tsx:188
- Text: 'Verbindung wählen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
<option value="">{connectionsLoading ? 'Lade…' : 'Verbindung wählen…'}</option>
src/components/FlowEditor/nodes/form/FormNodeConfig.tsx:199
- Text: 'z. B. aus ClickUp-URL …/list/123456789'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="z. B. aus ClickUp-URL …/list/123456789"
src/components/FlowEditor/nodes/form/FormNodeConfig.tsx:210
- Text: '{ add: [taskId], rem: [] }'
- Art: string_literal
- Kontext: string literal
- Zeile:
<code>{'{ add: [taskId], rem: [] }'}</code> — im ClickUp-Node per Datenquelle auf das
src/components/FlowEditor/nodes/form/FormNodeConfig.tsx:220
- Text: ''
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
updateParam('fields', [...fields, { name: '', type: 'string', label: '', required: false }])
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:170
- Text: '— Select connection —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— Select connection —</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:214
- Text: 'not equals'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="neq">not equals</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:216
- Text: 'greater than'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="gt">greater than</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:217
- Text: 'less than'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="lt">less than</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:230
- Text: ''
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
const addField = () => onChange([...fields, { name: '', type: 'text', label: '', required: false }]);
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:242
- Text: 'Name'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<input type="text" placeholder="Name" value={String(f.name ?? '')} onChange={(e) => updateField(i, 'name', e.target.value)} style={{ flex: 1, padding: '2px 4px', borderRadius: 4, border: '1px solid #ccc' }} />
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:248
- Text: 'Select'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="select">Select</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:251
- Text: 'Label'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<input type="text" placeholder="Label" value={String(f.label ?? '')} onChange={(e) => updateField(i, 'label', e.target.value)} style={{ flex: 1, padding: '2px 4px', borderRadius: 4, border: '1px solid #ccc' }} />
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:277
- Text: 'Key'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<input type="text" placeholder="Key" value={String(r.key ?? r.fieldKey ?? '')} onChange={(e) => updateRow(i, 'key', e.target.value)} style={{ flex: 1, padding: '2px 4px', borderRadius: 4, border: '1px solid #ccc' }} />
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:278
- Text: 'Value'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<input type="text" placeholder="Value" value={String(r.value ?? '')} onChange={(e) => updateRow(i, 'value', e.target.value)} style={{ flex: 2, padding: '2px 4px', borderRadius: 4, border: '1px solid #ccc' }} />
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:294
- Text: '*/5 * * * *'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="*/5 * * * *"
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:310
- Text: 'not equals'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="neq">not equals</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:311
- Text: 'greater than'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="gt">greater than</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:312
- Text: 'less than'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="lt">less than</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:314
- Text: 'is empty'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="empty">is empty</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:315
- Text: 'is not empty'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="not_empty">is not empty</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:316
- Text: 'is true'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="is_true">is true</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:317
- Text: 'is false'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="is_false">is false</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:319
- Text: 'Value'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<input type="text" placeholder="Value" value={String(cond.value ?? '')} onChange={(e) => update('value', e.target.value)} style={{ flex: 2, padding: '2px 4px', borderRadius: 4, border: '1px solid #ccc' }} />
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:339
- Text: 'Source field'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<input type="text" placeholder="Source field" value={String(m.sourceField ?? '')} onChange={(e) => updateMapping(i, 'sourceField', e.target.value)} style={{ flex: 1, padding: '2px 4px', borderRadius: 4, border: '1px solid #ccc' }} />
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:341
- Text: 'Output field'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<input type="text" placeholder="Output field" value={String(m.outputField ?? '')} onChange={(e) => updateMapping(i, 'outputField', e.target.value)} style={{ flex: 1, padding: '2px 4px', borderRadius: 4, border: '1px solid #ccc' }} />
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:357
- Text: 'Field'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<input type="text" placeholder="Field" value={String(cond.field ?? '')} onChange={(e) => update('field', e.target.value)} style={{ flex: 1, padding: '2px 4px', borderRadius: 4, border: '1px solid #ccc' }} />
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:360
- Text: 'not equals'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="neq">not equals</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:362
- Text: 'starts with'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="startsWith">starts with</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:363
- Text: 'is empty'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="isEmpty">is empty</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:364
- Text: 'is not empty'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="isNotEmpty">is not empty</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:365
- Text: 'greater than'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="gt">greater than</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:366
- Text: 'less than'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="lt">less than</option>
src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx:368
- Text: 'Value'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<input type="text" placeholder="Value" value={String(cond.value ?? '')} onChange={(e) => update('value', e.target.value)} style={{ flex: 1, padding: '2px 4px', borderRadius: 4, border: '1px solid #ccc' }} />
src/components/FlowEditor/nodes/ifElse/IfElseNodeConfig.tsx:49
- Text: 'input.upload'
- Art: string_literal
- Kontext: string literal
- Zeile:
isMimeTypeRef && sourceNode?.type === 'input.upload' && sourceNode.parameters
src/components/FlowEditor/nodes/ifElse/IfElseNodeConfig.tsx:100
- Text: 'Formular-Feld wählen…'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<RefSourceSelect value={ref} onChange={handleRefChange} placeholder="Formular-Feld wählen…" />
src/components/FlowEditor/nodes/ifElse/IfElseNodeConfig.tsx:120
- Text: '— MIME-Type wählen —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— MIME-Type wählen —</option>
src/components/FlowEditor/nodes/ifElse/IfElseNodeConfig.tsx:142
- Text: 'z.B. application/pdf'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'z.B. application/pdf'
src/components/FlowEditor/nodes/ifElse/IfElseNodeConfig.tsx:143
- Text: 'z.B. CH'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'z.B. CH'
src/components/FlowEditor/nodes/shared/DataPicker.tsx:47
- Text: '(ganze Ausgabe)'
- Art: string_literal
- Kontext: string literal
- Zeile:
const pathLabel = basePath.length ? basePath.map(String).join(' → ') : '(ganze Ausgabe)';
src/components/FlowEditor/nodes/shared/DataPicker.tsx:141
- Text: 'Datenquelle wählen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4 className={styles.dataPickerTitle}>Datenquelle wählen</h4>
src/components/FlowEditor/nodes/shared/DataPicker.tsx:142
- Text: 'Schließen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button type="button" className={styles.dataPickerClose} onClick={onClose} aria-label="Schließen">
src/components/FlowEditor/nodes/shared/DataPicker.tsx:183
- Text: 'Keine vorherigen Nodes verfügbar.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <p className={styles.dataPickerEmpty}>Keine vorherigen Nodes verfügbar.</p>;
src/components/FlowEditor/nodes/shared/DynamicValueField.tsx:58
- Text: 'Keine vorherigen Nodes verfügbar.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.dynamicValueEmptyHint}>Keine vorherigen Nodes verfügbar.</p>
src/components/FlowEditor/nodes/shared/HybridStaticRefField.tsx:86
- Text: '— Quelle wählen —'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="— Quelle wählen —"
src/components/FlowEditor/nodes/shared/LoopItemsSelect.tsx:71
- Text: 'input.upload'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (node?.type === 'input.upload') {
src/components/FlowEditor/nodes/shared/LoopItemsSelect.tsx:159
- Text: 'Über was soll iteriert werden?'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder = 'Über was soll iteriert werden?',
src/components/FlowEditor/nodes/shared/LoopItemsSelect.tsx:185
- Text: 'Datenquelle für Iteration'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Datenquelle für Iteration</label>
src/components/FlowEditor/nodes/shared/RefSourceSelect.tsx:109
- Text: 'input.upload'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (node.type === 'input.upload') {
src/components/FlowEditor/nodes/shared/RefSourceSelect.tsx:193
- Text: '— Quelle wählen —'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder = '— Quelle wählen —',
src/components/FlowEditor/nodes/shared/RefSourceSelect.tsx:270
- Text: 'Datenquelle wählen…'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder = 'Datenquelle wählen…',
src/components/FlowEditor/nodes/shared/RefSourceSelect.tsx:360
- Text: 'input.upload'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (node.type === 'input.upload') {
src/components/FlowEditor/nodes/start/FormStartNodeConfig.tsx:20
- Text: 'Feld 1'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
if (!Array.isArray(raw)) return [{ name: 'field1', label: 'Feld 1', type: 'text' }];
src/components/FlowEditor/nodes/start/FormStartNodeConfig.tsx:62
- Text: 'Name (Payload-Key)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Name (Payload-Key)"
src/components/FlowEditor/nodes/start/FormStartNodeConfig.tsx:72
- Text: 'Beschriftung'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Beschriftung"
src/components/FlowEditor/nodes/start/FormStartNodeConfig.tsx:99
- Text: 'ClickUp-Status (Liste)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="clickup_status">ClickUp-Status (Liste)</option>
src/components/FlowEditor/nodes/start/FormStartNodeConfig.tsx:114
- Text: 'Neues Feld'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
setFields([...fields, { name:field${fields.length + 1}, label: 'Neues Feld', type: 'text' }])
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:20
- Text: 'Täglich'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ value: 'daily', title: 'Täglich', subtitle: 'Jeden Tag zur gleichen Zeit' },
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:20
- Text: 'Jeden Tag zur gleichen Zeit'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ value: 'daily', title: 'Täglich', subtitle: 'Jeden Tag zur gleichen Zeit' },
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:21
- Text: 'Montag bis Freitag'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ value: 'weekdays', title: 'Werktage', subtitle: 'Montag bis Freitag' },
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:22
- Text: 'Bestimmte Tage'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ value: 'weekly', title: 'Bestimmte Tage', subtitle: 'Wochentage auswählen' },
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:22
- Text: 'Wochentage auswählen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ value: 'weekly', title: 'Bestimmte Tage', subtitle: 'Wochentage auswählen' },
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:23
- Text: 'Ein anderer Zeitraum'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ value: 'calendar', title: 'Ein anderer Zeitraum', subtitle: 'Monatlich oder jährlich wiederkehrend' },
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:23
- Text: 'Monatlich oder jährlich wiederkehrend'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ value: 'calendar', title: 'Ein anderer Zeitraum', subtitle: 'Monatlich oder jährlich wiederkehrend' },
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:24
- Text: 'In regelmäßigen Abständen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ value: 'interval', title: 'Intervall', subtitle: 'In regelmäßigen Abständen' },
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:30
- Text: 'März'
- Art: string_literal
- Kontext: string literal
- Zeile:
'März',
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:43
- Text: 'sek'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'seconds', label: 'sek', title: 'Sekunden' },
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:44
- Text: 'min'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'minutes', label: 'min', title: 'Minuten' },
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:45
- Text: 'h'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'hours', label: 'h', title: 'Stunden' },
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:46
- Text: 'd'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'days', label: 'd', title: 'Tage' },
src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx:47
- Text: 'a'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'years', label: 'a', title: 'Jahre' },
src/components/FlowEditor/nodes/start/StartNodeConfig.tsx:12
- Text: 'manual | form | schedule | email | webhook | api | event'
- Art: string_literal
- Kontext: string literal
- Zeile:
"type": "manual | form | schedule | email | webhook | api | event",
src/components/FlowEditor/nodes/switch/SwitchNodeConfig.tsx:58
- Text: 'input.upload'
- Art: string_literal
- Kontext: string literal
- Zeile:
isMimeTypeRef && sourceNode?.type === 'input.upload' && sourceNode.parameters
src/components/FlowEditor/nodes/switch/SwitchNodeConfig.tsx:114
- Text: '— MIME-Type wählen —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— MIME-Type wählen —</option>
src/components/FlowEditor/nodes/switch/SwitchNodeConfig.tsx:130
- Text: '0'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="0"
src/components/FlowEditor/nodes/switch/SwitchNodeConfig.tsx:154
- Text: '— wählen —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— wählen —</option>
src/components/FlowEditor/nodes/switch/SwitchNodeConfig.tsx:155
- Text: 'Ja / wahr'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="true">Ja / wahr</option>
src/components/FlowEditor/nodes/switch/SwitchNodeConfig.tsx:156
- Text: 'Nein / falsch'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="false">Nein / falsch</option>
src/components/FlowEditor/nodes/switch/SwitchNodeConfig.tsx:166
- Text: 'z.B. application/pdf'
- Art: string_literal
- Kontext: string literal
- Zeile:
placeholder={isMimeTypeRef ? 'z.B. application/pdf' :Wert}
src/components/FlowEditor/nodes/switch/SwitchNodeConfig.tsx:189
- Text: 'Feld zum Vergleichen wählen…'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Feld zum Vergleichen wählen…"
src/components/FlowEditor/nodes/switch/SwitchNodeConfig.tsx:195
- Text: 'Fester Wert (falls keine Referenz)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Fester Wert (falls keine Referenz)</label>
src/components/FlowEditor/nodes/switch/SwitchNodeConfig.tsx:200
- Text: 'z.B. CH oder 42'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="z.B. CH oder 42"
src/components/FlowEditor/nodes/switch/SwitchNodeConfig.tsx:206
- Text: 'Fälle (Reihenfolge = Ausgang)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Fälle (Reihenfolge = Ausgang)</label>
src/components/FolderTree/FolderTree.tsx:164
- Text: 'Persönlich'
- Art: string_literal
- Kontext: string literal
- Zeile:
personal: 'Persönlich',
src/components/FolderTree/FolderTree.tsx:257
- Text: 'Umbenennen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button className={styles.actionBtn} onClick={(e) => { e.stopPropagation(); setRenameValue(file.fileName); setRenaming(true); }} title="Umbenennen">
src/components/FolderTree/FolderTree.tsx:278
- Text: 'Löschen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button className={${styles.actionBtn} ${styles.danger}} onClick={_handleDeleteSingle} title="Löschen">
src/components/FolderTree/FolderTree.tsx:311
- Text: 'Neutralisierung aktiv (klicken zum Deaktivieren)'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={file.neutralize ? 'Neutralisierung aktiv (klicken zum Deaktivieren)' : 'Neutralisierung aus (klicken zum Aktivieren)'}
src/components/FolderTree/FolderTree.tsx:311
- Text: 'Neutralisierung aus (klicken zum Aktivieren)'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={file.neutralize ? 'Neutralisierung aktiv (klicken zum Deaktivieren)' : 'Neutralisierung aus (klicken zum Aktivieren)'}
src/components/FolderTree/FolderTree.tsx:380
- Text: 'Neuer Ordnername:'
- Art: string_literal
- Kontext: string literal
- Zeile:
const name = await promptFolderName('Neuer Ordnername:', { title: 'Neuer Ordner', placeholder: 'Ordnername' });
src/components/FolderTree/FolderTree.tsx:380
- Text: 'Neuer Ordner'
- Art: string_literal
- Kontext: string literal
- Zeile:
const name = await promptFolderName('Neuer Ordnername:', { title: 'Neuer Ordner', placeholder: 'Ordnername' });
src/components/FolderTree/FolderTree.tsx:499
- Text: 'Ordner herunterladen (ZIP)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button className={styles.actionBtn} onClick={(e) => { e.stopPropagation(); onDownloadFolder(node.id, node.name); }} title="Ordner herunterladen (ZIP)">
src/components/FolderTree/FolderTree.tsx:504
- Text: 'Neuer Unterordner'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button className={styles.actionBtn} onClick={_handleAdd} title="Neuer Unterordner">
src/components/FolderTree/FolderTree.tsx:509
- Text: 'Umbenennen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button className={styles.actionBtn} onClick={(e) => { e.stopPropagation(); setRenameValue(node.name); setRenaming(true); }} title="Umbenennen">
src/components/FolderTree/FolderTree.tsx:529
- Text: 'Löschen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button className={${styles.actionBtn} ${styles.danger}} onClick={_handleDeleteSingle} title="Löschen">
src/components/FolderTree/FolderTree.tsx:754
- Text: 'Aktualisieren'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button className={styles.actionBtn} onClick={(e) => { e.stopPropagation(); onRefresh(); }} title="Aktualisieren">
src/components/FolderTree/FolderTree.tsx:763
- Text: 'Neuer Ordnername:'
- Art: string_literal
- Kontext: string literal
- Zeile:
const name = await promptFolderName('Neuer Ordnername:', { title: 'Neuer Ordner', placeholder: 'Ordnername' });
src/components/FolderTree/FolderTree.tsx:763
- Text: 'Neuer Ordner'
- Art: string_literal
- Kontext: string literal
- Zeile:
const name = await promptFolderName('Neuer Ordnername:', { title: 'Neuer Ordner', placeholder: 'Ordnername' });
src/components/FolderTree/FolderTree.tsx:766
- Text: 'Neuer Ordner'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Neuer Ordner"
src/components/FormGenerator/ActionButtons/DeleteActionButton/DeleteActionButton.tsx:50
- Text: 'DeleteActionButton requires hookData to be provided'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error('DeleteActionButton requires hookData to be provided');
src/components/FormGenerator/ActionButtons/DeleteActionButton/DeleteActionButton.tsx:65
- Text: 'DeleteActionButton requires hookData.refetch to be defined'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error('DeleteActionButton requires hookData.refetch to be defined');
src/components/FormGenerator/ActionButtons/DeleteActionButton/DeleteActionButton.tsx:134
- Text: 'Delete failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
onError?.(row, 'Delete failed');
src/components/FormGenerator/ActionButtons/DeleteActionButton/DeleteActionButton.tsx:138
- Text: 'Delete failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
onError?.(row, error.message || 'Delete failed');
src/components/FormGenerator/ActionButtons/EditActionButton/EditActionButton.tsx:61
- Text: 'EditActionButton requires hookData to be provided'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error('EditActionButton requires hookData to be provided');
src/components/FormGenerator/ActionButtons/ViewActionButton/ViewActionButton.tsx:103
- Text: 'Unknown Item'
- Art: string_literal
- Kontext: string literal
- Zeile:
fileName={(row as any)[nameField] || 'Unknown Item'}
src/components/FormGenerator/FormGeneratorControls/FormGeneratorControls.tsx:43
- Text: 'Sync to Accounting'
- Art: string_literal
- Kontext: string literal
- Zeile:
// Optional batch actions (e.g. "Sync to Accounting") – shown when items are selected
src/components/FormGenerator/FormGeneratorControls/FormGeneratorControls.tsx:160
- Text: ' '
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder=" "
src/components/FormGenerator/FormGeneratorForm/FormGeneratorForm.tsx:670
- Text: 'English'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'en', label: 'English', required: true },
src/components/FormGenerator/FormGeneratorForm/FormGeneratorForm.tsx:671
- Text: 'German'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'ge', label: 'German', required: false },
src/components/FormGenerator/FormGeneratorForm/FormGeneratorForm.tsx:672
- Text: 'French'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'fr', label: 'French', required: false },
src/components/FormGenerator/FormGeneratorForm/FormGeneratorForm.tsx:673
- Text: 'Italian'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'it', label: 'Italian', required: false }
src/components/FormGenerator/FormGeneratorForm/FormGeneratorForm.tsx:817
- Text: "({currentValues.length} {t('ausgewählt')})"
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.multiselectCount}> ({currentValues.length} {t('ausgewählt')})</span>
src/components/FormGenerator/FormGeneratorList/FormGeneratorList.tsx:133
- Text: '⚠️ FormGeneratorList: No fields provided! '
- Art: string_literal
- Kontext: string literal
- Zeile:
'⚠️ FormGeneratorList: No fields provided! ' +
src/components/FormGenerator/FormGeneratorList/FormGeneratorList.tsx:134
- Text: 'Fields should come from Pydantic attribute definitions via /attributes/{entityType} endpoint. '
- Art: string_literal
- Kontext: string literal
- Zeile:
'Fields should come from Pydantic attribute definitions via /attributes/{entityType} endpoint. ' +
src/components/FormGenerator/FormGeneratorList/FormGeneratorList.tsx:135
- Text: 'Please ensure the calling component fetches and passes fields from the backend.'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Please ensure the calling component fetches and passes fields from the backend.'
src/components/FormGenerator/FormGeneratorList/FormGeneratorList.tsx:354
- Text: 'Some items failed to delete'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error('Some items failed to delete');
src/components/FormGenerator/FormGeneratorList/FormGeneratorList.tsx:441
- Text: 'in progress'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (statusValue === 'pending' || statusValue === 'waiting' || statusValue === 'in_progress' || statusValue === 'in progress') {
src/components/FormGenerator/FormGeneratorList/FormGeneratorList.tsx:611
- Text: 't support '
- Art: string_literal
- Kontext: string literal
- Zeile:
// TextField doesn't support 'textarea' type, use 'text' instead
src/components/FormGenerator/FormGeneratorList/FormGeneratorList.tsx:611
- Text: ' type, use '
- Art: string_literal
- Kontext: string literal
- Zeile:
// TextField doesn't support 'textarea' type, use 'text' instead
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:42
- Text: 'Mär'
- Art: string_literal
- Kontext: string literal
- Zeile:
'01': 'Jan', '02': 'Feb', '03': 'Mär', '04': 'Apr',
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:118
- Text: 'Keine Daten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.noData}>Keine Daten</div>;
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:162
- Text: 'Keine Daten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.noData}>Keine Daten</div>;
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:193
- Text: 'Keine Daten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.noData}>Keine Daten</div>;
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:239
- Text: 'Keine Daten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.noData}>Keine Daten</div>;
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:285
- Text: 'Keine Daten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.noData}>Keine Daten</div>;
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:345
- Text: 'Keine Daten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.noData}>Keine Daten</div>;
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:457
- Text: 'Unbekannter Sektionstyp'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.noData}>Unbekannter Sektionstyp</div>;
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:522
- Text: 'Januar'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 1, label: 'Januar' }, { value: 2, label: 'Februar' },
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:522
- Text: 'Februar'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 1, label: 'Januar' }, { value: 2, label: 'Februar' },
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:523
- Text: 'März'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 3, label: 'März' }, { value: 4, label: 'April' },
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:523
- Text: 'April'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 3, label: 'März' }, { value: 4, label: 'April' },
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:524
- Text: 'Mai'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 5, label: 'Mai' }, { value: 6, label: 'Juni' },
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:524
- Text: 'Juni'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 5, label: 'Mai' }, { value: 6, label: 'Juni' },
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:525
- Text: 'Juli'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 7, label: 'Juli' }, { value: 8, label: 'August' },
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:525
- Text: 'August'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 7, label: 'Juli' }, { value: 8, label: 'August' },
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:526
- Text: 'September'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 9, label: 'September' }, { value: 10, label: 'Oktober' },
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:526
- Text: 'Oktober'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 9, label: 'September' }, { value: 10, label: 'Oktober' },
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:527
- Text: 'November'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 11, label: 'November' }, { value: 12, label: 'Dezember' }
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:527
- Text: 'Dezember'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 11, label: 'November' }, { value: 12, label: 'Dezember' }
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:652
- Text: 'Keine Daten verfügbar'
- Art: string_literal
- Kontext: string literal
- Zeile:
noDataMessage = 'Keine Daten verfügbar',
src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx:718
- Text: 'Lade Daten...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.loadingContainer}>Lade Daten...</div>
src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx:363
- Text: '⚠️ FormGeneratorTable: No columns provided! '
- Art: string_literal
- Kontext: string literal
- Zeile:
'⚠️ FormGeneratorTable: No columns provided! ' +
src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx:364
- Text: 'Columns should come from Pydantic attribute definitions via /attributes/{entityType} endpoint. '
- Art: string_literal
- Kontext: string literal
- Zeile:
'Columns should come from Pydantic attribute definitions via /attributes/{entityType} endpoint. ' +
src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx:365
- Text: 'Please ensure the calling component fetches and passes columns from the backend.'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Please ensure the calling component fetches and passes columns from the backend.'
src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx:1328
- Text: "') + '"
- Art: string_literal
- Kontext: string literal
- Zeile:
str = '"' + str.replace(/"/g, '""') + '"';
src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx:1686
- Text: 's a number, check if it'
- Art: string_literal
- Kontext: string literal
- Zeile:
// If it's a number, check if it's in seconds (typical Unix timestamp range)
src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx:1694
- Text: 's an ISO date string or date string (contains '
- Art: string_literal
- Kontext: string literal
- Zeile:
// Check if it's an ISO date string or date string (contains 'T', '-', or ':')
src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx:1694
- Text: ', or '
- Art: string_literal
- Kontext: string literal
- Zeile:
// Check if it's an ISO date string or date string (contains 'T', '-', or ':')
src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx:2088
- Text: '2px solid var(--border-color, #e2e8f0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '2px solid var(--border-color, #e2e8f0)'
src/components/Navigation/MandateNavigation.tsx:62
- Text: 'Meine Sicht'
- Art: string_literal
- Kontext: string literal
- Zeile:
* Used for grouping static items under "Meine Sicht" and "Administration".
src/components/Navigation/UserSection.tsx:142
- Text: 'Rechtliche Hinweise'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2>Rechtliche Hinweise</h2>
src/components/Navigation/UserSection.tsx:152
- Text: 'Datenverarbeitung und KI-Nutzung'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3>Datenverarbeitung und KI-Nutzung</h3>
src/components/Navigation/UserSection.tsx:154
- Text: '1. Einwilligung zur Datenverarbeitung'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4>1. Einwilligung zur Datenverarbeitung</h4>
src/components/Navigation/UserSection.tsx:155
- Text: 'Mit der Nutzung dieser Anwendung stimmen Sie zu und erklären sich mit den folgenden Bedingungen zur Verarbeitung Ihrer Daten durch künstliche Intelligenz einverstanden:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Mit der Nutzung dieser Anwendung stimmen Sie zu und erklären sich mit den folgenden Bedingungen zur Verarbeitung Ihrer Daten durch künstliche Intelligenz einverstanden:</p>
src/components/Navigation/UserSection.tsx:157
- Text: 'Sie autorisieren die Erfassung, Verarbeitung, Übertragung und Speicherung aller Daten, die Sie bei der Nutzung unserer Dienste bereitstellen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>Sie autorisieren die Erfassung, Verarbeitung, Übertragung und Speicherung aller Daten, die Sie bei der Nutzung unserer Dienste bereitstellen.</li>
src/components/Navigation/UserSection.tsx:158
- Text: 'Nutzerdaten können an Drittanbieter von künstlicher Intelligenz übertragen werden (z.B. OpenAI).'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>Nutzerdaten können an Drittanbieter von künstlicher Intelligenz übertragen werden (z.B. OpenAI).</li>
src/components/Navigation/UserSection.tsx:159
- Text: 'Diese Einwilligung erstreckt sich auf alle Inhalte, einschließlich Text, Bilder, Dokumente und Gesprächsverläufe.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>Diese Einwilligung erstreckt sich auf alle Inhalte, einschließlich Text, Bilder, Dokumente und Gesprächsverläufe.</li>
src/components/Navigation/UserSection.tsx:162
- Text: '2. Anerkennung der KI-Verarbeitungsrisiken'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4>2. Anerkennung der KI-Verarbeitungsrisiken</h4>
src/components/Navigation/UserSection.tsx:164
- Text: 'KI-Systeme können unerwartete oder ungenaue Ausgaben erzeugen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>KI-Systeme können unerwartete oder ungenaue Ausgaben erzeugen.</li>
src/components/Navigation/UserSection.tsx:165
- Text: 'KI-Dienste können Daten gemäß ihren eigenen Nutzungsbedingungen speichern oder daraus lernen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>KI-Dienste können Daten gemäß ihren eigenen Nutzungsbedingungen speichern oder daraus lernen.</li>
src/components/Navigation/UserSection.tsx:166
- Text: 'Trotz Sicherheitsmaßnahmen können Daten anfällig für unbefugten Zugriff sein.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>Trotz Sicherheitsmaßnahmen können Daten anfällig für unbefugten Zugriff sein.</li>
src/components/Navigation/UserSection.tsx:169
- Text: '3. Haftungsausschluss'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4>3. Haftungsausschluss</h4>
src/components/Navigation/UserSection.tsx:170
- Text: 'Im größtmöglichen Umfang verzichten Sie auf Ansprüche, die sich aus der KI-Verarbeitung ergeben, einschließlich Datenverletzungen und unbeabsichtigter Offenlegung.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Im größtmöglichen Umfang verzichten Sie auf Ansprüche, die sich aus der KI-Verarbeitung ergeben, einschließlich Datenverletzungen und unbeabsichtigter Offenlegung.</p>
src/components/Navigation/UserSection.tsx:174
- Text: 'noopener noreferrer'
- Art: string_literal
- Kontext: string literal
- Zeile:
<a href="/poweron-privacy.html" target="_blank" rel="noopener noreferrer">
src/components/Navigation/UserSection.tsx:177
- Text: 'noopener noreferrer'
- Art: string_literal
- Kontext: string literal
- Zeile:
<a href="/poweron-terms.html" target="_blank" rel="noopener noreferrer">
src/components/Navigation/UserSection.tsx:180
- Text: 'noopener noreferrer'
- Art: string_literal
- Kontext: string literal
- Zeile:
<a href="/poweron-home.html" target="_blank" rel="noopener noreferrer">
src/components/NotificationBell/NotificationBell.tsx:29
- Text: 'Gerade eben'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (diff < 60) return 'Gerade eben';
src/components/NotificationBell/NotificationBell.tsx:183
- Text: 'Keine Benachrichtigungen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Keine Benachrichtigungen</p>
src/components/NotificationBell/NotificationBell.tsx:253
- Text: 'Schliessen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
aria-label="Schliessen"
src/components/OnboardingAssistant.tsx:21
- Text: 'Tipp: Ein Mandant ist Ihr Arbeitsbereich. Sie koennen spaeter weitere Mandanten fuer Teams oder Projekte erstellen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
mandate: 'Tipp: Ein Mandant ist Ihr Arbeitsbereich. Sie koennen spaeter weitere Mandanten fuer Teams oder Projekte erstellen.',
src/components/OnboardingAssistant.tsx:22
- Text: 'Tipp: Im Store finden Sie AI-Workspace, CommCoach und weitere Features. Aktivieren Sie mindestens eines, um loszulegen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
feature: 'Tipp: Im Store finden Sie AI-Workspace, CommCoach und weitere Features. Aktivieren Sie mindestens eines, um loszulegen.',
src/components/OnboardingAssistant.tsx:23
- Text: 'Tipp: Verbinden Sie Ihre Datenquellen (z.B. SharePoint, Google Drive), damit der AI-Assistent auf Ihre Dokumente zugreifen kann.'
- Art: string_literal
- Kontext: string literal
- Zeile:
connection: 'Tipp: Verbinden Sie Ihre Datenquellen (z.B. SharePoint, Google Drive), damit der AI-Assistent auf Ihre Dokumente zugreifen kann.',
src/components/OnboardingAssistant.tsx:24
- Text: 'Tipp: Starten Sie einen Chat mit dem AI-Assistenten. Er kann Ihre verbundenen Daten analysieren und Fragen beantworten.'
- Art: string_literal
- Kontext: string literal
- Zeile:
chat: 'Tipp: Starten Sie einen Chat mit dem AI-Assistenten. Er kann Ihre verbundenen Daten analysieren und Fragen beantworten.',
src/components/OnboardingAssistant.tsx:97
- Text: 'Mandant einrichten'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Mandant einrichten',
src/components/OnboardingAssistant.tsx:99
- Text: 'Dein Mandant ist eingerichtet.'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Dein Mandant ist eingerichtet.'
src/components/OnboardingAssistant.tsx:101
- Text: 'Du bist Mitglied eines Mandanten.'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Du bist Mitglied eines Mandanten.'
src/components/OnboardingAssistant.tsx:102
- Text: 'Erstelle deinen Arbeitsbereich.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Erstelle deinen Arbeitsbereich.',
src/components/OnboardingAssistant.tsx:109
- Text: 'Erstes Feature aktivieren'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Erstes Feature aktivieren',
src/components/OnboardingAssistant.tsx:111
- Text: 'Du hast aktive Features.'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Du hast aktive Features.'
src/components/OnboardingAssistant.tsx:112
- Text: 'Aktiviere dein erstes Feature im Store.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Aktiviere dein erstes Feature im Store.',
src/components/OnboardingAssistant.tsx:126
- Text: 'Erste Datenquelle einbinden'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Erste Datenquelle einbinden',
src/components/OnboardingAssistant.tsx:128
- Text: 'Du hast Verbindungen eingerichtet.'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Du hast Verbindungen eingerichtet.'
src/components/OnboardingAssistant.tsx:129
- Text: 'Verbinde deine erste Datenquelle.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Verbinde deine erste Datenquelle.',
src/components/OnboardingAssistant.tsx:147
- Text: 'Ersten AI-Chat starten'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Ersten AI-Chat starten',
src/components/OnboardingAssistant.tsx:149
- Text: 'Du hast bereits Chats gestartet.'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Du hast bereits Chats gestartet.'
src/components/OnboardingAssistant.tsx:150
- Text: 'Starte deinen ersten Chat mit dem AI-Assistenten.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Starte deinen ersten Chat mit dem AI-Assistenten.',
src/components/OnboardingAssistant.tsx:208
- Text: '1px solid var(--border-color, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e5e7eb)',
src/components/OnboardingAssistant.tsx:227
- Text: 'background 0.3s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'background 0.3s',
src/components/OnboardingAssistant.tsx:242
- Text: '1px solid var(--accent, #4f46e5)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: step.completed ? 'none' : isNextStep ? '1px solid var(--accent, #4f46e5)' : '1px solid var(--border-color, #e5e7eb)',
src/components/OnboardingAssistant.tsx:242
- Text: '1px solid var(--border-color, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: step.completed ? 'none' : isNextStep ? '1px solid var(--accent, #4f46e5)' : '1px solid var(--border-color, #e5e7eb)',
src/components/OnboardingAssistant.tsx:268
- Text: '3px solid var(--accent, #4f46e5)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderLeft: '3px solid var(--accent, #4f46e5)',
src/components/OnboardingAssistant.tsx:281
- Text: '1px solid var(--border-color, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderTop: '1px solid var(--border-color, #e5e7eb)',
src/components/OnboardingAssistant.tsx:295
- Text: '1px solid var(--border-color, #d1d5db)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #d1d5db)',
src/components/OnboardingWizard.tsx:24
- Text: 'Du hast bereits einen Mandanten mit Admin-Zugang.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Du hast bereits einen Mandanten mit Admin-Zugang.');
src/components/OnboardingWizard.tsx:30
- Text: 'Fehler bei der Einrichtung'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err?.response?.data?.detail || 'Fehler bei der Einrichtung');
src/components/OnboardingWizard.tsx:44
- Text: '0 8px 32px rgba(0,0,0,0.2)'
- Art: string_literal
- Kontext: string literal
- Zeile:
maxWidth: '480px', width: '90%', boxShadow: '0 8px 32px rgba(0,0,0,0.2)',
src/components/OnboardingWizard.tsx:54
- Text: '2px solid var(--accent, #4f46e5)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: planKey === 'TRIAL_7D' ? '2px solid var(--accent, #4f46e5)' : '2px solid var(--border, #e5e7eb)',
src/components/OnboardingWizard.tsx:54
- Text: '2px solid var(--border, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: planKey === 'TRIAL_7D' ? '2px solid var(--accent, #4f46e5)' : '2px solid var(--border, #e5e7eb)',
src/components/OnboardingWizard.tsx:60
- Text: 'Kostenlos testen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<strong>Kostenlos testen</strong>
src/components/OnboardingWizard.tsx:69
- Text: '2px solid var(--accent, #4f46e5)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: planKey === 'STANDARD_MONTHLY' ? '2px solid var(--accent, #4f46e5)' : '2px solid var(--border, #e5e7eb)',
src/components/OnboardingWizard.tsx:69
- Text: '2px solid var(--border, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: planKey === 'STANDARD_MONTHLY' ? '2px solid var(--accent, #4f46e5)' : '2px solid var(--border, #e5e7eb)',
src/components/OnboardingWizard.tsx:75
- Text: 'Standard (Monatlich)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<strong>Standard (Monatlich)</strong>
src/components/OnboardingWizard.tsx:90
- Text: 'z. B. Firmenname oder Projektname'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="z. B. Firmenname oder Projektname"
src/components/OnboardingWizard.tsx:114
- Text: 'Wird eingerichtet...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{loading ? 'Wird eingerichtet...' : 'Mandant erstellen'}
src/components/OnboardingWizard.tsx:114
- Text: 'Mandant erstellen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{loading ? 'Wird eingerichtet...' : 'Mandant erstellen'}
src/components/ProviderSelector/ProviderSelector.tsx:80
- Text: 'Anthropic (Claude)'
- Art: string_literal
- Kontext: string literal
- Zeile:
anthropic: 'Anthropic (Claude)',
src/components/ProviderSelector/ProviderSelector.tsx:81
- Text: 'OpenAI (GPT)'
- Art: string_literal
- Kontext: string literal
- Zeile:
openai: 'OpenAI (GPT)',
src/components/ProviderSelector/ProviderSelector.tsx:82
- Text: 'Mistral (Le Chat)'
- Art: string_literal
- Kontext: string literal
- Zeile:
mistral: 'Mistral (Le Chat)',
src/components/ProviderSelector/ProviderSelector.tsx:84
- Text: 'Tavily (Web Search)'
- Art: string_literal
- Kontext: string literal
- Zeile:
tavily: 'Tavily (Web Search)',
src/components/ProviderSelector/ProviderSelector.tsx:85
- Text: 'Private LLM'
- Art: string_literal
- Kontext: string literal
- Zeile:
privatellm: 'Private LLM',
src/components/ProviderSelector/ProviderSelector.tsx:144
- Text: '-- Auto --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Auto --</option>
src/components/ProviderSelector/ProviderSelector.tsx:264
- Text: 'Kein Provider ausgewählt'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (noneSelected) return 'Kein Provider ausgewählt';
src/components/ProviderSelector/ProviderSelector.tsx:265
- Text: 'Alle Provider aktiv (dynamisch)'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (allSelected) return 'Alle Provider aktiv (dynamisch)';
src/components/ProviderSelector/ProviderSelector.tsx:282
- Text: 'Provider auswählen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Provider auswählen"
src/components/ProviderSelector/ProviderSelector.tsx:347
- Text: 'Alle Provider'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <span className={styles.allProviders}>Alle Provider</span>;
src/components/RbacExportImport/RbacExportImport.tsx:47
- Text: 'Zusammenführen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Zusammenführen',
src/components/RbacExportImport/RbacExportImport.tsx:48
- Text: 'Bestehende Regeln aktualisieren, neue hinzufügen'
- Art: string_literal
- Kontext: string literal
- Zeile:
description: 'Bestehende Regeln aktualisieren, neue hinzufügen',
src/components/RbacExportImport/RbacExportImport.tsx:53
- Text: 'Nur hinzufügen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Nur hinzufügen',
src/components/RbacExportImport/RbacExportImport.tsx:54
- Text: 'Nur neue Regeln hinzufügen, bestehende nicht ändern'
- Art: string_literal
- Kontext: string literal
- Zeile:
description: 'Nur neue Regeln hinzufügen, bestehende nicht ändern',
src/components/RbacExportImport/RbacExportImport.tsx:59
- Text: 'Ersetzen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Ersetzen',
src/components/RbacExportImport/RbacExportImport.tsx:60
- Text: 'Alle bestehenden Regeln löschen und ersetzen'
- Art: string_literal
- Kontext: string literal
- Zeile:
description: 'Alle bestehenden Regeln löschen und ersetzen',
src/components/RbacExportImport/RbacExportImport.tsx:91
- Text: 'Rollen ({data.roles.length})'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h5>Rollen ({data.roles.length})</h5>
src/components/RbacExportImport/RbacExportImport.tsx:100
- Text: '... und {data.roles.length - 5} weitere'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li className={styles.moreItems}>... und {data.roles.length - 5} weitere</li>
src/components/RbacExportImport/RbacExportImport.tsx:105
- Text: 'Regeln ({data.accessRules.length})'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h5>Regeln ({data.accessRules.length})</h5>
src/components/RbacExportImport/RbacExportImport.tsx:114
- Text: '... und {data.accessRules.length - 5} weitere'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li className={styles.moreItems}>... und {data.accessRules.length - 5} weitere</li>
src/components/RbacExportImport/RbacExportImport.tsx:144
- Text: 'Import erfolgreich'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isSuccess ? 'Import erfolgreich' : 'Import fehlgeschlagen'}
src/components/RbacExportImport/RbacExportImport.tsx:144
- Text: 'Import fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isSuccess ? 'Import erfolgreich' : 'Import fehlgeschlagen'}
src/components/RbacExportImport/RbacExportImport.tsx:151
- Text: 'Rollen erstellt:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li><strong>Rollen erstellt:</strong> {result.rolesCreated}</li>
src/components/RbacExportImport/RbacExportImport.tsx:152
- Text: 'Rollen aktualisiert:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li><strong>Rollen aktualisiert:</strong> {result.rolesUpdated}</li>
src/components/RbacExportImport/RbacExportImport.tsx:153
- Text: 'Regeln erstellt:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li><strong>Regeln erstellt:</strong> {result.rulesCreated}</li>
src/components/RbacExportImport/RbacExportImport.tsx:154
- Text: 'Regeln aktualisiert:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li><strong>Regeln aktualisiert:</strong> {result.rulesUpdated}</li>
src/components/RbacExportImport/RbacExportImport.tsx:232
- Text: 'Fehler beim Parsen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setParseError(result.error || 'Fehler beim Parsen');
src/components/RbacExportImport/RbacExportImport.tsx:288
- Text: ' der globalen Templates'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isGlobal ? ' der globalen Templates' :des Mandanten "${mandateName || mandateId}"}
src/components/RbacExportImport/RbacExportImport.tsx:288
- Text: '${mandateName || mandateId}'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isGlobal ? ' der globalen Templates' :des Mandanten "${mandateName || mandateId}"}
src/components/RbacExportImport/RbacExportImport.tsx:335
- Text: 'JSON-Datei auswählen oder hier ablegen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>JSON-Datei auswählen oder hier ablegen</span>
src/components/RbacExportImport/RbacExportImport.tsx:343
- Text: 'Datei entfernen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Datei entfernen"
src/components/UiComponents/AddressAutocomplete/AddressAutocomplete.tsx:91
- Text: 'no results'
- Art: string_literal
- Kontext: string literal
- Zeile:
setShowSuggestions(results.length > 0 || true); // Show dropdown even if empty to show "no results" or error
src/components/UiComponents/AddressAutocomplete/AddressAutocomplete.tsx:96
- Text: 'Fehler beim Laden der Adressvorschläge'
- Art: string_literal
- Kontext: string literal
- Zeile:
const errorMessage = err?.response?.data?.detail || err?.message || 'Fehler beim Laden der Adressvorschläge';
src/components/UiComponents/AddressAutocomplete/AddressAutocomplete.tsx:277
- Text: 'Suche Adressen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.loadingText}>Suche Adressen...</span>
src/components/UiComponents/AddressAutocomplete/AddressAutocomplete.tsx:287
- Text: 'Keine Adressen gefunden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.noResultsText}>Keine Adressen gefunden</span>
src/components/UiComponents/AutoScroll/AutoScroll.tsx:22
- Text: 'at bottom'
- Art: string_literal
- Kontext: string literal
- Zeile:
* Threshold in pixels from bottom to consider user "at bottom"
src/components/UiComponents/AutoScroll/AutoScroll.tsx:151
- Text: 'Scroll to bottom'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
aria-label="Scroll to bottom"
src/components/UiComponents/BauvorschriftenSection/BauvorschriftenSection.tsx:42
- Text: 'Ausnützungsziffer:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Ausnützungsziffer:</span>
src/components/UiComponents/BauvorschriftenSection/BauvorschriftenSection.tsx:54
- Text: 'Gebäudelänge max:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Gebäudelänge max:</span>
src/components/UiComponents/BauvorschriftenSection/BauvorschriftenSection.tsx:66
- Text: 'Mehrlängenzuschlag:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Mehrlängenzuschlag:</span>
src/components/UiComponents/BauvorschriftenSection/BauvorschriftenSection.tsx:72
- Text: 'Höchstmass max:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Höchstmass max:</span>
src/components/UiComponents/BauvorschriftenSection/BauvorschriftenSection.tsx:78
- Text: 'Fassadenhöhe:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Fassadenhöhe:</span>
src/components/UiComponents/BauvorschriftenSection/BauvorschriftenSection.tsx:89
- Text: 'noopener noreferrer'
- Art: string_literal
- Kontext: string literal
- Zeile:
rel="noopener noreferrer"
src/components/UiComponents/Button/CreateButton/CreateButton.tsx:11
- Text: 'Create New Item'
- Art: string_literal
- Kontext: string literal
- Zeile:
popupTitle = 'Create New Item',
src/components/UiComponents/Button/CreateButton/CreateButton.tsx:128
- Text: 'Creation failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
onError(result?.error || 'Creation failed');
src/components/UiComponents/Button/CreateButton/CreateButton.tsx:134
- Text: 'Creation failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
onError(error.message || 'Creation failed');
src/components/UiComponents/Button/UploadButton/UploadButton.tsx:74
- Text: 'Upload File'
- Art: string_literal
- Kontext: string literal
- Zeile:
{children || (isUploading ? 'Uploading...' : 'Upload File')}
src/components/UiComponents/ConnectedFilesList/ConnectedFilesList.tsx:68
- Text: 'No files connected to this workflow'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage = 'No files connected to this workflow'
src/components/UiComponents/ConnectedFilesList/ConnectedFilesList.tsx:184
- Text: 'Connected Files'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.title}>Connected Files</h3>
src/components/UiComponents/ConnectedFilesList/ConnectedFilesList.tsx:231
- Text: 'Click to detach from next message'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={onAttach ? (isPendingFile ? 'Click to detach from next message' : 'Click to attach for next message') : undefined}
src/components/UiComponents/ConnectedFilesList/ConnectedFilesList.tsx:231
- Text: 'Click to attach for next message'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={onAttach ? (isPendingFile ? 'Click to detach from next message' : 'Click to attach for next message') : undefined}
src/components/UiComponents/ConnectedFilesList/ConnectedFilesList.tsx:238
- Text: '(click to detach)'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isPendingFile ? '(click to detach)' : '(click to attach)'}
src/components/UiComponents/ConnectedFilesList/ConnectedFilesList.tsx:238
- Text: '(click to attach)'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isPendingFile ? '(click to detach)' : '(click to attach)'}
src/components/UiComponents/ConnectedFilesList/ConnectedFilesList.tsx:248
- Text: 'AI Created'
- Art: string_literal
- Kontext: string literal
- Zeile:
{file.source === 'user_uploaded' ? 'Uploaded' : 'AI Created'}
src/components/UiComponents/DropdownSelect/DropdownSelect.tsx:40
- Text: 'Select an item'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder = 'Select an item',
src/components/UiComponents/DropdownSelect/DropdownSelect.tsx:41
- Text: 'No items available'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage = 'No items available',
src/components/UiComponents/InfoMessageOverlay/MessageOverlay.tsx:95
- Text: 'Close warning'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'Close warning';
src/components/UiComponents/InfoMessageOverlay/MessageOverlay.tsx:97
- Text: 'Close error'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'Close error';
src/components/UiComponents/InfoMessageOverlay/MessageOverlay.tsx:99
- Text: 'Close success message'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'Close success message';
src/components/UiComponents/InfoMessageOverlay/MessageOverlay.tsx:102
- Text: 'Close message'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'Close message';
src/components/UiComponents/LocationInput/LocationInput.tsx:23
- Text: 'Kanton, Gemeinde, Adresse oder Parzelle'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder = 'Kanton, Gemeinde, Adresse oder Parzelle',
src/components/UiComponents/Log/Log.tsx:25
- Text: 'No log information available'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage = 'No log information available',
src/components/UiComponents/MapView/MapViewLeaflet.tsx:16
- Text: '© OpenStreetMap contributors'
- Art: string_literal
- Kontext: string literal
- Zeile:
attribution: '© OpenStreetMap contributors',
src/components/UiComponents/MapView/MapViewLeaflet.tsx:21
- Text: '© OpenStreetMap © CARTO'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ attribution: '© OpenStreetMap © CARTO', maxZoom: 19 }
src/components/UiComponents/MapView/MapViewLeaflet.tsx:50
- Text: 'Klicken Sie auf die Karte, um einen Standort auszuwählen'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage = 'Klicken Sie auf die Karte, um einen Standort auszuwählen',
src/components/UiComponents/MapView/MapViewLeaflet.tsx:195
- Text: 'Ausgewählte Fläche'
Zum Entfernen Parzelle im Panel nutzen - Art: string_literal
- Kontext: string literal
- Zeile:
polygon.bindPopup('<div><strong>Ausgewählte Fläche</strong><br/><em>Zum Entfernen Parzelle im Panel nutzen</em></div>');
src/components/UiComponents/MapView/MapViewLeaflet.tsx:195
- Text: 'Ausgewählte Fläche'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
polygon.bindPopup('<div><strong>Ausgewählte Fläche</strong><br/><em>Zum Entfernen Parzelle im Panel nutzen</em></div>');
src/components/UiComponents/MapView/MapViewLeaflet.tsx:195
- Text: 'Zum Entfernen Parzelle im Panel nutzen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
polygon.bindPopup('<div><strong>Ausgewählte Fläche</strong><br/><em>Zum Entfernen Parzelle im Panel nutzen</em></div>');
src/components/UiComponents/MapView/MapViewLeaflet.tsx:208
- Text: 'Ausgewählte Fläche'
Zum Entfernen Parzelle im Panel nutzen - Art: string_literal
- Kontext: string literal
- Zeile:
polygon.bindPopup('<div><strong>Ausgewählte Fläche</strong><br/><em>Zum Entfernen Parzelle im Panel nutzen</em></div>');
src/components/UiComponents/MapView/MapViewLeaflet.tsx:208
- Text: 'Ausgewählte Fläche'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
polygon.bindPopup('<div><strong>Ausgewählte Fläche</strong><br/><em>Zum Entfernen Parzelle im Panel nutzen</em></div>');
src/components/UiComponents/MapView/MapViewLeaflet.tsx:208
- Text: 'Zum Entfernen Parzelle im Panel nutzen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
polygon.bindPopup('<div><strong>Ausgewählte Fläche</strong><br/><em>Zum Entfernen Parzelle im Panel nutzen</em></div>');
src/components/UiComponents/MapView/MapViewLeaflet.tsx:224
- Text: 'Parzelle ${parcel.number || parcel.id}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<strong>Parzelle ${parcel.number || parcel.id}</strong><br/>
src/components/UiComponents/MapView/MapViewLeaflet.tsx:226
- Text: 'Ausgewählt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<em>Ausgewählt</em>
src/components/UiComponents/Messages/ChatMessages/ChatMessage.tsx:82
- Text: 'Aktion fehlgeschlagen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Aktion fehlgeschlagen</span>
src/components/UiComponents/Messages/ChatMessages/ChatMessage.tsx:202
- Text: 'Löschen bestätigen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Löschen bestätigen"
src/components/UiComponents/Messages/ChatMessages/ChatMessage.tsx:210
- Text: 'Abbrechen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Abbrechen"
src/components/UiComponents/Messages/ChatMessages/ChatMessage.tsx:220
- Text: 'Nachricht löschen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Nachricht löschen"
src/components/UiComponents/Messages/Messages.tsx:18
- Text: 'No messages yet'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage = 'No messages yet',
src/components/UiComponents/OerebSection/OerebSection.tsx:71
- Text: 'In Kraft'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'In Kraft'
src/components/UiComponents/OerebSection/OerebSection.tsx:95
- Text: 'noopener noreferrer'
- Art: string_literal
- Kontext: string literal
- Zeile:
rel="noopener noreferrer"
src/components/UiComponents/OerebSection/OerebSection.tsx:127
- Text: 'ÖREB-Auszug.pdf'
- Art: string_literal
- Kontext: string literal
- Zeile:
fileName="ÖREB-Auszug.pdf"
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:148
- Text: 'Fehler beim Laden'
- Art: string_literal
- Kontext: string literal
- Zeile:
[parcelId]: e?.response?.data?.detail || e?.message || 'Fehler beim Laden'
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:175
- Text: 'Fehler bei der Extraktion'
- Art: string_literal
- Kontext: string literal
- Zeile:
[parcelId]: e?.response?.data?.detail || e?.message || 'Fehler bei der Extraktion'
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:219
- Text: 'Parzellen-Informationen ({parcels.length})'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.title}>Parzellen-Informationen ({parcels.length})</h2>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:228
- Text: 'Gesamtfläche'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.aggregatedTitle}>Gesamtfläche</h3>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:251
- Text: '— {bz.area_m2.toFixed(2)} m²'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.bauzoneArea}> — {bz.area_m2.toFixed(2)} m²</span>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:267
- Text: 'Parzelle entfernen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Parzelle entfernen"
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:318
- Text: 'Fläche:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Fläche:</span>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:331
- Text: 'Grundstückstyp:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Grundstückstyp:</span>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:345
- Text: 'Dokumente werden geladen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.bzoHint}>Dokumente werden geladen...</p>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:363
- Text: 'Dokument öffnen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Dokument öffnen"
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:381
- Text: 'Inhalt mit LangGraph extrahieren (inkl. Machbarkeitsstudie)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Inhalt mit LangGraph extrahieren (inkl. Machbarkeitsstudie)"
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:405
- Text: 'Fakten aus BZO'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Fakten aus BZO</span>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:422
- Text: 'Vorschläge'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Vorschläge</span>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:441
- Text: 'Weiterführende Bestimmungen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Weiterführende Bestimmungen</span>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:492
- Text: 'Details anzeigen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<summary className={styles.zoneSummary}>Details anzeigen</summary>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:507
- Text: 'noopener noreferrer'
- Art: string_literal
- Kontext: string literal
- Zeile:
rel="noopener noreferrer"
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:533
- Text: 'Parzelle entfernen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Parzelle entfernen"
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:584
- Text: 'Fläche:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Fläche:</span>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:597
- Text: 'Grundstückstyp:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Grundstückstyp:</span>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:611
- Text: 'Dokumente werden geladen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.bzoHint}>Dokumente werden geladen...</p>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:629
- Text: 'Dokument öffnen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Dokument öffnen"
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:647
- Text: 'Inhalt mit LangGraph extrahieren (inkl. Machbarkeitsstudie)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Inhalt mit LangGraph extrahieren (inkl. Machbarkeitsstudie)"
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:671
- Text: 'Fakten aus BZO'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Fakten aus BZO</span>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:688
- Text: 'Vorschläge'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Vorschläge</span>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:707
- Text: 'Weiterführende Bestimmungen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.label}>Weiterführende Bestimmungen</span>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:756
- Text: 'Details anzeigen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<summary className={styles.zoneSummary}>Details anzeigen</summary>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:771
- Text: 'noopener noreferrer'
- Art: string_literal
- Kontext: string literal
- Zeile:
rel="noopener noreferrer"
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:994
- Text: 'Zone: {rule.zone_raw}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{rule.zone_raw && <span>Zone: {rule.zone_raw}</span>}
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:995
- Text: 'Seite {rule.page}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{rule.page && <span>Seite {rule.page}</span>}
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:996
- Text: 'Bereich: {rule.rule_scope}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{rule.rule_scope && <span>Bereich: {rule.rule_scope}</span>}
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:1027
- Text: 'Zone: {article.zone_raw}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{article.zone_raw && <span>Zone: {article.zone_raw}</span>}
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:1028
- Text: 'Seiten {article.page_start}-{article.page_end}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Seiten {article.page_start}-{article.page_end}</span>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:1058
- Text: 'Fehler ({data.errors.length})'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h5 className={styles.bzoErrorTitle}>Fehler ({data.errors.length})</h5>
src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx:1068
- Text: 'Warnungen ({data.warnings.length})'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h5 className={styles.bzoWarningTitle}>Warnungen ({data.warnings.length})</h5>
src/components/UiComponents/Popup/Popup.tsx:108
- Text: 'Close'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
aria-label="Close"
src/components/UiComponents/Toast/Toast.tsx:53
- Text: 'Schließen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
aria-label="Schließen"
src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx:23
- Text: 'Deutsch'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'de-DE', label: 'Deutsch', shortCode: 'de', flag: '🇩🇪' },
src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx:24
- Text: 'Deutsch (Schweiz)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'de-CH', label: 'Deutsch (Schweiz)', shortCode: 'de', flag: '🇨🇭' },
src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx:25
- Text: 'English (US)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'en-US', label: 'English (US)', shortCode: 'en', flag: '🇺🇸' },
src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx:26
- Text: 'English (UK)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'en-GB', label: 'English (UK)', shortCode: 'en', flag: '🇬🇧' },
src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx:27
- Text: 'Français'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'fr-FR', label: 'Français', shortCode: 'fr', flag: '🇫🇷' },
src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx:28
- Text: 'Français (Suisse)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'fr-CH', label: 'Français (Suisse)', shortCode: 'fr', flag: '🇨🇭' },
src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx:29
- Text: 'Italiano'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'it-IT', label: 'Italiano', shortCode: 'it', flag: '🇮🇹' },
src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx:30
- Text: 'Italiano (Svizzera)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'it-CH', label: 'Italiano (Svizzera)', shortCode: 'it', flag: '🇨🇭' },
src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx:31
- Text: 'Español'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'es-ES', label: 'Español', shortCode: 'es', flag: '🇪🇸' },
src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx:32
- Text: 'Português'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'pt-BR', label: 'Português', shortCode: 'pt', flag: '🇧🇷' },
src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx:72
- Text: 'Sprache für Spracherkennung'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title = 'Sprache für Spracherkennung',
src/components/UiComponents/WorkflowStatus/WorkflowStatus.tsx:69
- Text: 'Workflow running'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<div className={styles.spinner} aria-label="Workflow running" />
src/components/UiComponents/WorkflowStatus/WorkflowStatus.tsx:77
- Text: 'Round {workflowStatus.round}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.roundBadge}>Round {workflowStatus.round}</span>
src/components/UnifiedDataBar/ChatsTab.tsx:45
- Text: 'gerade eben'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (diffMin < 1) return 'gerade eben';
src/components/UnifiedDataBar/ChatsTab.tsx:284
- Text: 'Umbenennen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Umbenennen"
src/components/UnifiedDataBar/ChatsTab.tsx:293
- Text: 'Wiederherstellen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Wiederherstellen"
src/components/UnifiedDataBar/ChatsTab.tsx:301
- Text: 'Archivieren'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Archivieren"
src/components/UnifiedDataBar/ChatsTab.tsx:310
- Text: 'Löschen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Löschen"
src/components/UnifiedDataBar/ChatsTab.tsx:324
- Text: 'AI Workspace'
- Art: string_literal
- Kontext: string literal
- Zeile:
workspace: 'AI Workspace',
src/components/UnifiedDataBar/ChatsTab.tsx:332
- Text: 'Lade Chats...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
if (loading) return <div className={styles.loading}>Lade Chats...</div>;
src/components/UnifiedDataBar/ChatsTab.tsx:340
- Text: 'Suchen...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Suchen..."
src/components/UnifiedDataBar/ChatsTab.tsx:345
- Text: 'Neuer Chat'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button className={styles.createBtn} onClick={() => { onCreateNew(); setTimeout(_loadChats, 500); }} title="Neuer Chat">
src/components/UnifiedDataBar/ChatsTab.tsx:437
- Text: 'Keine archivierten Chats.'
- Art: string_literal
- Kontext: string literal
- Zeile:
{filter === 'archived' ? 'Keine archivierten Chats.' : 'Keine aktiven Chats.'}
src/components/UnifiedDataBar/ChatsTab.tsx:437
- Text: 'Keine aktiven Chats.'
- Art: string_literal
- Kontext: string literal
- Zeile:
{filter === 'archived' ? 'Keine archivierten Chats.' : 'Keine aktiven Chats.'}
src/components/UnifiedDataBar/FilesTab.tsx:233
- Text: 'Lade Dateien...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
if (loading) return <div className={styles.loading}>Lade Dateien...</div>;
src/components/UnifiedDataBar/FilesTab.tsx:261
- Text: 'Upload files'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Upload files"
src/components/UnifiedDataBar/FilesTab.tsx:284
- Text: 'Dateien suchen...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Dateien suchen..."
src/components/UnifiedDataBar/FilesTab.tsx:325
- Text: 'Keine Dateien gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
{searchQuery ? 'Keine Dateien gefunden' : 'Keine Dateien. Drag & Drop zum Hochladen.'}
src/components/UnifiedDataBar/FilesTab.tsx:325
- Text: 'Keine Dateien. Drag & Drop zum Hochladen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
{searchQuery ? 'Keine Dateien gefunden' : 'Keine Dateien. Drag & Drop zum Hochladen.'}
src/components/UnifiedDataBar/SourcesTab.tsx:188
- Text: 'Feature Instance'
- Art: string_literal
- Kontext: string literal
- Zeile:
featureInstance: 'Feature Instance',
src/components/UnifiedDataBar/SourcesTab.tsx:340
- Text: 'spin 0.6s linear infinite'
- Art: string_literal
- Kontext: string literal
- Zeile:
animation: 'spin 0.6s linear infinite',
src/components/UnifiedDataBar/SourcesTab.tsx:853
- Text: 'Neutralize: ON (click to deactivate)'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={ds.neutralize ? 'Neutralize: ON (click to deactivate)' : 'Neutralize: OFF (click to activate)'}
src/components/UnifiedDataBar/SourcesTab.tsx:853
- Text: 'Neutralize: OFF (click to activate)'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={ds.neutralize ? 'Neutralize: ON (click to deactivate)' : 'Neutralize: OFF (click to activate)'}
src/components/UnifiedDataBar/SourcesTab.tsx:860
- Text: 'Entfernen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Entfernen"
src/components/UnifiedDataBar/SourcesTab.tsx:956
- Text: 'Remove all tables for this record'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Remove all tables for this record"
src/components/UnifiedDataBar/SourcesTab.tsx:986
- Text: 'Neutralize: ON'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={fds.neutralize ? 'Neutralize: ON' : 'Neutralize: OFF'}
src/components/UnifiedDataBar/SourcesTab.tsx:986
- Text: 'Neutralize: OFF'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={fds.neutralize ? 'Neutralize: ON' : 'Neutralize: OFF'}
src/components/UnifiedDataBar/SourcesTab.tsx:993
- Text: 'Remove'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Remove"
src/components/UnifiedDataBar/SourcesTab.tsx:1010
- Text: '3px solid #7b1fa2'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderLeft: '3px solid #7b1fa2',
src/components/UnifiedDataBar/SourcesTab.tsx:1029
- Text: 'Neutralize: ON'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={fds.neutralize ? 'Neutralize: ON' : 'Neutralize: OFF'}
src/components/UnifiedDataBar/SourcesTab.tsx:1029
- Text: 'Neutralize: OFF'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={fds.neutralize ? 'Neutralize: ON' : 'Neutralize: OFF'}
src/components/UnifiedDataBar/SourcesTab.tsx:1036
- Text: 'Entfernen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Entfernen"
src/components/UnifiedDataBar/SourcesTab.tsx:1139
- Text: 'background 0.1s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'background 0.1s',
src/components/UnifiedDataBar/SourcesTab.tsx:1166
- Text: 'Add as data source'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Add as data source"
src/components/UnifiedDataBar/SourcesTab.tsx:1168
- Text: '+ Add'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isAdding ? '...' : '+ Add'}
src/components/UnifiedDataBar/SourcesTab.tsx:1172
- Text: 'Already added'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<span style={{ fontSize: 10, color: '#4caf50', flexShrink: 0 }} title="Already added">
src/components/UnifiedDataBar/SourcesTab.tsx:1240
- Text: 'background 0.1s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'background 0.1s', userSelect: 'none',
src/components/UnifiedDataBar/SourcesTab.tsx:1315
- Text: 'background 0.1s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'background 0.1s', userSelect: 'none',
src/components/UnifiedDataBar/SourcesTab.tsx:1411
- Text: 'background 0.1s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'background 0.1s', userSelect: 'none',
src/components/UnifiedDataBar/SourcesTab.tsx:1429
- Text: 'Add as feature data source'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Add as feature data source"
src/components/UnifiedDataBar/SourcesTab.tsx:1431
- Text: '+ Add'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isAdding ? '...' : '+ Add'}
src/components/UnifiedDataBar/SourcesTab.tsx:1435
- Text: 'Already added'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<span style={{ fontSize: 10, color: '#4caf50', flexShrink: 0 }} title="Already added">
src/components/UnifiedDataBar/SourcesTab.tsx:1479
- Text: 'background 0.1s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'background 0.1s', userSelect: 'none',
src/components/UnifiedDataBar/SourcesTab.tsx:1554
- Text: 'background 0.1s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'background 0.1s', userSelect: 'none',
src/components/UnifiedDataBar/SourcesTab.tsx:1575
- Text: 'Add all tables for this record'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Add all tables for this record"
src/components/UnifiedDataBar/SourcesTab.tsx:1577
- Text: '+ Add'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isAdding ? '...' : '+ Add'}
src/components/UnifiedDataBar/SourcesTab.tsx:1581
- Text: 'Already added'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<span style={{ fontSize: 10, color: '#4caf50', flexShrink: 0 }} title="Already added">
src/contexts/FileContext.tsx:209
- Text: 'useFileContext must be used within a FileProvider'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error('useFileContext must be used within a FileProvider');
src/contexts/PekContext.tsx:74
- Text: 'usePekContext must be used within a PekProvider'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error('usePekContext must be used within a PekProvider');
src/contexts/ToastContext.tsx:94
- Text: 'useToast must be used within a ToastProvider'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error('useToast must be used within a ToastProvider');
src/contexts/WorkflowSelectionContext.tsx:38
- Text: 'useWorkflowSelection must be used within a WorkflowSelectionProvider'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error('useWorkflowSelection must be used within a WorkflowSelectionProvider');
src/core/PageManager/SidebarProvider.tsx:53
- Text: 'useSidebar must be used within a SidebarProvider'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error('useSidebar must be used within a SidebarProvider');
src/core/PageManager/SidebarProvider.tsx:461
- Text: 'Failed to load sidebar items'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err instanceof Error ? err.message : 'Failed to load sidebar items');
src/hooks/useAccessRules.tsx:23
- Text: 'Keine'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'n', label: 'Keine', color: '#e53e3e' },
src/hooks/useAccessRules.tsx:24
- Text: 'Eigene'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'm', label: 'Eigene', color: '#d69e2e' },
src/hooks/useAccessRules.tsx:25
- Text: 'Gruppe'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'g', label: 'Gruppe', color: '#3182ce' },
src/hooks/useAccessRules.tsx:26
- Text: 'Alle'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'a', label: 'Alle', color: '#38a169' },
src/hooks/useAccessRules.tsx:114
- Text: 'Fehler beim Laden der Regeln'
- Art: string_literal
- Kontext: string literal
- Zeile:
const errorMsg = err.response?.data?.detail || err.message || 'Fehler beim Laden der Regeln';
src/hooks/useAccessRules.tsx:197
- Text: 'Fehler beim Speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
const errorMsg = err.response?.data?.detail || err.message || 'Fehler beim Speichern';
src/hooks/useConfirm.tsx:6
- Text: 'Wirklich löschen?'
- Art: string_literal
- Kontext: string literal
- Zeile:
* const ok = await confirm('Wirklich löschen?', { confirmLabel: 'Löschen', variant: 'danger' });
src/hooks/useConfirm.tsx:6
- Text: 'Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
* const ok = await confirm('Wirklich löschen?', { confirmLabel: 'Löschen', variant: 'danger' });
src/hooks/useConfirm.tsx:26
- Text: 'Bestätigung'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Bestätigung',
src/hooks/useConfirm.tsx:27
- Text: 'Bestätigen'
- Art: string_literal
- Kontext: string literal
- Zeile:
confirmLabel: 'Bestätigen',
src/hooks/useConfirm.tsx:78
- Text: '1px solid var(--color-border, #333)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--color-border, #333)',
src/hooks/useConfirm.tsx:82
- Text: '0 8px 32px rgba(0,0,0,0.4)'
- Art: string_literal
- Kontext: string literal
- Zeile:
boxShadow: '0 8px 32px rgba(0,0,0,0.4)',
src/hooks/useConfirm.tsx:105
- Text: '1px solid var(--color-border, #444)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--color-border, #444)',
src/hooks/useInstancePermissions.tsx:117
- Text: 'Verträge'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
* {canViewContracts && <NavLink to="contracts">Verträge</NavLink>}
src/hooks/useInstancePermissions.tsx:343
- Text: 'Neuer Vertrag'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
* <Button>Neuer Vertrag</Button>
src/hooks/usePrompt.tsx:6
- Text: 'Bitte Namen eingeben:'
- Art: string_literal
- Kontext: string literal
- Zeile:
* const value = await prompt('Bitte Namen eingeben:', { title: 'Umbenennen' });
src/hooks/usePrompt.tsx:85
- Text: '1px solid var(--border-color, var(--color-border, #333))'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, var(--color-border, #333))',
src/hooks/usePrompt.tsx:89
- Text: '0 8px 32px rgba(0,0,0,0.4)'
- Art: string_literal
- Kontext: string literal
- Zeile:
boxShadow: '0 8px 32px rgba(0,0,0,0.4)',
src/hooks/usePrompt.tsx:119
- Text: '1px solid var(--border-color, var(--color-border, #ccc))'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, var(--color-border, #ccc))',
src/hooks/usePrompt.tsx:134
- Text: '1px solid var(--color-border, #444)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--color-border, #444)',
src/layouts/FeatureLayout.tsx:21
- Text: 'Lade Feature-Daten...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Lade Feature-Daten...</p>
src/layouts/FeatureLayout.tsx:37
- Text: 'Zugriff nicht möglich'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2>Zugriff nicht möglich</h2>
src/layouts/FeatureLayout.tsx:81
- Text: 'Die angeforderte Feature-Instanz existiert nicht oder Sie haben keinen Zugriff.'
- Art: string_literal
- Kontext: string literal
- Zeile:
message="Die angeforderte Feature-Instanz existiert nicht oder Sie haben keinen Zugriff."
src/layouts/MainLayout.tsx:63
- Text: 'Navigation schliessen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
aria-label="Navigation schliessen"
src/layouts/MainLayout.tsx:72
- Text: 'PowerOn'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
alt="PowerOn"
src/layouts/MainLayout.tsx:105
- Text: 'Navigation oeffnen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
aria-label="Navigation oeffnen"
src/layouts/MainLayout.tsx:111
- Text: 'PowerOn'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
alt="PowerOn"
src/pages/AutomationsDashboardPage.tsx:71
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e0e0e0)',
src/pages/AutomationsDashboardPage.tsx:78
- Text: '1 1 180px'
- Art: string_literal
- Kontext: string literal
- Zeile:
flex: '1 1 180px',
src/pages/AutomationsDashboardPage.tsx:195
- Text: ''
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: '',
src/pages/Dashboard.tsx:72
- Text: 'Übersicht'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h1>Übersicht</h1>
src/pages/Dashboard.tsx:82
- Text: 'Übersicht'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h1>Übersicht</h1>
src/pages/FeatureView.tsx:67
- Text: 'Workflow Dashboard'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<PlaceholderView title="Workflow Dashboard" description="Übersicht der Workflows" />
src/pages/FeatureView.tsx:67
- Text: 'Übersicht der Workflows'
- Art: string_literal
- Kontext: string literal
- Zeile:
<PlaceholderView title="Workflow Dashboard" description="Übersicht der Workflows" />
src/pages/FeatureView.tsx:71
- Text: 'Runs'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<PlaceholderView title="Runs" description="Workflow-Ausführungen" />
src/pages/FeatureView.tsx:71
- Text: 'Workflow-Ausführungen'
- Art: string_literal
- Kontext: string literal
- Zeile:
<PlaceholderView title="Runs" description="Workflow-Ausführungen" />
src/pages/FeatureView.tsx:75
- Text: 'Dateien'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<PlaceholderView title="Dateien" description="Workflow-Dateien" />
src/pages/FeatureView.tsx:82
- Text: 'Chatbot Einstellungen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<PlaceholderView title="Chatbot Einstellungen" description="Konfiguration des Chatbots" />
src/pages/FeatureView.tsx:82
- Text: 'Konfiguration des Chatbots'
- Art: string_literal
- Kontext: string literal
- Zeile:
<PlaceholderView title="Chatbot Einstellungen" description="Konfiguration des Chatbots" />
src/pages/FeatureView.tsx:88
- Text: 'Seite nicht gefunden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2>Seite nicht gefunden</h2>
src/pages/FeatureView.tsx:89
- Text: 'Diese View existiert nicht oder wurde noch nicht implementiert.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Diese View existiert nicht oder wurde noch nicht implementiert.</p>
src/pages/FeatureView.tsx:95
- Text: 'Zugriff verweigert'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2>Zugriff verweigert</h2>
src/pages/FeatureView.tsx:96
- Text: 'Du hast keine Berechtigung für diese Ansicht.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Du hast keine Berechtigung für diese Ansicht.</p>
src/pages/GDPR.tsx:68
- Text: 'Consent information could not be loaded.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setConsentError('Consent information could not be loaded.');
src/pages/GDPR.tsx:91
- Text: 'Data export downloaded.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setActionMessage({ type: 'success', text: 'Data export downloaded.' });
src/pages/GDPR.tsx:94
- Text: 'Data export failed. Please try again.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setActionMessage({ type: 'error', text: 'Data export failed. Please try again.' });
src/pages/GDPR.tsx:109
- Text: 'Portable export downloaded.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setActionMessage({ type: 'success', text: 'Portable export downloaded.' });
src/pages/GDPR.tsx:112
- Text: 'Portable export failed. Please try again.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setActionMessage({ type: 'error', text: 'Portable export failed. Please try again.' });
src/pages/GDPR.tsx:121
- Text: 'Please type LOESCHEN to confirm deletion.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setActionMessage({ type: 'error', text: 'Please type LOESCHEN to confirm deletion.' });
src/pages/GDPR.tsx:132
- Text: 'Account deleted. Redirecting to login...'
- Art: string_literal
- Kontext: string literal
- Zeile:
setActionMessage({ type: 'success', text: 'Account deleted. Redirecting to login...' });
src/pages/GDPR.tsx:136
- Text: 'Account deletion failed. Please try again.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setActionMessage({ type: 'error', text: 'Account deletion failed. Please try again.' });
src/pages/GDPR.tsx:161
- Text: 'Your data rights'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.sectionTitle}>Your data rights</h2>
src/pages/GDPR.tsx:164
- Text: 'Access (Article 15)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3>Access (Article 15)</h3>
src/pages/GDPR.tsx:165
- Text: 'Download a full export of your account data.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Download a full export of your account data.</p>
src/pages/GDPR.tsx:186
- Text: 'Portability (Article 20)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3>Portability (Article 20)</h3>
src/pages/GDPR.tsx:187
- Text: 'Download a machine-readable JSON-LD export.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Download a machine-readable JSON-LD export.</p>
src/pages/GDPR.tsx:208
- Text: 'Erasure (Article 17)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3>Erasure (Article 17)</h3>
src/pages/GDPR.tsx:209
- Text: 'Permanently delete your account and all associated data.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Permanently delete your account and all associated data.</p>
src/pages/GDPR.tsx:229
- Text: 'LOESCHEN'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="LOESCHEN"
src/pages/GDPR.tsx:278
- Text: 'Processing information'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.sectionTitle}>Processing information</h2>
src/pages/GDPR.tsx:279
- Text: 'Loading consent info...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{isLoadingConsent && <p className={styles.mutedText}>Loading consent info...</p>}
src/pages/GDPR.tsx:284
- Text: 'Data collected'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3>Data collected</h3>
src/pages/GDPR.tsx:304
- Text: 'Your rights'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3>Your rights</h3>
src/pages/InvitePage.tsx:16
- Text: 'Einladung annehmen'
- Art: string_literal
- Kontext: string literal
- Zeile:
* 6. User clicks "Einladung annehmen"
src/pages/InvitePage.tsx:56
- Text: 'Kein Einladungs-Token angegeben'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Kein Einladungs-Token angegeben');
src/pages/InvitePage.tsx:71
- Text: 'Neues Konto erstellen'
- Art: string_literal
- Kontext: string literal
- Zeile:
// No targetUsername = new-user invitation (email only) -> only show "Neues Konto erstellen"
src/pages/InvitePage.tsx:120
- Text: 'Not authenticated'
- Art: string_literal
- Kontext: string literal
- Zeile:
} else if (result.error?.includes('401') || result.error?.includes('Not authenticated')) {
src/pages/InvitePage.tsx:125
- Text: 'Fehler beim Annehmen der Einladung'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(result.error || 'Fehler beim Annehmen der Einladung');
src/pages/InvitePage.tsx:162
- Text: 'Einladung wird überprüft...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Einladung wird überprüft...</p>
src/pages/InvitePage.tsx:176
- Text: 'Ungültige Einladung'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h1>Ungültige Einladung</h1>
src/pages/InvitePage.tsx:177
- Text: 'Diese Einladung ist nicht gültig.'
- Art: string_literal
- Kontext: string literal
- Zeile:
<p>{validation?.reason || 'Diese Einladung ist nicht gültig.'}</p>
src/pages/InvitePage.tsx:195
- Text: 'Sie wurden erfolgreich zum Mandanten hinzugefügt.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Sie wurden erfolgreich zum Mandanten hinzugefügt.</p>
src/pages/InvitePage.tsx:196
- Text: 'Sie werden weitergeleitet...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.redirectMessage}>Sie werden weitergeleitet...</p>
src/pages/InvitePage.tsx:211
- Text: 'Falsche Anmeldung'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h1>Falsche Anmeldung</h1>
src/pages/InvitePage.tsx:214
- Text: 'anderer Benutzer'
- Art: string_literal
- Kontext: string literal
- Zeile:
Sie sind als <strong>{cachedUser?.username || 'anderer Benutzer'}</strong> angemeldet.
src/pages/InvitePage.tsx:216
- Text: 'Bitte melden Sie sich ab und mit dem richtigen Konto wieder an.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Bitte melden Sie sich ab und mit dem richtigen Konto wieder an.</p>
src/pages/InvitePage.tsx:229
- Text: 'Sie wurden eingeladen, einem Mandanten und einem Feature beizutreten.'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Sie wurden eingeladen, einem Mandanten und einem Feature beizutreten.'
src/pages/InvitePage.tsx:230
- Text: 'Sie wurden eingeladen, einem Mandanten beizutreten.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Sie wurden eingeladen, einem Mandanten beizutreten.';
src/pages/InvitePage.tsx:231
- Text: 'Features mit zugewiesenen Rollen'
- Art: string_literal
- Kontext: string literal
- Zeile:
const rolesLabel = isFeatureInvite ? 'Features mit zugewiesenen Rollen' : 'Zugewiesene Rollen';
src/pages/InvitePage.tsx:231
- Text: 'Zugewiesene Rollen'
- Art: string_literal
- Kontext: string literal
- Zeile:
const rolesLabel = isFeatureInvite ? 'Features mit zugewiesenen Rollen' : 'Zugewiesene Rollen';
src/pages/InvitePage.tsx:241
- Text: 'Einladung annehmen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h1>Einladung annehmen</h1>
src/pages/InvitePage.tsx:287
- Text: 'Einladung annehmen'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Einladung annehmen'
src/pages/InvitePage.tsx:304
- Text: 'Einladung annehmen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h1>Einladung annehmen</h1>
src/pages/InvitePage.tsx:333
- Text: 'Erstellen Sie ein neues Konto mit Ihrem Benutzernamen oder verlinken Sie die Einladung mit Ihrem bestehenden Account.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Erstellen Sie ein neues Konto mit Ihrem Benutzernamen oder verlinken Sie die Einladung mit Ihrem bestehenden Account.'}
src/pages/Login.tsx:36
- Text: 'PowerOn AI Platform - Login'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
document.title = "PowerOn AI Platform - Login";
src/pages/Login.tsx:134
- Text: 'PowerOn'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
alt="PowerOn"
src/pages/Login.tsx:145
- Text: 'Sie haben eine ausstehende Einladung. Bitte melden Sie sich an, um diese anzunehmen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Sie haben eine ausstehende Einladung. Bitte melden Sie sich an, um diese anzunehmen.</span>
src/pages/Login.tsx:155
- Text: ' '
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder=" "
src/pages/Login.tsx:173
- Text: ' '
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder=" "
src/pages/Login.tsx:198
- Text: 'wird geladen...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isLoginLoading ? "wird geladen..." : "Anmelden"}
src/pages/Login.tsx:221
- Text: 'Signing in...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isMsalLoading ? "Signing in..." : "Mit Microsoft anmelden"}
src/pages/Login.tsx:221
- Text: 'Mit Microsoft anmelden'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isMsalLoading ? "Signing in..." : "Mit Microsoft anmelden"}
src/pages/Login.tsx:232
- Text: 'Signing in...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isGoogleLoading ? "Signing in..." : "Mit Google anmelden"}
src/pages/Login.tsx:232
- Text: 'Mit Google anmelden'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isGoogleLoading ? "Signing in..." : "Mit Google anmelden"}
src/pages/Login.tsx:237
- Text: 'Du hast noch kein Konto?'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Du hast noch kein Konto?</span>
src/pages/PasswordResetRequest.tsx:18
- Text: 'PowerOn AI Platform - Passwort zurücksetzen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
document.title = "PowerOn AI Platform - Passwort zurücksetzen";
src/pages/PasswordResetRequest.tsx:27
- Text: 'Bitte geben Sie Ihren Benutzernamen ein.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setValidationError('Bitte geben Sie Ihren Benutzernamen ein.');
src/pages/PasswordResetRequest.tsx:33
- Text: 'Falls ein Konto mit diesem Benutzernamen existiert, wurde ein Reset-Link an die hinterlegte E-Mail-Adresse gesendet. Bitte prüfen Sie auch Ihren Spam-Ordner.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setSuccessMessage('Falls ein Konto mit diesem Benutzernamen existiert, wurde ein Reset-Link an die hinterlegte E-Mail-Adresse gesendet. Bitte prüfen Sie auch Ihren Spam-Ordner.');
src/pages/PasswordResetRequest.tsx:40
- Text: 'Bitte prüfen Sie Ihre E-Mail für den Passwort-Reset-Link.'
- Art: string_literal
- Kontext: string literal
- Zeile:
message: 'Bitte prüfen Sie Ihre E-Mail für den Passwort-Reset-Link.'
src/pages/PasswordResetRequest.tsx:46
- Text: 'Falls ein Konto mit diesem Benutzernamen existiert, wurde ein Reset-Link an die hinterlegte E-Mail-Adresse gesendet. Bitte prüfen Sie auch Ihren Spam-Ordner.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setSuccessMessage('Falls ein Konto mit diesem Benutzernamen existiert, wurde ein Reset-Link an die hinterlegte E-Mail-Adresse gesendet. Bitte prüfen Sie auch Ihren Spam-Ordner.');
src/pages/PasswordResetRequest.tsx:59
- Text: 'PowerOn'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
alt="PowerOn"
src/pages/PasswordResetRequest.tsx:65
- Text: 'Passwort zurücksetzen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.title}>Passwort zurücksetzen</h2>
src/pages/PasswordResetRequest.tsx:80
- Text: ' '
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder=" "
src/pages/PasswordResetRequest.tsx:100
- Text: 'Geben Sie Ihren Benutzernamen ein. Falls ein Konto existiert, erhalten Sie einen Link zum Zurücksetzen des Passworts an Ihre hinterlegte E-Mail-Adresse.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Geben Sie Ihren Benutzernamen ein. Falls ein Konto existiert, erhalten Sie einen Link zum Zurücksetzen des Passworts an Ihre hinterlegte E-Mail-Adresse.</p>
src/pages/PasswordResetRequest.tsx:108
- Text: 'Wird gesendet...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isLoading ? "Wird gesendet..." : "Reset-Link anfordern"}
src/pages/PasswordResetRequest.tsx:108
- Text: 'Reset-Link anfordern'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isLoading ? "Wird gesendet..." : "Reset-Link anfordern"}
src/pages/PasswordResetRequest.tsx:114
- Text: 'Zurück zum'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Zurück zum</span>
src/pages/Register.tsx:40
- Text: 'PowerOn AI Platform - Registrieren'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
document.title = "PowerOn AI Platform - Registrieren";
src/pages/Register.tsx:58
- Text: 'Bitte füllen Sie alle Pflichtfelder aus.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setValidationError('Bitte füllen Sie alle Pflichtfelder aus.');
src/pages/Register.tsx:63
- Text: 'Bitte geben Sie eine gültige E-Mail-Adresse ein.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setValidationError('Bitte geben Sie eine gültige E-Mail-Adresse ein.');
src/pages/Register.tsx:81
- Text: 'Username is not available'
- Art: string_literal
- Kontext: string literal
- Zeile:
const errorMessage = availabilityResult.message || 'Username is not available';
src/pages/Register.tsx:82
- Text: 'Username is already taken'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (errorMessage === 'Username is already taken') {
src/pages/Register.tsx:83
- Text: 'Benutzername ist bereits vergeben'
- Art: string_literal
- Kontext: string literal
- Zeile:
setValidationError('Benutzername ist bereits vergeben');
src/pages/Register.tsx:86
- Text: 'Benutzername ist nicht verfügbar'
- Art: string_literal
- Kontext: string literal
- Zeile:
setValidationError('Benutzername ist nicht verfügbar');
src/pages/Register.tsx:93
- Text: 'Registrierung erfolgreich! Bitte prüfen Sie Ihre E-Mail (auch den Spam-Ordner) für den Link zum Setzen Ihres Passworts.'
- Art: string_literal
- Kontext: string literal
- Zeile:
let message = 'Registrierung erfolgreich! Bitte prüfen Sie Ihre E-Mail (auch den Spam-Ordner) für den Link zum Setzen Ihres Passworts.';
src/pages/Register.tsx:95
- Text: ' Nach dem Setzen Ihres Passworts können Sie sich anmelden und Ihre Einladung annehmen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
message += ' Nach dem Setzen Ihres Passworts können Sie sich anmelden und Ihre Einladung annehmen.';
src/pages/Register.tsx:104
- Text: 'Registrierung erfolgreich. Bitte prüfen Sie Ihre E-Mail für den Passwort-Link.'
- Art: string_literal
- Kontext: string literal
- Zeile:
message: 'Registrierung erfolgreich. Bitte prüfen Sie Ihre E-Mail für den Passwort-Link.',
src/pages/Register.tsx:116
- Text: 'Registration failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (registerError) return typeof registerError === 'string' ? registerError : 'Registration failed';
src/pages/Register.tsx:117
- Text: 'Microsoft registration failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (msalError) return typeof msalError === 'string' ? msalError : 'Microsoft registration failed';
src/pages/Register.tsx:118
- Text: 'Username availability check failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (availabilityError) return typeof availabilityError === 'string' ? availabilityError : 'Username availability check failed';
src/pages/Register.tsx:128
- Text: 'PowerOn'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
alt="PowerOn"
src/pages/Register.tsx:138
- Text: 'Sie haben eine ausstehende Einladung. Nach der Registrierung und Anmeldung können Sie diese annehmen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Sie haben eine ausstehende Einladung. Nach der Registrierung und Anmeldung können Sie diese annehmen.</span>
src/pages/Register.tsx:156
- Text: ' '
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder=" "
src/pages/Register.tsx:170
- Text: ' '
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder=" "
src/pages/Register.tsx:184
- Text: ' '
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder=" "
src/pages/Register.tsx:191
- Text: 'Vollständiger Name'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={fullNameFocused || formData.fullName ? styles.focusedLabel : styles.label}>Vollständiger Name</label>
src/pages/Register.tsx:195
- Text: 'Nach der Registrierung erhalten Sie eine E-Mail mit einem Link zum Setzen Ihres Passworts.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Nach der Registrierung erhalten Sie eine E-Mail mit einem Link zum Setzen Ihres Passworts.</p>
src/pages/Register.tsx:209
- Text: 'Registrierung läuft...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isLoading ? "Registrierung läuft..." : isChecking ? "Benutzername wird geprüft..." : 'Kostenlos registrieren'}
src/pages/Register.tsx:209
- Text: 'Benutzername wird geprüft...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isLoading ? "Registrierung läuft..." : isChecking ? "Benutzername wird geprüft..." : 'Kostenlos registrieren'}
src/pages/Register.tsx:209
- Text: 'Kostenlos registrieren'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isLoading ? "Registrierung läuft..." : isChecking ? "Benutzername wird geprüft..." : 'Kostenlos registrieren'}
src/pages/Register.tsx:215
- Text: 'Bereits registriert?'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Bereits registriert?</span>
src/pages/Reset.tsx:26
- Text: 'PowerOn AI Platform - Neues Passwort setzen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
document.title = "PowerOn AI Platform - Neues Passwort setzen";
src/pages/Reset.tsx:31
- Text: 'Ungültiger Reset-Link. Bitte fordern Sie einen neuen Link an.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setTokenError('Ungültiger Reset-Link. Bitte fordern Sie einen neuen Link an.');
src/pages/Reset.tsx:33
- Text: 'Ungültiger Reset-Link. Bitte fordern Sie einen neuen Link an.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setTokenError('Ungültiger Reset-Link. Bitte fordern Sie einen neuen Link an.');
src/pages/Reset.tsx:44
- Text: 'Passwort muss mindestens 8 Zeichen lang sein.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setValidationError('Passwort muss mindestens 8 Zeichen lang sein.');
src/pages/Reset.tsx:49
- Text: 'Die Passwörter stimmen nicht überein.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setValidationError('Die Passwörter stimmen nicht überein.');
src/pages/Reset.tsx:65
- Text: 'Token fehlt. Bitte fordern Sie einen neuen Reset-Link an.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setValidationError('Token fehlt. Bitte fordern Sie einen neuen Reset-Link an.');
src/pages/Reset.tsx:71
- Text: 'Passwort erfolgreich gesetzt! Sie werden zum Login weitergeleitet...'
- Art: string_literal
- Kontext: string literal
- Zeile:
setSuccessMessage('Passwort erfolgreich gesetzt! Sie werden zum Login weitergeleitet...');
src/pages/Reset.tsx:78
- Text: 'Passwort erfolgreich geändert. Bitte melden Sie sich an.'
- Art: string_literal
- Kontext: string literal
- Zeile:
message: 'Passwort erfolgreich geändert. Bitte melden Sie sich an.'
src/pages/Reset.tsx:84
- Text: 'Passwort-Zurücksetzung fehlgeschlagen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
const errorMessage = err?.response?.data?.detail || err?.message || 'Passwort-Zurücksetzung fehlgeschlagen.';
src/pages/Reset.tsx:85
- Text: 'Ungültig'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (errorMessage.includes('abgelaufen') || errorMessage.includes('expired') || errorMessage.includes('Ungültig') || errorMessage.includes('invalid')) {
src/pages/Reset.tsx:86
- Text: 'Der Reset-Link ist ungültig oder abgelaufen. Bitte fordern Sie einen neuen Link an.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setValidationError('Der Reset-Link ist ungültig oder abgelaufen. Bitte fordern Sie einen neuen Link an.');
src/pages/Reset.tsx:101
- Text: 'PowerOn'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
alt="PowerOn"
src/pages/Reset.tsx:107
- Text: 'Neues Passwort setzen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.title}>Neues Passwort setzen</h2>
src/pages/Reset.tsx:119
- Text: 'oder zurück zum'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>oder zurück zum</span>
src/pages/Reset.tsx:141
- Text: 'PowerOn'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
alt="PowerOn"
src/pages/Reset.tsx:147
- Text: 'Neues Passwort setzen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.title}>Neues Passwort setzen</h2>
src/pages/Reset.tsx:159
- Text: 'Mindestens 8 Zeichen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.passwordHint}>Mindestens 8 Zeichen</div>
src/pages/Reset.tsx:163
- Text: ' '
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder=" "
src/pages/Reset.tsx:174
- Text: 'Neues Passwort'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={passwordFocused || password ? styles.focusedLabel : styles.label}>Neues Passwort</label>
src/pages/Reset.tsx:181
- Text: ' '
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder=" "
src/pages/Reset.tsx:192
- Text: 'Passwort bestätigen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={confirmPasswordFocused || confirmPassword ? styles.focusedLabel : styles.label}>Passwort bestätigen</label>
src/pages/Reset.tsx:200
- Text: 'Wird gespeichert...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isLoading ? "Wird gespeichert..." : "Passwort setzen"}
src/pages/Reset.tsx:200
- Text: 'Passwort setzen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isLoading ? "Wird gespeichert..." : "Passwort setzen"}
src/pages/Reset.tsx:206
- Text: 'Zurück zum'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Zurück zum</span>
src/pages/Settings.tsx:23
- Text: 'Profil'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'profile', label: 'Profil' },
src/pages/Settings.tsx:24
- Text: 'Darstellung'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'appearance', label: 'Darstellung' },
src/pages/Settings.tsx:25
- Text: 'Stimme & Sprache'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'voice', label: 'Stimme & Sprache' },
src/pages/Settings.tsx:26
- Text: 'Neutralisierung (lokal)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'neutralization', label: 'Neutralisierung (lokal)' },
src/pages/Settings.tsx:27
- Text: 'Datenschutz'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'privacy', label: 'Datenschutz' },
src/pages/Settings.tsx:50
- Text: 'Deutsch'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'de', label: 'Deutsch' },
src/pages/Settings.tsx:51
- Text: 'English'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'en', label: 'English' },
src/pages/Settings.tsx:52
- Text: 'Français'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'fr', label: 'Français' },
src/pages/Settings.tsx:56
- Text: 'Vollstaendiger Name'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ name: 'fullName', type: 'string', label: 'Vollstaendiger Name', description: 'Ihr vollstaendiger Name', required: false, placeholder: 'Max Mustermann' },
src/pages/Settings.tsx:56
- Text: 'Ihr vollstaendiger Name'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ name: 'fullName', type: 'string', label: 'Vollstaendiger Name', description: 'Ihr vollstaendiger Name', required: false, placeholder: 'Max Mustermann' },
src/pages/Settings.tsx:56
- Text: 'Max Mustermann'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ name: 'fullName', type: 'string', label: 'Vollstaendiger Name', description: 'Ihr vollstaendiger Name', required: false, placeholder: 'Max Mustermann' },
src/pages/Settings.tsx:57
- Text: 'E-Mail-Adresse'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ name: 'email', type: 'email', label: 'E-Mail-Adresse', description: 'Ihre E-Mail-Adresse fuer Benachrichtigungen', required: true, placeholder: 'name@example.com' },
src/pages/Settings.tsx:57
- Text: 'Ihre E-Mail-Adresse fuer Benachrichtigungen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ name: 'email', type: 'email', label: 'E-Mail-Adresse', description: 'Ihre E-Mail-Adresse fuer Benachrichtigungen', required: true, placeholder: 'name@example.com' },
src/pages/Settings.tsx:58
- Text: 'Sprache'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ name: 'language', type: 'select', label: 'Sprache', description: 'Anzeigesprache der Anwendung', required: true, options: languageOptions },
src/pages/Settings.tsx:58
- Text: 'Anzeigesprache der Anwendung'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ name: 'language', type: 'select', label: 'Sprache', description: 'Anzeigesprache der Anwendung', required: true, options: languageOptions },
src/pages/Settings.tsx:68
- Text: 'Fehler beim Speichern des Profils'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Speichern des Profils');
src/pages/Settings.tsx:80
- Text: 'Profil bearbeiten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2>Profil bearbeiten</h2>
src/pages/Settings.tsx:137
- Text: 'Fehler beim Laden der Voice-Einstellungen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Laden der Voice-Einstellungen');
src/pages/Settings.tsx:184
- Text: 'Einstellungen gespeichert'
- Art: string_literal
- Kontext: string literal
- Zeile:
setSuccess('Einstellungen gespeichert');
src/pages/Settings.tsx:188
- Text: 'Fehler beim Speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Speichern');
src/pages/Settings.tsx:206
- Text: 'Stimmtest fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
} catch { setError('Stimmtest fehlgeschlagen'); }
src/pages/Settings.tsx:216
- Text: 'English (US)'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ code: 'de-DE', name: 'Deutsch' }, { code: 'en-US', name: 'English (US)' },
src/pages/Settings.tsx:230
- Text: 'STT-Sprache (Spracheingabe)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.sectionTitle}>STT-Sprache (Spracheingabe)</h2>
src/pages/Settings.tsx:233
- Text: 'Sprache fuer Spracherkennung'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.settingLabel}>Sprache fuer Spracherkennung</label>
src/pages/Settings.tsx:234
- Text: 'Wird fuer die Sprache-zu-Text-Erkennung verwendet.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.settingDescription}>Wird fuer die Sprache-zu-Text-Erkennung verwendet.</p>
src/pages/Settings.tsx:247
- Text: 'TTS-Stimmen (Sprachausgabe)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.sectionTitle}>TTS-Stimmen (Sprachausgabe)</h2>
src/pages/Settings.tsx:304
- Text: 'Einstellungen speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
{saving ? 'Speichern...' : 'Einstellungen speichern'}
src/pages/Settings.tsx:342
- Text: 'Fehler beim Laden'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Laden');
src/pages/Settings.tsx:355
- Text: 'Fehler beim Loeschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Loeschen');
src/pages/Settings.tsx:371
- Text: 'Platzhalter-Mappings (lokal)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.sectionTitle}>Platzhalter-Mappings (lokal)</h2>
src/pages/Settings.tsx:377
- Text: '1px solid var(--border-color, #bfdbfe)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #bfdbfe)',
src/pages/Settings.tsx:385
- Text: 'Mandant → AI-Workspace-Instanz → Einstellungen → Tab „Neutralisierung“'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<strong>Mandant → AI-Workspace-Instanz → Einstellungen → Tab „Neutralisierung“</strong> (nicht auf dieser
src/pages/Settings.tsx:470
- Text: 'Sprache konnte nicht gespeichert werden'
- Art: string_literal
- Kontext: string literal
- Zeile:
} catch { setLanguageError('Sprache konnte nicht gespeichert werden'); }
src/pages/Settings.tsx:475
- Text: 'Nicht angemeldet'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (!currentUser?.id || !currentUser?.username) throw new Error('Nicht angemeldet');
src/pages/Settings.tsx:489
- Text: 'Persoenliche Einstellungen und Praeferenzen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.subtitle}>Persoenliche Einstellungen und Praeferenzen</p>
src/pages/Settings.tsx:511
- Text: 'Profil bearbeiten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.settingLabel}>Profil bearbeiten</label>
src/pages/Settings.tsx:512
- Text: 'Aendern Sie Ihren Namen und Ihre E-Mail-Adresse.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.settingDescription}>Aendern Sie Ihren Namen und Ihre E-Mail-Adresse.</p>
src/pages/Settings.tsx:540
- Text: 'Waehlen Sie zwischen hellem und dunklem Design.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.settingInfo}><label className={styles.settingLabel}>Theme</label><p className={styles.settingDescription}>Waehlen Sie zwischen hellem und dunklem Design.</p></div>
src/pages/Settings.tsx:555
- Text: 'Deutsch'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'de', label: 'Deutsch' },
src/pages/Settings.tsx:556
- Text: 'English'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'en', label: 'English' },
src/pages/Settings.tsx:557
- Text: 'Français'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'fr', label: 'Français' },
src/pages/Settings.tsx:584
- Text: 'GDPR / Privacy'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.settingInfo}><label className={styles.settingLabel}>GDPR / Privacy</label><p className={styles.settingDescription}>Datenexport, Portabilität und Kontolöschung.</p></div>
src/pages/Settings.tsx:584
- Text: 'Datenexport, Portabilität und Kontolöschung.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.settingInfo}><label className={styles.settingLabel}>GDPR / Privacy</label><p className={styles.settingDescription}>Datenexport, Portabilität und Kontolöschung.</p></div>
src/pages/Settings.tsx:585
- Text: 'GDPR öffnen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.settingControl}><Link className={${styles.button} ${styles.linkButton}} to="/gdpr">GDPR öffnen</Link></div>
src/pages/Store.tsx:25
- Text: 'Erstelle und verwalte Automatisierungen, um wiederkehrende Aufgaben effizient zu erledigen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
de: 'Erstelle und verwalte Automatisierungen, um wiederkehrende Aufgaben effizient zu erledigen.',
src/pages/Store.tsx:26
- Text: 'Create and manage automations to handle recurring tasks efficiently.'
- Art: string_literal
- Kontext: string literal
- Zeile:
en: 'Create and manage automations to handle recurring tasks efficiently.',
src/pages/Store.tsx:27
- Text: 'Creer et gerer des automatisations pour traiter efficacement les taches recurrentes.'
- Art: string_literal
- Kontext: string literal
- Zeile:
fr: 'Creer et gerer des automatisations pour traiter efficacement les taches recurrentes.',
src/pages/Store.tsx:30
- Text: 'n8n-style Flow-Automatisierung mit grafischem Editor, RAG und Tools.'
- Art: string_literal
- Kontext: string literal
- Zeile:
de: 'n8n-style Flow-Automatisierung mit grafischem Editor, RAG und Tools.',
src/pages/Store.tsx:31
- Text: 'n8n-style flow automation with visual editor, RAG and tools.'
- Art: string_literal
- Kontext: string literal
- Zeile:
en: 'n8n-style flow automation with visual editor, RAG and tools.',
src/pages/Store.tsx:32
- Text: 'Automatisation de flux style n8n avec editeur visuel, RAG et outils.'
- Art: string_literal
- Kontext: string literal
- Zeile:
fr: 'Automatisation de flux style n8n avec editeur visuel, RAG et outils.',
src/pages/Store.tsx:35
- Text: 'Integriere einen AI-Bot in deine Microsoft Teams Meetings und Channels.'
- Art: string_literal
- Kontext: string literal
- Zeile:
de: 'Integriere einen AI-Bot in deine Microsoft Teams Meetings und Channels.',
src/pages/Store.tsx:36
- Text: 'Integrate an AI bot into your Microsoft Teams meetings and channels.'
- Art: string_literal
- Kontext: string literal
- Zeile:
en: 'Integrate an AI bot into your Microsoft Teams meetings and channels.',
src/pages/Store.tsx:37
- Text: 'Integrez un bot IA dans vos reunions et canaux Microsoft Teams.'
- Art: string_literal
- Kontext: string literal
- Zeile:
fr: 'Integrez un bot IA dans vos reunions et canaux Microsoft Teams.',
src/pages/Store.tsx:40
- Text: 'Nutze den gemeinsamen AI Workspace: Chats, Tools und Kontext pro Instanz.'
- Art: string_literal
- Kontext: string literal
- Zeile:
de: 'Nutze den gemeinsamen AI Workspace: Chats, Tools und Kontext pro Instanz.',
src/pages/Store.tsx:41
- Text: 'Use the shared AI workspace: chats, tools, and context per instance.'
- Art: string_literal
- Kontext: string literal
- Zeile:
en: 'Use the shared AI workspace: chats, tools, and context per instance.',
src/pages/Store.tsx:42
- Text: "Utilisez l'espace de travail IA partage: chats, outils et contexte par instance."
- Art: string_literal
- Kontext: string literal
- Zeile:
fr: 'Utilisez l\'espace de travail IA partage: chats, outils et contexte par instance.',
src/pages/Store.tsx:45
- Text: 'CommCoach: Kommunikation trainieren mit KI-gestütztem Coaching und Feedback.'
- Art: string_literal
- Kontext: string literal
- Zeile:
de: 'CommCoach: Kommunikation trainieren mit KI-gestütztem Coaching und Feedback.',
src/pages/Store.tsx:46
- Text: 'CommCoach: practice communication with AI-assisted coaching and feedback.'
- Art: string_literal
- Kontext: string literal
- Zeile:
en: 'CommCoach: practice communication with AI-assisted coaching and feedback.',
src/pages/Store.tsx:47
- Text: 'CommCoach: entrainer la communication avec un coaching assiste par IA.'
- Art: string_literal
- Kontext: string literal
- Zeile:
fr: 'CommCoach: entrainer la communication avec un coaching assiste par IA.',
src/pages/Store.tsx:140
- Text: 'Wird aktiviert...'
- Art: string_literal
- Kontext: string literal
- Zeile:
? (language === 'de' ? 'Wird aktiviert...' : 'Activating...')
src/pages/Store.tsx:160
- Text: 'Feature Store'
- Art: string_literal
- Kontext: string literal
- Zeile:
<h1>{currentLanguage === 'de' ? 'Feature Store' : currentLanguage === 'fr' ? 'Feature Store' : 'Feature Store'}</h1>
src/pages/Store.tsx:163
- Text: 'Aktiviere Features fuer dein Konto. Deine Daten sind isoliert und nur fuer dich sichtbar.'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Aktiviere Features fuer dein Konto. Deine Daten sind isoliert und nur fuer dich sichtbar.'
src/pages/Store.tsx:165
- Text: 'Activez des fonctionnalites pour votre compte. Vos donnees sont isolees et visibles uniquement par vous.'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Activez des fonctionnalites pour votre compte. Vos donnees sont isolees et visibles uniquement par vous.'
src/pages/Store.tsx:166
- Text: 'Activate features for your account. Your data is isolated and only visible to you.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Activate features for your account. Your data is isolated and only visible to you.'}
src/pages/Store.tsx:186
- Text: 'AI budget'
- Art: string_literal
- Kontext: string literal
- Zeile:
{currentLanguage === 'de' ? 'AI-Budget' : 'AI budget'}: {subscriptionInfo.budgetAiCHF} CHF
src/pages/Store.tsx:191
- Text: 'Trial endet'
- Art: string_literal
- Kontext: string literal
- Zeile:
{currentLanguage === 'de' ? 'Trial endet' : 'Trial ends'}: {new Date(subscriptionInfo.trialEndsAt).toLocaleDateString()}
src/pages/Store.tsx:191
- Text: 'Trial ends'
- Art: string_literal
- Kontext: string literal
- Zeile:
{currentLanguage === 'de' ? 'Trial endet' : 'Trial ends'}: {new Date(subscriptionInfo.trialEndsAt).toLocaleDateString()}
src/pages/Store.tsx:201
- Text: 'Lade Features...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{currentLanguage === 'de' ? 'Lade Features...' : 'Loading features...'}
src/pages/Store.tsx:201
- Text: 'Loading features...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{currentLanguage === 'de' ? 'Lade Features...' : 'Loading features...'}
src/pages/Store.tsx:206
- Text: 'Keine Features im Store verfuegbar.'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Keine Features im Store verfuegbar.'
src/pages/Store.tsx:207
- Text: 'No features available in the store.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'No features available in the store.'}
src/pages/admin/AccessManagementHub.tsx:147
- Text: 'Rollen synchronisiert'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Rollen synchronisiert',
src/pages/admin/AccessManagementHub.tsx:152
- Text: 'Synchronisierung fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Synchronisierung fehlgeschlagen', result.error || 'Fehler beim Synchronisieren');
src/pages/admin/AccessManagementHub.tsx:152
- Text: 'Fehler beim Synchronisieren'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Synchronisierung fehlgeschlagen', result.error || 'Fehler beim Synchronisieren');
src/pages/admin/AccessManagementHub.tsx:155
- Text: 'Rollen konnten nicht synchronisiert werden'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', 'Rollen konnten nicht synchronisiert werden');
src/pages/admin/AccessManagementHub.tsx:308
- Text: 'Fehler: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler: {error}</p>
src/pages/admin/AccessManagementHub.tsx:342
- Text: '-- Mandant wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Mandant wählen --</option>
src/pages/admin/AccessManagementHub.tsx:431
- Text: 'Kein Mandant ausgewählt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.emptyTitle}>Kein Mandant ausgewählt</h3>
src/pages/admin/AccessManagementHub.tsx:463
- Text: 'Rollen (max)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={hubStyles.statsLabel}>Rollen (max)</span>
src/pages/admin/AccessManagementHub.tsx:496
- Text: 'Lade Instanzen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Instanzen...</span>
src/pages/admin/AccessManagementHub.tsx:501
- Text: 'Keine Feature-Instanzen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.emptyTitle}>Keine Feature-Instanzen</h3>
src/pages/admin/AccessManagementHub.tsx:526
- Text: 'f.code === inst.featureCode) || { code: inst.featureCode, label: inst.featureCode })}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>{getFeatureLabel(features.find((f) => f.code === inst.featureCode) || { code: inst.featureCode, label: inst.featureCode })}</span>
src/pages/admin/AccessManagementHub.tsx:543
- Text: 'Rollen synchronisieren'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Rollen synchronisieren"
src/pages/admin/AdminFeatureAccessPage.tsx:87
- Text: 'Name'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'label', label: 'Name', type: 'string' as const, sortable: true, filterable: true, searchable: true, width: 200 },
src/pages/admin/AdminFeatureAccessPage.tsx:88
- Text: 'Feature'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'featureCode', label: 'Feature', type: 'string' as const, sortable: true, filterable: true, width: 150,
src/pages/admin/AdminFeatureAccessPage.tsx:100
- Text: 'Aktiv'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'enabled', label: 'Aktiv', type: 'boolean' as const, sortable: true, filterable: true, width: 80 },
src/pages/admin/AdminFeatureAccessPage.tsx:123
- Text: 'Label ist erforderlich.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', 'Label ist erforderlich.');
src/pages/admin/AdminFeatureAccessPage.tsx:133
- Text: 'System Prompt ist erforderlich für Chatbot-Instanzen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', 'System Prompt ist erforderlich für Chatbot-Instanzen.');
src/pages/admin/AdminFeatureAccessPage.tsx:177
- Text: 'Feature-Instanz erstellt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Feature-Instanz erstellt',Die Instanz "${createLabel}" wurde erfolgreich erstellt.);
src/pages/admin/AdminFeatureAccessPage.tsx:179
- Text: 'Fehler beim Erstellen der Feature-Instanz'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Erstellen der Feature-Instanz');
src/pages/admin/AdminFeatureAccessPage.tsx:229
- Text: 'System Prompt ist erforderlich für Chatbot-Instanzen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', 'System Prompt ist erforderlich für Chatbot-Instanzen.');
src/pages/admin/AdminFeatureAccessPage.tsx:271
- Text: 'Feature-Instanz aktualisiert'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Feature-Instanz aktualisiert',Die Instanz "${data.label}" wurde erfolgreich aktualisiert.);
src/pages/admin/AdminFeatureAccessPage.tsx:273
- Text: 'Fehler beim Aktualisieren der Feature-Instanz'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Aktualisieren der Feature-Instanz');
src/pages/admin/AdminFeatureAccessPage.tsx:286
- Text: 'Instanz gelöscht'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Instanz gelöscht', 'Die Feature-Instanz wurde gelöscht.');
src/pages/admin/AdminFeatureAccessPage.tsx:286
- Text: 'Die Feature-Instanz wurde gelöscht.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Instanz gelöscht', 'Die Feature-Instanz wurde gelöscht.');
src/pages/admin/AdminFeatureAccessPage.tsx:289
- Text: 'Fehler beim Löschen der Feature-Instanz'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Löschen der Feature-Instanz');
src/pages/admin/AdminFeatureAccessPage.tsx:302
- Text: 'Rollen synchronisiert'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Rollen synchronisiert',
src/pages/admin/AdminFeatureAccessPage.tsx:306
- Text: 'Synchronisierung fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Synchronisierung fehlgeschlagen', result.error || 'Fehler beim Synchronisieren der Rollen');
src/pages/admin/AdminFeatureAccessPage.tsx:306
- Text: 'Fehler beim Synchronisieren der Rollen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Synchronisierung fehlgeschlagen', result.error || 'Fehler beim Synchronisieren der Rollen');
src/pages/admin/AdminFeatureAccessPage.tsx:338
- Text: 'Fehler: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler: {error}</p>
src/pages/admin/AdminFeatureAccessPage.tsx:352
- Text: 'Verwalten Sie Feature-Instanzen für jeden Mandanten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Verwalten Sie Feature-Instanzen für jeden Mandanten</p>
src/pages/admin/AdminFeatureAccessPage.tsx:368
- Text: '-- Mandant wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Mandant wählen --</option>
src/pages/admin/AdminFeatureAccessPage.tsx:390
- Text: 'Keine Features verfügbar. Bitte laden Sie die Seite neu oder prüfen Sie die Konsole auf Fehler.'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={features.length === 0 ? 'Keine Features verfügbar. Bitte laden Sie die Seite neu oder prüfen Sie die Konsole auf Fehler.' : undefined}
src/pages/admin/AdminFeatureAccessPage.tsx:402
- Text: 'Verfügbare Features:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Verfügbare Features: </span>
src/pages/admin/AdminFeatureAccessPage.tsx:415
- Text: ' Die API hat keine Features zurückgegeben.'
- Art: string_literal
- Kontext: string literal
- Zeile:
{error ?Fehler: ${error}: ' Die API hat keine Features zurückgegeben.'}
src/pages/admin/AdminFeatureAccessPage.tsx:432
- Text: 'Kein Mandant ausgewählt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.emptyTitle}>Kein Mandant ausgewählt</h3>
src/pages/admin/AdminFeatureAccessPage.tsx:453
- Text: 'Instanz löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Instanz löschen',
src/pages/admin/AdminFeatureAccessPage.tsx:461
- Text: 'Instanz bearbeiten'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Instanz bearbeiten',
src/pages/admin/AdminFeatureAccessPage.tsx:467
- Text: 'Rollen synchronisieren'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Rollen synchronisieren',
src/pages/admin/AdminFeatureAccessPage.tsx:477
- Text: 'Keine Feature-Instanzen gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Feature-Instanzen gefunden"
src/pages/admin/AdminFeatureAccessPage.tsx:487
- Text: 'Neue Feature-Instanz erstellen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Neue Feature-Instanz erstellen</h2>
src/pages/admin/AdminFeatureAccessPage.tsx:497
- Text: 'Keine Features verfügbar. Bitte wenden Sie sich an den System-Administrator.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Keine Features verfügbar. Bitte wenden Sie sich an den System-Administrator.</p>
src/pages/admin/AdminFeatureAccessPage.tsx:501
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/admin/AdminFeatureAccessPage.tsx:528
- Text: 'Feature auswählen (erforderlich)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Feature auswählen (erforderlich)"
src/pages/admin/AdminFeatureAccessPage.tsx:555
- Text: 'Instanz-Bezeichnung eingeben...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Instanz-Bezeichnung eingeben..."
src/pages/admin/AdminFeatureAccessPage.tsx:611
- Text: 'Feature-Instanz bearbeiten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Feature-Instanz bearbeiten</h2>
src/pages/admin/AdminFeatureAccessPage.tsx:625
- Text: 'Bezeichnung'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Bezeichnung',
src/pages/admin/AdminFeatureAccessPage.tsx:632
- Text: 'Aktiviert'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Aktiviert',
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:201
- Text: 'Benutzername'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Benutzername',
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:210
- Text: 'E-Mail'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'E-Mail',
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:219
- Text: 'Vollständiger Name'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Vollständiger Name',
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:228
- Text: 'Rollen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Rollen',
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:241
- Text: 'Aktiv'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Aktiv',
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:268
- Text: 'Benutzer'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Benutzer',
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:275
- Text: 'Rollen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Rollen',
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:288
- Text: 'Rollen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Rollen',
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:295
- Text: 'Aktiv'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Aktiv',
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:312
- Text: 'Benutzer hinzugefügt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Benutzer hinzugefügt', 'Der Benutzer wurde erfolgreich zur Feature-Instanz hinzugefügt.');
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:312
- Text: 'Der Benutzer wurde erfolgreich zur Feature-Instanz hinzugefügt.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Benutzer hinzugefügt', 'Der Benutzer wurde erfolgreich zur Feature-Instanz hinzugefügt.');
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:314
- Text: 'Fehler beim Hinzufügen des Benutzers'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Hinzufügen des Benutzers');
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:336
- Text: 'Eintrag aktualisiert'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Eintrag aktualisiert', 'Rollen und Aktiv-Status wurden erfolgreich aktualisiert.');
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:336
- Text: 'Rollen und Aktiv-Status wurden erfolgreich aktualisiert.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Eintrag aktualisiert', 'Rollen und Aktiv-Status wurden erfolgreich aktualisiert.');
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:338
- Text: 'Fehler beim Aktualisieren'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Aktualisieren');
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:352
- Text: 'Benutzer entfernt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Benutzer entfernt',"${user.username}" wurde aus der Feature-Instanz entfernt.);
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:354
- Text: 'Fehler beim Entfernen des Benutzers'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Entfernen des Benutzers');
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:396
- Text: 'Fehler: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler: {error}</p>
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:409
- Text: 'Feature Instanz Benutzer'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h1 className={styles.pageTitle}>Feature Instanz Benutzer</h1>
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:410
- Text: 'Verwalten Sie Benutzerzugriffe auf Feature-Instanzen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Verwalten Sie Benutzerzugriffe auf Feature-Instanzen</p>
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:427
- Text: '-- Mandant / Feature-Instanz wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Mandant / Feature-Instanz wählen --</option>
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:485
- Text: 'Verfügbare Rollen:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Verfügbare Rollen: </span>
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:499
- Text: 'Diese Instanz hat noch keine Rollen. Bitte synchronisieren Sie die Rollen zuerst unter "Feature-Instanzen".'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Diese Instanz hat noch keine Rollen. Bitte synchronisieren Sie die Rollen zuerst unter "Feature-Instanzen".</span>
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:507
- Text: 'Keine Feature-Instanz ausgewählt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.emptyTitle}>Keine Feature-Instanz ausgewählt</h3>
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:510
- Text: 'Es gibt noch keine Feature-Instanzen. Erstellen Sie zuerst Feature-Instanzen unter "Feature-Instanzen".'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Es gibt noch keine Feature-Instanzen. Erstellen Sie zuerst Feature-Instanzen unter "Feature-Instanzen".'
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:511
- Text: 'Wählen Sie eine Feature-Instanz aus, um deren Benutzer zu verwalten.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Wählen Sie eine Feature-Instanz aus, um deren Benutzer zu verwalten.'}
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:531
- Text: 'Rollen bearbeiten'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Rollen bearbeiten',
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:535
- Text: 'Aus Instanz entfernen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Aus Instanz entfernen',
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:552
- Text: 'Keine Benutzer gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Benutzer gefunden"
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:562
- Text: 'Benutzer zur Feature-Instanz hinzufügen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Benutzer zur Feature-Instanz hinzufügen</h2>
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:572
- Text: 'Alle Benutzer haben bereits Zugriff auf diese Feature-Instanz.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Alle Benutzer haben bereits Zugriff auf diese Feature-Instanz.</p>
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:574
- Text: 'Diese Feature-Instanz hat keine Rollen. Bitte synchronisieren Sie zuerst die Rollen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Diese Feature-Instanz hat keine Rollen. Bitte synchronisieren Sie zuerst die Rollen.</p>
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:581
- Text: 'Hinzufügen'
- Art: string_literal
- Kontext: string literal
- Zeile:
submitButtonText="Hinzufügen"
src/pages/admin/AdminFeatureInstanceUsersPage.tsx:595
- Text: 'Rollen bearbeiten: {editingUser.username}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Rollen bearbeiten: {editingUser.username}</h2>
src/pages/admin/AdminFeatureRolesPage.tsx:69
- Text: 'Fehler beim Laden der Features'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Fehler beim Laden der Features');
src/pages/admin/AdminFeatureRolesPage.tsx:111
- Text: 'Fehler beim Laden der Feature-Rollen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Fehler beim Laden der Feature-Rollen');
src/pages/admin/AdminFeatureRolesPage.tsx:134
- Text: 'Rollen-Label'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Rollen-Label',
src/pages/admin/AdminFeatureRolesPage.tsx:143
- Text: 'Beschreibung'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Beschreibung',
src/pages/admin/AdminFeatureRolesPage.tsx:151
- Text: 'Feature'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Feature',
src/pages/admin/AdminFeatureRolesPage.tsx:169
- Text: 'Rollen-Label'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Rollen-Label',
src/pages/admin/AdminFeatureRolesPage.tsx:172
- Text: 'Eindeutiger Bezeichner der Rolle (z.B. trustee-admin)'
- Art: string_literal
- Kontext: string literal
- Zeile:
description: 'Eindeutiger Bezeichner der Rolle (z.B. trustee-admin)'
src/pages/admin/AdminFeatureRolesPage.tsx:176
- Text: 'Beschreibung'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Beschreibung',
src/pages/admin/AdminFeatureRolesPage.tsx:179
- Text: 'Mehrsprachige Beschreibung der Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
description: 'Mehrsprachige Beschreibung der Rolle'
src/pages/admin/AdminFeatureRolesPage.tsx:190
- Text: 'Rollen-Label'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Rollen-Label',
src/pages/admin/AdminFeatureRolesPage.tsx:194
- Text: 'Eindeutiger Bezeichner der Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
description: 'Eindeutiger Bezeichner der Rolle'
src/pages/admin/AdminFeatureRolesPage.tsx:198
- Text: 'Beschreibung'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Beschreibung',
src/pages/admin/AdminFeatureRolesPage.tsx:201
- Text: 'Mehrsprachige Beschreibung der Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
description: 'Mehrsprachige Beschreibung der Rolle'
src/pages/admin/AdminFeatureRolesPage.tsx:221
- Text: 'Fehler beim Erstellen der Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', err.response?.data?.detail || 'Fehler beim Erstellen der Rolle');
src/pages/admin/AdminFeatureRolesPage.tsx:240
- Text: 'Fehler beim Aktualisieren der Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', err.response?.data?.detail || 'Fehler beim Aktualisieren der Rolle');
src/pages/admin/AdminFeatureRolesPage.tsx:253
- Text: 'Fehler beim Löschen der Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', err.response?.data?.detail || 'Fehler beim Löschen der Rolle');
src/pages/admin/AdminFeatureRolesPage.tsx:283
- Text: 'Feature Rollen & Rechte'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h1 className={styles.pageTitle}>Feature Rollen & Rechte</h1>
src/pages/admin/AdminFeatureRolesPage.tsx:284
- Text: 'Template-Rollen und deren Berechtigungen für Feature-Instanzen verwalten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Template-Rollen und deren Berechtigungen für Feature-Instanzen verwalten</p>
src/pages/admin/AdminFeatureRolesPage.tsx:300
- Text: '-- Feature wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Feature wählen --</option>
src/pages/admin/AdminFeatureRolesPage.tsx:346
- Text: 'Kein Feature ausgewählt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.emptyTitle}>Kein Feature ausgewählt</h3>
src/pages/admin/AdminFeatureRolesPage.tsx:368
- Text: 'Rolle bearbeiten'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Rolle bearbeiten',
src/pages/admin/AdminFeatureRolesPage.tsx:372
- Text: 'Rolle löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Rolle löschen',
src/pages/admin/AdminFeatureRolesPage.tsx:380
- Text: 'Berechtigungen verwalten'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Berechtigungen verwalten',
src/pages/admin/AdminFeatureRolesPage.tsx:389
- Text: 'Keine Feature-Rollen gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Feature-Rollen gefunden"
src/pages/admin/AdminFeatureRolesPage.tsx:399
- Text: 'Neue Feature-Rolle erstellen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Neue Feature-Rolle erstellen</h2>
src/pages/admin/AdminFeatureRolesPage.tsx:417
- Text: 'Rolle erstellen'
- Art: string_literal
- Kontext: string literal
- Zeile:
submitButtonText={isSubmitting ? 'Erstelle...' : 'Rolle erstellen'}
src/pages/admin/AdminFeatureRolesPage.tsx:430
- Text: 'Feature-Rolle bearbeiten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Feature-Rolle bearbeiten</h2>
src/pages/admin/AdminInvitationsPage.tsx:86
- Text: 'Benutzername'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Benutzername',
src/pages/admin/AdminInvitationsPage.tsx:95
- Text: 'E-Mail'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'E-Mail',
src/pages/admin/AdminInvitationsPage.tsx:104
- Text: 'Email wurde gesendet'
- Art: string_literal
- Kontext: string literal
- Zeile:
<span title={emailSent ? 'Email wurde gesendet' : 'Email nicht gesendet'}>
src/pages/admin/AdminInvitationsPage.tsx:104
- Text: 'Email nicht gesendet'
- Art: string_literal
- Kontext: string literal
- Zeile:
<span title={emailSent ? 'Email wurde gesendet' : 'Email nicht gesendet'}>
src/pages/admin/AdminInvitationsPage.tsx:112
- Text: 'Rollen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Rollen',
src/pages/admin/AdminInvitationsPage.tsx:127
- Text: 'Gültig bis'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Gültig bis',
src/pages/admin/AdminInvitationsPage.tsx:143
- Text: 'Verwendet'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Verwendet',
src/pages/admin/AdminInvitationsPage.tsx:151
- Text: 'Erstellt'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Erstellt',
src/pages/admin/AdminInvitationsPage.tsx:177
- Text: 'Gültigkeitsdauer (Stunden)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
fields.push({ name: 'expiresInHours', label: 'Gültigkeitsdauer (Stunden)', type: 'number',
src/pages/admin/AdminInvitationsPage.tsx:200
- Text: 'Fehler beim Erstellen der Einladung'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Erstellen der Einladung');
src/pages/admin/AdminInvitationsPage.tsx:213
- Text: 'Fehler beim Widerrufen der Einladung'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Widerrufen der Einladung');
src/pages/admin/AdminInvitationsPage.tsx:248
- Text: 'Fehler: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler: {error}</p>
src/pages/admin/AdminInvitationsPage.tsx:262
- Text: 'Erstellen und verwalten Sie Einladungen für neue Benutzer'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Erstellen und verwalten Sie Einladungen für neue Benutzer</p>
src/pages/admin/AdminInvitationsPage.tsx:278
- Text: '-- Mandant wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Mandant wählen --</option>
src/pages/admin/AdminInvitationsPage.tsx:329
- Text: 'Kein Mandant ausgewählt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.emptyTitle}>Kein Mandant ausgewählt</h3>
src/pages/admin/AdminInvitationsPage.tsx:350
- Text: 'Einladung widerrufen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Einladung widerrufen',
src/pages/admin/AdminInvitationsPage.tsx:358
- Text: 'Einladungs-Link anzeigen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Einladungs-Link anzeigen',
src/pages/admin/AdminInvitationsPage.tsx:366
- Text: 'Keine Einladungen gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Einladungen gefunden"
src/pages/admin/AdminInvitationsPage.tsx:376
- Text: 'Neue Einladung erstellen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Neue Einladung erstellen</h2>
src/pages/admin/AdminInvitationsPage.tsx:388
- Text: 'Lade Rollen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Rollen...</span>
src/pages/admin/AdminInvitationsPage.tsx:393
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/admin/AdminInvitationsPage.tsx:401
- Text: 'Einladung erstellen'
- Art: string_literal
- Kontext: string literal
- Zeile:
submitButtonText="Einladung erstellen"
src/pages/admin/AdminInvitationsPage.tsx:438
- Text: 'In Zwischenablage kopieren'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="In Zwischenablage kopieren"
src/pages/admin/AdminInvitationsPage.tsx:441
- Text: ' Kopiert!'
- Art: string_literal
- Kontext: string literal
- Zeile:
{copySuccess ? ' Kopiert!' : ' Kopieren'}
src/pages/admin/AdminInvitationsPage.tsx:441
- Text: ' Kopieren'
- Art: string_literal
- Kontext: string literal
- Zeile:
{copySuccess ? ' Kopiert!' : ' Kopieren'}
src/pages/admin/AdminLanguagesPage.tsx:22
- Text: 'Code'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'id', label: 'Code', type: 'text', sortable: true, filterable: true, width: 90 },
src/pages/admin/AdminLanguagesPage.tsx:23
- Text: 'Bezeichnung'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'label', label: 'Bezeichnung', type: 'text', sortable: true, filterable: true, width: 160 },
src/pages/admin/AdminLanguagesPage.tsx:24
- Text: 'Status'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'status', label: 'Status', type: 'text', sortable: true, filterable: true, width: 120 },
src/pages/admin/AdminLanguagesPage.tsx:25
- Text: 'Keys'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'keysCount', label: 'Keys', type: 'number', sortable: true, width: 90 },
src/pages/admin/AdminLanguagesPage.tsx:29
- Text: 'it — Italiano'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'it', label: 'it — Italiano' },
src/pages/admin/AdminLanguagesPage.tsx:30
- Text: 'es — Español'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'es', label: 'es — Español' },
src/pages/admin/AdminLanguagesPage.tsx:31
- Text: 'pt — Português'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'pt', label: 'pt — Português' },
src/pages/admin/AdminLanguagesPage.tsx:32
- Text: 'nl — Nederlands'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'nl', label: 'nl — Nederlands' },
src/pages/admin/AdminLanguagesPage.tsx:33
- Text: 'pl — Polski'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'pl', label: 'pl — Polski' },
src/pages/admin/AdminLanguagesPage.tsx:34
- Text: 'cs — Čeština'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'cs', label: 'cs — Čeština' },
src/pages/admin/AdminLanguagesPage.tsx:35
- Text: 'sk — Slovenčina'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'sk', label: 'sk — Slovenčina' },
src/pages/admin/AdminLanguagesPage.tsx:36
- Text: 'sv — Svenska'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'sv', label: 'sv — Svenska' },
src/pages/admin/AdminLanguagesPage.tsx:37
- Text: 'no — Norsk'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'no', label: 'no — Norsk' },
src/pages/admin/AdminLanguagesPage.tsx:38
- Text: 'da — Dansk'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'da', label: 'da — Dansk' },
src/pages/admin/AdminLanguagesPage.tsx:65
- Text: 'Laden fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(e.response?.data?.detail || e.message || 'Laden fehlgeschlagen');
src/pages/admin/AdminLogsPage.tsx:49
- Text: 'Fehler beim Laden der Logs'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.response?.data?.detail || 'Fehler beim Laden der Logs');
src/pages/admin/AdminLogsPage.tsx:81
- Text: 'Fehler beim Download'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.response?.data?.detail || 'Fehler beim Download');
src/pages/admin/AdminLogsPage.tsx:107
- Text: 'Gateway Logs'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h1 className={styles.pageTitle}>Gateway Logs</h1>
src/pages/admin/AdminLogsPage.tsx:111
- Text: 'Keine Logs geladen'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Keine Logs geladen'}
src/pages/admin/AdminLogsPage.tsx:112
- Text: '— {logDir}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{logDir && <span className={logStyles.logDirHint}> — {logDir}</span>}
src/pages/admin/AdminLogsPage.tsx:120
- Text: 'Log herunterladen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Log herunterladen"
src/pages/admin/AdminLogsPage.tsx:139
- Text: 'Einträge'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={logStyles.controlLabel}>Einträge</label>
src/pages/admin/AdminLogsPage.tsx:182
- Text: 'Keine Logs geladen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.emptyTitle}>Keine Logs geladen</p>
src/pages/admin/AdminLogsPage.tsx:191
- Text: 'Logs werden geladen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Logs werden geladen...</span>
src/pages/admin/AdminMandateRolePermissionsPage.tsx:14
- Text: 'Cleanup Duplicates'
- Art: string_literal
- Kontext: string literal
- Zeile:
* Includes a "Cleanup Duplicates" tool to find and remove duplicate AccessRules.
src/pages/admin/AdminMandateRolePermissionsPage.tsx:180
- Text: 'Fehler beim Laden der Duplikate'
- Art: string_literal
- Kontext: string literal
- Zeile:
setCleanupError(err?.response?.data?.detail || err?.message || 'Fehler beim Laden der Duplikate');
src/pages/admin/AdminMandateRolePermissionsPage.tsx:200
- Text: 'Fehler beim Bereinigen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setCleanupError(err?.response?.data?.detail || err?.message || 'Fehler beim Bereinigen');
src/pages/admin/AdminMandateRolePermissionsPage.tsx:215
- Text: 'Mandanten-Rollen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'mandate', label: 'Mandanten-Rollen' },
src/pages/admin/AdminMandateRolePermissionsPage.tsx:216
- Text: 'Alle (inkl. Templates)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'all', label: 'Alle (inkl. Templates)' },
src/pages/admin/AdminMandateRolePermissionsPage.tsx:217
- Text: 'Nur Templates'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'global', label: 'Nur Templates' },
src/pages/admin/AdminMandateRolePermissionsPage.tsx:225
- Text: 'Fehler beim Laden: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler beim Laden: {error}</p>
src/pages/admin/AdminMandateRolePermissionsPage.tsx:252
- Text: 'Doppelte Regeln finden und bereinigen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Doppelte Regeln finden und bereinigen"
src/pages/admin/AdminMandateRolePermissionsPage.tsx:313
- Text: 'Lade Rollen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Rollen...</span>
src/pages/admin/AdminMandateRolePermissionsPage.tsx:321
- Text: 'Keine Rollen gefunden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Keine Rollen gefunden</p>
src/pages/admin/AdminMandateRolePermissionsPage.tsx:324
- Text: 'Es gibt noch keine Mandanten-Rollen. System-Rollen werden bei der Mandant-Erstellung automatisch kopiert.'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Es gibt noch keine Mandanten-Rollen. System-Rollen werden bei der Mandant-Erstellung automatisch kopiert.'
src/pages/admin/AdminMandateRolePermissionsPage.tsx:326
- Text: 'Es gibt noch keine Rollen-Templates.'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Es gibt noch keine Rollen-Templates.'
src/pages/admin/AdminMandateRolePermissionsPage.tsx:327
- Text: 'Es gibt noch keine Rollen für diesen Mandanten.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Es gibt noch keine Rollen für diesen Mandanten.'}
src/pages/admin/AdminMandateRolePermissionsPage.tsx:402
- Text: 'Analysiere Duplikate...'
- Art: string_literal
- Kontext: string literal
- Zeile:
<span>{cleanupPhase === 'idle' ? 'Analysiere Duplikate...' : 'Bereinige Duplikate...'}</span>
src/pages/admin/AdminMandateRolePermissionsPage.tsx:402
- Text: 'Bereinige Duplikate...'
- Art: string_literal
- Kontext: string literal
- Zeile:
<span>{cleanupPhase === 'idle' ? 'Analysiere Duplikate...' : 'Bereinige Duplikate...'}</span>
src/pages/admin/AdminMandateRolePermissionsPage.tsx:436
- Text: 'Zu loeschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{cleanupPhase === 'done' ? 'Geloescht' : 'Zu loeschen'}
src/pages/admin/AdminMandateRolePermissionsPage.tsx:445
- Text: 'doppelte Regeln wurden erfolgreich entfernt.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span><strong>{cleanupResult.deletedCount}</strong> doppelte Regeln wurden erfolgreich entfernt.</span>
src/pages/admin/AdminMandateRolePermissionsPage.tsx:452
- Text: 'Keine Duplikate gefunden. Alles sauber!'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Keine Duplikate gefunden. Alles sauber!</span>
src/pages/admin/AdminMandateRolePermissionsPage.tsx:515
- Text: 'Zu reparieren'
- Art: string_literal
- Kontext: string literal
- Zeile:
{cleanupPhase === 'done' ? 'Repariert' : 'Zu reparieren'}
src/pages/admin/AdminMandateRolePermissionsPage.tsx:566
- Text: 'Keine fehlerhaften Template-Rollen-Zuweisungen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Keine fehlerhaften Template-Rollen-Zuweisungen.</span>
src/pages/admin/AdminMandateRolesPage.tsx:102
- Text: 'Bezeichnung'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Bezeichnung',
src/pages/admin/AdminMandateRolesPage.tsx:111
- Text: 'Beschreibung'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Beschreibung',
src/pages/admin/AdminMandateRolesPage.tsx:120
- Text: 'Geltungsbereich'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Geltungsbereich',
src/pages/admin/AdminMandateRolesPage.tsx:161
- Text: 'Geltungsbereich'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Geltungsbereich',
src/pages/admin/AdminMandateRolesPage.tsx:166
- Text: 'Nur dieser Mandant'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'mandate', label: 'Nur dieser Mandant' },
src/pages/admin/AdminMandateRolesPage.tsx:167
- Text: 'Template (wird bei neuen Mandanten kopiert)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 'global', label: 'Template (wird bei neuen Mandanten kopiert)' },
src/pages/admin/AdminMandateRolesPage.tsx:216
- Text: 'Fehler beim Erstellen der Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Erstellen der Rolle');
src/pages/admin/AdminMandateRolesPage.tsx:220
- Text: 'Fehler beim Erstellen der Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', err.message || 'Fehler beim Erstellen der Rolle');
src/pages/admin/AdminMandateRolesPage.tsx:255
- Text: 'Fehler beim Aktualisieren der Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Aktualisieren der Rolle');
src/pages/admin/AdminMandateRolesPage.tsx:259
- Text: 'Fehler beim Aktualisieren der Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', err.message || 'Fehler beim Aktualisieren der Rolle');
src/pages/admin/AdminMandateRolesPage.tsx:268
- Text: 'Nicht erlaubt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showWarning('Nicht erlaubt', 'System-Rollen können nicht gelöscht werden.');
src/pages/admin/AdminMandateRolesPage.tsx:268
- Text: 'System-Rollen können nicht gelöscht werden.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showWarning('Nicht erlaubt', 'System-Rollen können nicht gelöscht werden.');
src/pages/admin/AdminMandateRolesPage.tsx:277
- Text: 'Fehler beim Löschen der Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Löschen der Rolle');
src/pages/admin/AdminMandateRolesPage.tsx:300
- Text: 'Fehler: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler: {error}</p>
src/pages/admin/AdminMandateRolesPage.tsx:314
- Text: 'Verwalten Sie System-, globale und mandantenspezifische Rollen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Verwalten Sie System-, globale und mandantenspezifische Rollen</p>
src/pages/admin/AdminMandateRolesPage.tsx:346
- Text: '-- Mandant wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Mandant wählen --</option>
src/pages/admin/AdminMandateRolesPage.tsx:364
- Text: 'Alle (inkl. Templates)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="all">Alle (inkl. Templates)</option>
src/pages/admin/AdminMandateRolesPage.tsx:365
- Text: 'Nur Templates'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="global">Nur Templates</option>
src/pages/admin/AdminMandateRolesPage.tsx:404
- Text: 'Kein Mandant ausgewählt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.emptyTitle}>Kein Mandant ausgewählt</h3>
src/pages/admin/AdminMandateRolesPage.tsx:426
- Text: 'Rolle bearbeiten'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Rolle bearbeiten',
src/pages/admin/AdminMandateRolesPage.tsx:427
- Text: 'System-Rollen können nicht bearbeitet werden'
- Art: string_literal
- Kontext: string literal
- Zeile:
disabled: (row: Role) => row.isSystemRole ? { disabled: true, message: 'System-Rollen können nicht bearbeitet werden' } : false
src/pages/admin/AdminMandateRolesPage.tsx:431
- Text: 'Rolle löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Rolle löschen',
src/pages/admin/AdminMandateRolesPage.tsx:432
- Text: 'System-Rollen können nicht gelöscht werden'
- Art: string_literal
- Kontext: string literal
- Zeile:
disabled: (row: Role) => row.isSystemRole ? { disabled: true, message: 'System-Rollen können nicht gelöscht werden' } : false
src/pages/admin/AdminMandateRolesPage.tsx:441
- Text: 'Keine Rollen gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Rollen gefunden"
src/pages/admin/AdminMandateRolesPage.tsx:451
- Text: 'Neue Rolle erstellen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Neue Rolle erstellen</h2>
src/pages/admin/AdminMandateRolesPage.tsx:463
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/admin/AdminMandateRolesPage.tsx:471
- Text: 'Rolle erstellen'
- Art: string_literal
- Kontext: string literal
- Zeile:
submitButtonText={isSubmitting ? 'Erstelle...' : 'Rolle erstellen'}
src/pages/admin/AdminMandateRolesPage.tsx:485
- Text: 'Rolle bearbeiten: {editingRole.roleLabel}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Rolle bearbeiten: {editingRole.roleLabel}</h2>
src/pages/admin/AdminMandateRolesPage.tsx:497
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/admin/AdminMandateRolesPage.tsx:504
- Text: 'Template (global)'
- Art: string_literal
- Kontext: string literal
- Zeile:
Geltungsbereich: <strong>{editingRole.mandateId ? 'Mandanten-Instanz' : 'Template (global)'}</strong>
src/pages/admin/AdminMandatesPage.tsx:76
- Text: 'Abrechnungseinstellungen konnten nicht geladen werden. Nur Mandantendaten sind sicher bearbeitbar.'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Abrechnungseinstellungen konnten nicht geladen werden. Nur Mandantendaten sind sicher bearbeitbar.'
src/pages/admin/AdminMandatesPage.tsx:88
- Text: 'Mandant inkl. Abrechnungseinstellungen gespeichert.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Erstellt', 'Mandant inkl. Abrechnungseinstellungen gespeichert.');
src/pages/admin/AdminMandatesPage.tsx:92
- Text: 'Mandant erstellt'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Mandant erstellt',
src/pages/admin/AdminMandatesPage.tsx:93
- Text: 'Abrechnungseinstellungen konnten nicht gespeichert werden. Bitte unter Administration → Abrechnung nachpflegen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Abrechnungseinstellungen konnten nicht gespeichert werden. Bitte unter Administration → Abrechnung nachpflegen.'
src/pages/admin/AdminMandatesPage.tsx:108
- Text: 'Mandant und Abrechnung aktualisiert.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Gespeichert', 'Mandant und Abrechnung aktualisiert.');
src/pages/admin/AdminMandatesPage.tsx:111
- Text: 'Teilweise gespeichert'
- Art: string_literal
- Kontext: string literal
- Zeile:
showWarning('Teilweise gespeichert', 'Mandant gespeichert, Abrechnung konnte nicht aktualisiert werden.');
src/pages/admin/AdminMandatesPage.tsx:111
- Text: 'Mandant gespeichert, Abrechnung konnte nicht aktualisiert werden.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showWarning('Teilweise gespeichert', 'Mandant gespeichert, Abrechnung konnte nicht aktualisiert werden.');
src/pages/admin/AdminMandatesPage.tsx:123
- Text: 'Mandant deaktivieren'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ title: 'Mandant deaktivieren', confirmLabel: 'Deaktivieren', variant: 'danger', placeholder: mandate.name },
src/pages/admin/AdminMandatesPage.tsx:127
- Text: 'Der eingegebene Name stimmt nicht überein.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showWarning('Abgebrochen', 'Der eingegebene Name stimmt nicht überein.');
src/pages/admin/AdminMandatesPage.tsx:135
- Text: 'Nicht erlaubt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showWarning('Nicht erlaubt', 'System-Mandanten können nicht gelöscht werden.');
src/pages/admin/AdminMandatesPage.tsx:135
- Text: 'System-Mandanten können nicht gelöscht werden.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showWarning('Nicht erlaubt', 'System-Mandanten können nicht gelöscht werden.');
src/pages/admin/AdminMandatesPage.tsx:140
- Text: 'Hard Delete (irreversibel)'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ title: 'Hard Delete (irreversibel)', confirmLabel: 'Endgültig löschen', variant: 'danger', placeholder: mandate.name },
src/pages/admin/AdminMandatesPage.tsx:140
- Text: 'Endgültig löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ title: 'Hard Delete (irreversibel)', confirmLabel: 'Endgültig löschen', variant: 'danger', placeholder: mandate.name },
src/pages/admin/AdminMandatesPage.tsx:144
- Text: 'Der eingegebene Name stimmt nicht überein.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showWarning('Abgebrochen', 'Der eingegebene Name stimmt nicht überein.');
src/pages/admin/AdminMandatesPage.tsx:149
- Text: 'Gelöscht'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Gelöscht',Mandant "${mandate.name}" wurde endgültig gelöscht.);
src/pages/admin/AdminMandatesPage.tsx:158
- Text: 'Fehler beim Laden der Mandanten: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler beim Laden der Mandanten: {error}</p>
src/pages/admin/AdminMandatesPage.tsx:172
- Text: 'Verwalten Sie alle Mandanten im System'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Verwalten Sie alle Mandanten im System</p>
src/pages/admin/AdminMandatesPage.tsx:220
- Text: 'Deaktivieren (Soft-Delete)'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Deaktivieren (Soft-Delete)',
src/pages/admin/AdminMandatesPage.tsx:222
- Text: 'System-Mandanten können nicht gelöscht werden'
- Art: string_literal
- Kontext: string literal
- Zeile:
? { disabled: true, message: 'System-Mandanten können nicht gelöscht werden' }
src/pages/admin/AdminMandatesPage.tsx:230
- Text: 'Hard Delete (irreversibel)'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Hard Delete (irreversibel)',
src/pages/admin/AdminMandatesPage.tsx:232
- Text: 'System-Mandanten können nicht gelöscht werden'
- Art: string_literal
- Kontext: string literal
- Zeile:
? { disabled: true, message: 'System-Mandanten können nicht gelöscht werden' }
src/pages/admin/AdminMandatesPage.tsx:244
- Text: 'Keine Mandanten gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Mandanten gefunden"
src/pages/admin/AdminMandatesPage.tsx:253
- Text: 'Neuer Mandant'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Neuer Mandant</h2>
src/pages/admin/AdminMandatesPage.tsx:269
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/admin/AdminMandatesPage.tsx:299
- Text: 'Mandant bearbeiten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Mandant bearbeiten</h2>
src/pages/admin/AdminMandatesPage.tsx:330
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/admin/AdminUserAccessOverviewPage.tsx:105
- Text: 'Failed to fetch users'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err?.response?.data?.detail || err?.message || 'Failed to fetch users');
src/pages/admin/AdminUserAccessOverviewPage.tsx:133
- Text: 'Failed to fetch overview'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err?.response?.data?.detail || err?.message || 'Failed to fetch overview');
src/pages/admin/AdminUserAccessOverviewPage.tsx:200
- Text: 'Dieser Benutzer ist SysAdmin und hat vollen Systemzugriff.'
- Art: string_literal
- Kontext: string literal
- Zeile:
<span>{overview.sysAdminNote || 'Dieser Benutzer ist SysAdmin und hat vollen Systemzugriff.'}</span>
src/pages/admin/AdminUserAccessOverviewPage.tsx:207
- Text: 'Keine Mandate-Zuordnungen vorhanden.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.emptyHint}>Keine Mandate-Zuordnungen vorhanden.</p>
src/pages/admin/AdminUserAccessOverviewPage.tsx:231
- Text: 'Keine Rollen direkt am Mandanten.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.emptyHint}>Keine Rollen direkt am Mandanten.</p>
src/pages/admin/AdminUserAccessOverviewPage.tsx:256
- Text: 'Keine Feature-Instanzen zugewiesen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.emptyHint}>Keine Feature-Instanzen zugewiesen.</p>
src/pages/admin/AdminUserAccessOverviewPage.tsx:358
- Text: 'UI-Zugriffsrechte bestimmen, welche Seiten und Views der Benutzer sehen kann.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>UI-Zugriffsrechte bestimmen, welche Seiten und Views der Benutzer sehen kann.</span>
src/pages/admin/AdminUserAccessOverviewPage.tsx:364
- Text: 'Keine UI-Berechtigungen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.emptyTitle}>Keine UI-Berechtigungen</h3>
src/pages/admin/AdminUserAccessOverviewPage.tsx:375
- Text: 'Gewährt durch'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<th style={{ textAlign: 'left', padding: '0.75rem', color: 'var(--text-secondary)' }}>Gewährt durch</th>
src/pages/admin/AdminUserAccessOverviewPage.tsx:383
- Text: '1px solid var(--border-color)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--border-color)',
src/pages/admin/AdminUserAccessOverviewPage.tsx:425
- Text: 'Keine Daten-Berechtigungen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.emptyTitle}>Keine Daten-Berechtigungen</h3>
src/pages/admin/AdminUserAccessOverviewPage.tsx:438
- Text: 'Löschen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<th style={{ textAlign: 'center', padding: '0.75rem', color: 'var(--text-secondary)', width: '70px' }}>Löschen</th>
src/pages/admin/AdminUserAccessOverviewPage.tsx:439
- Text: 'Gewährt durch'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<th style={{ textAlign: 'left', padding: '0.75rem', color: 'var(--text-secondary)' }}>Gewährt durch</th>
src/pages/admin/AdminUserAccessOverviewPage.tsx:447
- Text: '1px solid var(--border-color)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--border-color)',
src/pages/admin/AdminUserAccessOverviewPage.tsx:521
- Text: 'Ressourcen-Zugriffsrechte bestimmen, welche System-Ressourcen (z.B. AI-Modelle) der Benutzer verwenden kann.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Ressourcen-Zugriffsrechte bestimmen, welche System-Ressourcen (z.B. AI-Modelle) der Benutzer verwenden kann.</span>
src/pages/admin/AdminUserAccessOverviewPage.tsx:527
- Text: 'Keine Ressourcen-Berechtigungen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.emptyTitle}>Keine Ressourcen-Berechtigungen</h3>
src/pages/admin/AdminUserAccessOverviewPage.tsx:538
- Text: 'Gewährt durch'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<th style={{ textAlign: 'left', padding: '0.75rem', color: 'var(--text-secondary)' }}>Gewährt durch</th>
src/pages/admin/AdminUserAccessOverviewPage.tsx:546
- Text: '1px solid var(--border-color)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--border-color)',
src/pages/admin/AdminUserAccessOverviewPage.tsx:577
- Text: 'Fehler: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler: {error}</p>
src/pages/admin/AdminUserAccessOverviewPage.tsx:593
- Text: 'Benutzer-Zugriffsübersicht'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h1 className={styles.pageTitle}>Benutzer-Zugriffsübersicht</h1>
src/pages/admin/AdminUserAccessOverviewPage.tsx:594
- Text: 'Zeigt alle Berechtigungen eines Benutzers an'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Zeigt alle Berechtigungen eines Benutzers an</p>
src/pages/admin/AdminUserAccessOverviewPage.tsx:612
- Text: '-- Benutzer wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Benutzer wählen --</option>
src/pages/admin/AdminUserAccessOverviewPage.tsx:616
- Text: ' [SysAdmin]'
- Art: string_literal
- Kontext: string literal
- Zeile:
{user.isSysAdmin && ' [SysAdmin]'}
src/pages/admin/AdminUserAccessOverviewPage.tsx:637
- Text: 'Benutzer auswählen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.emptyTitle}>Benutzer auswählen</h3>
src/pages/admin/AdminUserAccessOverviewPage.tsx:645
- Text: 'Lade Zugriffsübersicht...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Zugriffsübersicht...</span>
src/pages/admin/AdminUserAccessOverviewPage.tsx:669
- Text: '1px solid var(--border-color)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--border-color)',
src/pages/admin/AdminUserMandatesPage.tsx:100
- Text: 'Benutzername'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Benutzername',
src/pages/admin/AdminUserMandatesPage.tsx:109
- Text: 'E-Mail'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'E-Mail',
src/pages/admin/AdminUserMandatesPage.tsx:118
- Text: 'Vollständiger Name'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Vollständiger Name',
src/pages/admin/AdminUserMandatesPage.tsx:127
- Text: 'Rollen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Rollen',
src/pages/admin/AdminUserMandatesPage.tsx:140
- Text: 'Aktiv'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Aktiv',
src/pages/admin/AdminUserMandatesPage.tsx:211
- Text: 'Fehler beim Hinzufügen des Benutzers'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Hinzufügen des Benutzers');
src/pages/admin/AdminUserMandatesPage.tsx:228
- Text: 'Fehler beim Aktualisieren der Rollen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Aktualisieren der Rollen');
src/pages/admin/AdminUserMandatesPage.tsx:240
- Text: 'Fehler beim Entfernen des Benutzers'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Entfernen des Benutzers');
src/pages/admin/AdminUserMandatesPage.tsx:263
- Text: 'Fehler: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler: {error}</p>
src/pages/admin/AdminUserMandatesPage.tsx:277
- Text: 'Verwalten Sie, welche Benutzer Zugriff auf welche Mandanten haben'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Verwalten Sie, welche Benutzer Zugriff auf welche Mandanten haben</p>
src/pages/admin/AdminUserMandatesPage.tsx:293
- Text: '-- Mandant wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Mandant wählen --</option>
src/pages/admin/AdminUserMandatesPage.tsx:326
- Text: 'Kein Mandant ausgewählt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.emptyTitle}>Kein Mandant ausgewählt</h3>
src/pages/admin/AdminUserMandatesPage.tsx:348
- Text: 'Rollen bearbeiten'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Rollen bearbeiten',
src/pages/admin/AdminUserMandatesPage.tsx:352
- Text: 'Aus Mandant entfernen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Aus Mandant entfernen',
src/pages/admin/AdminUserMandatesPage.tsx:369
- Text: 'Keine Mitglieder gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Mitglieder gefunden"
src/pages/admin/AdminUserMandatesPage.tsx:379
- Text: 'Benutzer zum Mandanten hinzufügen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Benutzer zum Mandanten hinzufügen</h2>
src/pages/admin/AdminUserMandatesPage.tsx:389
- Text: 'Alle Benutzer sind bereits diesem Mandanten zugewiesen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Alle Benutzer sind bereits diesem Mandanten zugewiesen.</p>
src/pages/admin/AdminUserMandatesPage.tsx:393
- Text: 'Lade Rollen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Rollen...</span>
src/pages/admin/AdminUserMandatesPage.tsx:401
- Text: 'Hinzufügen...'
- Art: string_literal
- Kontext: string literal
- Zeile:
submitButtonText={isSubmitting ? 'Hinzufügen...' : 'Hinzufügen'}
src/pages/admin/AdminUserMandatesPage.tsx:401
- Text: 'Hinzufügen'
- Art: string_literal
- Kontext: string literal
- Zeile:
submitButtonText={isSubmitting ? 'Hinzufügen...' : 'Hinzufügen'}
src/pages/admin/AdminUserMandatesPage.tsx:415
- Text: 'Rollen bearbeiten: {editingUser.username}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Rollen bearbeiten: {editingUser.username}</h2>
src/pages/admin/AdminUsersPage.tsx:131
- Text: 'Fehler beim Laden der Benutzer: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler beim Laden der Benutzer: {error}</p>
src/pages/admin/AdminUsersPage.tsx:145
- Text: 'Verwalten Sie alle Benutzer im System'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Verwalten Sie alle Benutzer im System</p>
src/pages/admin/AdminUsersPage.tsx:200
- Text: 'Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Löschen',
src/pages/admin/AdminUsersPage.tsx:208
- Text: 'Passwort-Link senden'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Passwort-Link senden',
src/pages/admin/AdminUsersPage.tsx:221
- Text: 'Keine Benutzer gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Benutzer gefunden"
src/pages/admin/AdminUsersPage.tsx:230
- Text: 'Neuer Benutzer'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Neuer Benutzer</h2>
src/pages/admin/AdminUsersPage.tsx:242
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/admin/AdminUsersPage.tsx:264
- Text: 'Benutzer bearbeiten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Benutzer bearbeiten</h2>
src/pages/admin/AdminUsersPage.tsx:276
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/admin/ChatbotConfigSection.tsx:14
- Text: 'Anthropic (Claude)'
- Art: string_literal
- Kontext: string literal
- Zeile:
anthropic: 'Anthropic (Claude)',
src/pages/admin/ChatbotConfigSection.tsx:15
- Text: 'OpenAI (GPT)'
- Art: string_literal
- Kontext: string literal
- Zeile:
openai: 'OpenAI (GPT)',
src/pages/admin/ChatbotConfigSection.tsx:17
- Text: 'Tavily (Web Search)'
- Art: string_literal
- Kontext: string literal
- Zeile:
tavily: 'Tavily (Web Search)',
src/pages/admin/ChatbotConfigSection.tsx:18
- Text: 'Private LLM'
- Art: string_literal
- Kontext: string literal
- Zeile:
privatellm: 'Private LLM',
src/pages/admin/ChatbotConfigSection.tsx:57
- Text: 'Althaus Preprocessor'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ id: 'preprocessor', label: 'Althaus Preprocessor', value: 'preprocessor' }
src/pages/admin/ChatbotConfigSection.tsx:113
- Text: 'Web Research aktivieren (Tavily)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Web Research aktivieren (Tavily)</span>
src/pages/admin/ChatbotConfigSection.tsx:158
- Text: 'Benutzerdefinierter System-Prompt für den Chatbot...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Benutzerdefinierter System-Prompt für den Chatbot..."
src/pages/admin/InstanceDetailModal.tsx:115
- Text: 'Benutzer hinzugefügt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Benutzer hinzugefügt', 'Der Benutzer wurde der Instanz hinzugefügt.');
src/pages/admin/InstanceDetailModal.tsx:115
- Text: 'Der Benutzer wurde der Instanz hinzugefügt.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Benutzer hinzugefügt', 'Der Benutzer wurde der Instanz hinzugefügt.');
src/pages/admin/InstanceDetailModal.tsx:117
- Text: 'Fehler beim Hinzufügen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Hinzufügen');
src/pages/admin/InstanceDetailModal.tsx:126
- Text: 'Benutzer entfernt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Benutzer entfernt',"${user.username}" wurde entfernt.);
src/pages/admin/InstanceDetailModal.tsx:128
- Text: 'Fehler beim Entfernen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Entfernen');
src/pages/admin/InstanceDetailModal.tsx:146
- Text: 'Rollen und Status wurden gespeichert.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Aktualisiert', 'Rollen und Status wurden gespeichert.');
src/pages/admin/InstanceDetailModal.tsx:148
- Text: 'Fehler beim Speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Speichern');
src/pages/admin/InstanceDetailModal.tsx:160
- Text: 'Rollen synchronisiert'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Rollen synchronisiert',
src/pages/admin/InstanceDetailModal.tsx:164
- Text: 'Synchronisierung fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Synchronisierung fehlgeschlagen');
src/pages/admin/InstanceDetailModal.tsx:175
- Text: 'Instanz aktualisiert'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Instanz aktualisiert', 'Einstellungen wurden gespeichert.');
src/pages/admin/InstanceDetailModal.tsx:175
- Text: 'Einstellungen wurden gespeichert.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Instanz aktualisiert', 'Einstellungen wurden gespeichert.');
src/pages/admin/InstanceDetailModal.tsx:177
- Text: 'Fehler beim Speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Fehler beim Speichern');
src/pages/admin/InstanceDetailModal.tsx:185
- Text: 'Benutzer'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Benutzer',
src/pages/admin/InstanceDetailModal.tsx:195
- Text: 'Rollen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Rollen',
src/pages/admin/InstanceDetailModal.tsx:208
- Text: 'Rollen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Rollen',
src/pages/admin/InstanceDetailModal.tsx:215
- Text: 'Aktiv'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Aktiv',
src/pages/admin/InstanceDetailModal.tsx:226
- Text: 'Benutzer'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Benutzer',
src/pages/admin/InstanceDetailModal.tsx:232
- Text: 'Lade Benutzer...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Benutzer...</span>
src/pages/admin/InstanceDetailModal.tsx:248
- Text: 'Rollen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Rollen',
src/pages/admin/InstanceDetailModal.tsx:272
- Text: 'Einstellungen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Einstellungen',
src/pages/admin/InstanceDetailModal.tsx:277
- Text: 'Bezeichnung'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ name: 'label', type: 'string' as const, label: 'Bezeichnung', required: true, editable: true },
src/pages/admin/InstanceDetailModal.tsx:278
- Text: 'Aktiviert'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ name: 'enabled', type: 'boolean' as const, label: 'Aktiviert', required: false, editable: true },
src/pages/admin/InstanceDetailModal.tsx:302
- Text: 'Schließen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button type="button" className={styles.modalClose} onClick={onClose} aria-label="Schließen">
src/pages/admin/InstanceDetailModal.tsx:315
- Text: 'Benutzer hinzufügen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Benutzer hinzufügen</h2>
src/pages/admin/InstanceDetailModal.tsx:322
- Text: 'Alle Mandanten-Benutzer haben bereits Zugriff.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Alle Mandanten-Benutzer haben bereits Zugriff.</p>
src/pages/admin/InstanceDetailModal.tsx:331
- Text: 'Hinzufügen'
- Art: string_literal
- Kontext: string literal
- Zeile:
submitButtonText="Hinzufügen"
src/pages/admin/InstanceDetailModal.tsx:344
- Text: 'Rollen: {editingUser.username}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Rollen: {editingUser.username}</h2>
src/pages/admin/InstanceHierarchyView.tsx:129
- Text: 'Benutzer verwalten'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Benutzer verwalten"
src/pages/admin/InstanceHierarchyView.tsx:189
- Text: 'Lade Hierarchie und Benutzer...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Hierarchie und Benutzer...</span>
src/pages/admin/InstanceHierarchyView.tsx:266
- Text: 'Keine Rollen'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Keine Rollen';
src/pages/admin/InstanceHierarchyView.tsx:286
- Text: 'Zugang: {statusText}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={hierarchyStyles.tooltipStatus}>Zugang: {statusText}</div>
src/pages/admin/PermissionMatrix.tsx:38
- Text: 'Benutzer entfernen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Benutzer entfernen',
src/pages/admin/PermissionMatrix.tsx:51
- Text: 'Keine Rollen in dieser Instanz. Bitte zuerst Rollen synchronisieren.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Keine Rollen in dieser Instanz. Bitte zuerst Rollen synchronisieren.</p>
src/pages/admin/PermissionMatrix.tsx:114
- Text: 'Rollen bearbeiten'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Rollen bearbeiten"
src/pages/admin/PermissionMatrix.tsx:123
- Text: 'Aus Instanz entfernen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Aus Instanz entfernen"
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:5
- Text: 'Invite to mandate'
- Art: string_literal
- Kontext: string literal
- Zeile:
* 1. Choose invite type: "Invite to mandate" OR "Invite to feature instance"
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:5
- Text: 'Invite to feature instance'
- Art: string_literal
- Kontext: string literal
- Zeile:
* 1. Choose invite type: "Invite to mandate" OR "Invite to feature instance"
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:67
- Text: '1px solid var(--border-color, #C5D9E8)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #C5D9E8)',
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:172
- Text: 'Bitte mindestens eine E-Mail-Adresse oder einen Benutzernamen angeben.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Bitte mindestens eine E-Mail-Adresse oder einen Benutzernamen angeben.');
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:178
- Text: 'Diese E-Mail ist bereits in der Liste'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Diese E-Mail ist bereits in der Liste');
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:182
- Text: 'Dieser Benutzername ist bereits in der Liste'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Dieser Benutzername ist bereits in der Liste');
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:197
- Text: 'Bitte wählen Sie einen Benutzer'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Bitte wählen Sie einen Benutzer');
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:204
- Text: 'Dieser Benutzer ist bereits in der Liste'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Dieser Benutzer ist bereits in der Liste');
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:234
- Text: 'Bitte wählen Sie eine Feature-Instanz aus.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Bitte wählen Sie eine Feature-Instanz aus.');
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:273
- Text: 'Fehler beim Versand'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err?.response?.data?.detail || err?.message || 'Fehler beim Versand');
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:295
- Text: 'Mandant & Instanz'
- Art: string_literal
- Kontext: string literal
- Zeile:
? ['Art', 'Mandant & Instanz', 'Einladungen', 'Zusammenfassung']
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:356
- Text: 'Wohin möchten Sie einladen?'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 style={{ margin: '0 0 16px 0', fontSize: '16px' }}>Wohin möchten Sie einladen?</h3>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:397
- Text: 'Mandant auswählen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{inviteType === 'mandate' ? 'Mandant auswählen' : 'Mandant und Feature-Instanz auswählen'}
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:397
- Text: 'Mandant und Feature-Instanz auswählen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{inviteType === 'mandate' ? 'Mandant auswählen' : 'Mandant und Feature-Instanz auswählen'}
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:400
- Text: 'Mandant *'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.formLabel}>Mandant *</label>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:411
- Text: '-- Mandant wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Mandant wählen --</option>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:419
- Text: 'Feature-Instanz *'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.formLabel}>Feature-Instanz *</label>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:421
- Text: 'Keine Feature-Instanzen für diesen Mandanten vorhanden.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p style={{ fontSize: '13px', color: 'var(--text-secondary)' }}>Keine Feature-Instanzen für diesen Mandanten vorhanden.</p>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:432
- Text: '-- Feature-Instanz wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Feature-Instanz wählen --</option>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:435
- Text: ' (deaktiviert)'
- Art: string_literal
- Kontext: string literal
- Zeile:
const suffix = inst.enabled === false ? ' (deaktiviert)' : '';
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:445
- Text: 'setStep(1)}>← Zurück'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<button className={styles.secondaryButton} onClick={() => setStep(1)}>← Zurück</button>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:461
- Text: 'Einladungen hinzufügen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 style={{ margin: '0 0 8px 0', fontSize: '16px' }}>Einladungen hinzufügen</h3>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:487
- Text: 'E-Mail (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.formLabel}>E-Mail (optional)</label>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:493
- Text: 'beispiel@firma.com'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="beispiel@firma.com"
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:497
- Text: 'Benutzername (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.formLabel}>Benutzername (optional)</label>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:504
- Text: 'z. B. vorname.nachname'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="z. B. vorname.nachname"
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:512
- Text: "Rolle{inviteType === 'featureInstance' ? ' (pro Instanz)' : ''} *"
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.formLabel}>Rolle{inviteType === 'featureInstance' ? ' (pro Instanz)' : ''} *</label>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:512
- Text: ' (pro Instanz)'
- Art: string_literal
- Kontext: string literal
- Zeile:
<label className={styles.formLabel}>Rolle{inviteType === 'featureInstance' ? ' (pro Instanz)' : ''} *</label>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:552
- Text: 'Bestehender Benutzer *'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.formLabel}>Bestehender Benutzer *</label>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:559
- Text: '-- Benutzer wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Benutzer wählen --</option>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:566
- Text: 'Keine weiteren Benutzer verfügbar.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{availableExistingUsers.length === 0 && <p style={{ fontSize: '12px', color: 'var(--text-secondary)', marginTop: '4px' }}>Keine weiteren Benutzer verfügbar.</p>}
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:570
- Text: 'Rolle *'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.formLabel}>Rolle *</label>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:644
- Text: 'Noch keine Einladungen hinzugefügt.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p style={{ color: 'var(--text-secondary)', fontSize: '13px', marginBottom: '16px' }}>Noch keine Einladungen hinzugefügt.</p>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:649
- Text: 'setStep(2)}>← Zurück'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<button className={styles.secondaryButton} onClick={() => setStep(2)}>← Zurück</button>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:666
- Text: 'Einladung zum Mandanten'
- Art: string_literal
- Kontext: string literal
- Zeile:
<strong>Art:</strong> {inviteType === 'mandate' ? 'Einladung zum Mandanten' : 'Einladung zur Feature-Instanz'}
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:666
- Text: 'Einladung zur Feature-Instanz'
- Art: string_literal
- Kontext: string literal
- Zeile:
<strong>Art:</strong> {inviteType === 'mandate' ? 'Einladung zum Mandanten' : 'Einladung zur Feature-Instanz'}
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:677
- Text: 'Einladungen ({invitees.length}):'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<strong>Einladungen ({invitees.length}):</strong>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:689
- Text: 'setStep(3)}>← Zurück'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<button className={styles.secondaryButton} onClick={() => setStep(3)}>← Zurück</button>
src/pages/admin/wizards/AdminInvitationWizardPage.tsx:695
- Text: 'Wird versendet...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isLoading ? 'Wird versendet...' :${invitees.length} Einladungen versenden}
src/pages/admin/wizards/AdminMandateWizardPage.tsx:84
- Text: ''
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
const [instanceForm, setInstanceForm] = useState({ label: '', enabled: true });
src/pages/admin/wizards/AdminMandateWizardPage.tsx:136
- Text: 'Fehler beim Laden der Mandanten'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Fehler beim Laden der Mandanten');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:230
- Text: 'Mandant erstellt'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Mandant erstellt',
src/pages/admin/wizards/AdminMandateWizardPage.tsx:231
- Text: 'Abrechnungseinstellungen konnten nicht gespeichert werden. Bitte unter Administration → Abrechnung nachpflegen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Abrechnungseinstellungen konnten nicht gespeichert werden. Bitte unter Administration → Abrechnung nachpflegen.',
src/pages/admin/wizards/AdminMandateWizardPage.tsx:237
- Text: 'Mandant inkl. Abrechnung gespeichert'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Erstellt', 'Mandant inkl. Abrechnung gespeichert');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:243
- Text: 'Fehler beim Erstellen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(e?.response?.data?.detail || e?.message || 'Fehler beim Erstellen');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:267
- Text: 'Hinzugefügt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Hinzugefügt',${ok} Benutzer zum Mandanten hinzugefügt);
src/pages/admin/wizards/AdminMandateWizardPage.tsx:272
- Text: 'Teilweise fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Teilweise fehlgeschlagen',
src/pages/admin/wizards/AdminMandateWizardPage.tsx:287
- Text: 'Benutzer aus Mandant entfernt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Entfernt', 'Benutzer aus Mandant entfernt');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:290
- Text: 'Fehler beim Entfernen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(result.error || 'Fehler beim Entfernen');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:306
- Text: ''
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
setInstanceForm({ label: '', enabled: true });
src/pages/admin/wizards/AdminMandateWizardPage.tsx:307
- Text: 'Instance erstellt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Erstellt', 'Instance erstellt');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:310
- Text: 'Fehler beim Erstellen (Limit erreicht?)'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(result.error || 'Fehler beim Erstellen (Limit erreicht?)');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:321
- Text: 'Gelöscht'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Gelöscht', 'Instance gelöscht');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:321
- Text: 'Instance gelöscht'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Gelöscht', 'Instance gelöscht');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:324
- Text: 'Fehler beim Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(result.error || 'Fehler beim Löschen');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:346
- Text: 'Hinzugefügt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Hinzugefügt',${ok} Benutzer zur Feature-Instanz hinzugefügt);
src/pages/admin/wizards/AdminMandateWizardPage.tsx:351
- Text: 'Teilweise fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Teilweise fehlgeschlagen',
src/pages/admin/wizards/AdminMandateWizardPage.tsx:368
- Text: 'Rollen aktualisiert'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Gespeichert', 'Rollen aktualisiert');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:373
- Text: 'Rollen konnten nicht gespeichert werden'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', r.error || 'Rollen konnten nicht gespeichert werden');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:389
- Text: 'Rollen aktualisiert'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Gespeichert', 'Rollen aktualisiert');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:394
- Text: 'Rollen konnten nicht gespeichert werden'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', r.error || 'Rollen konnten nicht gespeichert werden');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:403
- Text: 'Benutzer aus Feature-Instanz entfernt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Entfernt', 'Benutzer aus Feature-Instanz entfernt');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:406
- Text: 'Fehler beim Entfernen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(result.error || 'Fehler beim Entfernen');
src/pages/admin/wizards/AdminMandateWizardPage.tsx:483
- Text: '1px solid var(--border-color, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e5e7eb)',
src/pages/admin/wizards/AdminMandateWizardPage.tsx:535
- Text: 'Benutzer * (mehrfach möglich)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.formLabel}>Benutzer * (mehrfach möglich)</label>
src/pages/admin/wizards/AdminMandateWizardPage.tsx:540
- Text: '1px solid var(--border-color, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e5e7eb)',
src/pages/admin/wizards/AdminMandateWizardPage.tsx:576
- Text: 'Rollen (für alle ausgewählten Benutzer)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.formLabel}>Rollen (für alle ausgewählten Benutzer)</label>
src/pages/admin/wizards/AdminMandateWizardPage.tsx:604
- Text: 'Hinzufügen...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isLoading ? 'Hinzufügen...' : 'Hinzufügen'}
src/pages/admin/wizards/AdminMandateWizardPage.tsx:604
- Text: 'Hinzufügen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isLoading ? 'Hinzufügen...' : 'Hinzufügen'}
src/pages/admin/wizards/AdminMandateWizardPage.tsx:633
- Text: 'background 0.2s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'background 0.2s',
src/pages/admin/wizards/AdminMandateWizardPage.tsx:657
- Text: '1px solid var(--border-color, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e5e7eb)',
src/pages/admin/wizards/AdminMandateWizardPage.tsx:671
- Text: 'Schritt-für-Schritt Wizard zur Mandanten-Konfiguration'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Schritt-für-Schritt Wizard zur Mandanten-Konfiguration</p>
src/pages/admin/wizards/AdminMandateWizardPage.tsx:679
- Text: '1px solid var(--danger-color, #fecaca)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--danger-color, #fecaca)',
src/pages/admin/wizards/AdminMandateWizardPage.tsx:691
- Text: 'Mandant auswählen oder erstellen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 style={{ fontSize: '15px', fontWeight: 600, marginBottom: '16px', marginTop: 0 }}>Mandant auswählen oder erstellen</h3>
src/pages/admin/wizards/AdminMandateWizardPage.tsx:726
- Text: 'Formular wird geladen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Formular wird geladen...</span>
src/pages/admin/wizards/AdminMandateWizardPage.tsx:734
- Text: 'Mandant erstellen'
- Art: string_literal
- Kontext: string literal
- Zeile:
submitButtonText={isLoading ? 'Erstellen...' : 'Mandant erstellen'}
src/pages/admin/wizards/AdminMandateWizardPage.tsx:786
- Text: '1px solid var(--border-color, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e5e7eb)',
src/pages/admin/wizards/AdminMandateWizardPage.tsx:836
- Text: 'setStep(1)}>← Zurück'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<button className={styles.secondaryButton} onClick={() => setStep(1)}>← Zurück</button>
src/pages/admin/wizards/AdminMandateWizardPage.tsx:858
- Text: 'Feature filtern:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.formLabel}>Feature filtern:</label>
src/pages/admin/wizards/AdminMandateWizardPage.tsx:864
- Text: 'Alle Features'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">Alle Features</option>
src/pages/admin/wizards/AdminMandateWizardPage.tsx:875
- Text: '1px solid var(--border-color, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e5e7eb)',
src/pages/admin/wizards/AdminMandateWizardPage.tsx:914
- Text: 'Feature *'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.formLabel}>Feature *</label>
src/pages/admin/wizards/AdminMandateWizardPage.tsx:921
- Text: '-- Feature wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Feature wählen --</option>
src/pages/admin/wizards/AdminMandateWizardPage.tsx:933
- Text: 'z.B. Kunde A'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="z.B. Kunde A"
src/pages/admin/wizards/AdminMandateWizardPage.tsx:954
- Text: 'setStep(2)}>← Zurück'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<button className={styles.secondaryButton} onClick={() => setStep(2)}>← Zurück</button>
src/pages/admin/wizards/AdminMandateWizardPage.tsx:1003
- Text: '1px solid var(--border-color, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e5e7eb)',
src/pages/admin/wizards/AdminMandateWizardPage.tsx:1058
- Text: 'setStep(3)}>← Zurück'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<button className={styles.secondaryButton} onClick={() => setStep(3)}>← Zurück</button>
src/pages/admin/wizards/AdminMandateWizardPage.tsx:1060
- Text: 'Konfiguration abgeschlossen!'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Fertig', 'Konfiguration abgeschlossen!');
src/pages/admin/wizards/FeatureInstanceWizard.tsx:36
- Text: 'Instanz erstellen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ id: 'create', title: 'Instanz erstellen' },
src/pages/admin/wizards/FeatureInstanceWizard.tsx:38
- Text: 'Benutzer (optional)'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ id: 'users', title: 'Benutzer (optional)' },
src/pages/admin/wizards/FeatureInstanceWizard.tsx:74
- Text: 'Mandant'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ name: 'mandateId', label: 'Mandant', type: 'enum' as const, required: true, options: mandateOptions },
src/pages/admin/wizards/FeatureInstanceWizard.tsx:75
- Text: 'Feature'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ name: 'featureCode', label: 'Feature', type: 'enum' as const, required: true, options: featureOptions },
src/pages/admin/wizards/FeatureInstanceWizard.tsx:76
- Text: 'Bezeichnung'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ name: 'label', label: 'Bezeichnung', type: 'string' as const, required: true, editable: true },
src/pages/admin/wizards/FeatureInstanceWizard.tsx:77
- Text: 'Aktiv'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ name: 'enabled', label: 'Aktiv', type: 'boolean' as const, required: false, editable: true },
src/pages/admin/wizards/FeatureInstanceWizard.tsx:104
- Text: 'Instanz konnte nicht erstellt werden'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', result.error || 'Instanz konnte nicht erstellt werden');
src/pages/admin/wizards/FeatureInstanceWizard.tsx:152
- Text: 'Feature-Instanz wurde erstellt und Benutzer zugewiesen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Fertig', 'Feature-Instanz wurde erstellt und Benutzer zugewiesen.');
src/pages/admin/wizards/FeatureInstanceWizard.tsx:155
- Text: 'Einige Benutzer konnten nicht zugewiesen werden.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', 'Einige Benutzer konnten nicht zugewiesen werden.');
src/pages/admin/wizards/FeatureInstanceWizard.tsx:175
- Text: 'Neue Feature-Instanz'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Neue Feature-Instanz</h2>
src/pages/admin/wizards/FeatureInstanceWizard.tsx:176
- Text: 'Schließen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button type="button" className={styles.modalClose} onClick={onClose} aria-label="Schließen">
src/pages/admin/wizards/FeatureInstanceWizard.tsx:243
- Text: 'Keine Mandanten-Benutzer vorhanden.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={wizardStyles.stepText}>Keine Mandanten-Benutzer vorhanden.</p>
src/pages/admin/wizards/FeatureInstanceWizard.tsx:261
- Text: '— Keine Rolle —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— Keine Rolle —</option>
src/pages/basedata/ConnectionsPage.tsx:237
- Text: 'Fehler beim Laden der Verbindungen: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler beim Laden der Verbindungen: {error}</p>
src/pages/basedata/ConnectionsPage.tsx:253
- Text: ', ClickUp'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isClickupConnectionUiEnabled ? ', ClickUp' : ''})
src/pages/basedata/ConnectionsPage.tsx:261
- Text: 'Microsoft Admin Consent — erteilt der App die nötigen Berechtigungen für den gesamten Tenant'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Microsoft Admin Consent — erteilt der App die nötigen Berechtigungen für den gesamten Tenant"
src/pages/basedata/ConnectionsPage.tsx:294
- Text: 'ClickUp-Konto verbinden'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="ClickUp-Konto verbinden"
src/pages/basedata/ConnectionsPage.tsx:324
- Text: 'Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Löschen',
src/pages/basedata/ConnectionsPage.tsx:343
- Text: 'Token erneuern'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Token erneuern',
src/pages/basedata/ConnectionsPage.tsx:357
- Text: 'Keine Verbindungen gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Verbindungen gefunden"
src/pages/basedata/ConnectionsPage.tsx:366
- Text: 'Verbindung bearbeiten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Verbindung bearbeiten</h2>
src/pages/basedata/ConnectionsPage.tsx:378
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/basedata/FilesPage.tsx:148
- Text: 'Created By'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Created By',
src/pages/basedata/FilesPage.tsx:218
- Text: 'Upload erfolgreich'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Upload erfolgreich',
src/pages/basedata/FilesPage.tsx:222
- Text: 'Upload fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Upload fehlgeschlagen',${errorCount} Datei(en) konnten nicht hochgeladen werden);
src/pages/basedata/FilesPage.tsx:228
- Text: 'Neuer Ordnername:'
- Art: string_literal
- Kontext: string literal
- Zeile:
const name = await promptInput('Neuer Ordnername:', { title: 'Neuer Ordner', placeholder: 'Ordnername' });
src/pages/basedata/FilesPage.tsx:228
- Text: 'Neuer Ordner'
- Art: string_literal
- Kontext: string literal
- Zeile:
const name = await promptInput('Neuer Ordnername:', { title: 'Neuer Ordner', placeholder: 'Ordnername' });
src/pages/basedata/FilesPage.tsx:303
- Text: 'Fehler beim Laden der Dateien: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler beim Laden der Dateien: {error}</p>
src/pages/basedata/FilesPage.tsx:344
- Text: '1px solid var(--color-border, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderRight: '1px solid var(--color-border, #e0e0e0)',
src/pages/basedata/FilesPage.tsx:385
- Text: 'background 0.15s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: isDragging ? 'none' : 'background 0.15s',
src/pages/basedata/FilesPage.tsx:398
- Text: '1px solid var(--color-border, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--color-border, #e0e0e0)',
src/pages/basedata/FilesPage.tsx:406
- Text: 'Datei hochladen'
- Art: string_literal
- Kontext: string literal
- Zeile:
<FaUpload /> {uploadingFile ? 'Uploading...' : 'Datei hochladen'}
src/pages/basedata/FilesPage.tsx:438
- Text: 'Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Löschen',
src/pages/basedata/FilesPage.tsx:468
- Text: 'Keine Dateien gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Dateien gefunden"
src/pages/basedata/FilesPage.tsx:479
- Text: 'Datei bearbeiten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Datei bearbeiten</h2>
src/pages/basedata/FilesPage.tsx:486
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/basedata/PromptsPage.tsx:77
- Text: 'Created By'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Created By',
src/pages/basedata/PromptsPage.tsx:161
- Text: 'Fehler beim Laden der Prompts: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler beim Laden der Prompts: {error}</p>
src/pages/basedata/PromptsPage.tsx:175
- Text: 'Prompt-Templates verwalten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Prompt-Templates verwalten</p>
src/pages/basedata/PromptsPage.tsx:221
- Text: 'Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Löschen',
src/pages/basedata/PromptsPage.tsx:234
- Text: 'Keine Prompts gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Prompts gefunden"
src/pages/basedata/PromptsPage.tsx:243
- Text: 'Neuer Prompt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Neuer Prompt</h2>
src/pages/basedata/PromptsPage.tsx:255
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/basedata/PromptsPage.tsx:277
- Text: 'Prompt bearbeiten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Prompt bearbeiten</h2>
src/pages/basedata/PromptsPage.tsx:289
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/billing/AdminSubscriptionsPage.tsx:11
- Text: 'Mandant'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'mandateName', label: 'Mandant', type: 'text', sortable: true, filterable: true, width: 180 },
src/pages/billing/AdminSubscriptionsPage.tsx:12
- Text: 'Plan'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'planTitle', label: 'Plan', type: 'text', sortable: true, filterable: true, width: 180 },
src/pages/billing/AdminSubscriptionsPage.tsx:13
- Text: 'Status'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'status', label: 'Status', type: 'text', sortable: true, filterable: true, width: 110 },
src/pages/billing/AdminSubscriptionsPage.tsx:14
- Text: 'Wiederkehrend'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'recurring', label: 'Wiederkehrend', type: 'boolean', sortable: true, filterable: true, width: 120 },
src/pages/billing/AdminSubscriptionsPage.tsx:15
- Text: 'User'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'activeUsers', label: 'User', type: 'number', sortable: true, width: 70 },
src/pages/billing/AdminSubscriptionsPage.tsx:16
- Text: 'Instanzen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'activeInstances', label: 'Instanzen', type: 'number', sortable: true, width: 90 },
src/pages/billing/AdminSubscriptionsPage.tsx:17
- Text: 'Revenue/Mt (CHF)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'monthlyRevenueCHF', label: 'Revenue/Mt (CHF)', type: 'number', sortable: true, width: 140 },
src/pages/billing/AdminSubscriptionsPage.tsx:18
- Text: 'Gestartet'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'startedAt', label: 'Gestartet', type: 'date', sortable: true, filterable: true, width: 130 },
src/pages/billing/AdminSubscriptionsPage.tsx:19
- Text: 'Periodenende'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'currentPeriodEnd', label: 'Periodenende', type: 'date', sortable: true, filterable: true, width: 130 },
src/pages/billing/AdminSubscriptionsPage.tsx:20
- Text: 'Preis/User'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'snapshotPricePerUserCHF', label: 'Preis/User', type: 'number', sortable: true, width: 100 },
src/pages/billing/AdminSubscriptionsPage.tsx:21
- Text: 'Preis/Instanz'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'snapshotPricePerInstanceCHF', label: 'Preis/Instanz', type: 'number', sortable: true, width: 110 },
src/pages/billing/AdminSubscriptionsPage.tsx:31
- Text: 'Sofort kündigen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ confirmLabel: 'Sofort kündigen', cancelLabel: 'Abbrechen', variant: 'danger' },
src/pages/billing/AdminSubscriptionsPage.tsx:46
- Text: 'Subscription-Übersicht'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h1>Subscription-Übersicht</h1>
src/pages/billing/AdminSubscriptionsPage.tsx:47
- Text: 'Alle Abonnements aller Mandanten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.subtitle}>Alle Abonnements aller Mandanten</p>
src/pages/billing/AdminSubscriptionsPage.tsx:63
- Text: 'Sofort kündigen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Sofort kündigen',
src/pages/billing/AdminSubscriptionsPage.tsx:69
- Text: 'Keine Subscriptions vorhanden.'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Subscriptions vorhanden."
src/pages/billing/BillingAdmin.tsx:67
- Text: '-- Mandant wählen --'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">-- Mandant wählen --</option>
src/pages/billing/BillingAdmin.tsx:119
- Text: 'Einstellungen gespeichert!'
- Art: string_literal
- Kontext: string literal
- Zeile:
setMessage({ type: 'success', text: 'Einstellungen gespeichert!' });
src/pages/billing/BillingAdmin.tsx:121
- Text: 'Fehler beim Speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
setMessage({ type: 'error', text: err.message || 'Fehler beim Speichern' });
src/pages/billing/BillingAdmin.tsx:182
- Text: 'Betrag pro Nachladung (CHF)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Betrag pro Nachladung (CHF)</label>
src/pages/billing/BillingAdmin.tsx:384
- Text: 'Betrag muss positiv sein'
- Art: string_literal
- Kontext: string literal
- Zeile:
setLocalMsg('Betrag muss positiv sein');
src/pages/billing/BillingAdmin.tsx:421
- Text: 'Betrag (CHF)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>Betrag (CHF)</label>
src/pages/billing/BillingAdmin.tsx:427
- Text: 'z.B. 50'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="z.B. 50"
src/pages/billing/BillingAdmin.tsx:484
- Text: 'Mandant nicht ausgewählt'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (!selectedMandateId) throw new Error('Mandant nicht ausgewählt');
src/pages/billing/BillingAdmin.tsx:486
- Text: 'Gutschrift konnte nicht erstellt werden'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (!result) throw new Error('Gutschrift konnte nicht erstellt werden');
src/pages/billing/BillingAdmin.tsx:650
- Text: '1px solid var(--color-border, #333)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--color-border, #333)',
src/pages/billing/BillingDashboard.tsx:67
- Text: 'Lade Statistiken...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.loadingPlaceholder}>Lade Statistiken...</div>;
src/pages/billing/BillingDashboard.tsx:71
- Text: 'Keine Statistiken verfügbar'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.noData}>Keine Statistiken verfügbar</div>;
src/pages/billing/BillingDashboard.tsx:85
- Text: 'Kosten nach Anbieter'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4>Kosten nach Anbieter</h4>
src/pages/billing/BillingDashboard.tsx:87
- Text: 'Keine Daten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.noData}>Keine Daten</div>
src/pages/billing/BillingDashboard.tsx:107
- Text: 'Kosten nach Modell'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4>Kosten nach Modell</h4>
src/pages/billing/BillingDashboard.tsx:109
- Text: 'Keine Daten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.noData}>Keine Daten</div>
src/pages/billing/BillingDashboard.tsx:129
- Text: 'Kosten nach Feature'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4>Kosten nach Feature</h4>
src/pages/billing/BillingDashboard.tsx:131
- Text: 'Keine Daten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.noData}>Keine Daten</div>
src/pages/billing/BillingDashboard.tsx:180
- Text: 'Januar'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 1, label: 'Januar' },
src/pages/billing/BillingDashboard.tsx:181
- Text: 'Februar'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 2, label: 'Februar' },
src/pages/billing/BillingDashboard.tsx:182
- Text: 'März'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 3, label: 'März' },
src/pages/billing/BillingDashboard.tsx:183
- Text: 'April'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 4, label: 'April' },
src/pages/billing/BillingDashboard.tsx:184
- Text: 'Mai'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 5, label: 'Mai' },
src/pages/billing/BillingDashboard.tsx:185
- Text: 'Juni'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 6, label: 'Juni' },
src/pages/billing/BillingDashboard.tsx:186
- Text: 'Juli'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 7, label: 'Juli' },
src/pages/billing/BillingDashboard.tsx:187
- Text: 'August'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 8, label: 'August' },
src/pages/billing/BillingDashboard.tsx:188
- Text: 'September'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 9, label: 'September' },
src/pages/billing/BillingDashboard.tsx:189
- Text: 'Oktober'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 10, label: 'Oktober' },
src/pages/billing/BillingDashboard.tsx:190
- Text: 'November'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 11, label: 'November' },
src/pages/billing/BillingDashboard.tsx:191
- Text: 'Dezember'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ value: 12, label: 'Dezember' },
src/pages/billing/BillingDashboard.tsx:198
- Text: 'Übersicht über Guthaben und Nutzung'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.subtitle}>Übersicht über Guthaben und Nutzung</p>
src/pages/billing/BillingDashboard.tsx:207
- Text: 'Lade Guthaben...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.loadingPlaceholder}>Lade Guthaben...</div>
src/pages/billing/BillingDashboard.tsx:209
- Text: 'Keine Abrechnungskonten vorhanden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.noData}>Keine Abrechnungskonten vorhanden</div>
src/pages/billing/BillingDataView.tsx:5
- Text: 'Übersicht'
- Art: string_literal
- Kontext: string literal
- Zeile:
* - Tab "Übersicht": KPI grid with cost, balance, storage metrics
src/pages/billing/BillingDataView.tsx:90
- Text: '1px solid var(--color-border, #333)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--color-border, #333)',
src/pages/billing/BillingDataView.tsx:133
- Text: '{n} Transaktionen'
- Art: string_literal
- Kontext: string literal
- Zeile:
subtitle: tr('{n} Transaktionen', { n: String(viewStats.transactionCount) }),
src/pages/billing/BillingDataView.tsx:138
- Text: 'Top: {name}'
- Art: string_literal
- Kontext: string literal
- Zeile:
subtitle: topProvider ? tr('Top: {name}', { name: topProvider[0] }) : tr('Keine Nutzung'),
src/pages/billing/BillingDataView.tsx:138
- Text: 'Keine Nutzung'
- Art: string_literal
- Kontext: string literal
- Zeile:
subtitle: topProvider ? tr('Top: {name}', { name: topProvider[0] }) : tr('Keine Nutzung'),
src/pages/billing/BillingDataView.tsx:143
- Text: 'Top: {name}'
- Art: string_literal
- Kontext: string literal
- Zeile:
subtitle: topModel ? tr('Top: {name}', { name: topModel[0] }) : tr('Keine Nutzung'),
src/pages/billing/BillingDataView.tsx:143
- Text: 'Keine Nutzung'
- Art: string_literal
- Kontext: string literal
- Zeile:
subtitle: topModel ? tr('Top: {name}', { name: topModel[0] }) : tr('Keine Nutzung'),
src/pages/billing/BillingDataView.tsx:148
- Text: 'Top: {name}'
- Art: string_literal
- Kontext: string literal
- Zeile:
subtitle: topFeature ? tr('Top: {name}', { name: topFeature[0] }) : tr('Keine Nutzung'),
src/pages/billing/BillingDataView.tsx:148
- Text: 'Keine Nutzung'
- Art: string_literal
- Kontext: string literal
- Zeile:
subtitle: topFeature ? tr('Top: {name}', { name: topFeature[0] }) : tr('Keine Nutzung'),
src/pages/billing/BillingDataView.tsx:179
- Text: '{n} Transaktionen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ label: tr('Gesamtkosten'), value: _formatCurrency(viewStats.totalCost), subtitle: tr('{n} Transaktionen', { n: String(viewStats.transactionCount) }) },
src/pages/billing/BillingDataView.tsx:180
- Text: 'pro Transaktion'
- Art: string_literal
- Kontext: string literal
- Zeile:
{ label: tr('Durchschnitt'), value: _formatCurrency(avgCost), subtitle: tr('pro Transaktion') },
src/pages/billing/BillingDataView.tsx:196
- Text: 'Kosten nach Anbieter'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: tr('Kosten nach Anbieter'),
src/pages/billing/BillingDataView.tsx:204
- Text: 'Kosten nach Modell'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: tr('Kosten nach Modell'),
src/pages/billing/BillingDataView.tsx:212
- Text: 'Kosten nach Feature'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: tr('Kosten nach Feature'),
src/pages/billing/BillingDataView.tsx:220
- Text: 'Kosten nach Mandant'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: tr('Kosten nach Mandant'),
src/pages/billing/BillingDataView.tsx:277
- Text: 'Zahlung erfolgreich. Guthaben wurde verbucht.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setCheckoutMessage({ type: 'success', text: 'Zahlung erfolgreich. Guthaben wurde verbucht.' });
src/pages/billing/BillingDataView.tsx:523
- Text: 'Nutzung, Diagramme und Transaktionen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.subtitle}>Nutzung, Diagramme und Transaktionen</p>
src/pages/billing/BillingDataView.tsx:586
- Text: '1px solid var(--border-color, #333)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #333)',
src/pages/billing/BillingMandateView.tsx:47
- Text: 'Anzahl Benutzer'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<th>Anzahl Benutzer</th>
src/pages/billing/BillingMandateView.tsx:48
- Text: 'Warnschwelle (%)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<th>Warnschwelle (%)</th>
src/pages/billing/BillingMandateView.tsx:217
- Text: 'Guthaben und Transaktionen pro Mandant'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.subtitle}>Guthaben und Transaktionen pro Mandant</p>
src/pages/billing/BillingMandateView.tsx:228
- Text: 'Lade Daten...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.loadingPlaceholder}>Lade Daten...</div>
src/pages/billing/BillingMandateView.tsx:230
- Text: 'Keine Mandanten mit Billing-Settings vorhanden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.noData}>Keine Mandanten mit Billing-Settings vorhanden</div>
src/pages/billing/BillingMandateView.tsx:253
- Text: 'Lade Transaktionen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.loadingPlaceholder}>Lade Transaktionen...</div>
src/pages/billing/BillingMandateView.tsx:255
- Text: 'Keine Transaktionen vorhanden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.noData}>Keine Transaktionen vorhanden</div>
src/pages/billing/BillingMandateView.tsx:267
- Text: 'Mehr laden'
- Art: string_literal
- Kontext: string literal
- Zeile:
{loading ? 'Laden...' : 'Mehr laden'}
src/pages/billing/BillingNav.tsx:27
- Text: '1px solid var(--color-border)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--color-border)',
src/pages/billing/BillingTransactions.tsx:97
- Text: 'Übersicht aller Kontobewegungen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.subtitle}>Übersicht aller Kontobewegungen</p>
src/pages/billing/BillingTransactions.tsx:104
- Text: 'Lade Transaktionen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.loadingPlaceholder}>Lade Transaktionen...</div>
src/pages/billing/BillingTransactions.tsx:106
- Text: 'Keine Transaktionen vorhanden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.noData}>Keine Transaktionen vorhanden</div>
src/pages/billing/BillingTransactions.tsx:138
- Text: 'Mehr laden'
- Art: string_literal
- Kontext: string literal
- Zeile:
{loading ? 'Laden...' : 'Mehr laden'}
src/pages/billing/BillingUserView.tsx:92
- Text: 'Alle Mandanten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">Alle Mandanten</option>
src/pages/billing/BillingUserView.tsx:107
- Text: 'Alle Benutzer'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">Alle Benutzer</option>
src/pages/billing/BillingUserView.tsx:313
- Text: 'Guthaben und Transaktionen pro Benutzer'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.subtitle}>Guthaben und Transaktionen pro Benutzer</p>
src/pages/billing/BillingUserView.tsx:322
- Text: 'Lade Daten...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.loadingPlaceholder}>Lade Daten...</div>
src/pages/billing/BillingUserView.tsx:324
- Text: 'Keine Benutzer-Konten vorhanden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.noData}>Keine Benutzer-Konten vorhanden</div>
src/pages/billing/BillingUserView.tsx:349
- Text: 'Lade Transaktionen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.loadingPlaceholder}>Lade Transaktionen...</div>
src/pages/billing/BillingUserView.tsx:351
- Text: 'Keine Transaktionen vorhanden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.noData}>Keine Transaktionen vorhanden</div>
src/pages/billing/BillingUserView.tsx:367
- Text: 'Mehr laden'
- Art: string_literal
- Kontext: string literal
- Zeile:
{loading ? 'Laden...' : 'Mehr laden'}
src/pages/billing/SubscriptionTab.tsx:44
- Text: 'Zahlung ausstehend'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
PENDING: { label: 'Zahlung ausstehend', color: '#f59e0b' },
src/pages/billing/SubscriptionTab.tsx:45
- Text: 'Geplant'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
SCHEDULED: { label: 'Geplant', color: '#8b5cf6' },
src/pages/billing/SubscriptionTab.tsx:46
- Text: 'Aktiv'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
ACTIVE: { label: 'Aktiv', color: '#22c55e' },
src/pages/billing/SubscriptionTab.tsx:47
- Text: 'Testphase'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
TRIALING: { label: 'Testphase', color: '#38bdf8' },
src/pages/billing/SubscriptionTab.tsx:48
- Text: 'Zahlung ausstehend'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
PAST_DUE: { label: 'Zahlung ausstehend', color: '#f59e0b' },
src/pages/billing/SubscriptionTab.tsx:49
- Text: 'Abgelaufen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
EXPIRED: { label: 'Abgelaufen', color: '#6b7280' },
src/pages/billing/SubscriptionTab.tsx:54
- Text: 'Jährlich'
- Art: string_literal
- Kontext: string literal
- Zeile:
YEARLY: 'Jährlich',
src/pages/billing/SubscriptionTab.tsx:78
- Text: '2px solid var(--primary-color, #F25843)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: isCurrent ? '2px solid var(--primary-color, #F25843)' : '1px solid var(--color-border, var(--border-color, #333))',
src/pages/billing/SubscriptionTab.tsx:78
- Text: '1px solid var(--color-border, var(--border-color, #333))'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: isCurrent ? '2px solid var(--primary-color, #F25843)' : '1px solid var(--color-border, var(--border-color, #333))',
src/pages/billing/SubscriptionTab.tsx:103
- Text: '/ {_periodLabel[plan.billingPeriod] || plan.billingPeriod}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div>User: <strong>{_formatCurrency(plan.pricePerUserCHF)}</strong> / {_periodLabel[plan.billingPeriod] || plan.billingPeriod}</div>
src/pages/billing/SubscriptionTab.tsx:104
- Text: '/ {_periodLabel[plan.billingPeriod] || plan.billingPeriod}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div>Instanz: <strong>{_formatCurrency(plan.pricePerFeatureInstanceCHF)}</strong> / {_periodLabel[plan.billingPeriod] || plan.billingPeriod}</div>
src/pages/billing/SubscriptionTab.tsx:124
- Text: '· max. {plan.maxUsers} User'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{plan.maxUsers && <> · max. {plan.maxUsers} User</>}
src/pages/billing/SubscriptionTab.tsx:125
- Text: '· max. {plan.maxFeatureInstances} Instanzen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{plan.maxFeatureInstances && <> · max. {plan.maxFeatureInstances} Instanzen</>}
src/pages/billing/SubscriptionTab.tsx:129
- Text: '· Speicher inkl. {formatBinaryDataSizeFromMebibytes(plan.maxDataVolumeMB)}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<> · Speicher inkl. {formatBinaryDataSizeFromMebibytes(plan.maxDataVolumeMB)}</>
src/pages/billing/SubscriptionTab.tsx:131
- Text: '· AI-Budget { _formatCurrency(plan.budgetAiCHF ?? 0)}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{(plan.budgetAiCHF ?? 0) > 0 && <> · AI-Budget { _formatCurrency(plan.budgetAiCHF ?? 0)}</>}
src/pages/billing/SubscriptionTab.tsx:150
- Text: 'Kostenpflichtig abonnieren'
- Art: string_literal
- Kontext: string literal
- Zeile:
: (!isFreePlan && !plan.trialDays) ? 'Kostenpflichtig abonnieren' : 'Auswählen'}
src/pages/billing/SubscriptionTab.tsx:150
- Text: 'Auswählen'
- Art: string_literal
- Kontext: string literal
- Zeile:
: (!isFreePlan && !plan.trialDays) ? 'Kostenpflichtig abonnieren' : 'Auswählen'}
src/pages/billing/SubscriptionTab.tsx:180
- Text: '1px solid var(--color-border, var(--border-color, #333))'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--color-border, var(--border-color, #333))',
src/pages/billing/SubscriptionTab.tsx:198
- Text: 'Gekündigt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
}}>Gekündigt</span>
src/pages/billing/SubscriptionTab.tsx:215
- Text: 'Zahlung erfolgreich. Abonnement wird aktiviert — bitte warten...'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Zahlung erfolgreich. Abonnement wird aktiviert — bitte warten...'
src/pages/billing/SubscriptionTab.tsx:216
- Text: 'Die Zahlung wurde noch nicht abgeschlossen. Sie können den Checkout abbrechen oder erneut starten.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Die Zahlung wurde noch nicht abgeschlossen. Sie können den Checkout abbrechen oder erneut starten.'}
src/pages/billing/SubscriptionTab.tsx:235
- Text: 'Gestartet: {_formatDate(sub.startedAt)}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Gestartet: {_formatDate(sub.startedAt)}</span>
src/pages/billing/SubscriptionTab.tsx:236
- Text: "Periode: {_periodLabel[plan.billingPeriod] || '—'}"
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{plan && <span>Periode: {_periodLabel[plan.billingPeriod] || '—'}</span>}
src/pages/billing/SubscriptionTab.tsx:237
- Text: 'Periodenende: {_formatDate(sub.currentPeriodEnd)}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{sub.currentPeriodEnd && <span>Periodenende: {_formatDate(sub.currentPeriodEnd)}</span>}
src/pages/billing/SubscriptionTab.tsx:238
- Text: 'Trial endet: {_formatDate(sub.trialEndsAt)}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{sub.trialEndsAt && <span>Trial endet: {_formatDate(sub.trialEndsAt)}</span>}
src/pages/billing/SubscriptionTab.tsx:240
- Text: 'Läuft aus am: {_formatDate(sub.currentPeriodEnd)}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span style={{ color: '#ef4444' }}>Läuft aus am: {_formatDate(sub.currentPeriodEnd)}</span>
src/pages/billing/SubscriptionTab.tsx:244
- Text: 'AI-Budget (inkl.): {_formatCurrency(plan.budgetAiCHF ?? 0)} / Periode'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>AI-Budget (inkl.): {_formatCurrency(plan.budgetAiCHF ?? 0)} / Periode</span>
src/pages/billing/SubscriptionTab.tsx:270
- Text: 'Wird reaktiviert...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{reactivating ? 'Wird reaktiviert...' : 'Reaktivieren'}
src/pages/billing/SubscriptionTab.tsx:285
- Text: 'Wird gekündigt...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{cancelling ? 'Wird gekündigt...' : 'Kündigen'}
src/pages/billing/SubscriptionTab.tsx:285
- Text: 'Kündigen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{cancelling ? 'Wird gekündigt...' : 'Kündigen'}
src/pages/billing/SubscriptionTab.tsx:300
- Text: 'Wird abgebrochen...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{cancelling ? 'Wird abgebrochen...' : 'Abbrechen'}
src/pages/billing/SubscriptionTab.tsx:343
- Text: 'Zahlung erfolgreich — Abonnement wird aktiviert...'
- Art: string_literal
- Kontext: string literal
- Zeile:
setCheckoutMessage({ type: 'success', text: 'Zahlung erfolgreich — Abonnement wird aktiviert...' });
src/pages/billing/SubscriptionTab.tsx:357
- Text: 'Abonnement wurde aktiviert.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setCheckoutMessage({ type: 'success', text: 'Abonnement wurde aktiviert.' });
src/pages/billing/SubscriptionTab.tsx:370
- Text: 'Checkout abgebrochen. Ihr bestehendes Abonnement bleibt aktiv.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setCheckoutMessage({ type: 'info', text: 'Checkout abgebrochen. Ihr bestehendes Abonnement bleibt aktiv.' });
src/pages/billing/SubscriptionTab.tsx:381
- Text: 'Abonnement wurde aktiviert.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setCheckoutMessage({ type: 'success', text: 'Abonnement wurde aktiviert.' });
src/pages/billing/SubscriptionTab.tsx:391
- Text: 'Fehler beim Aktivieren'
- Art: string_literal
- Kontext: string literal
- Zeile:
setActionError(err?.response?.data?.detail || err.message || 'Fehler beim Aktivieren');
src/pages/billing/SubscriptionTab.tsx:402
- Text: 'Diesen Vorgang abbrechen?'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Diesen Vorgang abbrechen?'
src/pages/billing/SubscriptionTab.tsx:403
- Text: 'Abonnement kündigen? Es bleibt bis zum Periodenende aktiv.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Abonnement kündigen? Es bleibt bis zum Periodenende aktiv.',
src/pages/billing/SubscriptionTab.tsx:405
- Text: 'Vorgang abbrechen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: isPendingOrScheduled ? 'Vorgang abbrechen' : 'Abonnement kündigen',
src/pages/billing/SubscriptionTab.tsx:405
- Text: 'Abonnement kündigen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: isPendingOrScheduled ? 'Vorgang abbrechen' : 'Abonnement kündigen',
src/pages/billing/SubscriptionTab.tsx:406
- Text: 'Ja, abbrechen'
- Art: string_literal
- Kontext: string literal
- Zeile:
confirmLabel: isPendingOrScheduled ? 'Ja, abbrechen' : 'Kündigen',
src/pages/billing/SubscriptionTab.tsx:406
- Text: 'Kündigen'
- Art: string_literal
- Kontext: string literal
- Zeile:
confirmLabel: isPendingOrScheduled ? 'Ja, abbrechen' : 'Kündigen',
src/pages/billing/SubscriptionTab.tsx:407
- Text: 'Nein, zurück'
- Art: string_literal
- Kontext: string literal
- Zeile:
cancelLabel: isPendingOrScheduled ? 'Nein, zurück' : 'Abbrechen',
src/pages/billing/SubscriptionTab.tsx:430
- Text: 'Fehler beim Reaktivieren'
- Art: string_literal
- Kontext: string literal
- Zeile:
setActionError(err?.response?.data?.detail || err.message || 'Fehler beim Reaktivieren');
src/pages/billing/SubscriptionTab.tsx:437
- Text: 'Lade Abonnement-Daten...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.loadingPlaceholder}>Lade Abonnement-Daten...</div>;
src/pages/billing/SubscriptionTab.tsx:464
- Text: 'Aktuelles Abonnement'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.sectionTitle}>Aktuelles Abonnement</h2>
src/pages/billing/SubscriptionTab.tsx:470
- Text: 'Zahlung wird verarbeitet'
- Art: string_literal
- Kontext: string literal
- Zeile:
? (justPaid ? 'Zahlung wird verarbeitet' : 'Checkout in Bearbeitung')
src/pages/billing/SubscriptionTab.tsx:470
- Text: 'Checkout in Bearbeitung'
- Art: string_literal
- Kontext: string literal
- Zeile:
? (justPaid ? 'Zahlung wird verarbeitet' : 'Checkout in Bearbeitung')
src/pages/billing/SubscriptionTab.tsx:471
- Text: 'Operatives Abonnement'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Operatives Abonnement'}
src/pages/billing/SubscriptionTab.tsx:488
- Text: 'Geplanter Nachfolger'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.sectionTitle}>Geplanter Nachfolger</h2>
src/pages/billing/SubscriptionTab.tsx:492
- Text: 'Startet nach Ablauf des aktuellen Abonnements'
- Art: string_literal
- Kontext: string literal
- Zeile:
label="Startet nach Ablauf des aktuellen Abonnements"
src/pages/billing/SubscriptionTab.tsx:502
- Text: 'Verfügbare Pläne'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.sectionTitle}>Verfügbare Pläne</h2>
src/pages/billing/SubscriptionTab.tsx:504
- Text: 'Keine Pläne verfügbar'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.noData}>Keine Pläne verfügbar</div>
src/pages/views/chatbot/ChatbotConversationsView.tsx:83
- Text: 'Möchten Sie diese Konversation wirklich löschen?'
- Art: string_literal
- Kontext: string literal
- Zeile:
const ok = await confirm('Möchten Sie diese Konversation wirklich löschen?', {
src/pages/views/chatbot/ChatbotConversationsView.tsx:84
- Text: 'Konversation löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Konversation löschen',
src/pages/views/chatbot/ChatbotConversationsView.tsx:85
- Text: 'Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
confirmLabel: 'Löschen',
src/pages/views/chatbot/ChatbotConversationsView.tsx:108
- Text: 'Gerade eben'
- Art: string_literal
- Kontext: string literal
- Zeile:
if (diffMins < 1) return 'Gerade eben';
src/pages/views/chatbot/ChatbotConversationsView.tsx:125
- Text: 'Neue Konversation'
- Art: string_literal
- Kontext: string literal
- Zeile:
return 'Neue Konversation';
src/pages/views/chatbot/ChatbotConversationsView.tsx:137
- Text: 'Neue Konversation'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Neue Konversation"
src/pages/views/chatbot/ChatbotConversationsView.tsx:146
- Text: 'Lade Konversationen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Konversationen...</span>
src/pages/views/chatbot/ChatbotConversationsView.tsx:158
- Text: 'Noch keine Konversationen vorhanden.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Noch keine Konversationen vorhanden.</p>
src/pages/views/chatbot/ChatbotConversationsView.tsx:159
- Text: 'Starte eine neue Konversation, um zu beginnen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.emptyHint}>Starte eine neue Konversation, um zu beginnen.</p>
src/pages/views/chatbot/ChatbotConversationsView.tsx:179
- Text: 'Löschen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Löschen"
src/pages/views/chatbot/ChatbotConversationsView.tsx:200
- Text: 'Lade Nachrichten...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Nachrichten...</span>
src/pages/views/chatbot/ChatbotConversationsView.tsx:249
- Text: 'Nachricht eingeben...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Nachricht eingeben..."
src/pages/views/commcoach/CommcoachDashboardView.tsx:25
- Text: 'Dashboard wird geladen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.loading}>Dashboard wird geladen...</div>;
src/pages/views/commcoach/CommcoachDashboardView.tsx:33
- Text: 'Keine Daten verfügbar.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.empty}>Keine Daten verfügbar.</div>;
src/pages/views/commcoach/CommcoachDashboardView.tsx:42
- Text: 'Tage Streak'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.kpiLabel}>Tage Streak</div>
src/pages/views/commcoach/CommcoachDashboardView.tsx:43
- Text: 'Rekord: {dashboard.longestStreak}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.kpiSub}>Rekord: {dashboard.longestStreak}</div>
src/pages/views/commcoach/CommcoachDashboardView.tsx:68
- Text: 'Aktive Coaching-Themen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.sectionTitle}>Aktive Coaching-Themen</h3>
src/pages/views/commcoach/CommcoachDashboardView.tsx:71
- Text: 'Noch keine Coaching-Themen erstellt.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Noch keine Coaching-Themen erstellt.</p>
src/pages/views/commcoach/CommcoachDashboardView.tsx:72
- Text: 'Wechsle zum Coaching-Tab, um dein erstes Thema anzulegen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Wechsle zum Coaching-Tab, um dein erstes Thema anzulegen.</p>
src/pages/views/commcoach/CommcoachDashboardView.tsx:89
- Text: 'Ziele: {ctx.goalProgress}%'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{ctx.goalProgress != null && <span>Ziele: {ctx.goalProgress}%</span>}
src/pages/views/commcoach/CommcoachDashboardView.tsx:125
- Text: 'Tipp des Tages'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.sectionTitle}>Tipp des Tages</h3>
src/pages/views/commcoach/CommcoachDashboardView.tsx:137
- Text: 'Führung'
- Art: string_literal
- Kontext: string literal
- Zeile:
leadership: 'Führung',
src/pages/views/commcoach/CommcoachDashboardView.tsx:140
- Text: 'Präsentation'
- Art: string_literal
- Kontext: string literal
- Zeile:
presentation: 'Präsentation',
src/pages/views/commcoach/CommcoachDashboardView.tsx:143
- Text: 'Change Mgmt'
- Art: string_literal
- Kontext: string literal
- Zeile:
changeManagement: 'Change Mgmt',
src/pages/views/commcoach/CommcoachDossierView.tsx:262
- Text: 'Seitenleiste einblenden'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={udbCollapsed ? 'Seitenleiste einblenden' : 'Seitenleiste ausblenden'}
src/pages/views/commcoach/CommcoachDossierView.tsx:262
- Text: 'Seitenleiste ausblenden'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={udbCollapsed ? 'Seitenleiste einblenden' : 'Seitenleiste ausblenden'}
src/pages/views/commcoach/CommcoachDossierView.tsx:294
- Text: 'Neues Thema'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Neues Thema"
src/pages/views/commcoach/CommcoachDossierView.tsx:305
- Text: 'Thema / Titel...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Thema / Titel..."
src/pages/views/commcoach/CommcoachDossierView.tsx:313
- Text: 'Beschreibung (optional)'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Beschreibung (optional)"
src/pages/views/commcoach/CommcoachDossierView.tsx:319
- Text: 'Führung'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="leadership">Führung</option>
src/pages/views/commcoach/CommcoachDossierView.tsx:322
- Text: 'Präsentation'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="presentation">Präsentation</option>
src/pages/views/commcoach/CommcoachDossierView.tsx:325
- Text: 'Change Management'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="changeManagement">Change Management</option>
src/pages/views/commcoach/CommcoachDossierView.tsx:329
- Text: 'Wird erstellt...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{coach.actionLoading === 'creating' ? 'Wird erstellt...' : 'Erstellen'}
src/pages/views/commcoach/CommcoachDossierView.tsx:339
- Text: 'Willkommen beim Kommunikations-Coach'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3>Willkommen beim Kommunikations-Coach</h3>
src/pages/views/commcoach/CommcoachDossierView.tsx:340
- Text: 'Erstelle ein Thema, um zu beginnen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Erstelle ein Thema, um zu beginnen.</p>
src/pages/views/commcoach/CommcoachDossierView.tsx:341
- Text: 'setShowNewContext(true)}>Neues Thema erstellen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<button className={styles.btnPrimary} onClick={() => setShowNewContext(true)}>Neues Thema erstellen</button>
src/pages/views/commcoach/CommcoachDossierView.tsx:362
- Text: 'Wird archiviert...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{coach.actionLoading === 'archiving' ? 'Wird archiviert...' : 'Archivieren'}
src/pages/views/commcoach/CommcoachDossierView.tsx:387
- Text: 'Starte eine neue Coaching-Session zu diesem Thema.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Starte eine neue Coaching-Session zu diesem Thema.</p>
src/pages/views/commcoach/CommcoachDossierView.tsx:390
- Text: 'Gesprächspartner wählen:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.personaLabel}>Gesprächspartner wählen:</label>
src/pages/views/commcoach/CommcoachDossierView.tsx:408
- Text: 'Wird gestartet...'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Wird gestartet...'
src/pages/views/commcoach/CommcoachDossierView.tsx:411
- Text: 'Session starten'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Session starten'}
src/pages/views/commcoach/CommcoachDossierView.tsx:418
- Text: 'Session aktiv'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.sessionLabel}>Session aktiv</span>
src/pages/views/commcoach/CommcoachDossierView.tsx:432
- Text: 'Stummschaltung aufheben'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={voice.muted ? 'Stummschaltung aufheben' : 'Stummschalten'}
src/pages/views/commcoach/CommcoachDossierView.tsx:434
- Text: '\u{1F507} Stumm'
- Art: string_literal
- Kontext: string literal
- Zeile:
{voice.muted ? '\u{1F507} Stumm' : '\u{1F3A4} Ton an'}
src/pages/views/commcoach/CommcoachDossierView.tsx:434
- Text: '\u{1F3A4} Ton an'
- Art: string_literal
- Kontext: string literal
- Zeile:
{voice.muted ? '\u{1F507} Stumm' : '\u{1F3A4} Ton an'}
src/pages/views/commcoach/CommcoachDossierView.tsx:437
- Text: 'Wird abgeschlossen...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{coach.actionLoading === 'completing' ? 'Wird abgeschlossen...' : 'Abschliessen'}
src/pages/views/commcoach/CommcoachDossierView.tsx:440
- Text: 'Wird abgebrochen...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{coach.actionLoading === 'cancelling' ? 'Wird abgebrochen...' : 'Abbrechen'}
src/pages/views/commcoach/CommcoachDossierView.tsx:469
- Text: 'Coach denkt nach'
- Art: string_literal
- Kontext: string literal
- Zeile:
<div className={styles.typing}>{coach.streamingStatus || 'Coach denkt nach'}<span className={styles.typingDots}>...</span></div>
src/pages/views/commcoach/CommcoachDossierView.tsx:489
- Text: 'Tool-Aufrufe vorhanden'
- Art: string_literal
- Kontext: string literal
- Zeile:
{coach.streamingStatus || (coach.agentToolCalls.length > 0 ? 'Tool-Aufrufe vorhanden' : 'Warte auf Agent')}
src/pages/views/commcoach/CommcoachDossierView.tsx:489
- Text: 'Warte auf Agent'
- Art: string_literal
- Kontext: string literal
- Zeile:
{coach.streamingStatus || (coach.agentToolCalls.length > 0 ? 'Tool-Aufrufe vorhanden' : 'Warte auf Agent')}
src/pages/views/commcoach/CommcoachDossierView.tsx:513
- Text: 'läuft'
- Art: string_literal
- Kontext: string literal
- Zeile:
{toolCall.success === true ? 'fertig' : toolCall.success === false ? 'fehler' : 'läuft'}
src/pages/views/commcoach/CommcoachDossierView.tsx:539
- Text: 'Stumm – Mikrofon aus'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Stumm – Mikrofon aus'
src/pages/views/commcoach/CommcoachDossierView.tsx:541
- Text: 'Coach spricht...'
- Art: string_literal
- Kontext: string literal
- Zeile:
? (coach.streamingStatus || 'Coach spricht...')
src/pages/views/commcoach/CommcoachDossierView.tsx:543
- Text: 'Coach denkt nach...'
- Art: string_literal
- Kontext: string literal
- Zeile:
? (coach.streamingStatus || 'Coach denkt nach...')
src/pages/views/commcoach/CommcoachDossierView.tsx:545
- Text: 'Unterbrochen – Mikrofon an'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Unterbrochen – Mikrofon an'
src/pages/views/commcoach/CommcoachDossierView.tsx:547
- Text: 'Mikrofon an – bitte sprechen'
- Art: string_literal
- Kontext: string literal
- Zeile:
? (voice.liveTranscript ? 'Spricht...' : 'Mikrofon an – bitte sprechen')
src/pages/views/commcoach/CommcoachDossierView.tsx:548
- Text: 'Mikrofon wird gestartet...'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Mikrofon wird gestartet...'}
src/pages/views/commcoach/CommcoachDossierView.tsx:602
- Text: 'Nachricht eingeben...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Nachricht eingeben..."
src/pages/views/commcoach/CommcoachDossierView.tsx:616
- Text: 'Datei anhängen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Datei anhängen"
src/pages/views/commcoach/CommcoachDossierView.tsx:641
- Text: 'Dateien anhängen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div style={{ padding: '6px 12px', fontSize: 11, color: '#999', fontWeight: 600, borderBottom: '1px solid #f0f0f0' }}>Dateien anhängen</div>
src/pages/views/commcoach/CommcoachDossierView.tsx:671
- Text: 'Datenquellen anhängen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Datenquellen anhängen"
src/pages/views/commcoach/CommcoachDossierView.tsx:698
- Text: 'Persönliche Quellen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div style={{ padding: '6px 12px', fontSize: 11, color: '#999', fontWeight: 600, borderBottom: '1px solid #f0f0f0' }}>Persönliche Quellen</div>
src/pages/views/commcoach/CommcoachDossierView.tsx:775
- Text: 'Neue Aufgabe...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Neue Aufgabe..."
src/pages/views/commcoach/CommcoachDossierView.tsx:781
- Text: 'Wird hinzugefügt...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{coach.actionLoading === 'addingTask' ? 'Wird hinzugefügt...' : 'Hinzufügen'}
src/pages/views/commcoach/CommcoachDossierView.tsx:781
- Text: 'Hinzufügen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{coach.actionLoading === 'addingTask' ? 'Wird hinzugefügt...' : 'Hinzufügen'}
src/pages/views/commcoach/CommcoachDossierView.tsx:785
- Text: 'Noch keine Aufgaben. Der Coach schlägt während Sessions Aufgaben vor.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.emptyTab}>Noch keine Aufgaben. Der Coach schlägt während Sessions Aufgaben vor.</div>
src/pages/views/commcoach/CommcoachDossierView.tsx:814
- Text: 'Noch keine abgeschlossenen Sessions.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.emptyTab}>Noch keine abgeschlossenen Sessions.</div>
src/pages/views/commcoach/CommcoachDossierView.tsx:824
- Text: 'Score: {Math.round(s.competenceScore)}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{s.competenceScore != null && <span className={styles.sessionScore}>Score: {Math.round(s.competenceScore)}</span>}
src/pages/views/commcoach/CommcoachDossierView.tsx:831
- Text: '| Persona'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{s.personaId && <span> | Persona</span>}
src/pages/views/commcoach/CommcoachDossierView.tsx:849
- Text: 'Noch keine Bewertungen. Schliesse eine Session ab, um Scores zu erhalten.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.emptyTab}>Noch keine Bewertungen. Schliesse eine Session ab, um Scores zu erhalten.</div>
src/pages/views/commcoach/CommcoachDossierView.tsx:899
- Text: 'Coaching (aktiv)'
- Art: string_literal
- Kontext: string literal
- Zeile:
case 'coaching': return coach.session ? 'Coaching (aktiv)' : 'Coaching';
src/pages/views/commcoach/CommcoachDossierView.tsx:925
- Text: 'Einfühlungsvermögen'
- Art: string_literal
- Kontext: string literal
- Zeile:
empathy: 'Einfühlungsvermögen', clarity: 'Klarheit',
src/pages/views/commcoach/CommcoachDossierView.tsx:926
- Text: 'Zuhören'
- Art: string_literal
- Kontext: string literal
- Zeile:
assertiveness: 'Durchsetzung', listening: 'Zuhören',
src/pages/views/commcoach/CommcoachSettingsView.tsx:5
- Text: 'Stimme & Sprache'
- Art: string_literal
- Kontext: string literal
- Zeile:
* Voice/language settings are in user-level settings (/settings -> "Stimme & Sprache").
src/pages/views/commcoach/CommcoachSettingsView.tsx:45
- Text: 'Fehler beim Laden'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Laden');
src/pages/views/commcoach/CommcoachSettingsView.tsx:65
- Text: 'Einstellungen gespeichert'
- Art: string_literal
- Kontext: string literal
- Zeile:
setSuccess('Einstellungen gespeichert');
src/pages/views/commcoach/CommcoachSettingsView.tsx:68
- Text: 'Fehler beim Speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Speichern');
src/pages/views/commcoach/CommcoachSettingsView.tsx:75
- Text: 'Einstellungen werden geladen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.loading}>Einstellungen werden geladen...</div>;
src/pages/views/commcoach/CommcoachSettingsView.tsx:86
- Text: 'Stimme & Sprache'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.sectionTitle}>Stimme & Sprache</h3>
src/pages/views/commcoach/CommcoachSettingsView.tsx:91
- Text: 'Stimme & Sprache'
- Art: string_literal
- Kontext: string literal
- Zeile:
Benutzereinstellungen oeffnen (Tab "Stimme & Sprache")
src/pages/views/commcoach/CommcoachSettingsView.tsx:121
- Text: 'Sessions gesamt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.statItem}><span className={styles.statValue}>{profile.totalSessions}</span><span className={styles.statLabel}>Sessions gesamt</span></div>
src/pages/views/commcoach/CommcoachSettingsView.tsx:122
- Text: 'Minuten gesamt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.statItem}><span className={styles.statValue}>{profile.totalMinutes}</span><span className={styles.statLabel}>Minuten gesamt</span></div>
src/pages/views/commcoach/CommcoachSettingsView.tsx:123
- Text: 'Aktueller Streak'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.statItem}><span className={styles.statValue}>{profile.streakDays}</span><span className={styles.statLabel}>Aktueller Streak</span></div>
src/pages/views/commcoach/CommcoachSettingsView.tsx:124
- Text: 'Laengster Streak'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.statItem}><span className={styles.statValue}>{profile.longestStreak}</span><span className={styles.statLabel}>Laengster Streak</span></div>
src/pages/views/commcoach/CommcoachSettingsView.tsx:130
- Text: 'Einstellungen speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
{saving ? 'Speichern...' : 'Einstellungen speichern'}
src/pages/views/graphicalEditor/GraphicalEditorPage.tsx:105
- Text: 'Graphical Editor'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2>Graphical Editor</h2>
src/pages/views/graphicalEditor/GraphicalEditorPage.tsx:106
- Text: 'Keine Feature-Instanz gefunden.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Keine Feature-Instanz gefunden.</p>
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:80
- Text: 'Fehler beim Laden der Vorlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler beim Laden der Vorlagen');
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:95
- Text: 'Vorlage gelöscht'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Vorlage gelöscht');
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:99
- Text: 'Löschen fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError(Fehler: ${e?.message || 'Löschen fehlgeschlagen'});
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:112
- Text: 'Vorlage als Workflow kopiert'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Vorlage als Workflow kopiert');
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:114
- Text: 'Kopieren fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError(Fehler: ${e?.message || 'Kopieren fehlgeschlagen'});
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:131
- Text: 'Scope-Änderung fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError(Fehler: ${e?.message || 'Scope-Änderung fehlgeschlagen'});
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:144
- Text: 'Neuer Name:'
- Art: string_literal
- Kontext: string literal
- Zeile:
const newLabel = await promptInput('Neuer Name:', {
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:145
- Text: 'Vorlage umbenennen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Vorlage umbenennen',
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:152
- Text: 'Vorlage umbenannt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Vorlage umbenannt');
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:155
- Text: 'Umbenennen fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError(Fehler: ${e?.message || 'Umbenennen fehlgeschlagen'});
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:170
- Text: 'Vorlage'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'label', label: 'Vorlage', type: 'string', width: 220, sortable: true },
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:173
- Text: 'Scope'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Scope',
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:180
- Text: 'Freigegeben'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Freigegeben',
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:192
- Text: 'Erstellt von'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Erstellt von',
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:198
- Text: 'Erstellt'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Erstellt',
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:208
- Text: 'Keine Feature-Instanz gefunden.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Keine Feature-Instanz gefunden.</p>
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:259
- Text: 'Im Editor öffnen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Im Editor öffnen',
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:264
- Text: 'Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Löschen',
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:278
- Text: 'Als Workflow kopieren'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Als Workflow kopieren',
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:285
- Text: 'Scope ändern'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Scope ändern',
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:293
- Text: 'Keine Vorlagen gefunden. Erstelle eine Vorlage aus einem bestehenden Workflow.'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Vorlagen gefunden. Erstelle eine Vorlage aus einem bestehenden Workflow."
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:310
- Text: 'translate(-50%, -50%)'
- Art: string_literal
- Kontext: string literal
- Zeile:
position: 'fixed', top: '50%', left: '50%', transform: 'translate(-50%, -50%)',
src/pages/views/graphicalEditor/GraphicalEditorTemplatesPage.tsx:316
- Text: 'Scope ändern'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4 style={{ margin: '0 0 8px', fontSize: '0.9rem' }}>Scope ändern</h4>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:71
- Text: 'Fehler beim Laden der Workflows'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler beim Laden der Workflows');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:86
- Text: 'Workflow gelöscht'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Workflow gelöscht');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:90
- Text: 'Löschen fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError(Fehler: ${e?.message || 'Löschen fehlgeschlagen'});
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:117
- Text: 'Workflow aktiviert'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess(next ? 'Workflow aktiviert' : 'Workflow deaktiviert');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:117
- Text: 'Workflow deaktiviert'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess(next ? 'Workflow aktiviert' : 'Workflow deaktiviert');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:120
- Text: 'Status-Update fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError(Fehler: ${e?.message || 'Status-Update fehlgeschlagen'});
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:131
- Text: 'Neuer Name:'
- Art: string_literal
- Kontext: string literal
- Zeile:
const newLabel = await promptInput('Neuer Name:', {
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:132
- Text: 'Workflow umbenennen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Workflow umbenennen',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:139
- Text: 'Workflow umbenannt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Workflow umbenannt');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:142
- Text: 'Umbenennen fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError(Fehler: ${e?.message || 'Umbenennen fehlgeschlagen'});
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:162
- Text: 'Workflow gestartet und bei Human Task pausiert. Öffne Workflows & Tasks.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Workflow gestartet und bei Human Task pausiert. Öffne Workflows & Tasks.');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:164
- Text: 'Workflow ausgeführt'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Workflow ausgeführt');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:168
- Text: 'Ausführung fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError(result?.error || 'Ausführung fehlgeschlagen');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:171
- Text: 'Ausführung fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError(Fehler: ${e?.message || 'Ausführung fehlgeschlagen'});
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:180
- Text: 'Workflow'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'label', label: 'Workflow', type: 'string', width: 200, sortable: true },
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:183
- Text: 'Aktiv'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Aktiv',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:195
- Text: 'Läuft'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Läuft',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:207
- Text: 'Steht bei'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Steht bei',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:217
- Text: 'Erstellt'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Erstellt',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:224
- Text: 'Zuletzt gestartet'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Zuletzt gestartet',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:231
- Text: 'Läufe'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Läufe',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:247
- Text: 'Keine Feature-Instanz gefunden.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Keine Feature-Instanz gefunden.</p>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:256
- Text: 'Gespeicherte Workflows'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h1 className={styles.pageTitle}>Gespeicherte Workflows</h1>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:303
- Text: 'Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Löschen',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:332
- Text: 'Ausführen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Ausführen',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsPage.tsx:340
- Text: 'Keine Workflows gefunden. Erstelle einen im Editor.'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Workflows gefunden. Erstelle einen im Editor."
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:34
- Text: 'input.upload'
- Art: string_literal
- Kontext: string literal
- Zeile:
'input.upload': 'Upload',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:34
- Text: 'Upload'
- Art: string_literal
- Kontext: string literal
- Zeile:
'input.upload': 'Upload',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:36
- Text: 'Prüfung'
- Art: string_literal
- Kontext: string literal
- Zeile:
'input.review': 'Prüfung',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:38
- Text: 'Bestätigung'
- Art: string_literal
- Kontext: string literal
- Zeile:
'input.confirmation': 'Bestätigung',
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:159
- Text: 'Workflow gestartet und bei Human Task pausiert.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Workflow gestartet und bei Human Task pausiert.');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:161
- Text: 'Workflow gestartet'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Workflow gestartet');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:165
- Text: 'Ausführung fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError(result?.error || 'Ausführung fehlgeschlagen');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:169
- Text: 'Ausführung fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
(e as { message?: string })?.message ?? 'Ausführung fehlgeschlagen';
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:185
- Text: 'Keine Feature-Instanz gefunden.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Keine Feature-Instanz gefunden.</p>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:194
- Text: 'Lade Tasks…'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Lade Tasks…</p>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:212
- Text: 'Keine offenen Tasks'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.empty}>Keine offenen Tasks</p>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:236
- Text: 'Erledigte Tasks'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Erledigte Tasks</span>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:244
- Text: 'Keine erledigten Tasks'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.empty}>Keine erledigten Tasks</p>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:291
- Text: 'Workflows starten'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<aside className={styles.startSidebar} aria-label="Workflows starten">
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:292
- Text: 'Workflow starten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.startSidebarTitle}>Workflow starten</h3>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:315
- Text: 'Workflow ausführen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Workflow ausführen"
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:387
- Text: 'Kein Output (z.B. Workflow ohne file.create)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.empty}>Kein Output (z.B. Workflow ohne file.create)</p>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:444
- Text: 'Aufgaben konnten nicht geladen werden.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setErr('Aufgaben konnten nicht geladen werden.');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:482
- Text: '— Aufgabe wählen —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— Aufgabe wählen —</option>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:596
- Text: '— Status wählen —'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">— Status wählen —</option>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:630
- Text: 'Formular ausfüllen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Formular ausfüllen"
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:644
- Text: 'Wird gesendet…'
- Art: string_literal
- Kontext: string literal
- Zeile:
{submitting ? 'Wird gesendet…' : 'Absenden'}
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:736
- Text: 'Bestätigen?'
- Art: string_literal
- Kontext: string literal
- Zeile:
<p>{(config.question as string) ?? 'Bestätigen?'}</p>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:743
- Text: 'Bestätigen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{typeof config.confirmLabel === 'string' ? config.confirmLabel : 'Bestätigen'}
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:755
- Text: 'input.upload'
- Art: string_literal
- Kontext: string literal
- Zeile:
case 'input.upload': {
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:765
- Text: 'Nur eine Datei erlaubt.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setUploadError('Nur eine Datei erlaubt.');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:808
- Text: 'Upload fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
const msg = (err as { response?: { data?: { detail?: string } }; message?: string })?.response?.data?.detail ?? (err as Error)?.message ?? 'Upload fehlgeschlagen';
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:822
- Text: 'Bitte mindestens eine Datei hochladen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setUploadError('Bitte mindestens eine Datei hochladen.');
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:851
- Text: 'Wird hochgeladen…'
- Art: string_literal
- Kontext: string literal
- Zeile:
<FaUpload /> {uploading ? 'Wird hochgeladen…' : 'Datei(en) auswählen'}
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:851
- Text: 'Datei(en) auswählen'
- Art: string_literal
- Kontext: string literal
- Zeile:
<FaUpload /> {uploading ? 'Wird hochgeladen…' : 'Datei(en) auswählen'}
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:867
- Text: 'Wird gesendet…'
- Art: string_literal
- Kontext: string literal
- Zeile:
{submitting ? 'Wird gesendet…' : 'Absenden'}
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:875
- Text: 'Review – Content anzeigen + Feedback'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Review – Content anzeigen + Feedback</p>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:877
- Text: 'Feedback...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Feedback..."
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:893
- Text: 'Unbekannter Task-Typ: {nodeType}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Unbekannter Task-Typ: {nodeType}</p>
src/pages/views/graphicalEditor/GraphicalEditorWorkflowsTasksPage.tsx:922
- Text: 'Fällig'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.metaLabel}>Fällig</span>
src/pages/views/neutralization/NeutralizationView.tsx:75
- Text: 'Error loading configuration'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Error loading configuration';
src/pages/views/neutralization/NeutralizationView.tsx:77
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', message);
src/pages/views/neutralization/NeutralizationView.tsx:94
- Text: 'Missing mandate or instance context'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error('Missing mandate or instance context');
src/pages/views/neutralization/NeutralizationView.tsx:105
- Text: 'Configuration saved successfully.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Saved', 'Configuration saved successfully.');
src/pages/views/neutralization/NeutralizationView.tsx:112
- Text: 'Failed to save configuration'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Failed to save configuration';
src/pages/views/neutralization/NeutralizationView.tsx:114
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', message);
src/pages/views/neutralization/NeutralizationView.tsx:123
- Text: 'Loading configuration...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.loading}>Loading configuration...</div>;
src/pages/views/neutralization/NeutralizationView.tsx:128
- Text: 'Neutralization Configuration'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.sectionTitle}>Neutralization Configuration</h3>
src/pages/views/neutralization/NeutralizationView.tsx:137
- Text: 'Dismiss'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button type="button" onClick={dismissError} aria-label="Dismiss">
src/pages/views/neutralization/NeutralizationView.tsx:144
- Text: 'Names to Parse (one per line):'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label htmlFor="names-to-parse">Names to Parse (one per line):</label>
src/pages/views/neutralization/NeutralizationView.tsx:150
- Text: 'Enter names to parse, one per line...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Enter names to parse, one per line..."
src/pages/views/neutralization/NeutralizationView.tsx:162
- Text: 'Save Configuration'
- Art: string_literal
- Kontext: string literal
- Zeile:
{saving ? 'Saving...' : 'Save Configuration'}
src/pages/views/neutralization/NeutralizationView.tsx:217
- Text: 'Failed to load SharePoint sites'
- Art: string_literal
- Kontext: string literal
- Zeile:
setBrowseError(typeof detail === 'string' ? detail : 'Failed to load SharePoint sites');
src/pages/views/neutralization/NeutralizationView.tsx:236
- Text: 'Failed to load folders'
- Art: string_literal
- Kontext: string literal
- Zeile:
setBrowseError(typeof detail === 'string' ? detail : 'Failed to load folders');
src/pages/views/neutralization/NeutralizationView.tsx:321
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'Please enter text to neutralize.');
src/pages/views/neutralization/NeutralizationView.tsx:321
- Text: 'Please enter text to neutralize.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'Please enter text to neutralize.');
src/pages/views/neutralization/NeutralizationView.tsx:329
- Text: 'Text neutralized successfully.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Done', 'Text neutralized successfully.');
src/pages/views/neutralization/NeutralizationView.tsx:335
- Text: 'Failed to neutralize text'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Failed to neutralize text';
src/pages/views/neutralization/NeutralizationView.tsx:336
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', message);
src/pages/views/neutralization/NeutralizationView.tsx:360
- Text: 'File neutralized. Download below or find it in your Files.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Done', 'File neutralized. Download below or find it in your Files.');
src/pages/views/neutralization/NeutralizationView.tsx:364
- Text: 'File neutralized. Download or find in Files.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Done', result.neutralized_file_id ? 'File neutralized. Download or find in Files.' : 'File neutralized.');
src/pages/views/neutralization/NeutralizationView.tsx:364
- Text: 'File neutralized.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Done', result.neutralized_file_id ? 'File neutralized. Download or find in Files.' : 'File neutralized.');
src/pages/views/neutralization/NeutralizationView.tsx:366
- Text: 'No result returned'
- Art: string_literal
- Kontext: string literal
- Zeile:
const err = (result.processed_info as { error?: string })?.error || 'No result returned';
src/pages/views/neutralization/NeutralizationView.tsx:368
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', err);
src/pages/views/neutralization/NeutralizationView.tsx:378
- Text: 'Failed to neutralize file'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Failed to neutralize file';
src/pages/views/neutralization/NeutralizationView.tsx:379
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', message);
src/pages/views/neutralization/NeutralizationView.tsx:392
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'Failed to download file');
src/pages/views/neutralization/NeutralizationView.tsx:392
- Text: 'Failed to download file'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'Failed to download file');
src/pages/views/neutralization/NeutralizationView.tsx:409
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'Failed to download file');
src/pages/views/neutralization/NeutralizationView.tsx:409
- Text: 'Failed to download file'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'Failed to download file');
src/pages/views/neutralization/NeutralizationView.tsx:423
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'No file data available to download. The neutralized file may not have been generated.');
src/pages/views/neutralization/NeutralizationView.tsx:423
- Text: 'No file data available to download. The neutralized file may not have been generated.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'No file data available to download. The neutralized file may not have been generated.');
src/pages/views/neutralization/NeutralizationView.tsx:428
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'No neutralized text to resolve.');
src/pages/views/neutralization/NeutralizationView.tsx:428
- Text: 'No neutralized text to resolve.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'No neutralized text to resolve.');
src/pages/views/neutralization/NeutralizationView.tsx:435
- Text: 'Text resolved successfully.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Done', 'Text resolved successfully.');
src/pages/views/neutralization/NeutralizationView.tsx:441
- Text: 'Failed to resolve text'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Failed to resolve text';
src/pages/views/neutralization/NeutralizationView.tsx:442
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', message);
src/pages/views/neutralization/NeutralizationView.tsx:455
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'Both SharePoint source and target paths are required.');
src/pages/views/neutralization/NeutralizationView.tsx:455
- Text: 'Both SharePoint source and target paths are required.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'Both SharePoint source and target paths are required.');
src/pages/views/neutralization/NeutralizationView.tsx:462
- Text: 'SharePoint files processed successfully.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Done', result.message || 'SharePoint files processed successfully.');
src/pages/views/neutralization/NeutralizationView.tsx:464
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', result.message || 'Processing failed');
src/pages/views/neutralization/NeutralizationView.tsx:464
- Text: 'Processing failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', result.message || 'Processing failed');
src/pages/views/neutralization/NeutralizationView.tsx:471
- Text: 'Failed to process SharePoint files'
- Art: string_literal
- Kontext: string literal
- Zeile:
'Failed to process SharePoint files';
src/pages/views/neutralization/NeutralizationView.tsx:472
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', message);
src/pages/views/neutralization/NeutralizationView.tsx:481
- Text: 'Manual Text & File Neutralization'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.sectionTitle}>Manual Text & File Neutralization</h3>
src/pages/views/neutralization/NeutralizationView.tsx:488
- Text: '1. Upload file to neutralize:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>1. Upload file to neutralize:</label>
src/pages/views/neutralization/NeutralizationView.tsx:503
- Text: 'Upload & Neutralize File'
- Art: string_literal
- Kontext: string literal
- Zeile:
{neutralizing ? 'Processing...' : 'Upload & Neutralize File'}
src/pages/views/neutralization/NeutralizationView.tsx:511
- Text: 'Neutralized File'
- Art: string_literal
- Kontext: string literal
- Zeile:
Download {fileResult.fileName || 'Neutralized File'}
src/pages/views/neutralization/NeutralizationView.tsx:523
- Text: '2. Or paste text:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label htmlFor="input-text">2. Or paste text:</label>
src/pages/views/neutralization/NeutralizationView.tsx:529
- Text: 'Enter text to neutralize...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Enter text to neutralize..."
src/pages/views/neutralization/NeutralizationView.tsx:540
- Text: 'Neutralize Text'
- Art: string_literal
- Kontext: string literal
- Zeile:
{neutralizing ? 'Neutralizing...' : 'Neutralize Text'}
src/pages/views/neutralization/NeutralizationView.tsx:548
- Text: 'Resolve Text'
- Art: string_literal
- Kontext: string literal
- Zeile:
{resolving ? 'Resolving...' : 'Resolve Text'}
src/pages/views/neutralization/NeutralizationView.tsx:553
- Text: '3. Or neutralize SharePoint files:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label>3. Or neutralize SharePoint files:</label>
src/pages/views/neutralization/NeutralizationView.tsx:563
- Text: 'SharePoint source path...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="SharePoint source path..."
src/pages/views/neutralization/NeutralizationView.tsx:570
- Text: 'Browse SharePoint'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={hasMsftConnection ? 'Browse SharePoint' : 'Add a Microsoft connection first (Basisdaten → Connections)'}
src/pages/views/neutralization/NeutralizationView.tsx:570
- Text: 'Add a Microsoft connection first (Basisdaten → Connections)'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={hasMsftConnection ? 'Browse SharePoint' : 'Add a Microsoft connection first (Basisdaten → Connections)'}
src/pages/views/neutralization/NeutralizationView.tsx:584
- Text: 'SharePoint target path...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="SharePoint target path..."
src/pages/views/neutralization/NeutralizationView.tsx:591
- Text: 'Browse SharePoint'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={hasMsftConnection ? 'Browse SharePoint' : 'Add a Microsoft connection first (Basisdaten → Connections)'}
src/pages/views/neutralization/NeutralizationView.tsx:591
- Text: 'Add a Microsoft connection first (Basisdaten → Connections)'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={hasMsftConnection ? 'Browse SharePoint' : 'Add a Microsoft connection first (Basisdaten → Connections)'}
src/pages/views/neutralization/NeutralizationView.tsx:606
- Text: 'Enter source and target SharePoint paths to enable'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Enter source and target SharePoint paths to enable'
src/pages/views/neutralization/NeutralizationView.tsx:610
- Text: 'Neutralize SharePoint Files'
- Art: string_literal
- Kontext: string literal
- Zeile:
{processingSharepoint ? 'Processing...' : 'Neutralize SharePoint Files'}
src/pages/views/neutralization/NeutralizationView.tsx:617
- Text: 'Neutralized Text:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label htmlFor="neutralized-text">Neutralized Text:</label>
src/pages/views/neutralization/NeutralizationView.tsx:653
- Text: 'Loading sites...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.loading}>Loading sites...</div>
src/pages/views/neutralization/NeutralizationView.tsx:663
- Text: 'Select a site...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">Select a site...</option>
src/pages/views/neutralization/NeutralizationView.tsx:678
- Text: 'Loading folders...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.loading}>Loading folders...</div>
src/pages/views/neutralization/NeutralizationView.tsx:740
- Text: 'Configuration'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ id: 'config', label: 'Configuration', content: <ConfigTab /> },
src/pages/views/neutralization/NeutralizationView.tsx:741
- Text: 'Playground'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ id: 'playground', label: 'Playground', content: <PlaygroundTab /> },
src/pages/views/realestate/RealEstateDashboardView.tsx:57
- Text: 'Deine Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
{instance.userRoles.length === 1 ? 'Deine Rolle' : 'Deine Rollen'}
src/pages/views/realestate/RealEstateDashboardView.tsx:57
- Text: 'Deine Rollen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{instance.userRoles.length === 1 ? 'Deine Rolle' : 'Deine Rollen'}
src/pages/views/realestate/RealEstateInstanceRolesPlaceholder.tsx:4
- Text: 'Rollen & Rechte'
- Art: string_literal
- Kontext: string literal
- Zeile:
* Platzhalter für die View "Rollen & Rechte" bei Real-Estate-Instanzen.
src/pages/views/realestate/RealEstateInstanceRolesPlaceholder.tsx:16
- Text: 'Rollen & Rechte'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3>Rollen & Rechte</h3>
src/pages/views/realestate/RealEstateParcelsView.tsx:134
- Text: 'Fehler beim Laden der Parzellen: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler beim Laden der Parzellen: {error}</p>
src/pages/views/realestate/RealEstateParcelsView.tsx:147
- Text: 'Parzellen verwalten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Parzellen verwalten</p>
src/pages/views/realestate/RealEstateParcelsView.tsx:190
- Text: 'Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Löschen',
src/pages/views/realestate/RealEstateParcelsView.tsx:205
- Text: 'Keine Parzellen gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Parzellen gefunden"
src/pages/views/realestate/RealEstateParcelsView.tsx:214
- Text: 'Neue Parzelle'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isCreateMode ? 'Neue Parzelle' : 'Parzelle bearbeiten'}
src/pages/views/realestate/RealEstateParcelsView.tsx:214
- Text: 'Parzelle bearbeiten'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isCreateMode ? 'Neue Parzelle' : 'Parzelle bearbeiten'}
src/pages/views/realestate/RealEstateParcelsView.tsx:224
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/views/realestate/RealEstateProjectsView.tsx:124
- Text: 'Fehler beim Laden der Projekte: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler beim Laden der Projekte: {error}</p>
src/pages/views/realestate/RealEstateProjectsView.tsx:137
- Text: 'Projekte verwalten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Projekte verwalten</p>
src/pages/views/realestate/RealEstateProjectsView.tsx:164
- Text: 'Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
...(canDelete ? [{ type: 'delete' as const, title: 'Löschen', loading: (row: RealEstateProject) => deletingItems.has(row.id) }] : []),
src/pages/views/realestate/RealEstateProjectsView.tsx:168
- Text: 'Keine Projekte gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Projekte gefunden"
src/pages/views/realestate/RealEstateProjectsView.tsx:176
- Text: 'Neues Projekt'
- Art: string_literal
- Kontext: string literal
- Zeile:
<h2 className={styles.modalTitle}>{isCreateMode ? 'Neues Projekt' : 'Projekt bearbeiten'}</h2>
src/pages/views/realestate/RealEstateProjectsView.tsx:176
- Text: 'Projekt bearbeiten'
- Art: string_literal
- Kontext: string literal
- Zeile:
<h2 className={styles.modalTitle}>{isCreateMode ? 'Neues Projekt' : 'Projekt bearbeiten'}</h2>
src/pages/views/realestate/RealEstateProjectsView.tsx:183
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/views/realestate/pek/PekLocationInput.tsx:37
- Text: 'z.B. Bundesplatz 3'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="z.B. Bundesplatz 3"
src/pages/views/realestate/pek/PekLocationInput.tsx:38
- Text: 'Adresse oder Parzelle'
- Art: string_literal
- Kontext: string literal
- Zeile:
label="Adresse oder Parzelle"
src/pages/views/realestate/pek/PekMapView.tsx:33
- Text: 'Alle Parzellen anzeigen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Alle Parzellen anzeigen</span>
src/pages/views/realestate/pek/PekMapView.tsx:53
- Text: 'Klicken Sie auf die Karte, um einen Standort auszuwählen, oder suchen Sie nach einer Adresse oben.'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Klicken Sie auf die Karte, um einen Standort auszuwählen, oder suchen Sie nach einer Adresse oben."
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:12
- Text: 'Mein Account'
- Art: string_literal
- Kontext: string literal
- Zeile:
* Supports "Mein Account" login with saved credentials and MFA relay.
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:55
- Text: 'Fehler beim Laden der Sitzungen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Laden der Sitzungen');
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:103
- Text: 'MFA-Zeitlimit ueberschritten. Bitte erneut versuchen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('MFA-Zeitlimit ueberschritten. Bitte erneut versuchen.');
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:139
- Text: 'Fehler beim Speichern der Zugangsdaten'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Speichern der Zugangsdaten');
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:171
- Text: 'Fehler beim Starten der Sitzung'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Starten der Sitzung');
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:191
- Text: 'Fehler beim Senden des MFA-Codes'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Senden des MFA-Codes');
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:202
- Text: 'Fehler beim Loeschen der Zugangsdaten'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Loeschen der Zugangsdaten');
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:211
- Text: 'Fehler beim Stoppen der Sitzung'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Stoppen der Sitzung');
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:220
- Text: 'Fehler beim Loeschen der Sitzung'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Loeschen der Sitzung');
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:272
- Text: 'Code eingeben'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Code eingeben"
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:300
- Text: 'Neue Bot-Sitzung starten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.cardTitle}>Neue Bot-Sitzung starten</h3>
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:306
- Text: 'Teams Meeting-Link *'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.label}>Teams Meeting-Link *</label>
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:325
- Text: 'System-Bot (authentifiziert)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{_isSysAdmin && <option value="systemBot">System-Bot (authentifiziert)</option>}
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:326
- Text: 'Anonymer Gast'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="anonymous">Anonymer Gast</option>
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:327
- Text: 'Mein Account'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="userAccount">Mein Account</option>
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:354
- Text: 'Microsoft E-Mail'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.label}>Microsoft E-Mail</label>
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:358
- Text: 'name@example.com'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="name@example.com"
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:369
- Text: 'Microsoft-Passwort'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Microsoft-Passwort"
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:393
- Text: 'Bot-Name (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.label}>Bot-Name (optional)</label>
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:397
- Text: 'AI Assistant'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="AI Assistant"
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:405
- Text: 'Session-Kontext (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.label}>Session-Kontext (optional)</label>
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:408
- Text: 'Agenda, Hintergrundinformationen, Dokumente oder andere Informationen fuer den Bot...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Agenda, Hintergrundinformationen, Dokumente oder andere Informationen fuer den Bot..."
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:426
- Text: 'Wird gestartet...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isStarting ? 'Wird gestartet...' : 'Bot ins Meeting senden'}
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:426
- Text: 'Bot ins Meeting senden'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isStarting ? 'Wird gestartet...' : 'Bot ins Meeting senden'}
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:435
- Text: 'Aktive Sitzungen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.sectionTitle}>Aktive Sitzungen</h3>
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:448
- Text: "Seit: {new Date(session.startedAt).toLocaleTimeString('de-CH')}"
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
{session.startedAt && <span>Seit: {new Date(session.startedAt).toLocaleTimeString('de-CH')}</span>}
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:451
- Text: 'navigate(
/mandates/${mandateId}/${featureCode}/${instanceId}/sessions?sessionId=${session.id})}>Live ansehen' - Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<button className={styles.viewButton} onClick={() => navigate(/mandates/${mandateId}/${featureCode}/${instanceId}/sessions?sessionId=${session.id})}>Live ansehen</button>
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:467
- Text: 'Lade Sitzungen...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{loading ? 'Lade Sitzungen...' :Vergangene Sitzungen (${pastSessions.length})}
src/pages/views/teamsbot/TeamsbotDashboardView.tsx:470
- Text: 'Noch keine vergangenen Sitzungen.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.emptyState}>Noch keine vergangenen Sitzungen.</p>
src/pages/views/teamsbot/TeamsbotSessionView.tsx:87
- Text: 'Fehler beim Laden der Sitzung'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Laden der Sitzung');
src/pages/views/teamsbot/TeamsbotSessionView.tsx:199
- Text: 'Unbekannter Fehler'
- Art: string_literal
- Kontext: string literal
- Zeile:
const errMsg = errData.message || 'Unbekannter Fehler';
src/pages/views/teamsbot/TeamsbotSessionView.tsx:280
- Text: 'Lade Sitzung...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
if (loading) return <div className={styles.loading}>Lade Sitzung...</div>;
src/pages/views/teamsbot/TeamsbotSessionView.tsx:283
- Text: 'Keine Sitzungen vorhanden.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Keine Sitzungen vorhanden.</p>
src/pages/views/teamsbot/TeamsbotSessionView.tsx:287
- Text: 'Sitzung nicht gefunden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
if (!session) return <div className={styles.errorBanner}>Sitzung nicht gefunden</div>;
src/pages/views/teamsbot/TeamsbotSessionView.tsx:305
- Text: '2px solid #4A90D9'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: s.id === sessionId ? '2px solid #4A90D9' : '1px solid #ddd',
src/pages/views/teamsbot/TeamsbotSessionView.tsx:305
- Text: '1px solid #ddd'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: s.id === sessionId ? '2px solid #4A90D9' : '1px solid #ddd',
src/pages/views/teamsbot/TeamsbotSessionView.tsx:313
- Text: ' (aktiv)'
- Art: string_literal
- Kontext: string literal
- Zeile:
{['active', 'joining', 'pending'].includes(s.status) && ' (aktiv)'}
src/pages/views/teamsbot/TeamsbotSessionView.tsx:314
- Text: ' (beendet)'
- Art: string_literal
- Kontext: string literal
- Zeile:
{s.status === 'ended' && ' (beendet)'}
src/pages/views/teamsbot/TeamsbotSessionView.tsx:331
- Text: 'Sitzung beenden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<button className={styles.stopButton} onClick={_handleStop}>Sitzung beenden</button>
src/pages/views/teamsbot/TeamsbotSessionView.tsx:342
- Text: 'Transkript ({transcripts.length} Segmente)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4 className={styles.panelTitle}>Transkript ({transcripts.length} Segmente)</h4>
src/pages/views/teamsbot/TeamsbotSessionView.tsx:358
- Text: 'Noch kein Transkript vorhanden.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.emptyState}>Noch kein Transkript vorhanden.</div>
src/pages/views/teamsbot/TeamsbotSessionView.tsx:365
- Text: 'Bot-Antworten ({botResponses.length})'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4 className={styles.panelTitle}>Bot-Antworten ({botResponses.length})</h4>
src/pages/views/teamsbot/TeamsbotSessionView.tsx:376
- Text: 'Reasoning: {r.reasoning}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<em>Reasoning: {r.reasoning}</em>
src/pages/views/teamsbot/TeamsbotSessionView.tsx:389
- Text: 'Noch keine Bot-Antworten.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.emptyState}>Noch keine Bot-Antworten.</div>
src/pages/views/teamsbot/TeamsbotSessionView.tsx:405
- Text: 'TTS Delivery Status'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4 className={styles.panelTitle}>TTS Delivery Status</h4>
src/pages/views/teamsbot/TeamsbotSessionView.tsx:407
- Text: 'Noch keine TTS-Events.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.emptyState}>Noch keine TTS-Events.</div>
src/pages/views/teamsbot/TeamsbotSessionView.tsx:414
- Text: "ws: {ev.hasWebSocket ? 'yes' : 'no'}"
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>ws: {ev.hasWebSocket ? 'yes' : 'no'}</span>
src/pages/views/teamsbot/TeamsbotSessionView.tsx:459
- Text: 'Screenshots laden'
- Art: string_literal
- Kontext: string literal
- Zeile:
{screenshotsLoading ? 'Laden...' : screenshotsLoaded ? 'Aktualisieren' : 'Screenshots laden'}
src/pages/views/teamsbot/TeamsbotSessionView.tsx:463
- Text: 'Keine Screenshots fuer diese Session.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.emptyState}>Keine Screenshots fuer diese Session.</div>
src/pages/views/teamsbot/TeamsbotSessionView.tsx:474
- Text: 'noopener noreferrer'
- Art: string_literal
- Kontext: string literal
- Zeile:
rel="noopener noreferrer"
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:8
- Text: 'Wavenet A'
- Art: string_literal
- Kontext: string literal
- Zeile:
/** Format voice name for display: "de-DE-Wavenet-A" -> "Wavenet A" + gender */
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:60
- Text: 'Fehler beim Laden der Konfiguration'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Laden der Konfiguration');
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:81
- Text: 'Einstellungen gespeichert'
- Art: string_literal
- Kontext: string literal
- Zeile:
setSuccessMsg('Einstellungen gespeichert');
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:84
- Text: 'Fehler beim Speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Fehler beim Speichern');
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:117
- Text: 'AI Assistant'
- Art: string_literal
- Kontext: string literal
- Zeile:
const botName = formData.botName || 'AI Assistant';
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:135
- Text: 'Stimmtest fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(result.error || 'Stimmtest fehlgeschlagen');
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:139
- Text: 'Stimmtest fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Stimmtest fehlgeschlagen');
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:146
- Text: 'Lade Konfiguration...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
if (loading) return <div className={styles.loading}>Lade Konfiguration...</div>;
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:167
- Text: 'AI Assistant'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="AI Assistant"
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:170
- Text: 'Nyla Larsson'
- Art: string_literal
- Kontext: string literal
- Zeile:
Default-Name fuer den Bot im Meeting. Falls keiner angegeben, wird der Name des System-Bots verwendet (z.B. "Nyla Larsson").
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:186
- Text: 'Beschreibe, wie sich der Bot im Meeting verhalten soll...'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Beschreibe, wie sich der Bot im Meeting verhalten soll..."
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:188
- Text: 'Instruktionen fuer den AI-Bot: Wann und wie soll er antworten?'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.hint}>Instruktionen fuer den AI-Bot: Wann und wie soll er antworten?</span>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:198
- Text: 'Automatisch - AI entscheidet selbst'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="auto">Automatisch - AI entscheidet selbst</option>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:199
- Text: 'Manuell - Antworten muessen bestaetigt werden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="manual">Manuell - Antworten muessen bestaetigt werden</option>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:200
- Text: 'Nur Transkription - Keine AI-Antworten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="transcribeOnly">Nur Transkription - Keine AI-Antworten</option>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:211
- Text: 'Nur Sprache - Bot antwortet per Audio'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="voice">Nur Sprache - Bot antwortet per Audio</option>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:212
- Text: 'Nur Chat - Bot antwortet per Textnachricht'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="chat">Nur Chat - Bot antwortet per Textnachricht</option>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:213
- Text: 'Sprache + Chat - Bot antwortet per Audio und Text'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="both">Sprache + Chat - Bot antwortet per Audio und Text</option>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:215
- Text: 'Wie soll der Bot im Meeting antworten?'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.hint}>Wie soll der Bot im Meeting antworten?</span>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:225
- Text: 'Automatisch - System waehlt basierend auf Join-Modus'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="auto">Automatisch - System waehlt basierend auf Join-Modus</option>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:226
- Text: 'Captions - Teams Live-Captions (nur Englisch verfuegbar)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="caption">Captions - Teams Live-Captions (nur Englisch verfuegbar)</option>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:227
- Text: 'Audio-Stream - Echtzeit-Spracherkennung ueber Gateway (alle Sprachen)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="audio">Audio-Stream - Echtzeit-Spracherkennung ueber Gateway (alle Sprachen)</option>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:252
- Text: 'Deutsch (Deutschland)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="de-DE">Deutsch (Deutschland)</option>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:253
- Text: 'English (US)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="en-US">English (US)</option>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:258
- Text: 'Sprache fuer Captions und Sprachausgabe ({languages.length} Sprachen verfuegbar)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.hint}>Sprache fuer Captions und Sprachausgabe ({languages.length} Sprachen verfuegbar)</span>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:282
- Text: 'Stimme testen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Stimme testen"
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:290
- Text: 'Lade Stimmen...'
- Art: string_literal
- Kontext: string literal
- Zeile:
{loadingVoices ? 'Lade Stimmen...' :${voices.length} Stimmen verfuegbar - klicke Test fuer Vorschau}
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:297
- Text: 'Erweiterte Einstellungen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4 className={styles.sectionTitle}>Erweiterte Einstellungen</h4>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:301
- Text: 'Analyse-Intervall (Sek.)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.label}>Analyse-Intervall (Sek.)</label>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:310
- Text: 'Periodisches Analyse-Intervall'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.hint}>Periodisches Analyse-Intervall</span>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:314
- Text: 'Cooldown (Sek.)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.label}>Cooldown (Sek.)</label>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:323
- Text: 'Min. Abstand zwischen AI-Calls'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.hint}>Min. Abstand zwischen AI-Calls</span>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:327
- Text: 'Kontext-Fenster (Segmente)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.label}>Kontext-Fenster (Segmente)</label>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:336
- Text: 'Anzahl Transkript-Segmente fuer AI-Kontext'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.hint}>Anzahl Transkript-Segmente fuer AI-Kontext</span>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:341
- Text: 'Browser Bot URL (optional)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<label className={styles.label}>Browser Bot URL (optional)</label>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:347
- Text: 'Automatisch aus Umgebungskonfiguration'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Automatisch aus Umgebungskonfiguration"
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:349
- Text: 'URL des Browser Bot Service. Leer lassen fuer Standard-Konfiguration.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span className={styles.hint}>URL des Browser Bot Service. Leer lassen fuer Standard-Konfiguration.</span>
src/pages/views/teamsbot/TeamsbotSettingsView.tsx:375
- Text: 'Konfiguration speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
{saving ? 'Speichern...' : 'Konfiguration speichern'}
src/pages/views/trustee/TrusteeAccountingSettingsView.tsx:193
- Text: "· {t('Letzter Sync:')} {existingConfig.lastSyncStatus}"
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<> · {t('Letzter Sync:')} {existingConfig.lastSyncStatus}</>
src/pages/views/trustee/TrusteeAccountingSettingsView.tsx:209
- Text: "· {t('Status:')} {existingConfig.lastSyncStatus}"
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<> · {t('Status:')} {existingConfig.lastSyncStatus}</>
src/pages/views/trustee/TrusteeAccountingSettingsView.tsx:293
- Text: 'Save & Test'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4>Save & Test</h4>
src/pages/views/trustee/TrusteeAccountingSettingsView.tsx:458
- Text: "· {t('Letzter Import:')} {new Date(importStatus.lastSyncAt * 1000).toLocaleString()}"
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<> · {t('Letzter Import:')} {new Date(importStatus.lastSyncAt * 1000).toLocaleString()}</>
src/pages/views/trustee/TrusteeDashboardView.tsx:81
- Text: 'Not configured'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Not configured'
src/pages/views/trustee/TrusteeDashboardView.tsx:99
- Text: 'Deine Rolle'
- Art: string_literal
- Kontext: string literal
- Zeile:
{(instance?.userRoles?.length || 0) === 1 ? 'Deine Rolle' : 'Deine Rollen'}
src/pages/views/trustee/TrusteeDashboardView.tsx:99
- Text: 'Deine Rollen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{(instance?.userRoles?.length || 0) === 1 ? 'Deine Rolle' : 'Deine Rollen'}
src/pages/views/trustee/TrusteeDocumentsView.tsx:139
- Text: 'Fehler beim Herunterladen des Dokuments.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', 'Fehler beim Herunterladen des Dokuments.');
src/pages/views/trustee/TrusteeDocumentsView.tsx:171
- Text: 'Fehler beim Laden der Dokumente: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler beim Laden der Dokumente: {error}</p>
src/pages/views/trustee/TrusteeDocumentsView.tsx:184
- Text: 'Belege und Dokumente verwalten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Belege und Dokumente verwalten</p>
src/pages/views/trustee/TrusteeDocumentsView.tsx:225
- Text: 'Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Löschen',
src/pages/views/trustee/TrusteeDocumentsView.tsx:247
- Text: 'Keine Dokumente gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Dokumente gefunden"
src/pages/views/trustee/TrusteeDocumentsView.tsx:257
- Text: 'Neues Dokument'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isCreateMode ? 'Neues Dokument' : 'Dokument bearbeiten'}
src/pages/views/trustee/TrusteeDocumentsView.tsx:257
- Text: 'Dokument bearbeiten'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isCreateMode ? 'Neues Dokument' : 'Dokument bearbeiten'}
src/pages/views/trustee/TrusteeDocumentsView.tsx:270
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:71
- Text: 'Trustee Expense Import'
- Art: string_literal
- Kontext: string literal
- Zeile:
const EXPENSE_IMPORT_LABEL = 'Trustee Expense Import';
src/pages/views/trustee/TrusteeExpenseImportView.tsx:72
- Text: '0 22 * * *'
- Art: string_literal
- Kontext: string literal
- Zeile:
const DAILY_CRON = '0 22 * * *';
src/pages/views/trustee/TrusteeExpenseImportView.tsx:241
- Text: 'Failed to load SharePoint sites'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(_parseErrorDetail(err.response?.data?.detail) || 'Failed to load SharePoint sites');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:263
- Text: 'Failed to load folders'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(_parseErrorDetail(err.response?.data?.detail) || 'Failed to load folders');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:318
- Text: 'Microsoft connection failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err.message || 'Microsoft connection failed');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:326
- Text: 'Missing Connection'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Missing Connection', 'Please select a Microsoft connection first.');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:326
- Text: 'Please select a Microsoft connection first.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Missing Connection', 'Please select a Microsoft connection first.');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:330
- Text: 'Missing Folder'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Missing Folder', 'Please select a SharePoint folder first.');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:330
- Text: 'Please select a SharePoint folder first.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Missing Folder', 'Please select a SharePoint folder first.');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:334
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'Feature instance not found. Please refresh the page.');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:334
- Text: 'Feature instance not found. Please refresh the page.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', 'Feature instance not found. Please refresh the page.');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:357
- Text: 'Daily at 22:00'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Daily at 22:00',
src/pages/views/trustee/TrusteeExpenseImportView.tsx:373
- Text: 'Expense import workflow updated and activated!'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Expense import workflow updated and activated!'
src/pages/views/trustee/TrusteeExpenseImportView.tsx:374
- Text: 'Expense import workflow updated and deactivated.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Expense import workflow updated and deactivated.';
src/pages/views/trustee/TrusteeExpenseImportView.tsx:376
- Text: 'Success'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Success', msg);
src/pages/views/trustee/TrusteeExpenseImportView.tsx:387
- Text: 'Expense import workflow created and activated! It will run daily at 22:00.'
- Art: string_literal
- Kontext: string literal
- Zeile:
const msg = 'Expense import workflow created and activated! It will run daily at 22:00.';
src/pages/views/trustee/TrusteeExpenseImportView.tsx:389
- Text: 'Success'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Success', msg);
src/pages/views/trustee/TrusteeExpenseImportView.tsx:404
- Text: 'Failed to save workflow'
- Art: string_literal
- Kontext: string literal
- Zeile:
const errorMsg = _parseErrorDetail(err.response?.data?.detail) || err.message || 'Failed to save workflow';
src/pages/views/trustee/TrusteeExpenseImportView.tsx:406
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', errorMsg);
src/pages/views/trustee/TrusteeExpenseImportView.tsx:414
- Text: 'Missing data'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Missing data', 'Please select connection and folder first.');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:414
- Text: 'Please select connection and folder first.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Missing data', 'Please select connection and folder first.');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:431
- Text: 'Workflow started. Extract → Process → Sync will run once.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Started', 'Workflow started. Extract → Process → Sync will run once.');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:433
- Text: 'Failed to start workflow'
- Art: string_literal
- Kontext: string literal
- Zeile:
const msg = _parseErrorDetail(err.response?.data?.detail) || err.message || 'Failed to start workflow';
src/pages/views/trustee/TrusteeExpenseImportView.tsx:435
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', msg);
src/pages/views/trustee/TrusteeExpenseImportView.tsx:454
- Text: 'Expense import workflow deactivated.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setSuccessMessage('Expense import workflow deactivated.');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:455
- Text: 'Expense import workflow deactivated.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Deactivated', 'Expense import workflow deactivated.');
src/pages/views/trustee/TrusteeExpenseImportView.tsx:458
- Text: 'Failed to deactivate workflow'
- Art: string_literal
- Kontext: string literal
- Zeile:
const errorMsg = _parseErrorDetail(err.response?.data?.detail) || err.message || 'Failed to deactivate workflow';
src/pages/views/trustee/TrusteeExpenseImportView.tsx:460
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', errorMsg);
src/pages/views/trustee/TrusteeExpenseImportView.tsx:469
- Text: 'Expense Import Setup'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.sectionTitle}>Expense Import Setup</h3>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:478
- Text: 'How it works'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="How it works"
src/pages/views/trustee/TrusteeExpenseImportView.tsx:484
- Text: 'How it works:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<strong>How it works:</strong>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:486
- Text: 'Place expense PDF documents (receipts, invoices) in the selected SharePoint folder'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>Place expense PDF documents (receipts, invoices) in the selected SharePoint folder</li>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:487
- Text: 'The system runs daily at 22:00 and processes all PDF files'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>The system runs daily at 22:00 and processes all PDF files</li>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:488
- Text: 'AI extracts expense data: date, amount, VAT, company, description'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>AI extracts expense data: date, amount, VAT, company, description</li>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:489
- Text: 'Each expense is saved as a position in this Trustee instance'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>Each expense is saved as a position in this Trustee instance</li>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:490
- Text: 'Processed PDFs are moved to a "processed" subfolder'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>Processed PDFs are moved to a "processed" subfolder</li>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:491
- Text: 'Failed PDFs are moved to an "error" subfolder'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>Failed PDFs are moved to an "error" subfolder</li>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:492
- Text: 'Maximum 50 PDFs are processed per run'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<li>Maximum 50 PDFs are processed per run</li>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:513
- Text: 'Current Status:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<strong>Current Status:</strong> {existingWorkflow.active ? '✓ Active' : '○ Inactive'}
src/pages/views/trustee/TrusteeExpenseImportView.tsx:513
- Text: '✓ Active'
- Art: string_literal
- Kontext: string literal
- Zeile:
<strong>Current Status:</strong> {existingWorkflow.active ? '✓ Active' : '○ Inactive'}
src/pages/views/trustee/TrusteeExpenseImportView.tsx:513
- Text: '○ Inactive'
- Art: string_literal
- Kontext: string literal
- Zeile:
<strong>Current Status:</strong> {existingWorkflow.active ? '✓ Active' : '○ Inactive'}
src/pages/views/trustee/TrusteeExpenseImportView.tsx:515
- Text: 'Folder: {existingWorkflow.sharepointFolder}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<><br />Folder: {existingWorkflow.sharepointFolder}</>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:524
- Text: 'Microsoft Connection'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4>Microsoft Connection</h4>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:531
- Text: 'Connect Microsoft Account'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isConnecting ? 'Connecting...' : 'Connect Microsoft Account'}
src/pages/views/trustee/TrusteeExpenseImportView.tsx:537
- Text: 'Microsoft Account'
- Art: string_literal
- Kontext: string literal
- Zeile:
Connected as <strong>{msftConnections[0].accountName || 'Microsoft Account'}</strong>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:554
- Text: 'Select a Microsoft account...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">Select a Microsoft account...</option>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:567
- Text: 'Add another account'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isConnecting ? 'Connecting...' : 'Add another account'}
src/pages/views/trustee/TrusteeExpenseImportView.tsx:579
- Text: 'SharePoint Site'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4>SharePoint Site</h4>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:581
- Text: 'Loading sites...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.loadingText}>Loading sites...</div>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:588
- Text: 'Select a site...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<option value="">Select a site...</option>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:605
- Text: 'Expense Folder'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h4>Expense Folder</h4>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:610
- Text: 'Loading folders...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.loadingText}>Loading folders...</div>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:651
- Text: 'No subfolders found'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.emptyText}>No subfolders found</div>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:670
- Text: 'Update Configuration'
- Art: string_literal
- Kontext: string literal
- Zeile:
<h4>{existingWorkflow ? 'Update Configuration' : 'Activate Daily Import'}</h4>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:670
- Text: 'Activate Daily Import'
- Art: string_literal
- Kontext: string literal
- Zeile:
<h4>{existingWorkflow ? 'Update Configuration' : 'Activate Daily Import'}</h4>
src/pages/views/trustee/TrusteeExpenseImportView.tsx:681
- Text: 'Save & Activate'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isActivating ? 'Saving...' : (existingWorkflow ? 'Save & Activate' : 'Activate Daily Import')}
src/pages/views/trustee/TrusteeExpenseImportView.tsx:681
- Text: 'Activate Daily Import'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isActivating ? 'Saving...' : (existingWorkflow ? 'Save & Activate' : 'Activate Daily Import')}
src/pages/views/trustee/TrusteeExpenseImportView.tsx:688
- Text: 'Jetzt ausführen'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isRunningNow ? 'Starting...' : 'Jetzt ausführen'}
src/pages/views/trustee/TrusteeInstanceRolesView.tsx:56
- Text: 'Fehler beim Laden der Rollen'
- Art: string_literal
- Kontext: string literal
- Zeile:
const errorMsg = err.response?.data?.detail || err.message || 'Fehler beim Laden der Rollen';
src/pages/views/trustee/TrusteeInstanceRolesView.tsx:76
- Text: 'Keine Feature-Instanz ausgewählt'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.error}>Keine Feature-Instanz ausgewählt</div>
src/pages/views/trustee/TrusteeInstanceRolesView.tsx:84
- Text: 'Lade Instanz-Rollen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<div className={styles.loading}>Lade Instanz-Rollen...</div>
src/pages/views/trustee/TrusteeInstanceRolesView.tsx:132
- Text: 'Keine Instanz-Rollen gefunden'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>Keine Instanz-Rollen gefunden</p>
src/pages/views/trustee/TrusteePositionDocumentsView.tsx:139
- Text: 'Fehler beim Laden der Verknüpfungen: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler beim Laden der Verknüpfungen: {error}</p>
src/pages/views/trustee/TrusteePositionDocumentsView.tsx:152
- Text: 'Belege mit Buchungspositionen verknüpfen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Belege mit Buchungspositionen verknüpfen</p>
src/pages/views/trustee/TrusteePositionDocumentsView.tsx:188
- Text: 'Verknüpfung bearbeiten'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Verknüpfung bearbeiten',
src/pages/views/trustee/TrusteePositionDocumentsView.tsx:194
- Text: 'Verknüpfung entfernen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Verknüpfung entfernen',
src/pages/views/trustee/TrusteePositionDocumentsView.tsx:206
- Text: 'Keine Verknüpfungen gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Verknüpfungen gefunden"
src/pages/views/trustee/TrusteePositionDocumentsView.tsx:215
- Text: 'Neue Verknüpfung erstellen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Neue Verknüpfung erstellen</h2>
src/pages/views/trustee/TrusteePositionDocumentsView.tsx:227
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/views/trustee/TrusteePositionDocumentsView.tsx:236
- Text: 'Verknüpfung erstellen'
- Art: string_literal
- Kontext: string literal
- Zeile:
submitButtonText="Verknüpfung erstellen"
src/pages/views/trustee/TrusteePositionDocumentsView.tsx:251
- Text: 'Verknüpfung bearbeiten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.modalTitle}>Verknüpfung bearbeiten</h2>
src/pages/views/trustee/TrusteePositionDocumentsView.tsx:263
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/views/trustee/TrusteePositionsView.tsx:91
- Text: 'Sync teilweise fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Sync teilweise fehlgeschlagen',${res.success} OK, ${res.errors} Fehler.);
src/pages/views/trustee/TrusteePositionsView.tsx:94
- Text: 'Sync fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Sync fehlgeschlagen', firstError?.errorMessage ||${res.errors} Fehler.);
src/pages/views/trustee/TrusteePositionsView.tsx:99
- Text: 'Sync fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Sync fehlgeschlagen', err.response?.data?.detail || err.message || 'Unbekannter Fehler.');
src/pages/views/trustee/TrusteePositionsView.tsx:99
- Text: 'Unbekannter Fehler.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Sync fehlgeschlagen', err.response?.data?.detail || err.message || 'Unbekannter Fehler.');
src/pages/views/trustee/TrusteePositionsView.tsx:127
- Text: 'Dokument nicht gefunden.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', 'Dokument nicht gefunden.');
src/pages/views/trustee/TrusteePositionsView.tsx:145
- Text: 'Fehler beim Herunterladen des Dokuments.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Fehler', 'Fehler beim Herunterladen des Dokuments.');
src/pages/views/trustee/TrusteePositionsView.tsx:163
- Text: 'Belege'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Belege',
src/pages/views/trustee/TrusteePositionsView.tsx:190
- Text: '1px solid var(--border-color, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e5e7eb)',
src/pages/views/trustee/TrusteePositionsView.tsx:228
- Text: 'Sync-Status'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Sync-Status',
src/pages/views/trustee/TrusteePositionsView.tsx:393
- Text: 'Fehler beim Laden der Positionen: {error}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.errorMessage}>Fehler beim Laden der Positionen: {error}</p>
src/pages/views/trustee/TrusteePositionsView.tsx:406
- Text: 'Buchungspositionen verwalten'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.pageSubtitle}>Buchungspositionen verwalten</p>
src/pages/views/trustee/TrusteePositionsView.tsx:441
- Text: 'Buchhaltung synchronisieren'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
label: 'Buchhaltung synchronisieren',
src/pages/views/trustee/TrusteePositionsView.tsx:455
- Text: 'Löschen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'Löschen',
src/pages/views/trustee/TrusteePositionsView.tsx:463
- Text: 'In Buchhaltung synchronisieren'
- Art: string_literal
- Kontext: string literal
- Zeile:
title: 'In Buchhaltung synchronisieren',
src/pages/views/trustee/TrusteePositionsView.tsx:477
- Text: 'Keine Positionen gefunden'
- Art: string_literal
- Kontext: string literal
- Zeile:
emptyMessage="Keine Positionen gefunden"
src/pages/views/trustee/TrusteePositionsView.tsx:487
- Text: 'Neue Position'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isCreateMode ? 'Neue Position' : 'Position bearbeiten'}
src/pages/views/trustee/TrusteePositionsView.tsx:487
- Text: 'Position bearbeiten'
- Art: string_literal
- Kontext: string literal
- Zeile:
{isCreateMode ? 'Neue Position' : 'Position bearbeiten'}
src/pages/views/trustee/TrusteePositionsView.tsx:500
- Text: 'Lade Formular...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Lade Formular...</span>
src/pages/views/trustee/TrusteeScanUploadView.tsx:77
- Text: 'Invalid file'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Invalid file',${file.name}: only PDF and JPG are supported.);
src/pages/views/trustee/TrusteeScanUploadView.tsx:85
- Text: 'Upload'
- Art: string_literal
- Kontext: string literal
- Zeile:
else showError('Upload', 'Could not get file ID from server.');
src/pages/views/trustee/TrusteeScanUploadView.tsx:85
- Text: 'Could not get file ID from server.'
- Art: string_literal
- Kontext: string literal
- Zeile:
else showError('Upload', 'Could not get file ID from server.');
src/pages/views/trustee/TrusteeScanUploadView.tsx:87
- Text: 'Upload failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Upload failed', result.error || 'Unknown error');
src/pages/views/trustee/TrusteeScanUploadView.tsx:87
- Text: 'Unknown error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Upload failed', result.error || 'Unknown error');
src/pages/views/trustee/TrusteeScanUploadView.tsx:157
- Text: 'Step failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
const errMsg = failedStep.error || 'Step failed';
src/pages/views/trustee/TrusteeScanUploadView.tsx:161
- Text: 'Pipeline error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Pipeline error', errMsg);
src/pages/views/trustee/TrusteeScanUploadView.tsx:168
- Text: 'Pipeline completed'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Pipeline completed', 'Extraction and processing workflow finished successfully.');
src/pages/views/trustee/TrusteeScanUploadView.tsx:168
- Text: 'Extraction and processing workflow finished successfully.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Pipeline completed', 'Extraction and processing workflow finished successfully.');
src/pages/views/trustee/TrusteeScanUploadView.tsx:178
- Text: 'Polling failed'
- Art: string_literal
- Kontext: string literal
- Zeile:
const msg = _parseErrorDetail(pollErr.response?.data?.detail) || pollErr.message || 'Polling failed';
src/pages/views/trustee/TrusteeScanUploadView.tsx:182
- Text: 'Polling error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Polling error', msg);
src/pages/views/trustee/TrusteeScanUploadView.tsx:213
- Text: 'Missing data'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Missing data', 'Please upload at least one PDF or JPG first.');
src/pages/views/trustee/TrusteeScanUploadView.tsx:213
- Text: 'Please upload at least one PDF or JPG first.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Missing data', 'Please upload at least one PDF or JPG first.');
src/pages/views/trustee/TrusteeScanUploadView.tsx:219
- Text: 'Starting pipeline workflow...'
- Art: string_literal
- Kontext: string literal
- Zeile:
setPipelineSummary('Starting pipeline workflow...');
src/pages/views/trustee/TrusteeScanUploadView.tsx:233
- Text: 'Pipeline completed (synchronous execution).'
- Art: string_literal
- Kontext: string literal
- Zeile:
setPipelineSummary('Pipeline completed (synchronous execution).');
src/pages/views/trustee/TrusteeScanUploadView.tsx:234
- Text: 'Pipeline finished: Extract → Process → Sync.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Completed', 'Pipeline finished: Extract → Process → Sync.');
src/pages/views/trustee/TrusteeScanUploadView.tsx:236
- Text: 'Workflow executed but no run ID returned.'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error(response?.data?.error || 'Workflow executed but no run ID returned.');
src/pages/views/trustee/TrusteeScanUploadView.tsx:242
- Text: 'Pipeline started: Extract → Process → Sync. You can follow progress in Workflows.'
- Art: string_literal
- Kontext: string literal
- Zeile:
showSuccess('Started', 'Pipeline started: Extract → Process → Sync. You can follow progress in Workflows.');
src/pages/views/trustee/TrusteeScanUploadView.tsx:245
- Text: 'Failed to start workflow'
- Art: string_literal
- Kontext: string literal
- Zeile:
const msg = _parseErrorDetail(err.response?.data?.detail) || err.message || 'Failed to start workflow';
src/pages/views/trustee/TrusteeScanUploadView.tsx:248
- Text: 'Error'
- Art: string_literal
- Kontext: string literal
- Zeile:
showError('Error', msg);
src/pages/views/trustee/TrusteeScanUploadView.tsx:257
- Text: 'File upload is not available in this context.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p>File upload is not available in this context.</p>
src/pages/views/trustee/TrusteeScanUploadView.tsx:265
- Text: 'Scan / Upload'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.sectionTitle}>Scan / Upload</h3>
src/pages/views/trustee/TrusteeScanUploadView.tsx:272
- Text: 'Pipeline status:'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<strong>Pipeline status:</strong> {pipelineState}
src/pages/views/trustee/TrusteeScanUploadView.tsx:308
- Text: 'Choose files'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
aria-label="Choose files"
src/pages/views/trustee/TrusteeScanUploadView.tsx:310
- Text: 'Choose files'
- Art: string_literal
- Kontext: string literal
- Zeile:
{uploadingFile ? 'Uploading…' : 'Choose files'}
src/pages/views/trustee/TrusteeScanUploadView.tsx:320
- Text: 'Take photo'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
aria-label="Take photo"
src/pages/views/trustee/TrusteeScanUploadView.tsx:341
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/trustee/TrusteeScanUploadView.tsx:364
- Text: 'Pipeline running...'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Pipeline running...'
src/pages/views/trustee/TrusteeScanUploadView.tsx:365
- Text: 'Start pipeline'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Start pipeline'}
src/pages/views/workspace/ChatStream.tsx:63
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/ChatStream.tsx:108
- Text: '2px solid #ddd'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '2px solid #ddd',
src/pages/views/workspace/ChatStream.tsx:120
- Text: '1px solid #eee'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid #eee',
src/pages/views/workspace/ChatStream.tsx:201
- Text: '1px solid var(--warning-color, #ff9800)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--warning-color, #ff9800)',
src/pages/views/workspace/ChatStream.tsx:246
- Text: '1px solid var(--border-color, #ccc)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #ccc)',
src/pages/views/workspace/ChatStream.tsx:262
- Text: '1px solid var(--progress-border, #c8e6c9)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--progress-border, #c8e6c9)',
src/pages/views/workspace/ChatStream.tsx:354
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/ChatStream.tsx:357
- Text: 'background 0.15s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'background 0.15s',
src/pages/views/workspace/ChatStream.tsx:376
- Text: 'Download'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<span style={{ fontSize: 14, color: 'var(--primary-color, #F25843)' }} title="Download">⬇</span>
src/pages/views/workspace/ChatStream.tsx:451
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/ChatStream.tsx:478
- Text: 'width 0.2s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'width 0.2s',
src/pages/views/workspace/ChatStream.tsx:500
- Text: 'Stop'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Stop"
src/pages/views/workspace/ChatStream.tsx:530
- Text: 'Consolas, Monaco, "Courier New", monospace'
- Art: string_literal
- Kontext: string literal
- Zeile:
fontFamily: 'Consolas, Monaco, "Courier New", monospace',
src/pages/views/workspace/ChatStream.tsx:557
- Text: 'Consolas, Monaco, "Courier New", monospace'
- Art: string_literal
- Kontext: string literal
- Zeile:
fontFamily: 'Consolas, Monaco, "Courier New", monospace',
src/pages/views/workspace/FilePreview.tsx:72
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/FilePreview.tsx:106
- Text: 'Consolas, Monaco, "Courier New", monospace'
- Art: string_literal
- Kontext: string literal
- Zeile:
fontFamily: 'Consolas, Monaco, "Courier New", monospace',
src/pages/views/workspace/FilePreview.tsx:135
- Text: 'File too large for inline preview'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'File too large for inline preview'
src/pages/views/workspace/NeutralizationPanel.tsx:214
- Text: 'Chat, Prompt & Kontext'
- Art: string_literal
- Kontext: string literal
- Zeile:
fileName: 'Chat, Prompt & Kontext',
src/pages/views/workspace/NeutralizationPanel.tsx:366
- Text: '2px solid var(--accent, #4f46e5)'
- Art: string_literal
- Kontext: string literal
- Zeile:
selectedSource === src.fileId ? '2px solid var(--accent, #4f46e5)' : '1px solid var(--border-color, #e5e7eb)',
src/pages/views/workspace/NeutralizationPanel.tsx:366
- Text: '1px solid var(--border-color, #e5e7eb)'
- Art: string_literal
- Kontext: string literal
- Zeile:
selectedSource === src.fileId ? '2px solid var(--accent, #4f46e5)' : '1px solid var(--border-color, #e5e7eb)',
src/pages/views/workspace/NeutralizationPanel.tsx:394
- Text: '1px solid var(--border-color, #d1d5db)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #d1d5db)',
src/pages/views/workspace/NeutralizationPanel.tsx:423
- Text: '1px solid var(--border-color, #f3f4f6)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderTop: '1px solid var(--border-color, #f3f4f6)',
src/pages/views/workspace/NeutralizationPanel.tsx:437
- Text: 'Mapping löschen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Mapping löschen"
src/pages/views/workspace/NeutralizationPanel.tsx:450
- Text: 'Keine Mappings ohne Dateizuordnung.'
- Art: string_literal
- Kontext: string literal
- Zeile:
? 'Keine Mappings ohne Dateizuordnung.'
src/pages/views/workspace/NeutralizationPanel.tsx:451
- Text: 'Keine gespeicherten Mappings für diese Datenquelle.'
- Art: string_literal
- Kontext: string literal
- Zeile:
: 'Keine gespeicherten Mappings für diese Datenquelle.'}
src/pages/views/workspace/WorkspaceEditorPage.tsx:71
- Text: 'Zurueck zum Dashboard'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button onClick={_goBack} style={_btnStyle} title="Zurueck zum Dashboard">
src/pages/views/workspace/WorkspaceEditorPage.tsx:80
- Text: 'Aktualisieren'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
<button onClick={editor.refresh} style={_btnStyle} title="Aktualisieren">
src/pages/views/workspace/WorkspaceEditorPage.tsx:106
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/WorkspaceEditorPage.tsx:153
- Text: 'Original: {formatBinaryDataSizeBytes(activeEdit.oldContent.length)}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Original: {formatBinaryDataSizeBytes(activeEdit.oldContent.length)}</span>
src/pages/views/workspace/WorkspaceEditorPage.tsx:154
- Text: 'Geaendert: {formatBinaryDataSizeBytes(activeEdit.newContent.length)}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<span>Geaendert: {formatBinaryDataSizeBytes(activeEdit.newContent.length)}</span>
src/pages/views/workspace/WorkspaceEditorPage.tsx:177
- Text: 'TextModel got disposed'
- Art: string_literal
- Kontext: string literal
- Zeile:
// Safe DiffEditor wrapper -- prevents "TextModel got disposed" errors
src/pages/views/workspace/WorkspaceEditorPage.tsx:239
- Text: '2px solid var(--primary-color, #F25843)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: isActive ? '2px solid var(--primary-color, #F25843)' : '2px solid transparent',
src/pages/views/workspace/WorkspaceEditorPage.tsx:239
- Text: '2px solid transparent'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: isActive ? '2px solid var(--primary-color, #F25843)' : '2px solid transparent',
src/pages/views/workspace/WorkspaceGeneralSettings.tsx:50
- Text: 'Fehler beim Laden der Einstellungen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err?.message || 'Fehler beim Laden der Einstellungen');
src/pages/views/workspace/WorkspaceGeneralSettings.tsx:67
- Text: 'Wert muss zwischen 1 und 100 liegen.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError('Wert muss zwischen 1 und 100 liegen.');
src/pages/views/workspace/WorkspaceGeneralSettings.tsx:81
- Text: 'Einstellungen gespeichert.'
- Art: string_literal
- Kontext: string literal
- Zeile:
setSuccess('Einstellungen gespeichert.');
src/pages/views/workspace/WorkspaceGeneralSettings.tsx:84
- Text: 'Fehler beim Speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(err?.message || 'Fehler beim Speichern');
src/pages/views/workspace/WorkspaceGeneralSettings.tsx:95
- Text: 'Lade Einstellungen...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div className={styles.loading}>Lade Einstellungen...</div>;
src/pages/views/workspace/WorkspaceGeneralSettings.tsx:102
- Text: 'Generelle Einstellungen'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h2 className={styles.heading}>Generelle Einstellungen</h2>
src/pages/views/workspace/WorkspaceGeneralSettings.tsx:130
- Text: 'Auf Standard zurücksetzen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Auf Standard zurücksetzen"
src/pages/views/workspace/WorkspaceGeneralSettings.tsx:139
- Text: 'Ihr Override: {maxRoundsInfo.userOverride}.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<> Ihr Override: {maxRoundsInfo.userOverride}.</>
src/pages/views/workspace/WorkspaceGeneralSettings.tsx:151
- Text: 'Einstellungen speichern'
- Art: string_literal
- Kontext: string literal
- Zeile:
{saving ? 'Speichern...' : 'Einstellungen speichern'}
src/pages/views/workspace/WorkspaceInput.tsx:14
- Text: 'Deutsch'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'de-DE', label: 'Deutsch' },
src/pages/views/workspace/WorkspaceInput.tsx:15
- Text: 'English (US)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'en-US', label: 'English (US)' },
src/pages/views/workspace/WorkspaceInput.tsx:16
- Text: 'English (UK)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'en-GB', label: 'English (UK)' },
src/pages/views/workspace/WorkspaceInput.tsx:17
- Text: 'Francais'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'fr-FR', label: 'Francais' },
src/pages/views/workspace/WorkspaceInput.tsx:18
- Text: 'Italiano'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'it-IT', label: 'Italiano' },
src/pages/views/workspace/WorkspaceInput.tsx:19
- Text: 'Espanol'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'es-ES', label: 'Espanol' },
src/pages/views/workspace/WorkspaceInput.tsx:20
- Text: 'Portugues'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'pt-BR', label: 'Portugues' },
src/pages/views/workspace/WorkspaceInput.tsx:21
- Text: 'Nederlands'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'nl-NL', label: 'Nederlands' },
src/pages/views/workspace/WorkspaceInput.tsx:22
- Text: 'Polski'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'pl-PL', label: 'Polski' },
src/pages/views/workspace/WorkspaceInput.tsx:23
- Text: 'Russkij'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'ru-RU', label: 'Russkij' },
src/pages/views/workspace/WorkspaceInput.tsx:24
- Text: 'Japanese'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'ja-JP', label: 'Japanese' },
src/pages/views/workspace/WorkspaceInput.tsx:25
- Text: 'Chinese'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ code: 'zh-CN', label: 'Chinese' },
src/pages/views/workspace/WorkspaceInput.tsx:324
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderTop: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/WorkspaceInput.tsx:327
- Text: '2px dashed var(--primary-color, #F25843)'
- Art: string_literal
- Kontext: string literal
- Zeile:
outline: treeDropOver ? '2px dashed var(--primary-color, #F25843)' : 'none',
src/pages/views/workspace/WorkspaceInput.tsx:329
- Text: 'background 0.15s, outline 0.15s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'background 0.15s, outline 0.15s',
src/pages/views/workspace/WorkspaceInput.tsx:342
- Text: '1px solid var(--border-color, #f0f0f0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--border-color, #f0f0f0)',
src/pages/views/workspace/WorkspaceInput.tsx:381
- Text: '1px solid var(--border-color, #f0f0f0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--border-color, #f0f0f0)',
src/pages/views/workspace/WorkspaceInput.tsx:471
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/WorkspaceInput.tsx:473
- Text: '0 -2px 8px rgba(0,0,0,0.1)'
- Art: string_literal
- Kontext: string literal
- Zeile:
boxShadow: '0 -2px 8px rgba(0,0,0,0.1)',
src/pages/views/workspace/WorkspaceInput.tsx:484
- Text: '1px solid #f0f0f0'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid #f0f0f0',
src/pages/views/workspace/WorkspaceInput.tsx:512
- Text: 'Type a message... Use @filename to reference files'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
placeholder="Type a message... Use @filename to reference files"
src/pages/views/workspace/WorkspaceInput.tsx:521
- Text: '1px solid var(--border-color, #ccc)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #ccc)',
src/pages/views/workspace/WorkspaceInput.tsx:533
- Text: 'Datei anhängen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Datei anhängen"
src/pages/views/workspace/WorkspaceInput.tsx:551
- Text: 'Datenquellen anhängen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Datenquellen anhängen"
src/pages/views/workspace/WorkspaceInput.tsx:600
- Text: '2px solid #2e7d32'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: isSelected ? '2px solid #2e7d32' : '2px solid #ccc',
src/pages/views/workspace/WorkspaceInput.tsx:600
- Text: '2px solid #ccc'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: isSelected ? '2px solid #2e7d32' : '2px solid #ccc',
src/pages/views/workspace/WorkspaceInput.tsx:634
- Text: '2px solid #7b1fa2'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: isSelected ? '2px solid #7b1fa2' : '2px solid #ccc',
src/pages/views/workspace/WorkspaceInput.tsx:634
- Text: '2px solid #ccc'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: isSelected ? '2px solid #7b1fa2' : '2px solid #ccc',
src/pages/views/workspace/WorkspaceInput.tsx:669
- Text: 'Sprache waehlen'
- Art: string_literal
- Kontext: jsx/html attribute (title|placeholder|aria-label|alt)
- Zeile:
title="Sprache waehlen"
src/pages/views/workspace/WorkspaceInput.tsx:682
- Text: 'Aufnahme stoppen'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={voiceActive ? 'Aufnahme stoppen' : 'Sprachaufnahme starten'}
src/pages/views/workspace/WorkspaceInput.tsx:682
- Text: 'Sprachaufnahme starten'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={voiceActive ? 'Aufnahme stoppen' : 'Sprachaufnahme starten'}
src/pages/views/workspace/WorkspaceInput.tsx:724
- Text: 'Neutralisierung aktiv (klicken zum Deaktivieren)'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={neutralizeActive ? 'Neutralisierung aktiv (klicken zum Deaktivieren)' : 'Neutralisierung aus (klicken zum Aktivieren)'}
src/pages/views/workspace/WorkspaceInput.tsx:724
- Text: 'Neutralisierung aus (klicken zum Aktivieren)'
- Art: string_literal
- Kontext: string literal
- Zeile:
title={neutralizeActive ? 'Neutralisierung aktiv (klicken zum Deaktivieren)' : 'Neutralisierung aus (klicken zum Aktivieren)'}
src/pages/views/workspace/WorkspaceInput.tsx:731
- Text: 'all 0.15s'
- Art: string_literal
- Kontext: string literal
- Zeile:
transition: 'all 0.15s',
src/pages/views/workspace/WorkspacePage.tsx:223
- Text: '2px solid var(--primary-color, #F25843)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: active ? '2px solid var(--primary-color, #F25843)' : '2px solid transparent',
src/pages/views/workspace/WorkspacePage.tsx:223
- Text: '2px solid transparent'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: active ? '2px solid var(--primary-color, #F25843)' : '2px solid transparent',
src/pages/views/workspace/WorkspacePage.tsx:310
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderRight: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/WorkspacePage.tsx:356
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/WorkspacePage.tsx:365
- Text: '1px solid var(--border-color, #ddd)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #ddd)',
src/pages/views/workspace/WorkspacePage.tsx:379
- Text: '1px solid var(--border-color, #ddd)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #ddd)',
src/pages/views/workspace/WorkspacePage.tsx:392
- Text: '1px solid var(--border-color, #ddd)'
- Art: string_literal
- Kontext: string literal
- Zeile:
border: '1px solid var(--border-color, #ddd)',
src/pages/views/workspace/WorkspacePage.tsx:465
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderLeft: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/WorkspacePage.tsx:498
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderRight: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/WorkspacePage.tsx:532
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderLeft: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:28
- Text: 'Office (Text)'
- Art: string_literal
- Kontext: string literal
- Zeile:
office_doc: 'Office (Text)',
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:29
- Text: 'Office (Tabellen)'
- Art: string_literal
- Kontext: string literal
- Zeile:
office_sheet: 'Office (Tabellen)',
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:30
- Text: 'Office (Folien)'
- Art: string_literal
- Kontext: string literal
- Zeile:
office_slides: 'Office (Folien)',
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:87
- Text: 'Laden fehlgeschlagen'
- Art: string_literal
- Kontext: string literal
- Zeile:
setError(e instanceof Error ? e.message : 'Laden fehlgeschlagen');
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:150
- Text: 'Indexierte Dokumente'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.kpiLabel}>Indexierte Dokumente</p>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:154
- Text: 'Indexiertes Datenvolumen (geschätzt)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.kpiLabel}>Indexiertes Datenvolumen (geschätzt)</p>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:158
- Text: 'Inhalts-Fragmente (Chunks)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.kpiLabel}>Inhalts-Fragmente (Chunks)</p>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:164
- Text: 'Anteil Fragmente mit Embedding'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.kpiLabel}>Anteil Fragmente mit Embedding</p>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:168
- Text: 'Beitragende Benutzer (Anzahl)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.kpiLabel}>Beitragende Benutzer (Anzahl)</p>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:172
- Text: 'Workflow-Entitäten (Cache)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.kpiLabel}>Workflow-Entitäten (Cache)</p>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:178
- Text: 'Neu indexierte Dokumente pro Tag (letzte Wochen)'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.chartTitle}>Neu indexierte Dokumente pro Tag (letzte Wochen)</h3>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:180
- Text: 'Keine Zeitreihen-Daten für den gewählten Zeitraum.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.meta}>Keine Zeitreihen-Daten für den gewählten Zeitraum.</p>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:196
- Text: 'Dokumente nach Format-Kategorie'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.chartTitle}>Dokumente nach Format-Kategorie</h3>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:198
- Text: 'Keine Daten.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.meta}>Keine Daten.</p>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:215
- Text: 'Keine Daten.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.meta}>Keine Daten.</p>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:241
- Text: 'Fragmente nach Inhaltstyp'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<h3 className={styles.chartTitle}>Fragmente nach Inhaltstyp</h3>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:243
- Text: 'Keine Chunk-Daten.'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.meta}>Keine Chunk-Daten.</p>
src/pages/views/workspace/WorkspaceRagInsightsPage.tsx:258
- Text: 'Stand (UTC): {stats.generatedAtUtc}'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
<p className={styles.meta}>Stand (UTC): {stats.generatedAtUtc}</p>
src/pages/views/workspace/WorkspaceSettingsPage.tsx:5
- Text: 'Stimme & Sprache'
- Art: string_literal
- Kontext: string literal
- Zeile:
* Voice settings are now in user-level settings (/settings -> "Stimme & Sprache").
src/pages/views/workspace/WorkspaceSettingsPage.tsx:16
- Text: 'Generelle Einstellungen'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'general', label: 'Generelle Einstellungen' },
src/pages/views/workspace/WorkspaceSettingsPage.tsx:17
- Text: 'Neutralisierung (Workspace)'
- Art: string_literal
- Kontext: object property label: (e.g. table column)
- Zeile:
{ key: 'neutralization', label: 'Neutralisierung (Workspace)' },
src/pages/views/workspace/WorkspaceSettingsPage.tsx:37
- Text: '1px solid var(--border-color, #e0e0e0)'
- Art: string_literal
- Kontext: string literal
- Zeile:
borderBottom: '1px solid var(--border-color, #e0e0e0)',
src/pages/views/workspace/WorkspaceSettingsPage.tsx:49
- Text: '2px solid var(--primary-color, #F25843)'
- Art: string_literal
- Kontext: string literal
- Zeile:
? '2px solid var(--primary-color, #F25843)'
src/pages/views/workspace/WorkspaceSettingsPage.tsx:50
- Text: '2px solid transparent'
- Art: string_literal
- Kontext: string literal
- Zeile:
: '2px solid transparent',
src/providers/auth/AuthProvider.tsx:89
- Text: 'Loading authentication...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div>Loading authentication...</div>;
src/providers/auth/ProtectedRoute.tsx:109
- Text: 'Checking authentication...'
- Art: jsx_text
- Kontext: between tags, user-visible text node
- Zeile:
return <div>Checking authentication...</div>;
src/stores/featureStore.tsx:124
- Text: 'Failed to load features'
- Art: string_literal
- Kontext: string literal
- Zeile:
const errorMessage = err instanceof Error ? err.message : 'Failed to load features';
src/stores/featureStore.tsx:264
- Text: 'useFeatureStore must be used within a FeatureProvider'
- Art: string_literal
- Kontext: string literal
- Zeile:
throw new Error('useFeatureStore must be used within a FeatureProvider');