The English hint was updated to match the agents the picker offers, but the ten translated copies were not, so every non-English user was told to pick an option the UI does not show.
1045 lines
45 KiB
TypeScript
1045 lines
45 KiB
TypeScript
// SPDX-License-Identifier: AGPL-3.0-only
|
|
// Copyright 2026-present the Unsloth AI Inc. team. All rights reserved. See /studio/LICENSE.AGPL-3.0
|
|
|
|
import type { DeepPartialMessageTree } from "../types";
|
|
import type { en } from "./en";
|
|
|
|
export const de = {
|
|
common: {
|
|
cancel: "Abbrechen",
|
|
close: "Schließen",
|
|
delete: "Löschen",
|
|
done: "Fertig",
|
|
error: "Fehler",
|
|
export: "Exportieren",
|
|
help: "Hilfe",
|
|
loading: "Wird geladen...",
|
|
new: "Neu",
|
|
rename: "Umbenennen",
|
|
save: "Speichern",
|
|
saving: "Wird gespeichert...",
|
|
search: "Suchen",
|
|
shutdown: "Herunterfahren",
|
|
},
|
|
shell: {
|
|
beta: "BETA",
|
|
brand: "unsloth",
|
|
product: "Unsloth Studio",
|
|
accountMenu: "Kontomenü von {name}",
|
|
updateAvailable: "Update verfügbar",
|
|
aria: {
|
|
home: "Unsloth Startseite",
|
|
closeSidebar: "Seitenleiste schließen",
|
|
openSidebar: "Seitenleiste öffnen",
|
|
chatOptions: "Chat-Optionen",
|
|
runOptions: "Trainingslauf-Optionen",
|
|
},
|
|
navigation: {
|
|
newChat: "Neuer Chat",
|
|
returnToChat: "Zurück zum Chat",
|
|
returnToChats: "Zurück zu {count} Chats",
|
|
chatGenerating: "Wird generiert",
|
|
compare: "Vergleichen",
|
|
search: "Suchen",
|
|
hub: "Modell-Hub",
|
|
train: "Trainieren",
|
|
recipes: "Rezepte",
|
|
export: "Exportieren",
|
|
recents: "Zuletzt verwendet",
|
|
noChatsYet: "Noch keine Chats",
|
|
settings: "Einstellungen",
|
|
api: "API",
|
|
lightMode: "Heller Modus",
|
|
darkMode: "Dunkler Modus",
|
|
guidedTour: "Geführte Tour",
|
|
help: "Hilfe",
|
|
logOut: "Abmelden",
|
|
shutdown: "Herunterfahren",
|
|
},
|
|
notFound: {
|
|
title: "Seite nicht gefunden",
|
|
description: "{path} existiert nicht.",
|
|
backToChat: "Zurück zum Chat",
|
|
},
|
|
dialog: {
|
|
deleteChat: {
|
|
title: "Chat löschen",
|
|
description: 'Möchten Sie diesen Chat "{name}" wirklich löschen?',
|
|
},
|
|
deleteRun: {
|
|
title: "Trainingslauf löschen",
|
|
description: 'Möchten Sie diesen Lauf "{name}" wirklich löschen?',
|
|
},
|
|
renameChat: {
|
|
title: "Chat umbenennen",
|
|
placeholder: "Chat-Titel",
|
|
},
|
|
renameRun: {
|
|
title: "Lauf umbenennen",
|
|
placeholder: "Laufname",
|
|
},
|
|
},
|
|
toast: {
|
|
cannotDeleteRunningRun:
|
|
"Ein laufender Trainingslauf kann nicht gelöscht werden",
|
|
failedToDeleteChat: "Chat konnte nicht gelöscht werden",
|
|
failedToDeleteRun: "Lauf konnte nicht gelöscht werden",
|
|
failedToRenameChat: "Chat konnte nicht umbenannt werden",
|
|
failedToRenameRun: "Lauf konnte nicht umbenannt werden",
|
|
},
|
|
},
|
|
settings: {
|
|
title: "Einstellungen",
|
|
dialog: {
|
|
title: "Einstellungen",
|
|
description: "Verwalten Sie Ihre Unsloth-Einstellungen.",
|
|
closeAriaLabel: "Einstellungen schließen",
|
|
},
|
|
tabs: {
|
|
general: "Allgemein",
|
|
profile: "Profil",
|
|
appearance: "Darstellung",
|
|
resources: "System",
|
|
chat: "Chat",
|
|
connections: "Verbindungen",
|
|
apiKeys: "API",
|
|
about: "Über",
|
|
},
|
|
general: {
|
|
title: "Allgemein",
|
|
description: "Globale Einstellungen für Unsloth.",
|
|
account: "Konto",
|
|
huggingFaceToken: "Hugging Face Token",
|
|
huggingFaceTokenDescription:
|
|
"Wird verwendet, um gated Modelle zu laden und Artefakte zu pushen.",
|
|
hideToken: "Token verbergen",
|
|
showToken: "Token anzeigen",
|
|
tokenValidated: "Token validiert",
|
|
password: "Passwort",
|
|
passwordDescription:
|
|
"Ändern Sie das Passwort für dieses Unsloth-Konto.",
|
|
passwordDialog: {
|
|
trigger: "Passwort ändern",
|
|
title: "Passwort ändern",
|
|
description:
|
|
"Geben Sie Ihr aktuelles Passwort ein und wählen Sie ein neues (mindestens {minLength} Zeichen).",
|
|
currentPassword: "Aktuelles Passwort",
|
|
newPassword: "Neues Passwort",
|
|
confirmPassword: "Neues Passwort bestätigen",
|
|
currentTooShort:
|
|
"Das aktuelle Passwort muss mindestens {minLength} Zeichen haben.",
|
|
newTooShort:
|
|
"Das neue Passwort muss mindestens {minLength} Zeichen haben.",
|
|
mismatch: "Die Passwörter stimmen nicht überein.",
|
|
samePassword:
|
|
"Das neue Passwort muss sich vom aktuellen Passwort unterscheiden.",
|
|
update: "Passwort aktualisieren",
|
|
updating: "Wird aktualisiert...",
|
|
updated: "Passwort aktualisiert.",
|
|
updateFailed: "Passwortaktualisierung fehlgeschlagen.",
|
|
},
|
|
chatDefaults: "Chat-Standardeinstellungen",
|
|
autoTitleNewChats: "Neue Chats automatisch benennen",
|
|
autoTitleNewChatsDescription:
|
|
"Erzeugt einen kurzen Titel aus der ersten Nachricht.",
|
|
helperLlm: {
|
|
sectionTitle: "Helfer-LLM",
|
|
preloadOnStartup: "Helfer-LLM beim Start vorab zwischenspeichern",
|
|
preloadOnStartupDescription:
|
|
"Lädt das AI-Assist-Helfermodell beim Start im Hintergrund herunter. Standardmäßig aus; AI Assist kann es weiterhin bei Bedarf abrufen.",
|
|
disabledByEnv:
|
|
"Deaktiviert durch UNSLOTH_HELPER_MODEL_DISABLE in der Backend-Umgebung.",
|
|
loadError: "Helfer-LLM-Einstellungen konnten nicht geladen werden.",
|
|
saveError:
|
|
"Helfer-LLM-Einstellungen konnten nicht gespeichert werden.",
|
|
},
|
|
modelAutoSwitch: {
|
|
sectionTitle: "Automatischer Modellwechsel (OpenAI API)",
|
|
enable: "Modell je Anfrage wechseln",
|
|
enableDescription:
|
|
"Wenn eine OpenAI-kompatible Anfrage ein anderes heruntergeladenes GGUF nennt, wird dieses vor der Auslieferung geladen. Standardmäßig aus; unbekannte Namen liefern weiterhin das geladene Modell aus.",
|
|
idleUnload: "Automatisches Entladen bei Inaktivität",
|
|
idleUnloadDescription:
|
|
"Entlädt das Modell nach dieser Anzahl inaktiver Sekunden, um VRAM freizugeben; die nächste Anfrage lädt es erneut. 0 hält es geladen. Minimum 60 Sekunden.",
|
|
idleNeedsEnable:
|
|
"Aktivieren Sie \"Modell je Anfrage wechseln\", damit ein entladenes Modell bei der nächsten Nutzung erneut geladen wird.",
|
|
idleActiveViaEnv:
|
|
"Automatisches Entladen bei Inaktivität ist über die Umgebungsvariable UNSLOTH_MODEL_IDLE_TTL aktiv.",
|
|
loadError:
|
|
"Einstellungen für automatischen Modellwechsel konnten nicht geladen werden.",
|
|
saveError:
|
|
"Einstellungen für automatischen Modellwechsel konnten nicht gespeichert werden.",
|
|
idleError: "Geben Sie 0 ein, um das Modell geladen zu halten, oder mindestens 60 Sekunden.",
|
|
},
|
|
previewSharing: {
|
|
sectionTitle: "Vorschau-Freigabe",
|
|
enableLabel: "Öffentliche Vorschaulinks",
|
|
enableDescription:
|
|
"Erlaubt jedem mit einem signierten Link, mit einem fertigen Modell zu chatten, ohne Anmeldung. Deaktivieren Sie dies, um die öffentliche Vorschau offline zu nehmen; geteilte Links funktionieren dann nicht mehr.",
|
|
loadError:
|
|
"Einstellungen für die Vorschau-Freigabe konnten nicht geladen werden.",
|
|
saveError:
|
|
"Einstellungen für die Vorschau-Freigabe konnten nicht gespeichert werden.",
|
|
revokeLabel: "Alle Vorschaulinks widerrufen",
|
|
revokeDescription:
|
|
"Rotiert das Signaturgeheimnis, sodass jeder von Ihnen geteilte Link nicht mehr funktioniert. Neu kopierte Links funktionieren weiterhin.",
|
|
revokeAction: "Links widerrufen",
|
|
revoking: "Wird widerrufen...",
|
|
revokeConfirmTitle: "Alle Vorschaulinks widerrufen?",
|
|
revokeConfirmDescription:
|
|
"Jeder von Ihnen geteilte Vorschaulink funktioniert sofort nicht mehr. Dies kann nicht rückgängig gemacht werden.",
|
|
revokeConfirmAction: "Alle Links widerrufen",
|
|
revoked: "Alle Vorschaulinks widerrufen",
|
|
revokeError: "Vorschaulinks konnten nicht widerrufen werden",
|
|
},
|
|
notifications: {
|
|
sectionTitle: "Benachrichtigungen",
|
|
showLlamaUpdates: "llama.cpp-Update-Benachrichtigungen",
|
|
showLlamaUpdatesDescription:
|
|
"Benachrichtigt, wenn ein neuerer llama.cpp-Build verfügbar ist, um neue Modelle auszuführen. Deaktivieren Sie dies, wenn Sie nur trainieren.",
|
|
},
|
|
gettingStarted: "Erste Schritte",
|
|
startOnboarding: "Einrichtung starten",
|
|
startOnboardingDescription:
|
|
"Öffnet den Einrichtungsassistenten erneut, ohne Ihr Konto zu ändern.",
|
|
startOnboardingAction: "Einrichtung starten",
|
|
uploads: {
|
|
sectionTitle: "Uploads",
|
|
maxUploadSize: "Upload-Limit für Trainingsdatensätze",
|
|
maxUploadSizeDescription: "Standard ist {defaultSize} MB.",
|
|
},
|
|
rag: {
|
|
sectionTitle: "Dokumente & RAG",
|
|
embeddingModel: "Embedding-Modell",
|
|
embeddingModelDescription:
|
|
"Hugging Face Modell oder lokaler Pfad zum Indexieren und Durchsuchen Ihrer Dokumente. Standard ist {defaultModel}.",
|
|
reindexWarning:
|
|
"Betrifft nur neu indexierte Dokumente. Laden Sie bestehende nach einer Modelländerung erneut hoch.",
|
|
emptyError:
|
|
"Geben Sie eine Hugging Face Modell-ID oder einen lokalen Pfad ein.",
|
|
loadError:
|
|
"Die Embedding-Modell-Einstellung konnte nicht geladen werden.",
|
|
saveError: "Das Embedding-Modell konnte nicht gespeichert werden.",
|
|
saved: "Embedding-Modell gespeichert.",
|
|
saveAnyway: "Trotzdem speichern",
|
|
resetAction: "Auf Standard zurücksetzen",
|
|
},
|
|
storage: {
|
|
sectionTitle: "Speicher",
|
|
modelsFolder: "Modell-Ordner",
|
|
modelsFolderDescription:
|
|
"Wo heruntergeladene Modelle gespeichert werden.",
|
|
openAction: "Öffnen",
|
|
copyAction: "Pfad kopieren",
|
|
copied: "Pfad kopiert",
|
|
openError: "Der Ordner konnte nicht geöffnet werden",
|
|
copyError: "Der Pfad konnte nicht kopiert werden",
|
|
},
|
|
resetPreferences: {
|
|
sectionTitle: "Gefahrenzone",
|
|
label: "Alle lokalen Einstellungen zurücksetzen",
|
|
description:
|
|
"Löscht nur lokal gespeicherte Einstellungen. Chats, API-Zugriff und in der DB gespeicherte Einstellungen bleiben erhalten.",
|
|
action: "Einstellungen zurücksetzen",
|
|
confirmTitle: "Alle lokalen Einstellungen zurücksetzen?",
|
|
confirmDescription:
|
|
"Löscht nur lokal gespeicherte Einstellungen und lädt Unsloth neu. Chats, API-Zugriff und in der DB gespeicherte Einstellungen bleiben erhalten.",
|
|
confirmAction: "Zurücksetzen und neu laden",
|
|
},
|
|
},
|
|
profile: {
|
|
title: "Profil",
|
|
description: "Wie Ihr Profil in Unsloth angezeigt wird.",
|
|
changePicture: "Profilbild ändern",
|
|
displayName: "Anzeigename",
|
|
nickname: "Wie soll Unsloth Sie nennen?",
|
|
nicknamePlaceholder: "Spitzname",
|
|
nicknameSaved: "Bevorzugter Name gespeichert",
|
|
avatarShape: "Form des Profilbilds",
|
|
avatarShapeCircle: "Kreis",
|
|
avatarShapeRounded: "Abgerundet",
|
|
chooseSloth: "Oder wählen Sie ein Faultier",
|
|
nameSaved: "Profilname gespeichert",
|
|
namePersistErrorTitle: "Profilname konnte nicht gespeichert werden",
|
|
namePersistErrorDescription:
|
|
"Der Name wurde für diese Sitzung aktualisiert, bleibt nach dem Neuladen aber möglicherweise nicht erhalten.",
|
|
photoUpdated: "Profilbild aktualisiert",
|
|
photoPersistErrorTitle: "Profilbild konnte nicht gespeichert werden",
|
|
photoPersistErrorDescription:
|
|
"Das Foto wurde für diese Sitzung aktualisiert, bleibt nach dem Neuladen aber möglicherweise nicht erhalten.",
|
|
photoUpdateErrorTitle: "Profilbild konnte nicht aktualisiert werden",
|
|
imageUseError: "Dieses Bild konnte nicht verwendet werden.",
|
|
},
|
|
appearance: {
|
|
title: "Darstellung",
|
|
description: "Wie Unsloth Studio auf diesem Gerät aussieht.",
|
|
theme: {
|
|
title: "Design",
|
|
label: "Farbschema",
|
|
description: "Hell, dunkel oder dem System folgen.",
|
|
system: "System",
|
|
light: "Hell",
|
|
dark: "Dunkel",
|
|
},
|
|
language: {
|
|
title: "Sprache",
|
|
label: "Anzeigesprache",
|
|
description: "Die von Unsloth verwendete Sprache.",
|
|
autoDetect: "Automatisch erkennen",
|
|
},
|
|
layout: {
|
|
title: "Layout",
|
|
compactSidebar: "Seitenleiste standardmäßig anheften",
|
|
compactSidebarDescription:
|
|
"Hält die Seitenleiste ausgeklappt, statt sie zu Symbolen einzuklappen.",
|
|
},
|
|
},
|
|
resources: {
|
|
title: "System",
|
|
description:
|
|
"Überwachen Sie Hardware und Speicher dieses Unsloth-Servers.",
|
|
liveUpdates: "Live-Updates",
|
|
floatingWindow: "Schwebendes Fenster",
|
|
disableOverlay: "Overlay deaktivieren",
|
|
liveMonitor: {
|
|
title: "Live-Monitor",
|
|
cpu: "CPU",
|
|
ram: "RAM",
|
|
disk: "Festplatte",
|
|
vram: "VRAM",
|
|
cpuCores: "{logical} logische / {physical} physische Kerne",
|
|
currentLoad: "Aktuelle Auslastung",
|
|
free: "{value} frei",
|
|
noGpu: "Keine sichtbare GPU",
|
|
},
|
|
gpu: {
|
|
title: "GPU-Geräte",
|
|
noGpu:
|
|
"Keine sichtbare GPU erkannt. Oben werden nur die CPU-Ressourcen angezeigt.",
|
|
unknownDevice: "Unbekannte GPU",
|
|
deviceWithIndex: "GPU {index}",
|
|
vramUtilization: "VRAM",
|
|
used: "{value} belegt",
|
|
free: "{value} frei",
|
|
total: "{value} gesamt",
|
|
},
|
|
storage: {
|
|
title: "Speicher",
|
|
systemDisk: "Systemfestplatte",
|
|
diskUsage: "{used} belegt / {total}",
|
|
diskFree: "{free} frei",
|
|
modelsFolder: "Modell-Ordner",
|
|
modelsFolderDescription:
|
|
"Wo heruntergeladene Modelle gespeichert werden.",
|
|
openAction: "Öffnen",
|
|
copyAction: "Pfad kopieren",
|
|
copied: "Pfad kopiert",
|
|
openError: "Der Ordner konnte nicht geöffnet werden",
|
|
copyError: "Der Pfad konnte nicht kopiert werden",
|
|
},
|
|
environment: {
|
|
title: "Umgebung",
|
|
backend: "Backend",
|
|
python: "Python",
|
|
torch: "Torch",
|
|
transformers: "Transformers",
|
|
uptime: "Betriebszeit",
|
|
processMemory: "Prozessspeicher",
|
|
notInstalled: "Nicht installiert",
|
|
unknown: "Unbekannt",
|
|
},
|
|
},
|
|
chat: {
|
|
title: "Chat",
|
|
description:
|
|
"Verwalten Sie den auf diesem Gerät gespeicherten Chatverlauf.",
|
|
modelDisclaimer: "Modell-Hinweis anzeigen",
|
|
modelDisclaimerDescription:
|
|
'Zeigt "LLMs können Fehler machen" unter dem Chatfeld an.',
|
|
artifacts: {
|
|
title: "Canvas",
|
|
collapseHtmlBlocks: "HTML-Blöcke einklappen",
|
|
collapseHtmlBlocksDescription:
|
|
"Der Canvas-Modus klappt vollständiges HTML automatisch ein. Aktivieren Sie dies, um auch abgegrenzte HTML-Dokumente einzuklappen, wenn Canvas aus ist.",
|
|
allowNetworkAccess: "Netzwerkzugriff für Canvas erlauben",
|
|
allowNetworkAccessDescription:
|
|
"Erlaubt Canvas-Vorschauen, Skripte, Stile, Schriften, Medien und Netzwerkressourcen von CDNs zu laden. Für vollständig offline Vorschauen ausgeschaltet lassen.",
|
|
},
|
|
data: "Daten",
|
|
exportHistory: "Chatverlauf exportieren",
|
|
exportHistoryDescription:
|
|
"Alle Chats und Nachrichten als JSON herunterladen.",
|
|
exportAction: "Exportieren",
|
|
exportingAction: "Wird exportiert...",
|
|
exportConversations: "Zuletzt verwendete und Projekte exportieren",
|
|
exportConversationsDescription:
|
|
"Laden Sie zuletzt verwendete Chats oder diese plus Projekt-Chats als Raw JSONL, CSV oder ShareGPT JSONL herunter, kombiniert oder pro Chat.",
|
|
exportConversationsAction: "Exportieren",
|
|
exportScopeRecents: "Zuletzt verwendet",
|
|
exportScopeAll: "Zuletzt verwendet + Projekte",
|
|
exportCombinedSuffix: "(kombiniert)",
|
|
exportPerChatSuffix: "(pro Chat)",
|
|
importChats: "Chats importieren",
|
|
importChatsDescription:
|
|
"Importieren Sie einen JSONL-, NDJSON- oder CSV-Export in \"Zuletzt verwendet\".",
|
|
importChatsAction: "Importieren",
|
|
importNoConversations: "Keine Konversationen in der Datei gefunden.",
|
|
importedOneChat: "1 Konversation in \"Zuletzt verwendet\" importiert.",
|
|
importedChatCount:
|
|
"{count} Konversationen in \"Zuletzt verwendet\" importiert.",
|
|
importFailed: "Import fehlgeschlagen.",
|
|
clearHistory: "Chatverlauf löschen",
|
|
clearHistoryDescription: "Chatverlauf von diesem Gerät löschen.",
|
|
clearAction: "Löschen",
|
|
clearAllChats: "Alle Chats löschen",
|
|
clearAllChatsDescription:
|
|
"Löscht dauerhaft jeden Chat auf diesem Gerät.",
|
|
noChatsToClear: "Keine Chats zum Löschen.",
|
|
clearOneChatDescription:
|
|
"Löscht dauerhaft den einzigen Chat auf diesem Gerät.",
|
|
clearChatCountDescription:
|
|
"Löscht dauerhaft alle {count} Chats auf diesem Gerät.",
|
|
clearChatsAction: "Chats löschen",
|
|
clearOneChatTitle: "1 Chat löschen?",
|
|
clearChatsTitle: "{count} Chats löschen?",
|
|
clearChatsConfirmDescription:
|
|
"Löscht dauerhaft jeden Chat auf diesem Gerät. Dies kann nicht rückgängig gemacht werden.",
|
|
clearingAction: "Wird gelöscht...",
|
|
clearOneChatAction: "1 Chat löschen",
|
|
clearChatCountAction: "{count} Chats löschen",
|
|
clearedAllChats: "Alle Chats gelöscht",
|
|
clearedOneChat: "1 Chat gelöscht",
|
|
clearedChatCount: "{count} Chats gelöscht",
|
|
someChatsCouldNotBeCleared: "Einige Chats konnten nicht gelöscht werden",
|
|
chatsClearedRemainOne:
|
|
"{clearedCount} Chats gelöscht; 1 Chat verbleibt. Bitte erneut versuchen.",
|
|
chatsClearedRemain:
|
|
"{clearedCount} Chats gelöscht; {remainingCount} Chats verbleiben. Bitte erneut versuchen.",
|
|
oneChatClearedRemain:
|
|
"1 Chat gelöscht; {remainingCount} Chats verbleiben. Bitte erneut versuchen.",
|
|
oneChatClearedRemainOne:
|
|
"1 Chat gelöscht; 1 Chat verbleibt. Bitte erneut versuchen.",
|
|
storageClearFailedOne:
|
|
"Ein Speichervorgang ist fehlgeschlagen; 1 Chat verbleibt möglicherweise. Bitte erneut versuchen.",
|
|
storageClearFailed:
|
|
"Ein Speichervorgang ist fehlgeschlagen; {count} Chats verbleiben möglicherweise. Bitte erneut versuchen.",
|
|
failedToClearChats: "Chats konnten nicht gelöscht werden",
|
|
},
|
|
connections: {
|
|
title: "Verbindungen",
|
|
description: "Verwalten Sie Anbieter und externe Verbindungen.",
|
|
},
|
|
apiKeys: {
|
|
title: "API",
|
|
description: "Zugriff auf Unsloth über die OpenAI-kompatible API.",
|
|
readDocs: "API-Dokumentation lesen",
|
|
noAccess: "Noch kein API-Zugriff.",
|
|
accessTokens: "Zugriffstoken",
|
|
loadError: "API-Zugriff konnte nicht geladen werden.",
|
|
createError: "Zugriffstoken konnte nicht erstellt werden.",
|
|
revokeError: "Zugriffstoken konnte nicht widerrufen werden.",
|
|
never: "Nie",
|
|
tokenNamePlaceholder: "Token-Name (z. B. production)",
|
|
newAccessTokenName: "Name des neuen Zugriffstokens",
|
|
createToken: "Token erstellen",
|
|
creating: "Wird erstellt...",
|
|
newTokenCreated: "Neues Zugriffstoken erstellt",
|
|
accessTokenCopied: "Zugriffstoken kopiert",
|
|
copyAccessToken: "Zugriffstoken kopieren",
|
|
copyNow: "Jetzt kopieren - es wird nicht erneut angezeigt.",
|
|
usageExamples: "Nutzungsbeispiele",
|
|
usageTools: "Tools",
|
|
exampleCurlTools: "curl + Tools",
|
|
examplePythonTools: "Python + Tools",
|
|
exampleJavaScriptTools: "JavaScript + Tools",
|
|
exampleCurlAdvanced: "curl + erweitert",
|
|
examplePythonAdvanced: "Python + erweitert",
|
|
exampleJavaScriptAdvanced: "JavaScript + erweitert",
|
|
osUnix: "Linux / macOS / WSL",
|
|
osWindows: "Windows",
|
|
secureHttps: "Sicheres HTTPS",
|
|
secureHttpsHint:
|
|
"Der 0.0.0.0-Port ist weiterhin global erreichbar. Für vollständige Sicherheit starten Sie Unsloth Studio mit --secure, um nur diesen HTTPS-Link freizugeben.",
|
|
copyTunnelUrl: "Tunnel-URL kopieren",
|
|
copySnippet: "Snippet kopieren",
|
|
copy: "Kopieren",
|
|
copied: "Kopiert",
|
|
setupDocs: "Einrichtungsdokumentation:",
|
|
codingAgents: "Coding-Agents",
|
|
codingAgentsHint:
|
|
"Starten Sie einen Coding-Agent gegen diesen Server. Er verwendet das geladene Modell; ein lokaler Server erstellt automatisch einen API-Schlüssel, ein entfernter fügt ihn dem Befehl hinzu.",
|
|
codingAgentsSwap:
|
|
"Ersetzen Sie claude durch codex, openclaw, opencode oder hermes.",
|
|
codingAgentDetected: "Auf diesem Gerät installiert",
|
|
codingAgentsDetectedHint: "Auf diesem Gerät erkannt: {agents}.",
|
|
relativeNever: "nie",
|
|
relativeJustNow: "gerade eben",
|
|
relativeHoursAgo: "vor {count} h",
|
|
relativeDaysAgo: "vor {count} T",
|
|
relativeMonthsAgo: "vor {count} Mon.",
|
|
relativeYearsAgo: "vor {count} J",
|
|
expired: "abgelaufen",
|
|
today: "heute",
|
|
inDays: "in {count} T",
|
|
created: "Erstellt {value}",
|
|
used: "Verwendet {value}",
|
|
expires: "Läuft ab {value}",
|
|
actionsFor: "Aktionen für {name}",
|
|
copyPrefix: "Präfix kopieren",
|
|
revokeToken: "Token widerrufen",
|
|
revokeTitle: 'Zugriffstoken "{name}" widerrufen?',
|
|
revokeDescription:
|
|
"Apps, die dieses Token verwenden, verlieren sofort den Zugriff. Dies kann nicht rückgängig gemacht werden.",
|
|
revokeAction: '"{name}" widerrufen',
|
|
revoking: "Wird widerrufen...",
|
|
},
|
|
about: {
|
|
title: "Über",
|
|
description: "Dokumentation, Versionshinweise, Feedback und Build-Infos.",
|
|
studioVersion: "Unsloth-Version",
|
|
packageVersion: "Paketversion",
|
|
llamaCppVersion: "llama.cpp-Version",
|
|
hardware: "Hardware",
|
|
gpu: "GPU",
|
|
cuda: "CUDA",
|
|
rocm: "ROCm",
|
|
updates: "Update",
|
|
help: "Hilfe",
|
|
documentation: "Dokumentation",
|
|
releaseNotes: "Versionshinweise",
|
|
whatsNew: "Neuigkeiten",
|
|
feedback: "Feedback",
|
|
reportIssue: "Problem melden",
|
|
license: {
|
|
sectionTitle: "Lizenz",
|
|
studioLabel: "Unsloth Studio",
|
|
studioLicense: "AGPL-3.0",
|
|
studioDescription: "Open Source unter der GNU AGPL v3.0.",
|
|
libraryLabel: "Unsloth Core",
|
|
libraryLicense: "Apache-2.0",
|
|
libraryDescription: "Lizenziert unter Apache 2.0.",
|
|
},
|
|
dangerZone: "Gefahrenzone",
|
|
shutDownStudio: "Unsloth Studio herunterfahren",
|
|
shutDownStudioDescription:
|
|
"Stoppt den Unsloth-Server und beendet Ihre Sitzung.",
|
|
shutDown: "Herunterfahren",
|
|
update: {
|
|
title: "Unsloth Studio aktualisieren",
|
|
commandText: "{label}-Text",
|
|
copied: "Kopiert",
|
|
copyCommand: "Befehl kopieren",
|
|
commandCopied: "{label} kopiert",
|
|
copyNamedCommand: "{label} kopieren",
|
|
checkingInstall: "Prüfe, wie Unsloth installiert wurde...",
|
|
installIntro: "So installieren oder aktualisieren Sie Unsloth:",
|
|
localUpdateHeading: "Lokales Update",
|
|
installCommandUnix: "macOS/Linux-Installationsbefehl",
|
|
installCommandWindows: "Windows-Installationsbefehl",
|
|
localInstallDetected:
|
|
"Lokale Installation erkannt. Aktualisieren Sie aus Ihrem ursprünglichen Checkout, um zu vermeiden, dass er durch PyPI ersetzt wird.",
|
|
pullThenUpdate:
|
|
"Holen Sie die neuesten Änderungen und führen Sie dann den lokalen Installer aus:",
|
|
gitPullCommand: "git pull-Befehl",
|
|
localInstallerCommand: "Lokaler Installer-Befehl",
|
|
sourceInstallDetected:
|
|
"Quell- oder VCS-Paketinstallation erkannt. Installieren Sie erneut vom ursprünglichen lokalen Pfad oder der Git-URL.",
|
|
repoCheckoutFallback:
|
|
"Wenn Sie den Repository-Checkout noch haben, führen Sie den lokalen Installer daraus aus:",
|
|
restartAfterUpdate: "Starten Sie Unsloth nach dem Update neu.",
|
|
desktopManaged:
|
|
"Die Desktop-App hält ihr gebündeltes Backend aktuell und weist auf neue Versionen hin, sobald sie verfügbar sind.",
|
|
unknownInstall:
|
|
"Es konnte nicht erkannt werden, wie Unsloth installiert wurde. Verwenden Sie für Installer- oder PyPI-Installationen die obigen Befehle.",
|
|
localCheckout:
|
|
"Führen Sie bei lokalen Checkout-Installationen den lokalen Installer aus diesem Checkout aus:",
|
|
docs: "Installationsdokumentation:",
|
|
docsInstall: "Installation",
|
|
docsUpdating: "Aktualisierung",
|
|
docsMac: "Mac",
|
|
docsWindows: "Windows",
|
|
},
|
|
},
|
|
},
|
|
studio: {
|
|
routeTitle: "Trainieren",
|
|
title: "Fine-Tuning-Studio",
|
|
subtitles: {
|
|
configure: "Training konfigurieren und starten",
|
|
trainingInProgress: "Training läuft",
|
|
viewPastRuns: "Frühere Trainingsläufe ansehen",
|
|
viewingPastRun: "Früheren Lauf ansehen",
|
|
},
|
|
tabs: {
|
|
configure: "Konfigurieren",
|
|
currentRun: "Aktueller Lauf",
|
|
history: "Verlauf",
|
|
},
|
|
loadingRuntime: "Trainingslaufzeit wird geladen...",
|
|
backToHistory: "Zurück zum Verlauf",
|
|
sections: {
|
|
model: "Modell",
|
|
dataset: "Datensatz",
|
|
params: "Parameter",
|
|
training: "Training",
|
|
charts: "Diagramme",
|
|
progress: "Trainingsfortschritt",
|
|
},
|
|
configure: {
|
|
title: "Konfigurieren",
|
|
description:
|
|
"Wählen Sie ein Modell, einen Datensatz und Trainingseinstellungen.",
|
|
startTraining: "Training starten",
|
|
starting: "Wird gestartet...",
|
|
loadingModel: "Modell wird geladen...",
|
|
checkingDataset: "Datensatz wird geprüft...",
|
|
trainingConfig: "Trainingskonfiguration",
|
|
},
|
|
model: {
|
|
title: "Modell",
|
|
description: "Basismodell und Trainingsmethode auswählen",
|
|
fasterTrainingBadge: "2x schnelleres Training",
|
|
baseModel: "Basismodell",
|
|
localModel: "Lokales Modell",
|
|
localModelTooltip:
|
|
"Pfad zu einem lokal heruntergeladenen Modell oder einem eigenen HF-Repo.",
|
|
scanningLocalAndCachedModels:
|
|
"Lokale und zwischengespeicherte Modelle werden gescannt...",
|
|
scanning: "Wird gescannt...",
|
|
scanningLocalModels: "Lokale Modelle werden gescannt...",
|
|
noLocalModelsFound: "Keine lokalen Modelle gefunden",
|
|
noLocalModelsFoundManual:
|
|
"Keine lokalen Modelle gefunden. Pfad manuell eingeben.",
|
|
failedToLoadLocalModels: "Lokale Modelle konnten nicht geladen werden",
|
|
hfCache: "HF-Cache",
|
|
customFolders: "Eigene Ordner",
|
|
localDir: "Lokales Verzeichnis",
|
|
huggingFaceModel: "Hugging Face Modell",
|
|
huggingFaceModelTooltip:
|
|
"Durchsuchen Sie Hugging Face Modelle oder wählen Sie aus unserer empfohlenen Liste.",
|
|
searchModels: "Modelle suchen...",
|
|
searching: "Wird gesucht...",
|
|
noModelsFound: "Keine Modelle gefunden",
|
|
needsVram: "Benötigt ~{vram} GB VRAM (GPU: {gpu} GB)",
|
|
tightVram: "~{vram} GB VRAM (knapp bei {gpu} GB)",
|
|
vramEstimate: "~{vram} GB VRAM",
|
|
method: "Methode",
|
|
methodTooltip:
|
|
"QLoRA nutzt 4-Bit-Quantisierung für minimalen VRAM. LoRA nutzt 16-Bit. Full aktualisiert alle Gewichte. CPT (Continued Pretraining) trainiert auf Rohtext, um das Modell ohne Chat-Formatierung an eine neue Domäne anzupassen.",
|
|
readMore: "Mehr erfahren",
|
|
fullFineTune: "Vollständiges Fine-Tuning",
|
|
checkingToken: "Token wird geprüft...",
|
|
getOrUpdateToken: "Token abrufen oder aktualisieren",
|
|
huggingFaceTokenOptional: "Hugging Face Token (optional)",
|
|
continuedPretraining: "Continued Pretraining",
|
|
localModels: "Lokale Modelle",
|
|
localModelsFound: "{count} lokale/zwischengespeicherte Modelle gefunden",
|
|
loadingLocalModels: "Lokale Modelle werden geladen...",
|
|
},
|
|
dataset: {
|
|
title: "Datensatz",
|
|
description: "Trainingsdaten auswählen oder hochladen",
|
|
source: "Datensatzquelle",
|
|
chooseDataset: "Datensatz auswählen",
|
|
chooseDatasetTooltip:
|
|
"Wechseln Sie über die Popup-Tabs zwischen Hugging Face und lokalen Recipe-Ausgaben.",
|
|
localTab: "Lokal",
|
|
searchHuggingFaceDatasets: "Hugging Face Datensätze suchen...",
|
|
searchLocalDatasets: "Lokale Datensätze suchen...",
|
|
searching: "Wird gesucht...",
|
|
noDatasetsFound: "Keine Datensätze gefunden",
|
|
loadingLocalDatasets: "Lokale Datensätze werden geladen...",
|
|
failedToLoadLocalDatasets:
|
|
"Lokale Datensätze konnten nicht geladen werden.",
|
|
noLocalDatasetsYet: "Noch keine lokalen Datensätze.",
|
|
noLocalDatasetsMatchSearch:
|
|
"Keine lokalen Datensätze entsprechen der Suche.",
|
|
openDataRecipes: "Data Recipes öffnen",
|
|
browsingSource:
|
|
"Sie durchsuchen {browsing}. Die aktuelle Auswahl bleibt {current}.",
|
|
localDatasets: "Lokale Datensätze",
|
|
localDataset: "Lokaler Datensatz",
|
|
localDatasetRows: " / {count} Zeilen",
|
|
huggingFaceDataset: "Hugging Face Datensatz",
|
|
localDatasetMetadata: "Metadaten des lokalen Datensatzes",
|
|
dataRecipeOutput: "Data-Recipe-Ausgabe.",
|
|
rows: "Zeilen",
|
|
columns: "Spalten",
|
|
batches: "Batches",
|
|
updated: "Aktualisiert",
|
|
evalDataset: "Eval-Datensatz",
|
|
uploading: "Wird hochgeladen...",
|
|
upload: "Hochladen",
|
|
uploadEvalFile: "Eval-Datei hochladen",
|
|
evalDatasetDescription:
|
|
"Optional. Wird keiner angegeben, wird ein kleiner Teil aus den Trainingsdaten abgetrennt.",
|
|
advanced: "Erweitert",
|
|
targetFormat: "Zielformat",
|
|
targetFormatTooltip:
|
|
"Format Ihrer Trainingsdaten. Die automatische Erkennung funktioniert bei den meisten Datensätzen.",
|
|
auto: "Automatisch",
|
|
rawText: "Rohtext",
|
|
trainSplitStart: "Trainings-Split-Start",
|
|
trainSplitStartTooltip:
|
|
"Trainieren Sie nur auf einer Teilmenge Ihres Trainings-Splits, indem Sie einen Startzeilenindex angeben (inklusive, 0-basiert). Leer lassen, um bei der ersten Zeile zu beginnen.",
|
|
trainSplitEnd: "Trainings-Split-Ende",
|
|
trainSplitEndTooltip:
|
|
"Letzter aus dem Trainings-Split einzuschließender Zeilenindex (inklusive, 0-basiert). Setzen Sie z. B. Start auf 0 und Ende auf 99, um auf den ersten 100 Zeilen zu trainieren. Leer lassen, um alle verbleibenden Zeilen zu verwenden.",
|
|
endPlaceholder: "Ende",
|
|
clear: "Leeren",
|
|
dropFileOrClick: "1 Datei hier ablegen oder zum Hochladen klicken",
|
|
viewDataset: "Datensatz ansehen",
|
|
uploadFailed: "Upload fehlgeschlagen",
|
|
unknownError: "Unbekannter Fehler",
|
|
unsupportedFileType: "Nicht unterstützter Dateityp",
|
|
uploadOneFileType: "Laden Sie eine {types}-Datei hoch.",
|
|
datasetUploaded: "Datensatz hochgeladen",
|
|
evalDatasetUploaded: "Eval-Datensatz hochgeladen",
|
|
uploadOneFileAtATime: "Laden Sie jeweils eine Datei hoch",
|
|
uploadSingleFileDescription:
|
|
"Der Trainingsdatensatz-Upload akzeptiert eine einzelne Datei.",
|
|
checkingToken: "Token wird geprüft...",
|
|
getOrUpdateToken: "Token abrufen oder aktualisieren",
|
|
preview: "Datensatz-Vorschau",
|
|
split: "Split",
|
|
subset: "Teilmenge",
|
|
s3: {
|
|
title: "S3-Konfiguration",
|
|
description:
|
|
"Laden Sie .parquet-, .json-, .jsonl- oder .csv-Datensätze aus Amazon S3",
|
|
bucket: "Bucket-Name",
|
|
bucketPlaceholder: "my-training-data-bucket",
|
|
region: "AWS-Region",
|
|
regionPlaceholder: "us-east-1",
|
|
prefix: "Pfad-Präfix",
|
|
prefixPlaceholder: "datasets/whisper/",
|
|
prefixTooltip:
|
|
"Optionaler Pfad innerhalb des Buckets zu Ihren Datensatzdateien",
|
|
accessKeyId: "Access Key ID",
|
|
accessKeyIdPlaceholder: "AKIAIOSFODNN7EXAMPLE",
|
|
secretAccessKey: "Secret Access Key",
|
|
secretAccessKeyPlaceholder: "Ihr AWS Secret Access Key",
|
|
useIamRole: "IAM-Rolle verwenden",
|
|
useIamRoleTooltip:
|
|
"Verwenden Sie IAM-Rollen-Anmeldedaten statt Access Keys (empfohlen für EC2/SageMaker)",
|
|
testConnection: "Verbindung testen",
|
|
connectionSuccess: "Erfolgreich mit S3-Bucket verbunden",
|
|
connectionFailed: "Verbindung zum S3-Bucket fehlgeschlagen",
|
|
comingSoon: "S3-Integration folgt bald",
|
|
comingSoonDescription:
|
|
"Das Laden von S3-Datensätzen erfordert boto3. Diese Funktion befindet sich in Entwicklung.",
|
|
},
|
|
},
|
|
params: {
|
|
title: "Parameter",
|
|
description: "Trainings-Hyperparameter konfigurieren",
|
|
projectName: "Projektname",
|
|
optional: "Optional",
|
|
projectNameDescription:
|
|
"Wird für Namen der Trainingsausgabe-Ordner, Export-Standardwerte und den Verlauf verwendet.",
|
|
loraSettings: "LoRA-Einstellungen",
|
|
trainingHyperparameters: "Trainings-Hyperparameter",
|
|
maxSteps: "Max. Schritte",
|
|
epochs: "Epochen",
|
|
useMaxSteps: "Max. Schritte verwenden",
|
|
useEpochs: "Epochen verwenden",
|
|
maxStepsTooltip: "Überschreibt die gesamten Optimierer-Schritte.",
|
|
epochsTooltip: "Anzahl vollständiger Durchläufe über den Datensatz.",
|
|
epochsDescription:
|
|
"Jede Epoche ist ein vollständiger Durchlauf über Ihren Datensatz.",
|
|
maxStepsDescription:
|
|
"Begrenzt das Training auf eine feste Anzahl von Optimierer-Schritten.",
|
|
contextLength: "Kontextlänge",
|
|
contextLengthTooltip:
|
|
"Maximale Anzahl an Token pro Trainingsbeispiel.",
|
|
customContextLength: "Eigenen Wert eingeben",
|
|
contextLengthDescription:
|
|
"Maximale Sequenzlänge für Trainingsbeispiele",
|
|
learningRate: "Lernrate",
|
|
learningRateTooltip:
|
|
"Schrittgröße für Gewichtsaktualisierungen. Niedrigere Werte trainieren langsamer, aber stabiler.",
|
|
learningRateDescription:
|
|
"Empfohlen: 2e-4 für LoRA, 5e-5 für CPT, 2e-5 für vollständiges Fine-Tuning",
|
|
embeddingLearningRate: "Embedding-Lernrate",
|
|
embeddingLearningRateTooltip:
|
|
"Wird nur verwendet, wenn CPT embed_tokens trainiert. Embeddings destabilisieren leichter als LoRA-Gewichte und benötigen daher meist eine kleinere Lernrate. Leer lassen, um lr/10 zu verwenden; typischer Bereich ist 2- bis 10-mal kleiner als die Haupt-Lernrate. Erhöhen Sie sie nur, wenn die Anpassung von Vokabular oder Domänen-Token zu langsam ist.",
|
|
embeddingLearningRateDescription:
|
|
"Leer lassen, um lr/10 zu verwenden (empfohlen). Typischer Bereich ist 2- bis 10-mal kleiner als die Haupt-Lernrate.",
|
|
rank: "Rank",
|
|
rankTooltip:
|
|
"Dimension der Low-Rank-Matrizen. Höher = mehr Kapazität.",
|
|
alpha: "Alpha",
|
|
alphaTooltip:
|
|
"Skalierungsfaktor für LoRA-Updates. Üblicherweise 2x Rank.",
|
|
dropout: "Dropout",
|
|
dropoutTooltip:
|
|
"Dropout-Wahrscheinlichkeit für LoRA-Schichten, um Overfitting zu reduzieren.",
|
|
visionLayers: "Vision-Schichten",
|
|
languageLayers: "Sprach-Schichten",
|
|
attentionModules: "Attention-Module",
|
|
mlpModules: "MLP-Module",
|
|
targetModules: "Ziel-Module",
|
|
enableLora: "LoRA aktivieren",
|
|
trainWithLora: "Mit LoRA trainieren",
|
|
stableRank: "Stable Rank",
|
|
memoryEfficient: "Speichereffizient",
|
|
weightDecomposed: "Gewichtszerlegt",
|
|
optimization: "Optimierung",
|
|
schedule: "Zeitplan",
|
|
memory: "Speicher",
|
|
optimizer: "Optimierer",
|
|
optimizerTooltip:
|
|
"Optimierungsalgorithmus. 8-Bit-Varianten reduzieren den Speicherbedarf. Fused wird für Vision-Modelle empfohlen.",
|
|
lrScheduler: "LR-Scheduler",
|
|
lrSchedulerTooltip:
|
|
"Wie sich die Lernrate über das Training verändert. Linear fällt gleichmäßig; Cosine fällt in einer Kurve.",
|
|
optimizerOptions: {
|
|
adamw8bit: "AdamW 8-bit",
|
|
pagedAdamw8bit: "Paged AdamW 8-bit",
|
|
adamwBnb8bit: "AdamW BNB 8-bit",
|
|
pagedAdamw32bit: "Paged AdamW 32-bit",
|
|
adamwTorch: "AdamW (PyTorch)",
|
|
adamwTorchFused: "AdamW (PyTorch Fused)",
|
|
},
|
|
lrSchedulerOptions: {
|
|
linear: "Linear",
|
|
cosine: "Cosine",
|
|
},
|
|
batchSize: "Batch-Größe",
|
|
batchSizeTooltip:
|
|
"Pro Schritt verarbeitete Beispiele. Höher verbraucht mehr VRAM.",
|
|
gradAccum: "Grad-Akkumulation",
|
|
gradAccumTooltip:
|
|
"Simuliert größere Batch-Größen ohne zusätzlichen VRAM.",
|
|
weightDecay: "Weight Decay",
|
|
weightDecayTooltip: "L2-Regularisierung zur Vermeidung von Overfitting.",
|
|
warmupSteps: "Warmup-Schritte",
|
|
warmupStepsTooltip:
|
|
"Erhöht die Lernrate zu Trainingsbeginn schrittweise für mehr Stabilität.",
|
|
scheduleEpochsTooltip:
|
|
"Anzahl vollständiger Durchläufe über den Datensatz. Auf 0 setzen, um nach max. Schritten zu laufen.",
|
|
saveSteps: "Speicher-Schritte",
|
|
saveStepsTooltip:
|
|
"Speichert alle N Schritte einen Checkpoint. 0 zum Deaktivieren.",
|
|
evalSteps: "Eval-Schritte",
|
|
evalStepsTooltip:
|
|
"Anteil der gesamten Trainingsschritte zwischen Auswertungen (0-1). Auf 0 setzen, um die Auswertung zu deaktivieren. Z. B. 0.01 = alle 1 % der Schritte auswerten.",
|
|
seed: "Seed",
|
|
seedTooltip: "Zufalls-Seed für Reproduzierbarkeit.",
|
|
gradCheckpoint: "Grad-Checkpoint",
|
|
gradCheckpointTooltip:
|
|
"Rechenaufwand gegen Speicher tauschen, indem Aktivierungen neu berechnet werden.",
|
|
none: "Keine",
|
|
standard: "Standard",
|
|
enablePacking: "Packing aktivieren",
|
|
assistantCompletionsOnly: "Nur Assistenten-Antworten",
|
|
readMore: "Mehr erfahren",
|
|
},
|
|
training: {
|
|
title: "Training",
|
|
description: "Training überwachen und steuern",
|
|
chartNoDataTitle: "Noch keine Trainingsdaten",
|
|
chartNoDataDescription:
|
|
"Starten Sie das Training, um den Loss-Verlauf zu sehen",
|
|
startTraining: "Training starten",
|
|
starting: "Wird gestartet...",
|
|
loadingModel: "Modell wird geladen...",
|
|
checkingDataset: "Datensatz wird geprüft...",
|
|
configLabel: "Trainingskonfiguration",
|
|
upload: "Hochladen",
|
|
uploadConfigTooltip: "Eine gespeicherte YAML-Konfiguration laden",
|
|
save: "Speichern",
|
|
saveConfigTooltip: "Aktuelle Konfiguration als YAML herunterladen",
|
|
reset: "Zurücksetzen",
|
|
resetConfigTooltip: "Auf Modellstandardwerte zurücksetzen",
|
|
configLoaded: "Konfiguration geladen",
|
|
failedToLoadConfig: "Konfiguration konnte nicht geladen werden",
|
|
invalidYamlFile: "Ungültige YAML-Datei",
|
|
failedToReadFile: "Datei konnte nicht gelesen werden",
|
|
parametersReset: "Parameter auf Modellstandardwerte zurückgesetzt",
|
|
audioIncompatible:
|
|
"Dieses Modell unterstützt kein Audio. Wechseln Sie zu einem audiofähigen Modell oder wählen Sie einen Nicht-Audio-Datensatz.",
|
|
visionIncompatible:
|
|
"Ein Textmodell ist mit einem multimodalen Datensatz nicht kompatibel. Wechseln Sie zu einem Vision-Modell oder wählen Sie einen reinen Textdatensatz.",
|
|
cancelTitle: "Training abbrechen",
|
|
cancelDescription:
|
|
"Möchten Sie den aktuellen Trainingslauf abbrechen?",
|
|
continueAction: "Training fortsetzen",
|
|
cancelAction: "Training abbrechen",
|
|
stopTitle: "Training stoppen",
|
|
stopDescription:
|
|
"Wählen Sie, wie Sie den aktuellen Trainingslauf stoppen möchten.",
|
|
stopAction: "Stoppen",
|
|
stopping: "Wird gestoppt...",
|
|
stopAndSave: "Stoppen und speichern",
|
|
compareInChat: "Im Chat vergleichen",
|
|
exportModel: "Modell exportieren",
|
|
milestone: "Meilenstein",
|
|
halfwayDone: "Zur Hälfte fertig. Das Training ist über 50 %.",
|
|
doneNextStep:
|
|
"Training abgeschlossen. Nächster Schritt: Basis- und feinabgestimmte Ausgaben vergleichen.",
|
|
},
|
|
history: {
|
|
title: "Verlauf",
|
|
emptyTitle: "Noch keine Trainingsläufe",
|
|
emptyDescription:
|
|
"Noch keine Trainingsläufe. Starten Sie Ihren ersten Trainingslauf im Tab \"Konfigurieren\".",
|
|
loadError: "Trainingsläufe konnten nicht geladen werden",
|
|
deleteError:
|
|
"Trainingslauf konnte nicht gelöscht werden. Bitte erneut versuchen.",
|
|
retry: "Erneut versuchen",
|
|
loadMore: "Mehr laden",
|
|
loading: "Wird geladen...",
|
|
loadingRun: "Trainingslauf wird geladen...",
|
|
runNotFound: "Lauf nicht gefunden",
|
|
deleteTitle: "Trainingslauf löschen?",
|
|
deleteDescription:
|
|
"Dadurch werden dieser Trainingslauf und alle seine Metriken dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.",
|
|
runCount: "{count} Läufe",
|
|
oneRun: "1 Lauf",
|
|
resume: "Fortsetzen",
|
|
resumeTraining: "Training fortsetzen",
|
|
resuming: "Wird fortgesetzt...",
|
|
deleteRun: "Lauf löschen",
|
|
loss: "Loss",
|
|
steps: "Schritte",
|
|
lossTrendSparkline: "Loss-Trend-Sparkline",
|
|
relativeJustNow: "gerade eben",
|
|
relativeMinutesAgo: "vor {count} Min.",
|
|
relativeHoursAgo: "vor {count} Std.",
|
|
relativeDaysAgo: "vor {count} T",
|
|
status: {
|
|
completed: "Abgeschlossen",
|
|
stopped: "Gestoppt",
|
|
error: "Fehler",
|
|
running: "Läuft",
|
|
continued: "Fortgesetzt",
|
|
},
|
|
message: {
|
|
completed: "Training abgeschlossen",
|
|
stopped: "Training gestoppt",
|
|
running: "Training läuft",
|
|
errored: "Training fehlgeschlagen",
|
|
},
|
|
copyPreviewLink: "Vorschaulink kopieren",
|
|
previewLinkCopied: "Vorschaulink kopiert",
|
|
previewLinkCopyFailed: "Der Link konnte nicht kopiert werden",
|
|
},
|
|
charts: {
|
|
settings: "Diagramm-Einstellungen",
|
|
settingsDescription:
|
|
"Passen Sie die Diagrammdarstellung an, während das Training weiterläuft.",
|
|
openSettings: "Diagramm-Einstellungen öffnen",
|
|
viewWindow: "Ansichtsfenster",
|
|
viewWindowDescription:
|
|
"Nur die neuesten Schritte oder den gesamten Verlauf anzeigen.",
|
|
window: "Fenster",
|
|
all: "Alle",
|
|
trainingLoss: "Trainings-Loss",
|
|
trainingLossDescription: "Overlays und EMA-Glättung steuern.",
|
|
smoothing: "Glättung",
|
|
smoothingDescription:
|
|
"Nach rechts bewegen für mehr Glättung. `0` = Rohdaten.",
|
|
showRawLoss: "Roh-Loss anzeigen",
|
|
showSmoothedLoss: "Geglätteten Loss anzeigen",
|
|
showAverageLine: "Durchschnittslinie anzeigen",
|
|
scaleAndCleanup: "Skala und Bereinigung",
|
|
linear: "Linear",
|
|
log: "Logarithmisch",
|
|
noClip: "Kein Clipping",
|
|
clipP99: "Clip p99",
|
|
clipP95: "Clip p95",
|
|
lossAxis: "Loss-Achse",
|
|
gradientNormAxis: "Gradientennorm-Achse",
|
|
learningRateAxis: "Lernraten-Achse",
|
|
resetDefaults: "Standardwerte zurücksetzen",
|
|
loss: "Loss",
|
|
smoothed: "Geglättet",
|
|
evalLoss: "Eval-Loss",
|
|
learningRate: "Lernrate",
|
|
lr: "LR",
|
|
gradNorm: "Grad-Norm",
|
|
gradientNorm: "Gradientennorm",
|
|
step: "Schritt {step}",
|
|
averageValue: "Ø {value}",
|
|
waitingForFirstEvaluationStep:
|
|
"Warte auf ersten Auswertungsschritt...",
|
|
evaluationNotConfigured: "Auswertung nicht konfiguriert",
|
|
evalChartWillAppear:
|
|
"Das Diagramm erscheint, sobald eval_steps erreicht ist",
|
|
setEvalDatasetAndSteps:
|
|
"Legen Sie Eval-Datensatz & eval_steps fest, um den Eval-Loss zu verfolgen",
|
|
},
|
|
progress: {
|
|
title: "Trainingsfortschritt",
|
|
liveMetrics: "Live-Trainingsmetriken",
|
|
exportGguf: "Nach GGUF exportieren",
|
|
openConfig: "Trainingskonfiguration öffnen",
|
|
configLabel: "Trainingskonfiguration",
|
|
hyperparams: "Hyperparameter",
|
|
epochs: "Epochen",
|
|
batchSize: "Batch-Größe",
|
|
learningRate: "Lernrate",
|
|
optimizer: "Optimierer",
|
|
maxSteps: "Max. Schritte",
|
|
contextLength: "Kontextlänge",
|
|
warmupSteps: "Warmup-Schritte",
|
|
rank: "Rank",
|
|
alpha: "Alpha",
|
|
dropout: "Dropout",
|
|
variant: "Variante",
|
|
epoch: "Epoche {value}",
|
|
percentComplete: "{percent}% abgeschlossen",
|
|
stepProgress: "Schritt {current} / {total}",
|
|
loss: "Loss",
|
|
lr: "LR",
|
|
gradNorm: "Grad-Norm",
|
|
project: "Projekt",
|
|
model: "Modell",
|
|
method: "Methode",
|
|
elapsed: "Vergangen: {value}",
|
|
eta: "ETA: {value}",
|
|
stepsPerSecond: "{value} Schritte/s",
|
|
noStepsPerSecond: "-- Schritte/s",
|
|
tokens: "Token: {value}",
|
|
gpuMonitor: "GPU-Monitor",
|
|
live: "Live",
|
|
utilization: "Auslastung",
|
|
temperature: "Temperatur",
|
|
vram: "VRAM",
|
|
power: "Leistung",
|
|
phase: {
|
|
idle: "Inaktiv",
|
|
downloadingModel: "Modell wird heruntergeladen",
|
|
downloadingDataset: "Datensatz wird heruntergeladen",
|
|
loadingModel: "Modell wird geladen",
|
|
loadingDataset: "Datensatz wird geladen",
|
|
configuring: "Wird konfiguriert",
|
|
training: "Training",
|
|
completed: "Abgeschlossen",
|
|
error: "Fehler",
|
|
stopped: "Gestoppt",
|
|
},
|
|
},
|
|
trainingStart: {
|
|
ready: "Bereit",
|
|
downloading: "Wird heruntergeladen",
|
|
preparing: "Wird vorbereitet",
|
|
left: "{eta} verbleibend",
|
|
downloaded: "{size} heruntergeladen",
|
|
terminalStart: "> Unsloth-Training beginnt...",
|
|
preparingResources: "> Modell und Datensatz werden vorbereitet...",
|
|
gettingReady: "> Wir bereiten alles für Ihren Lauf vor...",
|
|
waitingForFirstStep:
|
|
"> {message} | warte auf ersten Schritt... ({step})",
|
|
resumingTraining: "Training wird fortgesetzt...",
|
|
startingTraining: "Training wird gestartet...",
|
|
dataset: "Datensatz",
|
|
datasetStreaming: "Datensatz: Streaming (kein vollständiger Download)",
|
|
modelWeights: "Modellgewichte",
|
|
},
|
|
tour: {
|
|
guidedTour: "Geführte Tour",
|
|
},
|
|
},
|
|
} satisfies DeepPartialMessageTree<typeof en>;
|