- User management: local accounts (Argon2) and OpenID Connect, admin/user roles, per-user folders plus admin-shared folders, read-only session sharing, event filtering per user - File manager with CodeMirror editor and git client (status, diff, stage, commit, branches, fetch/pull/push, log, clone/init) - Image generation via fal.ai: generate_image tool and image page - Budgets: monthly limits per provider, provider balances/costs (OpenRouter, Anthropic admin cost report, fal.ai), price discovery - Subagents on other models, background tasks, concurrency limits per host/model/subagent - MCP tools loaded on demand (mcp_search/mcp_call), read-only hints - Permission mode "auto", safe read-only commands always allowed - Persistent message queue with attachments, deletable - Live reasoning incl. <think> tags, activity animations, CSS themes, mobile layout, statistics per user, upload size handling - Docker: named volume for state, localhost-bound port Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
444 lines
20 KiB
TypeScript
444 lines
20 KiB
TypeScript
import type { Messages } from "./en";
|
||
|
||
export const de: Messages = {
|
||
"common.loading": "Lädt…",
|
||
"common.save": "Speichern",
|
||
"common.add": "Hinzufügen",
|
||
"common.edit": "Bearbeiten",
|
||
"common.delete": "Löschen",
|
||
"common.remove": "Entfernen",
|
||
"common.close": "Schließen",
|
||
"common.collapse": "Einklappen",
|
||
|
||
"nav.menu": "Menü",
|
||
"nav.settings": "Einstellungen",
|
||
"nav.stats": "Statistik",
|
||
|
||
"nav.images": "Bilder",
|
||
"images.disabled": "Bildgenerierung ist nicht eingerichtet: Ein Admin aktiviert sie unter Einstellungen → Allgemein (fal.ai-Key in FAL_KEY).",
|
||
"images.promptPlaceholder": "Beschreibe das Bild: Motiv, Stil, Komposition, Farben, Licht… (Strg+Enter)",
|
||
"images.model": "Modell",
|
||
"images.size": "Format",
|
||
"images.count": "Anzahl",
|
||
"images.countN": "{n}×",
|
||
"images.folder": "Ordner",
|
||
"images.generate": "Erzeugen",
|
||
"images.generating": "Erzeuge…",
|
||
"images.empty": "Noch keine Bilder.",
|
||
"images.reuse": "Prompt wiederverwenden",
|
||
"images.copyPath": "Dateipfad kopieren",
|
||
"images.deleteConfirm": "Dieses Bild löschen (inklusive Datei)?",
|
||
"images.size.square_hd": "Quadrat HD",
|
||
"images.size.square": "Quadrat",
|
||
"images.size.landscape_4_3": "Quer 4:3",
|
||
"images.size.landscape_16_9": "Quer 16:9",
|
||
"images.size.portrait_4_3": "Hoch 3:4",
|
||
"images.size.portrait_16_9": "Hoch 9:16",
|
||
"settings.images": "Bildgenerierung (fal.ai)",
|
||
"settings.imagesEnabled": "Aktiv",
|
||
"settings.imagesKey": "API-Key",
|
||
"settings.imagesDefault": "Standardmodell",
|
||
"settings.imagesDir": "Ordner im Projekt",
|
||
"settings.imagesHint": "Modelle und Preise pro Bild werden in der Config-Datei bearbeitet ([images]).",
|
||
"budget.title": "Budgets in diesem Monat",
|
||
"budget.spent": "Verbraucht",
|
||
"budget.budget": "Budget",
|
||
"budget.remaining": "Verbleibend",
|
||
"budget.provider": "Laut Anbieter",
|
||
"budget.balance": "Guthaben {v}",
|
||
"budget.providerSpent": "Abgerechnet {v}",
|
||
"budget.orgWide": "Organisationsweiter Kostenbericht des Anbieters",
|
||
"budget.remoteError": "nicht verfügbar",
|
||
"budget.hint": "Verbraucht = von CodeCraft mit deinen Preisen erfasste Kosten. Werte des Anbieters kommen aus deren APIs (OpenRouter, Anthropic mit Admin-Key, fal.ai mit Admin-Key).",
|
||
"budget.chip": "Budget {name}: {p}",
|
||
"budget.chipHint": "Ein Monatsbudget ist fast aufgebraucht – siehe Statistik.",
|
||
"settings.monthlyBudget": "Monatsbudget",
|
||
"settings.monthlyBudgetTotal": "Monatsbudget (gesamt)",
|
||
"settings.monthlyBudgetHint": "In der eingestellten Währung; 0 = keins. Warnungen erscheinen im Chat-Kopf.",
|
||
"settings.budgetWarning": "Warnen ab",
|
||
"settings.adminKey": "Admin-Key (optional)",
|
||
"settings.adminKeyHint": "Anthropic Admin-API-Key (sk-ant-admin01-…), um die echten, organisationsweiten Monatskosten anzuzeigen.",
|
||
"settings.fetchPrices": "Preise abrufen",
|
||
"settings.pricesFetched": "Preise für {n} Modelle aktualisiert – zum Übernehmen speichern.",
|
||
"stats.perMillion": "pro 1 Mio. Tok.",
|
||
"stats.perMillionHint": "Effektive Kosten pro Million Tokens (Input inkl. Cache + Output)",
|
||
"queue.pending": "{n} Nachricht(en) in der Warteschlange – werden beim nächsten Schritt übergeben",
|
||
"queue.stopped": "{n} Nachricht(en) in der Warteschlange",
|
||
"queue.sendNow": "Jetzt senden",
|
||
"queue.remove": "Aus der Warteschlange entfernen",
|
||
"queue.backgroundResult": "Ergebnis einer Hintergrundaufgabe",
|
||
"permissionMode.auto": "Automatisch (fragt einmal, Sicheres läuft)",
|
||
"nav.files": "Dateien",
|
||
"files.search": "Dateien suchen…",
|
||
"files.newFile": "Neue Datei",
|
||
"files.newFolder": "Neuer Ordner",
|
||
"files.upload": "Hochladen",
|
||
"files.showHidden": "Versteckte Dateien zeigen",
|
||
"files.newFileName": "Dateiname:",
|
||
"files.newFolderName": "Ordnername:",
|
||
"files.renameTo": "Neuer Name:",
|
||
"files.copyTo": "Name der Kopie:",
|
||
"files.rename": "Umbenennen",
|
||
"files.duplicate": "Duplizieren",
|
||
"files.download": "Herunterladen",
|
||
"files.actions": "Aktionen",
|
||
"files.deleteConfirm": "„{name}“ löschen?",
|
||
"files.deleteFolderConfirm": "Den Ordner „{name}“ mit allem Inhalt löschen?",
|
||
"files.noHits": "Keine Treffer",
|
||
"files.emptyFolder": "Leerer Ordner",
|
||
"files.dropHint": "Dateien hierher ziehen zum Hochladen",
|
||
"files.selectFile": "Datei auswählen",
|
||
"files.edit": "Bearbeiten",
|
||
"files.preview": "Vorschau",
|
||
"files.binary": "Binärdatei – zum Öffnen herunterladen.",
|
||
"files.tooLarge": "Datei zu groß für den Editor – bitte herunterladen.",
|
||
"files.discardChanges": "Ungespeicherte Änderungen verwerfen?",
|
||
"files.conflict": "Die Datei wurde seit dem Öffnen geändert (z. B. von einem Agenten). Trotzdem überschreiben?",
|
||
"files.tabFiles": "Dateien",
|
||
"git.init": "Git-Repository anlegen",
|
||
"git.clone": "Repository klonen",
|
||
"git.cloneUrl": "Repository-URL (https://… oder git@…):",
|
||
"git.cloneFolder": "Ordnername:",
|
||
"git.branch": "Branch",
|
||
"git.newBranch": "Neuer Branch",
|
||
"git.newBranchName": "Name des neuen Branches:",
|
||
"git.fetch": "Fetch",
|
||
"git.pull": "Pull",
|
||
"git.push": "Push",
|
||
"git.done": "Erledigt.",
|
||
"git.changes": "Änderungen",
|
||
"git.history": "Verlauf",
|
||
"git.staged": "Vorgemerkt",
|
||
"git.unstaged": "Änderungen",
|
||
"git.stage": "Vormerken",
|
||
"git.unstage": "Nicht mehr vormerken",
|
||
"git.stageAll": "Alle vormerken",
|
||
"git.unstageAll": "Alle zurücknehmen",
|
||
"git.discard": "Änderungen verwerfen",
|
||
"git.discardConfirm": "Alle Änderungen an {file} verwerfen?",
|
||
"git.openFile": "Datei öffnen",
|
||
"git.clean": "Keine Änderungen.",
|
||
"git.message": "Commit-Nachricht",
|
||
"git.amend": "Letzten Commit ändern",
|
||
"git.commit": "Commit",
|
||
"git.noCommits": "Noch keine Commits.",
|
||
"git.noDiff": "Keine Unterschiede.",
|
||
"login.prompt": "Melde dich an, um fortzufahren.",
|
||
"login.invalid": "Ungültiges Token.",
|
||
"login.submit": "Anmelden",
|
||
|
||
"sidebar.newSession": "Neue Session",
|
||
"sidebar.noSessions": "Noch keine Sessions",
|
||
"sidebar.today": "Heute",
|
||
"sidebar.yesterday": "Gestern",
|
||
"sidebar.week": "Letzte 7 Tage",
|
||
"sidebar.older": "Älter",
|
||
"sidebar.connected": "Verbunden",
|
||
"sidebar.disconnected": "Getrennt – verbinde neu…",
|
||
"sidebar.needsInput": "Wartet auf deine Eingabe",
|
||
|
||
"session.untitled": "Neue Session",
|
||
|
||
"new.title": "Neue Session",
|
||
"new.directory": "Projektverzeichnis",
|
||
"new.up": "Hoch",
|
||
"new.noSubdirs": "Keine Unterverzeichnisse",
|
||
"new.model": "Modell",
|
||
"new.mode": "Modus",
|
||
"new.firstPrompt": "Was soll erledigt werden? (optional)",
|
||
"new.start": "Starten in {dir}",
|
||
|
||
"activity.thinking": "Denkt nach…",
|
||
"activity.writing": "Schreibt…",
|
||
"activity.tool": "Führt {tool} aus…",
|
||
"activity.subagent": "Subagent arbeitet: {name}",
|
||
"activity.waitingForYou": "Pausiert – wartet auf deine Antwort",
|
||
"activity.working": "Arbeitet",
|
||
"activity.titleBusy": "{n} aktiv",
|
||
"activity.titleInput": "Eingabe nötig",
|
||
"chat.reasoningLive": "Denkt nach…",
|
||
"chat.reasoningDone": "Gedacht · {n} Wörter",
|
||
"settings.reasoningDisplay": "Reasoning des Modells",
|
||
"settings.reasoningCollapsed": "Eingeklappt (per Klick öffnen)",
|
||
"settings.reasoningExpanded": "Immer aufgeklappt",
|
||
"settings.reasoningHidden": "Aus",
|
||
"settings.reasoningHint": "Die Überlegungen des Modells (sofern Modell und Provider sie liefern).",
|
||
"settings.reasoningLive": "Beim Denken offen, danach einklappen",
|
||
"chat.empty": "Schreib eine Nachricht, um zu starten.",
|
||
"chat.compacted": "Unterhaltung komprimiert – Zusammenfassung",
|
||
"chat.context": "Kontext",
|
||
"chat.contextHint": "{tokens} Tokens in der letzten Anfrage",
|
||
"chat.statsHint": "Tokens und Kosten dieser Session (Klick für Details)",
|
||
"chat.renameHint": "Doppelklick zum Umbenennen",
|
||
"chat.rewind": "Ab hier bearbeiten und neu senden",
|
||
"chat.rewindConfirm": "Diese Nachricht und alles danach entfernen? Dateiänderungen werden nicht rückgängig gemacht.",
|
||
"chat.delete": "Session löschen",
|
||
"chat.deleteConfirm": "Diese Session inklusive Subagenten löschen? Die Statistik bleibt erhalten.",
|
||
|
||
"composer.placeholder": "Nachricht… (/ für Befehle, Bilder einfügen)",
|
||
"composer.placeholderBusy": "Nachricht wird eingereiht und beim nächsten Schritt gesendet…",
|
||
"composer.send": "Senden",
|
||
"composer.queue": "Einreihen",
|
||
"composer.stop": "Stopp",
|
||
"composer.mode": "Modus",
|
||
"composer.model": "Modell",
|
||
"composer.permissionMode": "Berechtigungsmodus",
|
||
"composer.attach": "Bilder anhängen",
|
||
|
||
"command.compact": "Unterhaltung zusammenfassen, um Kontext freizugeben",
|
||
"command.new": "Neue Session starten",
|
||
|
||
"permissionMode.default": "Fragen (außer Lesebefehle)",
|
||
"permissionMode.accept_edits": "Änderungen automatisch annehmen",
|
||
"permissionMode.bypass": "Alles erlauben",
|
||
|
||
"plan.implement": "Zu Build wechseln und Plan umsetzen",
|
||
"plan.implementPrompt": "Setze den Plan um.",
|
||
|
||
"tool.input": "Eingabe",
|
||
"tool.output": "Ausgabe",
|
||
"tool.todosUpdated": "Aufgaben aktualisiert ({done}/{total} erledigt)",
|
||
"tool.todos": "Aufgaben",
|
||
"tool.openSubagent": "Subagent-Session öffnen",
|
||
|
||
"interaction.fromSubagent": "Vom Subagenten:",
|
||
|
||
"permission.title": "Freigabe erforderlich",
|
||
"permission.allowOnce": "Einmal erlauben",
|
||
"permission.alwaysTool": "{tool} in dieser Session immer erlauben",
|
||
"permission.alwaysCommand": "„{prefix}“ in dieser Session immer erlauben",
|
||
"permission.reject": "Ablehnen",
|
||
"permission.rejectWithFeedback": "Mit Rückmeldung ablehnen",
|
||
"permission.feedback": "Optional: Sag dem Agenten, was er stattdessen tun soll",
|
||
|
||
"question.title": "Frage an dich",
|
||
"question.fromAgent": "Der Agent braucht eine Entscheidung",
|
||
"question.fromMcp": "MCP-Server „{server}“ fragt",
|
||
"question.other": "Andere Antwort (Freitext)",
|
||
"question.answer": "Deine Antwort",
|
||
"question.submit": "Antworten",
|
||
"question.dismiss": "Verwerfen",
|
||
|
||
"settings.tab.general": "Allgemein",
|
||
"settings.tab.providers": "Provider & Modelle",
|
||
"settings.tab.mcp": "MCP",
|
||
"settings.tab.permissions": "Berechtigungen",
|
||
"settings.tab.agents": "Agenten & Befehle",
|
||
"settings.tab.raw": "Config-Datei",
|
||
"settings.saved": "Gespeichert – Änderungen sind aktiv.",
|
||
"settings.interface": "Oberfläche (dieses Gerät)",
|
||
"settings.language": "Sprache",
|
||
"settings.theme": "Design",
|
||
"settings.themeSystem": "System",
|
||
"settings.notifications": "Benachrichtigungen",
|
||
"settings.notificationsEnable": "Aktivieren",
|
||
"settings.notificationsOn": "Aktiv",
|
||
"settings.notificationsHint": "Benachrichtigen, wenn ein Agent eine Frage stellt, während die App im Hintergrund ist.",
|
||
"settings.server": "Server",
|
||
"settings.workspace": "Workspace",
|
||
"settings.defaultModel": "Standardmodell",
|
||
"settings.smallModel": "Kleines Modell",
|
||
"settings.smallModelHint": "Für Session-Titel. Die Komprimierung nutzt das Session-Modell.",
|
||
"settings.currency": "Währung",
|
||
"settings.autoCompact": "Auto-Komprimierung bei",
|
||
"settings.autoCompactHint": "Anteil des Kontextfensters (0 = aus).",
|
||
"settings.craft": "Craft-Modus",
|
||
"settings.cleanRoom": "Clean Room",
|
||
"settings.cleanRoomHint": "Nur nutzen, was ein Besucher sieht. Aus = Deep-Modus (Quelltext und Skripte dürfen gelesen werden).",
|
||
"settings.chromium": "Chromium-Programm",
|
||
"settings.widths": "Bildschirmbreiten (px)",
|
||
"settings.kind": "Typ",
|
||
"settings.baseUrl": "Basis-URL",
|
||
"settings.apiKey": "API-Key",
|
||
"settings.apiKeyStored": "Gespeichert – leer lassen zum Beibehalten",
|
||
"settings.apiKeyHint": "Am besten ${ENV_VAR}-Verweise nutzen; direkte Keys stehen im Klartext in der Config-Datei.",
|
||
"settings.authPrefix": "Auth-Präfix",
|
||
"settings.enabled": "Aktiv",
|
||
"settings.modelCount": "{n} Modelle",
|
||
"settings.models": "Modelle & Preise",
|
||
"settings.addModel": "Modell",
|
||
"settings.addDiscovered": "{n} gefundene hinzufügen",
|
||
"settings.pricesHint": "Preise pro 1 Mio. Tokens in der eingestellten Währung. Cache-Preise fallen auf den Input-Preis zurück.",
|
||
"settings.modelsEmptyHint": "Keine Modelle eingetragen: Sie werden automatisch beim Provider abgefragt.",
|
||
"settings.context": "Kontext",
|
||
"settings.maxOutput": "Max. Ausgabe",
|
||
"settings.reasoning": "Reasoning",
|
||
"settings.vision": "Bilder",
|
||
"settings.effort": "Effort",
|
||
"settings.priceIn": "Input",
|
||
"settings.priceOut": "Output",
|
||
"settings.priceCacheRead": "Cache lesen",
|
||
"settings.priceCacheWrite": "Cache schreiben",
|
||
"settings.addProvider": "Provider hinzufügen",
|
||
"settings.providerName": "Name (optional)",
|
||
"settings.reloadProviders": "Provider & Modelle neu laden",
|
||
"settings.deleteProviderConfirm": "Provider „{name}“ löschen?",
|
||
"settings.invalidName": "Namen dürfen nur Buchstaben, Ziffern, - und _ enthalten.",
|
||
"settings.name": "Name",
|
||
"settings.addMcp": "MCP-Server hinzufügen",
|
||
"settings.deleteMcpConfirm": "MCP-Server „{name}“ löschen?",
|
||
"settings.rawHint": "Die komplette Konfigurationsdatei inklusive Kommentaren. Sie wird vor dem Speichern geprüft.",
|
||
"settings.revert": "Zurücksetzen",
|
||
|
||
"mcp.load": "Tools für das Modell",
|
||
"mcp.loadAuto": "Automatisch (bei vielen Tools bei Bedarf)",
|
||
"mcp.loadAlways": "Immer alle Tools mitsenden",
|
||
"mcp.loadOnDemand": "Bei Bedarf (mcp_search / mcp_call)",
|
||
"mcp.loadHint": "Jedes direkt mitgesendete Tool kostet bei jeder Anfrage Kontext. Große Server besser bei Bedarf laden.",
|
||
"mcp.reconnect": "Alle neu verbinden",
|
||
"mcp.none": "Keine MCP-Server konfiguriert.",
|
||
"mcp.tools": "{n} Tools",
|
||
"mcp.command": "Befehl",
|
||
"mcp.args": "Argumente (eins pro Zeile)",
|
||
"mcp.env": "Umgebung (KEY=Wert)",
|
||
"mcp.headers": "Header (Name: Wert)",
|
||
"mcp.state.disabled": "deaktiviert",
|
||
"mcp.state.connecting": "verbinde…",
|
||
"mcp.state.connected": "verbunden",
|
||
"mcp.state.failed": "Fehler",
|
||
"mcp.state.unknown": "nicht gestartet",
|
||
|
||
"permissions.intro": "Regeln für die Tool-Nutzung. „Fragen“ zeigt eine Freigabekarte. MCP-Tools: mcp__<server>__<tool>, Platzhalter erlaubt (mcp__*).",
|
||
"permissions.tools": "Tools",
|
||
"permissions.bash": "Shell-Befehle",
|
||
"permissions.bashHint": "Glob-Muster auf den ganzen Befehl. Zusammengesetzte Befehle (&&, ;, |) sind nur erlaubt, wenn jeder Teil erlaubt ist.",
|
||
"permissions.tool": "Tool",
|
||
"permissions.pattern": "Muster",
|
||
"permissions.rule": "Regel",
|
||
"permissions.allow": "Erlauben",
|
||
"permissions.ask": "Fragen",
|
||
"permissions.deny": "Verbieten",
|
||
|
||
"agents.title": "Agenten",
|
||
"agents.readOnly": "nur lesen",
|
||
"agents.commands": "Slash-Befehle",
|
||
"agents.skills": "Skills",
|
||
|
||
"stats.range7": "7 Tage",
|
||
"stats.range30": "30 Tage",
|
||
"stats.range90": "90 Tage",
|
||
"stats.range365": "1 Jahr",
|
||
"stats.rangeAll": "Alles",
|
||
"stats.tableView": "Tabellenansicht",
|
||
"stats.chartView": "Diagrammansicht",
|
||
"stats.cost": "Kosten",
|
||
"stats.perRequest": "{v} pro Anfrage",
|
||
"stats.requests": "Anfragen",
|
||
"stats.errors": "{n} fehlgeschlagen",
|
||
"stats.input": "Input",
|
||
"stats.output": "Output",
|
||
"stats.cacheRead": "Cache gelesen",
|
||
"stats.cacheHit": "Cache-Trefferquote",
|
||
"stats.tokens": "Tokens",
|
||
"stats.ttft": "Zeit bis zum ersten Token",
|
||
"stats.ttftHint": "Durchschnittliche Prefill-Wartezeit",
|
||
"stats.outputSpeed": "Ausgabegeschwindigkeit",
|
||
"stats.prefillSpeed": "Prefill-Geschwindigkeit",
|
||
"stats.costPerDay": "Kosten pro Tag nach Modell",
|
||
"stats.tokensPerDay": "Tokens pro Tag",
|
||
"stats.heatmap": "Aktivität nach Wochentag und Uhrzeit",
|
||
"stats.byModel": "Nach Modell",
|
||
"stats.byProvider": "Nach Provider",
|
||
"stats.byAgent": "Nach Modus",
|
||
"stats.topSessions": "Teuerste Sessions",
|
||
"stats.perDay": "Pro Tag",
|
||
"stats.day": "Tag",
|
||
"stats.model": "Modell",
|
||
"stats.provider": "Provider",
|
||
"stats.agent": "Modus",
|
||
"stats.session": "Session",
|
||
"stats.total": "Gesamt",
|
||
"stats.other": "Sonstige",
|
||
"stats.noData": "Keine Anfragen in diesem Zeitraum.",
|
||
|
||
"common.cancel": "Abbrechen",
|
||
"nav.logout": "Abmelden",
|
||
"login.username": "Benutzername",
|
||
"login.password": "Passwort",
|
||
"login.passwordRepeat": "Passwort wiederholen",
|
||
"login.setupPrompt": "Noch keine Benutzer. Gib den Setup-Code aus dem Server-Log ein und lege den ersten Admin an.",
|
||
"login.setupCode": "Setup-Code",
|
||
"login.createAdmin": "Admin anlegen",
|
||
"login.invalidCode": "Ungültiger Setup-Code.",
|
||
"login.mismatch": "Die Passwörter stimmen nicht überein.",
|
||
"login.or": "oder",
|
||
"sidebar.shared": "Mit dir geteilt",
|
||
"chat.readOnly": "nur lesen",
|
||
"chat.readOnlyHint": "Diese Session wurde mit dir geteilt – du kannst mitlesen, aber nicht schreiben.",
|
||
"chat.backgroundDone": "Hintergrundaufgabe fertig",
|
||
"chat.waitingModel": "Warte auf freien Slot bei {model}…",
|
||
"chat.waitingSubagent": "Warte auf freien Subagent-Slot ({agent})…",
|
||
"chat.anySubagent": "Limit für alle Subagenten",
|
||
"tool.background": "Hintergrund",
|
||
"share.title": "Session teilen",
|
||
"share.hint": "Ausgewählte Benutzer können diese Session lesend verfolgen.",
|
||
"share.noUsers": "Keine weiteren Benutzer.",
|
||
"settings.tab.users": "Benutzer",
|
||
"settings.tab.folders": "Freigegebene Ordner",
|
||
"settings.tab.account": "Konto",
|
||
"settings.maxParallelSubagents": "Parallele Subagenten",
|
||
"settings.maxParallelSubagentsHint": "Max. gleichzeitig laufende Subagenten über alle Sessions (0 = unbegrenzt).",
|
||
"settings.maxConcurrency": "Parallele Anfragen",
|
||
"settings.maxConcurrencyHint": "Max. gleichzeitige Anfragen an diesen Host/dieses Modell; weitere warten in einer Warteschlange. 1 für Server, die nur eine Anfrage gleichzeitig verarbeiten.",
|
||
"settings.slots": "Slots",
|
||
"account.title": "Konto",
|
||
"account.current": "Aktuelles Passwort",
|
||
"account.new": "Neues Passwort",
|
||
"account.change": "Passwort ändern",
|
||
"account.changed": "Passwort geändert. Andere Geräte wurden abgemeldet.",
|
||
"account.hint": "Mindestens 8 Zeichen.",
|
||
"users.intro": "Benutzer arbeiten in ihrem eigenen Ordner <workspace>/<benutzername> und in den für sie freigegebenen Ordnern. Admins können den ganzen Workspace nutzen und den Server verwalten.",
|
||
"users.username": "Benutzername",
|
||
"users.usernameHint": "Buchstaben, Ziffern, - _ . – gleichzeitig der Name des Benutzerordners.",
|
||
"users.displayName": "Anzeigename",
|
||
"users.role": "Rolle",
|
||
"users.roleUser": "Benutzer",
|
||
"users.roleAdmin": "Admin",
|
||
"users.login": "Anmeldung",
|
||
"users.password": "Passwort",
|
||
"users.passwordHint": "Leer lassen für reine Single-Sign-on-Anmeldung.",
|
||
"users.created": "Angelegt",
|
||
"users.you": "du",
|
||
"users.setPassword": "Passwort setzen",
|
||
"users.newPasswordFor": "Neues Passwort für {name} (mind. 8 Zeichen):",
|
||
"users.enable": "Aktivieren",
|
||
"users.disable": "Deaktivieren",
|
||
"users.deleteConfirm": "Benutzer „{name}“ löschen? Seine Sessions bleiben für Admins sichtbar.",
|
||
"users.add": "Benutzer hinzufügen",
|
||
"folders.intro": "Ordner im Workspace, in denen ausgewählte Benutzer zusätzlich zu ihrem eigenen Ordner arbeiten dürfen.",
|
||
"folders.none": "Noch keine freigegebenen Ordner.",
|
||
"folders.noUsers": "Keine Benutzer ohne Admin-Rolle.",
|
||
"folders.add": "Ordner freigeben",
|
||
"folders.addHint": "Der Ordner wird angelegt, falls er nicht existiert. Bestehende Projektordner lassen sich ebenso freigeben.",
|
||
"folders.remove": "Freigabe aufheben",
|
||
"folders.removeConfirm": "Freigabe dieses Ordners aufheben? Die Dateien bleiben erhalten.",
|
||
"agents.intro": "Modi und Subagenten mit ihrem Modell. Ein Subagent kann auf einem anderen Modell oder Host laufen – z. B. ein kleines Modell, das im Hintergrund Doku oder Übersetzungen schreibt.",
|
||
"agents.primaryTitle": "Modi",
|
||
"agents.subagentTitle": "Subagenten",
|
||
"agents.modePrimary": "Modus",
|
||
"agents.modeSubagent": "Subagent",
|
||
"agents.source.builtin": "eingebaut",
|
||
"agents.source.config": "Config",
|
||
"agents.source.file": "Datei",
|
||
"agents.model": "Modell",
|
||
"agents.sessionModel": "Session-Modell",
|
||
"agents.modelHint": "Festes Modell für diesen Agenten; leer = das im Chat gewählte Modell.",
|
||
"agents.maxParallel": "Max. parallel",
|
||
"agents.maxParallelShort": "max. {n} parallel",
|
||
"agents.description": "Beschreibung",
|
||
"agents.descriptionHint": "Anhand dieser Beschreibung entscheidet der Hauptagent, wann er delegiert.",
|
||
"agents.mode": "Art",
|
||
"agents.tools": "Tools",
|
||
"agents.toolsAll": "alle Tools (z. B. read, glob, grep)",
|
||
"agents.prompt": "Anweisungen",
|
||
"agents.reset": "Zurücksetzen",
|
||
"agents.resetConfirm": "„{name}“ auf die eingebauten Standardwerte zurücksetzen?",
|
||
"agents.deleteConfirm": "Agent „{name}“ löschen?",
|
||
"agents.add": "Agent hinzufügen",
|
||
"agents.addWriter": "Writer (Doku, Zusammenfassungen, Übersetzungen)",
|
||
"agents.addBlank": "Leerer Agent",
|
||
"stats.user": "Benutzer",
|
||
"stats.allUsers": "Alle Benutzer",
|
||
"stats.byUser": "Nach Benutzer",
|
||
};
|