dify
This commit is contained in:
98
dify/web/i18n/de-DE/app-annotation.ts
Normal file
98
dify/web/i18n/de-DE/app-annotation.ts
Normal file
@@ -0,0 +1,98 @@
|
||||
const translation = {
|
||||
title: 'Anmerkungen',
|
||||
name: 'Antwort Anmerkung',
|
||||
editBy: 'Antwort bearbeitet von {{author}}',
|
||||
noData: {
|
||||
title: 'Keine Anmerkungen',
|
||||
description: 'Sie können Anmerkungen während des App-Debuggings bearbeiten oder hier Anmerkungen in großen Mengen importieren für eine hochwertige Antwort.',
|
||||
},
|
||||
table: {
|
||||
header: {
|
||||
question: 'Frage',
|
||||
answer: 'Antwort',
|
||||
createdAt: 'erstellt am',
|
||||
hits: 'Treffer',
|
||||
actions: 'Aktionen',
|
||||
addAnnotation: 'Anmerkung hinzufügen',
|
||||
bulkImport: 'Massenimport',
|
||||
bulkExport: 'Massenexport',
|
||||
clearAll: 'Alle Anmerkungen löschen',
|
||||
clearAllConfirm: 'Alle Anmerkungen löschen?',
|
||||
},
|
||||
},
|
||||
editModal: {
|
||||
title: 'Antwort Anmerkung bearbeiten',
|
||||
queryName: 'Benutzeranfrage',
|
||||
answerName: 'Geschichtenerzähler Bot',
|
||||
yourAnswer: 'Ihre Antwort',
|
||||
answerPlaceholder: 'Geben Sie hier Ihre Antwort ein',
|
||||
yourQuery: 'Ihre Anfrage',
|
||||
queryPlaceholder: 'Geben Sie hier Ihre Anfrage ein',
|
||||
removeThisCache: 'Diese Anmerkung entfernen',
|
||||
createdAt: 'Erstellt am',
|
||||
},
|
||||
addModal: {
|
||||
title: 'Antwort Anmerkung hinzufügen',
|
||||
queryName: 'Frage',
|
||||
answerName: 'Antwort',
|
||||
answerPlaceholder: 'Antwort hier eingeben',
|
||||
queryPlaceholder: 'Anfrage hier eingeben',
|
||||
createNext: 'Eine weitere annotierte Antwort hinzufügen',
|
||||
},
|
||||
batchModal: {
|
||||
title: 'Massenimport',
|
||||
csvUploadTitle: 'Ziehen Sie Ihre CSV-Datei hierher oder ',
|
||||
browse: 'durchsuchen',
|
||||
tip: 'Die CSV-Datei muss der folgenden Struktur entsprechen:',
|
||||
question: 'Frage',
|
||||
answer: 'Antwort',
|
||||
contentTitle: 'Inhaltsabschnitt',
|
||||
content: 'Inhalt',
|
||||
template: 'Laden Sie die Vorlage hier herunter',
|
||||
cancel: 'Abbrechen',
|
||||
run: 'Batch ausführen',
|
||||
runError: 'Batch-Ausführung fehlgeschlagen',
|
||||
processing: 'In Batch-Verarbeitung',
|
||||
completed: 'Import abgeschlossen',
|
||||
error: 'Importfehler',
|
||||
ok: 'OK',
|
||||
},
|
||||
errorMessage: {
|
||||
answerRequired: 'Antwort erforderlich',
|
||||
queryRequired: 'Frage erforderlich',
|
||||
},
|
||||
viewModal: {
|
||||
annotatedResponse: 'Antwort Anmerkung',
|
||||
hitHistory: 'Trefferhistorie',
|
||||
hit: 'Treffer',
|
||||
hits: 'Treffer',
|
||||
noHitHistory: 'Keine Trefferhistorie',
|
||||
},
|
||||
hitHistoryTable: {
|
||||
query: 'Anfrage',
|
||||
match: 'Übereinstimmung',
|
||||
response: 'Antwort',
|
||||
source: 'Quelle',
|
||||
score: 'Punktzahl',
|
||||
time: 'Zeit',
|
||||
},
|
||||
initSetup: {
|
||||
title: 'Initialeinrichtung Antwort Anmerkung',
|
||||
configTitle: 'Einrichtung Antwort Anmerkung',
|
||||
confirmBtn: 'Speichern & Aktivieren',
|
||||
configConfirmBtn: 'Speichern',
|
||||
},
|
||||
embeddingModelSwitchTip: 'Anmerkungstext-Vektorisierungsmodell, das Wechseln von Modellen wird neu eingebettet, was zusätzliche Kosten verursacht.',
|
||||
list: {
|
||||
delete: {
|
||||
title: 'Bist du sicher, dass du löschen möchtest?',
|
||||
},
|
||||
},
|
||||
batchAction: {
|
||||
cancel: 'Abbrechen',
|
||||
selected: 'Ausgewählt',
|
||||
delete: 'Löschen',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
85
dify/web/i18n/de-DE/app-api.ts
Normal file
85
dify/web/i18n/de-DE/app-api.ts
Normal file
@@ -0,0 +1,85 @@
|
||||
const translation = {
|
||||
apiServer: 'API Server',
|
||||
apiKey: 'API Schlüssel',
|
||||
status: 'Status',
|
||||
disabled: 'Deaktiviert',
|
||||
ok: 'In Betrieb',
|
||||
copy: 'Kopieren',
|
||||
copied: 'Kopiert',
|
||||
play: 'Abspielen',
|
||||
pause: 'Pause',
|
||||
playing: 'Wiedergabe',
|
||||
merMaid: {
|
||||
rerender: 'Neu rendern',
|
||||
},
|
||||
never: 'Nie',
|
||||
apiKeyModal: {
|
||||
apiSecretKey: 'API Geheimschlüssel',
|
||||
apiSecretKeyTips: 'Um Missbrauch der API zu verhindern, schützen Sie Ihren API Schlüssel. Vermeiden Sie es, ihn als Klartext im Frontend-Code zu verwenden. :)',
|
||||
createNewSecretKey: 'Neuen Geheimschlüssel erstellen',
|
||||
secretKey: 'Geheimschlüssel',
|
||||
created: 'ERSTELLT',
|
||||
lastUsed: 'ZULETZT VERWENDET',
|
||||
generateTips: 'Bewahren Sie diesen Schlüssel an einem sicheren und zugänglichen Ort auf.',
|
||||
},
|
||||
actionMsg: {
|
||||
deleteConfirmTitle: 'Diesen Geheimschlüssel löschen?',
|
||||
deleteConfirmTips: 'Diese Aktion kann nicht rückgängig gemacht werden.',
|
||||
ok: 'OK',
|
||||
},
|
||||
completionMode: {
|
||||
title: 'Completion App API',
|
||||
info: 'Für die Erzeugung von hochwertigem Text, wie z.B. Artikel, Zusammenfassungen und Übersetzungen, verwenden Sie die Completion-Messages API mit Benutzereingaben. Die Texterzeugung basiert auf den Modellparametern und Vorlagen für Aufforderungen in Dify Prompt Engineering.',
|
||||
createCompletionApi: 'Completion Nachricht erstellen',
|
||||
createCompletionApiTip: 'Erstellen Sie eine Completion Nachricht, um den Frage-Antwort-Modus zu unterstützen.',
|
||||
inputsTips: '(Optional) Geben Sie Benutzereingabefelder als Schlüssel-Wert-Paare an, die Variablen in Prompt Eng. entsprechen. Schlüssel ist der Variablenname, Wert ist der Parameterwert. Wenn der Feldtyp Select ist, muss der übermittelte Wert eine der voreingestellten Optionen sein.',
|
||||
queryTips: 'Textinhalt der Benutzereingabe.',
|
||||
blocking: 'Blockierender Typ, wartet auf die Fertigstellung der Ausführung und gibt Ergebnisse zurück. (Anfragen können unterbrochen werden, wenn der Prozess lang ist)',
|
||||
streaming: 'Streaming Rückgaben. Implementierung der Streaming-Rückgabe basierend auf SSE (Server-Sent Events).',
|
||||
messageFeedbackApi: 'Nachrichtenfeedback (Like)',
|
||||
messageFeedbackApiTip: 'Bewerten Sie empfangene Nachrichten im Namen der Endbenutzer mit Likes oder Dislikes. Diese Daten sind auf der Seite Logs & Annotations sichtbar und werden für zukünftige Modellanpassungen verwendet.',
|
||||
messageIDTip: 'Nachrichten-ID',
|
||||
ratingTip: 'like oder dislike, null ist rückgängig machen',
|
||||
parametersApi: 'Anwendungsparameterinformationen abrufen',
|
||||
parametersApiTip: 'Abrufen konfigurierter Eingabeparameter, einschließlich Variablennamen, Feldnamen, Typen und Standardwerten. Typischerweise verwendet, um diese Felder in einem Formular anzuzeigen oder Standardwerte nach dem Laden des Clients auszufüllen.',
|
||||
},
|
||||
chatMode: {
|
||||
title: 'Chat App API',
|
||||
info: 'Für vielseitige Gesprächsanwendungen im Q&A-Format rufen Sie die chat-messages API auf, um einen Dialog zu initiieren. Führen Sie laufende Gespräche fort, indem Sie die zurückgegebene conversation_id übergeben. Antwortparameter und -vorlagen hängen von den Einstellungen in Dify Prompt Eng. ab.',
|
||||
createChatApi: 'Chatnachricht erstellen',
|
||||
createChatApiTip: 'Eine neue Konversationsnachricht erstellen oder einen bestehenden Dialog fortsetzen.',
|
||||
inputsTips: '(Optional) Geben Sie Benutzereingabefelder als Schlüssel-Wert-Paare an, die Variablen in Prompt Eng. entsprechen. Schlüssel ist der Variablenname, Wert ist der Parameterwert. Wenn der Feldtyp Select ist, muss der übermittelte Wert eine der voreingestellten Optionen sein.',
|
||||
queryTips: 'Inhalt der Benutzereingabe/Frage',
|
||||
blocking: 'Blockierender Typ, wartet auf die Fertigstellung der Ausführung und gibt Ergebnisse zurück. (Anfragen können unterbrochen werden, wenn der Prozess lang ist)',
|
||||
streaming: 'Streaming Rückgaben. Implementierung der Streaming-Rückgabe basierend auf SSE (Server-Sent Events).',
|
||||
conversationIdTip: '(Optional) Konversations-ID: für erstmalige Konversation leer lassen; conversation_id aus dem Kontext übergeben, um den Dialog fortzusetzen.',
|
||||
messageFeedbackApi: 'Nachrichtenfeedback des Endbenutzers, like',
|
||||
messageFeedbackApiTip: 'Bewerten Sie empfangene Nachrichten im Namen der Endbenutzer mit Likes oder Dislikes. Diese Daten sind auf der Seite Logs & Annotations sichtbar und werden für zukünftige Modellanpassungen verwendet.',
|
||||
messageIDTip: 'Nachrichten-ID',
|
||||
ratingTip: 'like oder dislike, null ist rückgängig machen',
|
||||
chatMsgHistoryApi: 'Chatverlaufsnachricht abrufen',
|
||||
chatMsgHistoryApiTip: 'Die erste Seite gibt die neuesten `limit` Einträge in umgekehrter Reihenfolge zurück.',
|
||||
chatMsgHistoryConversationIdTip: 'Konversations-ID',
|
||||
chatMsgHistoryFirstId: 'ID des ersten Chat-Datensatzes auf der aktuellen Seite. Standardmäßig keiner.',
|
||||
chatMsgHistoryLimit: 'Wie viele Chats in einer Anfrage zurückgegeben werden',
|
||||
conversationsListApi: 'Konversationsliste abrufen',
|
||||
conversationsListApiTip: 'Ruft die Sitzungsliste des aktuellen Benutzers ab. Standardmäßig werden die letzten 20 Sitzungen zurückgegeben.',
|
||||
conversationsListFirstIdTip: 'Die ID des letzten Datensatzes auf der aktuellen Seite, standardmäßig keine.',
|
||||
conversationsListLimitTip: 'Wie viele Chats in einer Anfrage zurückgegeben werden',
|
||||
conversationRenamingApi: 'Konversation umbenennen',
|
||||
conversationRenamingApiTip: 'Konversationen umbenennen; der Name wird in Mehrsitzungs-Client-Schnittstellen angezeigt.',
|
||||
conversationRenamingNameTip: 'Neuer Name',
|
||||
parametersApi: 'Anwendungsparameterinformationen abrufen',
|
||||
parametersApiTip: 'Abrufen konfigurierter Eingabeparameter, einschließlich Variablennamen, Feldnamen, Typen und Standardwerten. Typischerweise verwendet, um diese Felder in einem Formular anzuzeigen oder Standardwerte nach dem Laden des Clients auszufüllen.',
|
||||
},
|
||||
develop: {
|
||||
requestBody: 'Anfragekörper',
|
||||
pathParams: 'Pfadparameter',
|
||||
query: 'Anfrage',
|
||||
toc: 'Inhalt',
|
||||
},
|
||||
loading: 'Laden',
|
||||
regenerate: 'Erneuern',
|
||||
}
|
||||
|
||||
export default translation
|
||||
575
dify/web/i18n/de-DE/app-debug.ts
Normal file
575
dify/web/i18n/de-DE/app-debug.ts
Normal file
@@ -0,0 +1,575 @@
|
||||
const translation = {
|
||||
pageTitle: {
|
||||
line1: 'PROMPT',
|
||||
line2: 'Engineering',
|
||||
},
|
||||
orchestrate: 'Orchestrieren',
|
||||
promptMode: {
|
||||
simple: 'Wechseln Sie in den Expertenmodus, um das gesamte PROMPT zu bearbeiten',
|
||||
advanced: 'Expertenmodus',
|
||||
switchBack: 'Zurückwechseln',
|
||||
advancedWarning: {
|
||||
title: 'Sie haben in den Expertenmodus gewechselt, und sobald Sie das PROMPT ändern, können Sie NICHT zum Basis-Modus zurückkehren.',
|
||||
description: 'Im Expertenmodus können Sie das gesamte PROMPT bearbeiten.',
|
||||
learnMore: 'Mehr erfahren',
|
||||
ok: 'OK',
|
||||
},
|
||||
operation: {
|
||||
addMessage: 'Nachricht hinzufügen',
|
||||
},
|
||||
contextMissing: 'Komponente fehlt, die Wirksamkeit des Prompts könnte schlecht sein.',
|
||||
},
|
||||
operation: {
|
||||
applyConfig: 'Veröffentlichen',
|
||||
resetConfig: 'Zurücksetzen',
|
||||
debugConfig: 'Debuggen',
|
||||
addFeature: 'Funktion hinzufügen',
|
||||
automatic: 'Generieren',
|
||||
stopResponding: 'Antworten stoppen',
|
||||
agree: 'gefällt mir',
|
||||
disagree: 'gefällt mir nicht',
|
||||
cancelAgree: 'Gefällt mir zurücknehmen',
|
||||
cancelDisagree: 'Gefällt mir nicht zurücknehmen',
|
||||
userAction: 'Benutzer ',
|
||||
},
|
||||
notSetAPIKey: {
|
||||
title: 'LLM-Anbieterschlüssel wurde nicht festgelegt',
|
||||
trailFinished: 'Testversion beendet',
|
||||
description: 'Der LLM-Anbieterschlüssel wurde nicht festgelegt und muss vor dem Debuggen festgelegt werden.',
|
||||
settingBtn: 'Zu den Einstellungen gehen',
|
||||
},
|
||||
trailUseGPT4Info: {
|
||||
title: 'Unterstützt derzeit kein gpt-4',
|
||||
description: 'Um gpt-4 zu verwenden, bitte API-Schlüssel festlegen.',
|
||||
},
|
||||
feature: {
|
||||
groupChat: {
|
||||
title: 'Chatverbesserung',
|
||||
description: 'Voreinstellungen für Konversationen zu Apps hinzufügen kann die Benutzererfahrung verbessern.',
|
||||
},
|
||||
groupExperience: {
|
||||
title: 'Erfahrungsverbesserung',
|
||||
},
|
||||
conversationOpener: {
|
||||
title: 'Gesprächseröffnungen',
|
||||
description: 'In einer Chat-App wird der erste Satz, den die KI aktiv an den Benutzer richtet, üblicherweise als Begrüßung verwendet.',
|
||||
},
|
||||
suggestedQuestionsAfterAnswer: {
|
||||
title: 'Nachfolgefragen',
|
||||
description: 'Das Einrichten von Vorschlägen für nächste Fragen kann den Chat für Benutzer verbessern.',
|
||||
resDes: '3 Vorschläge für die nächste Benutzerfrage.',
|
||||
tryToAsk: 'Versuchen Sie zu fragen',
|
||||
},
|
||||
moreLikeThis: {
|
||||
title: 'Mehr davon',
|
||||
description: 'Mehrere Texte gleichzeitig generieren und dann bearbeiten und weiter generieren',
|
||||
generateNumTip: 'Anzahl der generierten Texte pro Durchgang',
|
||||
tip: 'Die Verwendung dieser Funktion verursacht zusätzliche Token-Kosten',
|
||||
},
|
||||
speechToText: {
|
||||
title: 'Sprache zu Text',
|
||||
description: 'Einmal aktiviert, können Sie Spracheingabe verwenden.',
|
||||
resDes: 'Spracheingabe ist aktiviert',
|
||||
},
|
||||
textToSpeech: {
|
||||
title: 'Text zu Sprache',
|
||||
description: 'Einmal aktiviert, kann Text in Sprache umgewandelt werden.',
|
||||
resDes: 'Text zu Audio ist aktiviert',
|
||||
},
|
||||
citation: {
|
||||
title: 'Zitate und Urheberangaben',
|
||||
description: 'Einmal aktiviert, zeigen Sie das Quelldokument und den zugeordneten Abschnitt des generierten Inhalts an.',
|
||||
resDes: 'Zitate und Urheberangaben sind aktiviert',
|
||||
},
|
||||
annotation: {
|
||||
title: 'Annotation Antwort',
|
||||
description: 'Sie können manuell hochwertige Antworten zum Cache hinzufügen für bevorzugte Übereinstimmung mit ähnlichen Benutzerfragen.',
|
||||
resDes: 'Annotationsantwort ist aktiviert',
|
||||
scoreThreshold: {
|
||||
title: 'Schwellenwert',
|
||||
description: 'Wird verwendet, um den Ähnlichkeitsschwellenwert für die Annotation Antwort einzustellen.',
|
||||
easyMatch: 'Einfache Übereinstimmung',
|
||||
accurateMatch: 'Genaue Übereinstimmung',
|
||||
},
|
||||
matchVariable: {
|
||||
title: 'Übereinstimmungsvariable',
|
||||
choosePlaceholder: 'Wählen Sie Übereinstimmungsvariable',
|
||||
},
|
||||
cacheManagement: 'Annotationen',
|
||||
cached: 'Annotiert',
|
||||
remove: 'Entfernen',
|
||||
removeConfirm: 'Diese Annotation löschen?',
|
||||
add: 'Annotation hinzufügen',
|
||||
edit: 'Annotation bearbeiten',
|
||||
},
|
||||
dataSet: {
|
||||
title: 'Kontext',
|
||||
noData: 'Sie können Wissen als Kontext importieren',
|
||||
selectTitle: 'Wählen Sie Referenzwissen',
|
||||
selected: 'Wissen ausgewählt',
|
||||
noDataSet: 'Kein Wissen gefunden',
|
||||
toCreate: 'Erstellen gehen',
|
||||
notSupportSelectMulti: 'Unterstützt derzeit nur ein Wissen',
|
||||
queryVariable: {
|
||||
title: 'Abfragevariable',
|
||||
tip: 'Diese Variable wird als Eingabe für die Kontextabfrage verwendet, um kontextbezogene Informationen in Bezug auf die Eingabe dieser Variable zu erhalten.',
|
||||
choosePlaceholder: 'Wählen Sie Abfragevariable',
|
||||
noVar: 'Keine Variablen',
|
||||
noVarTip: 'Bitte erstellen Sie eine Variable im Variablenbereich',
|
||||
unableToQueryDataSet: 'Konnte das Wissen nicht abfragen',
|
||||
unableToQueryDataSetTip: 'Konnte das Wissen nicht erfolgreich abfragen, bitte wählen Sie eine Kontextabfragevariable im Kontextbereich.',
|
||||
ok: 'OK',
|
||||
contextVarNotEmpty: 'Kontextabfragevariable darf nicht leer sein',
|
||||
deleteContextVarTitle: 'Variable „{{varName}}“ löschen?',
|
||||
deleteContextVarTip: 'Diese Variable wurde als Kontextabfragevariable festgelegt und deren Entfernung wird die normale Verwendung des Wissens beeinträchtigen. Wenn Sie sie trotzdem löschen müssen, wählen Sie sie bitte im Kontextbereich erneut.',
|
||||
},
|
||||
},
|
||||
tools: {
|
||||
title: 'Werkzeuge',
|
||||
tips: 'Werkzeuge bieten eine standardisierte API-Aufrufmethode, die Benutzereingaben oder Variablen als Anfrageparameter für die Abfrage externer Daten als Kontext verwendet.',
|
||||
toolsInUse: '{{count}} Werkzeuge in Verwendung',
|
||||
modal: {
|
||||
title: 'Werkzeug',
|
||||
toolType: {
|
||||
title: 'Werkzeugtyp',
|
||||
placeholder: 'Bitte wählen Sie den Werkzeugtyp',
|
||||
},
|
||||
name: {
|
||||
title: 'Name',
|
||||
placeholder: 'Bitte geben Sie den Namen ein',
|
||||
},
|
||||
variableName: {
|
||||
title: 'Variablenname',
|
||||
placeholder: 'Bitte geben Sie den Variablennamen ein',
|
||||
},
|
||||
},
|
||||
},
|
||||
conversationHistory: {
|
||||
title: 'Konversationsverlauf',
|
||||
description: 'Präfixnamen für Konversationsrollen festlegen',
|
||||
tip: 'Der Konversationsverlauf ist nicht aktiviert, bitte fügen Sie <histories> im Prompt oben ein.',
|
||||
learnMore: 'Mehr erfahren',
|
||||
editModal: {
|
||||
title: 'Konversationsrollennamen bearbeiten',
|
||||
userPrefix: 'Benutzerpräfix',
|
||||
assistantPrefix: 'Assistentenpräfix',
|
||||
},
|
||||
},
|
||||
toolbox: {
|
||||
title: 'WERKZEUGKASTEN',
|
||||
},
|
||||
moderation: {
|
||||
title: 'Inhaltsmoderation',
|
||||
description: 'Sichern Sie die Ausgabe des Modells durch Verwendung der Moderations-API oder durch Pflege einer Liste sensibler Wörter.',
|
||||
allEnabled: 'INHALT von EINGABE/AUSGABE aktiviert',
|
||||
inputEnabled: 'INHALT von EINGABE aktiviert',
|
||||
outputEnabled: 'INHALT von AUSGABE aktiviert',
|
||||
modal: {
|
||||
title: 'Einstellungen zur Inhaltsmoderation',
|
||||
provider: {
|
||||
title: 'Anbieter',
|
||||
openai: 'OpenAI-Moderation',
|
||||
openaiTip: {
|
||||
prefix: 'OpenAI-Moderation erfordert einen konfigurierten OpenAI-API-Schlüssel in den ',
|
||||
suffix: '.',
|
||||
},
|
||||
keywords: 'Schlüsselwörter',
|
||||
},
|
||||
keywords: {
|
||||
tip: 'Jeweils eine pro Zeile, getrennt durch Zeilenumbrüche. Bis zu 100 Zeichen pro Zeile.',
|
||||
placeholder: 'Jeweils eine pro Zeile, getrennt durch Zeilenumbrüche',
|
||||
line: 'Zeile',
|
||||
},
|
||||
content: {
|
||||
input: 'INHALT der EINGABE moderieren',
|
||||
output: 'INHALT der AUSGABE moderieren',
|
||||
preset: 'Voreingestellte Antworten',
|
||||
placeholder: 'Inhalt der voreingestellten Antworten hier',
|
||||
condition: 'Moderation von INHALT der EINGABE und AUSGABE mindestens eine aktiviert',
|
||||
fromApi: 'Voreingestellte Antworten werden durch API zurückgegeben',
|
||||
errorMessage: 'Voreingestellte Antworten dürfen nicht leer sein',
|
||||
supportMarkdown: 'Markdown unterstützt',
|
||||
},
|
||||
openaiNotConfig: {
|
||||
before: 'OpenAI-Moderation erfordert einen konfigurierten OpenAI-API-Schlüssel in den',
|
||||
after: '',
|
||||
},
|
||||
},
|
||||
contentEnableLabel: 'Inhaltsmoderation aktiviert',
|
||||
},
|
||||
fileUpload: {
|
||||
title: 'Datei-Upload',
|
||||
description: 'Das Chat-Eingabefeld unterstützt das Hochladen von Bildern, Dokumenten und anderen Dateien.',
|
||||
supportedTypes: 'Unterstützte Dateitypen',
|
||||
numberLimit: 'Max. Uploads',
|
||||
modalTitle: 'Datei-Upload-Einstellung',
|
||||
},
|
||||
imageUpload: {
|
||||
title: 'Bild-Upload',
|
||||
description: 'Ermöglicht das Hochladen von Bildern.',
|
||||
supportedTypes: 'Unterstützte Dateitypen',
|
||||
numberLimit: 'Max. Uploads',
|
||||
modalTitle: 'Bild-Upload-Einstellung',
|
||||
},
|
||||
bar: {
|
||||
empty: 'Funktionen aktivieren, um die Web-App-Benutzererfahrung zu verbessern',
|
||||
enableText: 'Funktionen aktiviert',
|
||||
manage: 'Verwalten',
|
||||
},
|
||||
documentUpload: {
|
||||
title: 'Dokument',
|
||||
description: 'Das Aktivieren von Dokumenten ermöglicht es dem Modell, Dokumente aufzunehmen und Fragen zu ihnen zu beantworten.',
|
||||
},
|
||||
audioUpload: {
|
||||
title: 'Audio',
|
||||
description: 'Das Aktivieren von Audio ermöglicht es dem Modell, Audiodateien für Transkription und Analyse zu verarbeiten.',
|
||||
},
|
||||
},
|
||||
resetConfig: {
|
||||
title: 'Zurücksetzen bestätigen?',
|
||||
message:
|
||||
'Zurücksetzen verwirft Änderungen und stellt die zuletzt veröffentlichte Konfiguration wieder her.',
|
||||
},
|
||||
errorMessage: {
|
||||
nameOfKeyRequired: 'Name des Schlüssels: {{key}} erforderlich',
|
||||
valueOfVarRequired: '{{key}} Wert darf nicht leer sein',
|
||||
queryRequired: 'Anfragetext ist erforderlich.',
|
||||
waitForResponse:
|
||||
'Bitte warten Sie auf die Antwort auf die vorherige Nachricht, um abzuschließen.',
|
||||
waitForBatchResponse:
|
||||
'Bitte warten Sie auf die Antwort auf die Stapelaufgabe, um abzuschließen.',
|
||||
notSelectModel: 'Bitte wählen Sie ein Modell',
|
||||
waitForImgUpload: 'Bitte warten Sie, bis das Bild hochgeladen ist',
|
||||
waitForFileUpload: 'Bitte warten Sie, bis die Datei(en) hochgeladen sind',
|
||||
},
|
||||
chatSubTitle: 'Anweisungen',
|
||||
completionSubTitle: 'Vor-Prompt',
|
||||
promptTip:
|
||||
'Prompts leiten KI-Antworten mit Anweisungen und Einschränkungen. Fügen Sie Variablen wie {{input}} ein. Dieses Prompt wird den Benutzern nicht angezeigt.',
|
||||
formattingChangedTitle: 'Formatierung geändert',
|
||||
formattingChangedText:
|
||||
'Die Änderung der Formatierung wird den Debug-Bereich zurücksetzen, sind Sie sicher?',
|
||||
variableTitle: 'Variablen',
|
||||
variableTip:
|
||||
'Benutzer füllen Variablen in einem Formular aus, automatisches Ersetzen von Variablen im Prompt.',
|
||||
notSetVar: 'Variablen ermöglichen es Benutzern, Aufforderungswörter oder Eröffnungsbemerkungen einzuführen, wenn sie Formulare ausfüllen. Sie könnten versuchen, "{{input}}" im Prompt einzugeben.',
|
||||
autoAddVar: 'Im Vor-Prompt referenzierte undefinierte Variablen, möchten Sie sie im Benutzereingabeformular hinzufügen?',
|
||||
variableTable: {
|
||||
key: 'Variablenschlüssel',
|
||||
name: 'Name des Benutzereingabefelds',
|
||||
type: 'Eingabetyp',
|
||||
action: 'Aktionen',
|
||||
typeString: 'String',
|
||||
typeSelect: 'Auswählen',
|
||||
},
|
||||
varKeyError: {
|
||||
canNoBeEmpty: '{{key}} ist erforderlich',
|
||||
tooLong: '{{key}} zu lang. Darf nicht länger als 30 Zeichen sein',
|
||||
notValid: '{{key}} ist ungültig. Darf nur Buchstaben, Zahlen und Unterstriche enthalten',
|
||||
notStartWithNumber: '{{key}} darf nicht mit einer Zahl beginnen',
|
||||
keyAlreadyExists: '{{key}} existiert bereits',
|
||||
},
|
||||
otherError: {
|
||||
promptNoBeEmpty: 'Prompt darf nicht leer sein',
|
||||
historyNoBeEmpty: 'Konversationsverlauf muss im Prompt gesetzt sein',
|
||||
queryNoBeEmpty: 'Anfrage muss im Prompt gesetzt sein',
|
||||
},
|
||||
variableConfig: {
|
||||
'description': 'Einstellung für Variable {{varName}}',
|
||||
'fieldType': 'Feldtyp',
|
||||
'string': 'Kurztext',
|
||||
'paragraph': 'Absatz',
|
||||
'select': 'Auswählen',
|
||||
'notSet': 'Nicht gesetzt, versuchen Sie, {{input}} im Vor-Prompt zu tippen',
|
||||
'stringTitle': 'Formular-Textfeldoptionen',
|
||||
'maxLength': 'Maximale Länge',
|
||||
'options': 'Optionen',
|
||||
'addOption': 'Option hinzufügen',
|
||||
'apiBasedVar': 'API-basierte Variable',
|
||||
'defaultValue': 'Standardwert',
|
||||
'noDefaultValue': 'Kein Standardwert',
|
||||
'selectDefaultValue': 'Standardwert auswählen',
|
||||
'file': {
|
||||
image: {
|
||||
name: 'Bild',
|
||||
},
|
||||
audio: {
|
||||
name: 'Audio',
|
||||
},
|
||||
document: {
|
||||
name: 'Dokument',
|
||||
},
|
||||
video: {
|
||||
name: 'Video',
|
||||
},
|
||||
custom: {
|
||||
description: 'Geben Sie andere Dateitypen an.',
|
||||
createPlaceholder: ' Dateiendung, z.B. .doc',
|
||||
name: 'Andere Dateitypen',
|
||||
},
|
||||
supportFileTypes: 'Unterstützte Dateitypen',
|
||||
},
|
||||
'errorMsg': {
|
||||
optionRepeat: 'Hat Wiederholungsoptionen',
|
||||
atLeastOneOption: 'Mindestens eine Option ist erforderlich',
|
||||
labelNameRequired: 'Labelname ist erforderlich',
|
||||
varNameCanBeRepeat: 'Variablenname kann nicht wiederholt werden',
|
||||
},
|
||||
'multi-files': 'Dateiliste',
|
||||
'varName': 'Variablenname',
|
||||
'content': 'Inhalt',
|
||||
'single-file': 'Einzelne Datei',
|
||||
'labelName': 'Kennsatzname',
|
||||
'addModalTitle': 'Eingabefeld hinzufügen',
|
||||
'hide': 'Verstecken',
|
||||
'inputPlaceholder': 'Bitte geben Sie ein',
|
||||
'both': 'Beide',
|
||||
'uploadFileTypes': 'Dateitypen hochladen',
|
||||
'maxNumberOfUploads': 'Maximale Anzahl von Uploads',
|
||||
'maxNumberTip': 'Dokument < {{docLimit}}, Bild < {{imgLimit}}, Audio < {{audioLimit}}, Video < {{videoLimit}}',
|
||||
'number': 'Zahl',
|
||||
'editModalTitle': 'Eingabefeld bearbeiten',
|
||||
'required': 'Erforderlich',
|
||||
'text-input': 'Kurztext',
|
||||
'localUpload': 'Lokaler Upload',
|
||||
'json': 'JSON-Code',
|
||||
'optional': 'optional',
|
||||
'checkbox': 'Checkbox',
|
||||
'jsonSchema': 'JSON-Schema',
|
||||
'tooltips': 'Tooltips',
|
||||
'placeholder': 'Platzhalter',
|
||||
'displayName': 'Anzeigename',
|
||||
'unit': 'Einheit',
|
||||
'showAllSettings': 'Alle Einstellungen anzeigen',
|
||||
'startChecked': 'Start aktiviert',
|
||||
'uploadMethod': 'Upload-Methode',
|
||||
'noDefaultSelected': 'Nicht auswählen',
|
||||
'defaultValuePlaceholder': 'Geben Sie den Standardwert ein, um das Feld vorab auszufüllen',
|
||||
'unitPlaceholder': 'Einheiten nach Zahlen anzeigen, z.B. Token',
|
||||
'startSelectedOption': 'Ausgewählte Option starten',
|
||||
'placeholderPlaceholder': 'Geben Sie Text ein, der angezeigt werden soll, wenn das Feld leer ist',
|
||||
'tooltipsPlaceholder': 'Geben Sie hilfreichen Text ein, der angezeigt wird, wenn Sie den Mauszeiger über die Beschriftung bewegen',
|
||||
},
|
||||
vision: {
|
||||
name: 'Vision',
|
||||
description: 'Vision zu aktivieren ermöglicht es dem Modell, Bilder aufzunehmen und Fragen dazu zu beantworten.',
|
||||
settings: 'Einstellungen',
|
||||
visionSettings: {
|
||||
title: 'Vision-Einstellungen',
|
||||
resolution: 'Auflösung',
|
||||
resolutionTooltip: `Niedrige Auflösung ermöglicht es dem Modell, eine Bildversion mit niedriger Auflösung von 512 x 512 zu erhalten und das Bild mit einem Budget von 65 Tokens darzustellen. Dies ermöglicht schnellere Antworten des API und verbraucht weniger Eingabetokens für Anwendungsfälle, die kein hohes Detail benötigen.
|
||||
\n
|
||||
Hohe Auflösung ermöglicht zunächst, dass das Modell das Bild mit niedriger Auflösung sieht und dann detaillierte Ausschnitte von Eingabebildern als 512px Quadrate basierend auf der Größe des Eingabebildes erstellt. Jeder der detaillierten Ausschnitte verwendet das doppelte Token-Budget für insgesamt 129 Tokens.`,
|
||||
high: 'Hoch',
|
||||
low: 'Niedrig',
|
||||
uploadMethod: 'Upload-Methode',
|
||||
both: 'Beides',
|
||||
localUpload: 'Lokaler Upload',
|
||||
url: 'URL',
|
||||
uploadLimit: 'Upload-Limit',
|
||||
},
|
||||
onlySupportVisionModelTip: 'Unterstützt nur Bildverarbeitungsmodelle',
|
||||
},
|
||||
voice: {
|
||||
name: 'Stimme',
|
||||
defaultDisplay: 'Standardstimme',
|
||||
description: 'Text-zu-Sprache-Stimmeinstellungen',
|
||||
settings: 'Einstellungen',
|
||||
voiceSettings: {
|
||||
title: 'Stimmeinstellungen',
|
||||
language: 'Sprache',
|
||||
resolutionTooltip: 'Text-zu-Sprache unterstützte Sprache.',
|
||||
voice: 'Stimme',
|
||||
autoPlay: 'Automatische Wiedergabe',
|
||||
autoPlayEnabled: 'Auf',
|
||||
autoPlayDisabled: 'Aus',
|
||||
},
|
||||
},
|
||||
openingStatement: {
|
||||
title: 'Gesprächseröffner',
|
||||
add: 'Hinzufügen',
|
||||
writeOpener: 'Eröffnung schreiben',
|
||||
placeholder: 'Schreiben Sie hier Ihre Eröffnungsnachricht, Sie können Variablen verwenden, versuchen Sie {{Variable}} zu tippen.',
|
||||
openingQuestionPlaceholder: 'Sie können Variablen verwenden, versuchen Sie {{variable}} einzugeben.',
|
||||
openingQuestion: 'Eröffnungsfragen',
|
||||
noDataPlaceHolder:
|
||||
'Den Dialog mit dem Benutzer zu beginnen, kann helfen, in konversationellen Anwendungen eine engere Verbindung mit ihnen herzustellen.',
|
||||
varTip: 'Sie können Variablen verwenden, versuchen Sie {{Variable}} zu tippen',
|
||||
tooShort: 'Für die Erzeugung von Eröffnungsbemerkungen für das Gespräch werden mindestens 20 Wörter des Anfangsprompts benötigt.',
|
||||
notIncludeKey: 'Das Anfangsprompt enthält nicht die Variable: {{key}}. Bitte fügen Sie sie dem Anfangsprompt hinzu.',
|
||||
},
|
||||
modelConfig: {
|
||||
model: 'Modell',
|
||||
setTone: 'Ton der Antworten festlegen',
|
||||
title: 'Modell und Parameter',
|
||||
modeType: {
|
||||
chat: 'Chat',
|
||||
completion: 'Vollständig',
|
||||
},
|
||||
},
|
||||
inputs: {
|
||||
title: 'Debug und Vorschau',
|
||||
noPrompt: 'Versuchen Sie, etwas Prompt im Vor-Prompt-Eingabefeld zu schreiben',
|
||||
userInputField: 'Benutzereingabefeld',
|
||||
noVar: 'Füllen Sie den Wert der Variable aus, der bei jedem Start einer neuen Sitzung automatisch im Prompt ersetzt wird.',
|
||||
chatVarTip:
|
||||
'Füllen Sie den Wert der Variable aus, der bei jedem Start einer neuen Sitzung automatisch im Prompt ersetzt wird',
|
||||
completionVarTip:
|
||||
'Füllen Sie den Wert der Variable aus, der bei jeder Einreichung einer Frage automatisch in den Prompt-Wörtern ersetzt wird.',
|
||||
previewTitle: 'Prompt-Vorschau',
|
||||
queryTitle: 'Anfrageinhalt',
|
||||
queryPlaceholder: 'Bitte geben Sie den Anfragetext ein.',
|
||||
run: 'AUSFÜHREN',
|
||||
},
|
||||
result: 'Ausgabetext',
|
||||
datasetConfig: {
|
||||
settingTitle: 'Abfragen-Einstellungen',
|
||||
retrieveOneWay: {
|
||||
title: 'N-zu-1-Abfrage',
|
||||
description: 'Basierend auf Benutzerabsicht und Beschreibungen des Wissens wählt der Agent autonom das beste Wissen für die Abfrage aus. Am besten für Anwendungen mit deutlichen, begrenzten Wissensgebieten.',
|
||||
},
|
||||
retrieveMultiWay: {
|
||||
title: 'Mehrwegabfrage',
|
||||
description: 'Basierend auf Benutzerabsicht werden Abfragen über alle Wissensbereiche hinweg durchgeführt, relevante Texte aus Mehrfachquellen abgerufen und die besten Ergebnisse, die der Benutzerabfrage entsprechen, nach einer Neubewertung ausgewählt. Konfiguration des Rerank-Modell-APIs erforderlich.',
|
||||
},
|
||||
rerankModelRequired: 'Rerank-Modell erforderlich',
|
||||
params: 'Parameter',
|
||||
top_k: 'Top K',
|
||||
top_kTip: 'Wird verwendet, um Abschnitte zu filtern, die am ähnlichsten zu Benutzerfragen sind. Das System wird auch dynamisch den Wert von Top K anpassen, entsprechend max_tokens des ausgewählten Modells.',
|
||||
score_threshold: 'Schwellenwert',
|
||||
score_thresholdTip: 'Wird verwendet, um den Ähnlichkeitsschwellenwert für die Abschnittsfilterung einzustellen.',
|
||||
retrieveChangeTip: 'Das Ändern des Indexmodus und des Abfragemodus kann Anwendungen beeinflussen, die mit diesem Wissen verbunden sind.',
|
||||
embeddingModelRequired: 'Ein konfiguriertes Einbettungsmodell ist erforderlich',
|
||||
knowledgeTip: 'Klicken Sie auf die Schaltfläche " ", um Wissen hinzuzufügen',
|
||||
},
|
||||
debugAsSingleModel: 'Als Einzelmodell debuggen',
|
||||
debugAsMultipleModel: 'Als Mehrfachmodelle debuggen',
|
||||
duplicateModel: 'Duplizieren',
|
||||
publishAs: 'Veröffentlichen als',
|
||||
assistantType: {
|
||||
name: 'Assistententyp',
|
||||
chatAssistant: {
|
||||
name: 'Basisassistent',
|
||||
description: 'Erstellen eines chatbasierten Assistenten mit einem Großsprachmodell',
|
||||
},
|
||||
agentAssistant: {
|
||||
name: 'Agentenassistent',
|
||||
description: 'Erstellen eines intelligenten Agenten, der autonom Werkzeuge wählen kann, um Aufgaben zu erfüllen',
|
||||
},
|
||||
},
|
||||
agent: {
|
||||
agentMode: 'Agentenmodus',
|
||||
agentModeDes: 'Den Typ des Inferenzmodus für den Agenten festlegen',
|
||||
agentModeType: {
|
||||
ReACT: 'ReAct',
|
||||
functionCall: 'Funktionsaufruf',
|
||||
},
|
||||
setting: {
|
||||
name: 'Agenten-Einstellungen',
|
||||
description: 'Agentenassistenten-Einstellungen ermöglichen die Festlegung des Agentenmodus und erweiterte Funktionen wie integrierte Prompts, nur verfügbar im Agententyp.',
|
||||
maximumIterations: {
|
||||
name: 'Maximale Iterationen',
|
||||
description: 'Begrenzt die Anzahl der Iterationen, die ein Agentenassistent ausführen kann',
|
||||
},
|
||||
},
|
||||
buildInPrompt: 'Eingebautes Prompt',
|
||||
firstPrompt: 'Erstes Prompt',
|
||||
nextIteration: 'Nächste Iteration',
|
||||
promptPlaceholder: 'Schreiben Sie hier Ihr Prompt',
|
||||
tools: {
|
||||
name: 'Werkzeuge',
|
||||
description: 'Die Verwendung von Werkzeugen kann die Fähigkeiten von LLM erweitern, z.B. das Internet durchsuchen oder wissenschaftliche Berechnungen durchführen',
|
||||
enabled: 'Aktiviert',
|
||||
},
|
||||
},
|
||||
codegen: {
|
||||
applyChanges: 'Änderungen übernehmen',
|
||||
generatedCodeTitle: 'Generierter Code',
|
||||
instructionPlaceholder: 'Geben Sie eine detaillierte Beschreibung des Codes ein, den Sie generieren möchten.',
|
||||
overwriteConfirmMessage: 'Durch diese Aktion wird der vorhandene Code überschrieben. Möchten Sie fortfahren?',
|
||||
title: 'Codegenerator',
|
||||
noDataLine1: 'Beschreiben Sie links Ihren Anwendungsfall,',
|
||||
loading: 'Code wird generiert...',
|
||||
resTitle: 'Generierter Code',
|
||||
description: 'Der Code-Generator verwendet konfigurierte Modelle, um qualitativ hochwertigen Code basierend auf Ihren Anweisungen zu generieren. Bitte geben Sie klare und detaillierte Anweisungen.',
|
||||
instruction: 'Anweisungen',
|
||||
apply: 'Anwenden',
|
||||
generate: 'Erzeugen',
|
||||
overwriteConfirmTitle: 'Vorhandenen Code überschreiben?',
|
||||
noDataLine2: 'Die Codevorschau wird hier angezeigt.',
|
||||
},
|
||||
generate: {
|
||||
template: {
|
||||
pythonDebugger: {
|
||||
instruction: 'Ein Bot, der Ihren Code basierend auf Ihren Anweisungen generieren und debuggen kann',
|
||||
name: 'Python-Debugger',
|
||||
},
|
||||
translation: {
|
||||
instruction: 'Ein Übersetzer, der mehrere Sprachen übersetzen kann',
|
||||
name: 'Übersetzung',
|
||||
},
|
||||
professionalAnalyst: {
|
||||
name: 'Professioneller Analyst',
|
||||
instruction: 'Extrahieren Sie Erkenntnisse, identifizieren Sie Risiken und destillieren Sie wichtige Informationen aus langen Berichten in einem einzigen Memo',
|
||||
},
|
||||
excelFormulaExpert: {
|
||||
instruction: 'Ein Chatbot, der Anfängern helfen kann, Excel-Formeln basierend auf Benutzeranweisungen zu verstehen, zu verwenden und zu erstellen',
|
||||
name: 'Excel-Formel-Experte',
|
||||
},
|
||||
travelPlanning: {
|
||||
instruction: 'Der Reiseplanungsassistent ist ein intelligentes Tool, mit dem Benutzer ihre Reisen mühelos planen können',
|
||||
name: 'Reiseplanung',
|
||||
},
|
||||
SQLSorcerer: {
|
||||
name: 'SQL-Zauberer',
|
||||
instruction: 'Verwandeln Sie alltägliche Sprache in SQL-Abfragen',
|
||||
},
|
||||
GitGud: {
|
||||
name: 'Git gud',
|
||||
instruction: 'Generieren geeigneter Git-Befehle basierend auf vom Benutzer beschriebenen Aktionen zur Versionskontrolle',
|
||||
},
|
||||
meetingTakeaways: {
|
||||
instruction: 'Fassen Sie Meetings in prägnante Zusammenfassungen zusammen, die Diskussionsthemen, wichtige Erkenntnisse und Aktionspunkte enthalten',
|
||||
name: 'Takeaways für Meetings',
|
||||
},
|
||||
writingsPolisher: {
|
||||
instruction: 'Verwenden Sie fortgeschrittene Lektoratstechniken, um Ihre Texte zu verbessern',
|
||||
name: 'Polierer für Schreibstil',
|
||||
},
|
||||
},
|
||||
title: 'Eingabeaufforderungs-Generator',
|
||||
apply: 'Anwenden',
|
||||
overwriteTitle: 'Vorhandene Konfiguration überschreiben?',
|
||||
instruction: 'Anweisungen',
|
||||
tryIt: 'Versuch es',
|
||||
generate: 'Erzeugen',
|
||||
overwriteMessage: 'Durch Anwenden dieser Eingabeaufforderung wird die vorhandene Konfiguration überschrieben.',
|
||||
loading: 'Orchestrieren Sie die Anwendung für Sie...',
|
||||
resTitle: 'Generierte Eingabeaufforderung',
|
||||
description: 'Der Eingabeaufforderungsgenerator verwendet das konfigurierte Modell, um Eingabeaufforderungen für eine höhere Qualität und bessere Struktur zu optimieren. Bitte schreiben Sie klare und detaillierte Anweisungen.',
|
||||
version: 'Version',
|
||||
dismiss: 'Ablehnen',
|
||||
idealOutput: 'Ideale Ausgabe',
|
||||
optional: 'Optional',
|
||||
insertContext: 'Kontext einfügen',
|
||||
to: 'zu',
|
||||
optimizationNote: 'Optimierungsanmerkung',
|
||||
press: 'Drücken',
|
||||
versions: 'Versionen',
|
||||
instructionPlaceHolderLine2: 'Das Ausgabeformat ist inkorrekt, bitte halten Sie sich strikt an das JSON-Format.',
|
||||
latest: 'Neueste',
|
||||
optimizePromptTooltip: 'Optimieren im Eingabeaufforderungsgenerator',
|
||||
idealOutputPlaceholder: 'Beschreiben Sie Ihr ideales Antwortformat, die Länge, den Ton und die Inhaltsanforderungen...',
|
||||
newNoDataLine1: 'Schreiben Sie eine Anweisung in die linke Spalte und klicken Sie auf Generieren, um die Antwort zu sehen.',
|
||||
codeGenInstructionPlaceHolderLine: 'Je detaillierter das Feedback ist, wie zum Beispiel die Datentypen der Eingabe und Ausgabe sowie die Verarbeitung der Variablen, desto genauer wird die Codegenerierung sein.',
|
||||
instructionPlaceHolderLine1: 'Machen Sie die Ausgabe prägnanter und bewahren Sie die wichtigsten Punkte.',
|
||||
instructionPlaceHolderTitle: 'Beschreiben Sie, wie Sie diesen Prompt verbessern möchten. Zum Beispiel:',
|
||||
instructionPlaceHolderLine3: 'Der Ton ist zu scharf, bitte machen Sie ihn freundlicher.',
|
||||
},
|
||||
warningMessage: {
|
||||
timeoutExceeded: 'Die Ergebnisse werden aufgrund einer Zeitüberschreitung nicht angezeigt. Bitte beziehen Sie sich auf die Protokolle, um die vollständigen Ergebnisse zu erhalten.',
|
||||
},
|
||||
noResult: 'Hier wird die Ausgabe angezeigt.',
|
||||
}
|
||||
|
||||
export default translation
|
||||
112
dify/web/i18n/de-DE/app-log.ts
Normal file
112
dify/web/i18n/de-DE/app-log.ts
Normal file
@@ -0,0 +1,112 @@
|
||||
const translation = {
|
||||
title: 'Protokolle',
|
||||
description: 'Die Protokolle zeichnen den Betriebsstatus der Anwendung auf, einschließlich Benutzereingaben und KI-Antworten.',
|
||||
dateTimeFormat: 'MM/DD/YYYY hh:mm:ss A',
|
||||
dateFormat: 'MM/DD/YYYY',
|
||||
table: {
|
||||
header: {
|
||||
updatedTime: 'Aktualisierungszeit',
|
||||
time: 'Erstellungszeit',
|
||||
endUser: 'Endbenutzer oder Konto',
|
||||
input: 'Eingabe',
|
||||
output: 'Ausgabe',
|
||||
summary: 'Titel',
|
||||
messageCount: 'Nachrichtenzahl',
|
||||
userRate: 'Benutzerbewertung',
|
||||
adminRate: 'Op. Bewertung',
|
||||
user: 'Endbenutzer oder Konto',
|
||||
status: 'STATUS',
|
||||
runtime: 'LAUFZEIT',
|
||||
version: 'VERSION',
|
||||
tokens: 'TOKEN',
|
||||
startTime: 'STARTZEIT',
|
||||
triggered_from: 'AUSGELÖST DURCH',
|
||||
},
|
||||
pagination: {
|
||||
previous: 'Vorherige',
|
||||
next: 'Nächste',
|
||||
},
|
||||
empty: {
|
||||
noChat: 'Noch keine Konversation',
|
||||
noOutput: 'Keine Ausgabe',
|
||||
element: {
|
||||
title: 'Ist da jemand?',
|
||||
content: 'Beobachten und annotieren Sie hier die Interaktionen zwischen Endbenutzern und KI-Anwendungen, um die Genauigkeit der KI kontinuierlich zu verbessern. Sie können versuchen, die Web-App selbst <shareLink>zu teilen</shareLink> oder <testLink>zu testen</testLink>, und dann zu dieser Seite zurückkehren.',
|
||||
},
|
||||
},
|
||||
},
|
||||
detail: {
|
||||
time: 'Zeit',
|
||||
conversationId: 'Konversations-ID',
|
||||
promptTemplate: 'Prompt-Vorlage',
|
||||
promptTemplateBeforeChat: 'Prompt-Vorlage vor dem Chat · Als Systemnachricht',
|
||||
annotationTip: 'Verbesserungen markiert von {{user}}',
|
||||
timeConsuming: '',
|
||||
second: 's',
|
||||
tokenCost: 'Verbrauchte Token',
|
||||
loading: 'lädt',
|
||||
operation: {
|
||||
like: 'gefällt mir',
|
||||
dislike: 'gefällt mir nicht',
|
||||
addAnnotation: 'Verbesserung hinzufügen',
|
||||
editAnnotation: 'Verbesserung bearbeiten',
|
||||
annotationPlaceholder: 'Geben Sie die erwartete Antwort ein, die Sie möchten, dass die KI antwortet, welche für die Feinabstimmung des Modells und die kontinuierliche Verbesserung der Qualität der Textgenerierung in Zukunft verwendet werden kann.',
|
||||
},
|
||||
variables: 'Variablen',
|
||||
uploadImages: 'Hochgeladene Bilder',
|
||||
modelParams: 'Modellparameter',
|
||||
},
|
||||
filter: {
|
||||
period: {
|
||||
today: 'Heute',
|
||||
last7days: 'Letzte 7 Tage',
|
||||
last4weeks: 'Letzte 4 Wochen',
|
||||
last3months: 'Letzte 3 Monate',
|
||||
last12months: 'Letzte 12 Monate',
|
||||
monthToDate: 'Monat bis heute',
|
||||
quarterToDate: 'Quartal bis heute',
|
||||
yearToDate: 'Jahr bis heute',
|
||||
allTime: 'Gesamte Zeit',
|
||||
last30days: 'Letzte 30 Tage',
|
||||
custom: 'Benutzerdefiniert',
|
||||
},
|
||||
annotation: {
|
||||
all: 'Alle',
|
||||
annotated: 'Markierte Verbesserungen ({{count}} Elemente)',
|
||||
not_annotated: 'Nicht annotiert',
|
||||
},
|
||||
sortBy: 'Sortieren nach:',
|
||||
descending: 'absteigend',
|
||||
ascending: 'aufsteigend',
|
||||
},
|
||||
workflowTitle: 'Workflow-Protokolle',
|
||||
workflowSubtitle: 'Das Protokoll hat den Vorgang von Automate aufgezeichnet.',
|
||||
runDetail: {
|
||||
title: 'Konversationsprotokoll',
|
||||
workflowTitle: 'Protokolldetail',
|
||||
fileListLabel: 'Details zur Datei',
|
||||
fileListDetail: 'Detail',
|
||||
testWithParams: 'Test mit Parametern',
|
||||
},
|
||||
promptLog: 'Prompt-Protokoll',
|
||||
agentLog: 'Agentenprotokoll',
|
||||
viewLog: 'Protokoll anzeigen',
|
||||
agentLogDetail: {
|
||||
agentMode: 'Agentenmodus',
|
||||
toolUsed: 'Verwendetes Werkzeug',
|
||||
iterations: 'Iterationen',
|
||||
iteration: 'Iteration',
|
||||
finalProcessing: 'Endverarbeitung',
|
||||
},
|
||||
triggerBy: {
|
||||
debugging: 'Fehlerbehebung',
|
||||
appRun: 'Webanwendung',
|
||||
webhook: 'Webhook',
|
||||
schedule: 'Zeitplan',
|
||||
plugin: 'Plugin',
|
||||
ragPipelineRun: 'RAG-Pipeline',
|
||||
ragPipelineDebugging: 'RAG-Debugging',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
189
dify/web/i18n/de-DE/app-overview.ts
Normal file
189
dify/web/i18n/de-DE/app-overview.ts
Normal file
@@ -0,0 +1,189 @@
|
||||
const translation = {
|
||||
welcome: {
|
||||
firstStepTip: 'Um zu beginnen,',
|
||||
enterKeyTip: 'geben Sie unten Ihren OpenAI-API-Schlüssel ein',
|
||||
getKeyTip: 'Holen Sie sich Ihren API-Schlüssel vom OpenAI-Dashboard',
|
||||
placeholder: 'Ihr OpenAI-API-Schlüssel (z.B. sk-xxxx)',
|
||||
},
|
||||
apiKeyInfo: {
|
||||
cloud: {
|
||||
trial: {
|
||||
title: 'Sie nutzen das Testkontingent von {{providerName}}.',
|
||||
description: 'Das Testkontingent wird für Ihre Testnutzung bereitgestellt. Bevor das Testkontingent aufgebraucht ist, richten Sie bitte Ihren eigenen Modellanbieter ein oder kaufen zusätzliches Kontingent.',
|
||||
},
|
||||
exhausted: {
|
||||
title: 'Ihr Testkontingent wurde aufgebraucht, bitte richten Sie Ihren APIKey ein.',
|
||||
description: 'Ihr Testkontingent ist aufgebraucht. Bitte richten Sie Ihren eigenen Modellanbieter ein oder kaufen zusätzliches Kontingent.',
|
||||
},
|
||||
},
|
||||
selfHost: {
|
||||
title: {
|
||||
row1: 'Um zu beginnen,',
|
||||
row2: 'richten Sie zuerst Ihren Modellanbieter ein.',
|
||||
},
|
||||
},
|
||||
callTimes: 'Aufrufzeiten',
|
||||
usedToken: 'Verwendetes Token',
|
||||
setAPIBtn: 'Zum Einrichten des Modellanbieters gehen',
|
||||
tryCloud: 'Oder probieren Sie die Cloud-Version von Dify mit kostenlosem Angebot aus',
|
||||
},
|
||||
overview: {
|
||||
title: 'Übersicht',
|
||||
appInfo: {
|
||||
explanation: 'Einsatzbereite AI-web app',
|
||||
accessibleAddress: 'Öffentliche URL',
|
||||
preview: 'Vorschau',
|
||||
regenerate: 'Regenerieren',
|
||||
regenerateNotice: 'Möchten Sie die öffentliche URL neu generieren?',
|
||||
preUseReminder: 'Bitte aktivieren Sie web app, bevor Sie fortfahren.',
|
||||
settings: {
|
||||
entry: 'Einstellungen',
|
||||
title: 'web app Einstellungen',
|
||||
webName: 'web app Name',
|
||||
webDesc: 'web app Beschreibung',
|
||||
webDescTip: 'Dieser Text wird auf der Clientseite angezeigt und bietet grundlegende Anleitungen zur Verwendung der Anwendung',
|
||||
webDescPlaceholder: 'Geben Sie die Beschreibung der web app ein',
|
||||
language: 'Sprache',
|
||||
workflow: {
|
||||
title: 'Workflow-Schritte',
|
||||
show: 'Anzeigen',
|
||||
hide: 'Verbergen',
|
||||
subTitle: 'Details zum Arbeitsablauf',
|
||||
showDesc: 'Ein- oder Ausblenden von Workflow-Details in der web app',
|
||||
},
|
||||
chatColorTheme: 'Chat-Farbschema',
|
||||
chatColorThemeDesc: 'Legen Sie das Farbschema des Chatbots fest',
|
||||
chatColorThemeInverted: 'Invertiert',
|
||||
invalidHexMessage: 'Ungültiger Hex-Wert',
|
||||
invalidPrivacyPolicy: 'Ungültiger Link zur Datenschutzrichtlinie. Bitte verwenden Sie einen gültigen Link, der mit http oder https beginnt',
|
||||
more: {
|
||||
entry: 'Mehr Einstellungen anzeigen',
|
||||
copyright: 'Urheberrecht',
|
||||
copyRightPlaceholder: 'Geben Sie den Namen des Autors oder der Organisation ein',
|
||||
privacyPolicy: 'Datenschutzrichtlinie',
|
||||
privacyPolicyPlaceholder: 'Geben Sie den Link zur Datenschutzrichtlinie ein',
|
||||
privacyPolicyTip: 'Hilft Besuchern zu verstehen, welche Daten die Anwendung sammelt, siehe Difys <privacyPolicyLink>Datenschutzrichtlinie</privacyPolicyLink>.',
|
||||
customDisclaimer: 'Benutzerdefinierte Haftungsausschluss',
|
||||
customDisclaimerPlaceholder: 'Geben Sie den benutzerdefinierten Haftungsausschluss-Text ein',
|
||||
customDisclaimerTip: 'Der ben userdefinierte Haftungsausschluss-Text wird auf der Clientseite angezeigt und bietet zusätzliche Informationen über die Anwendung',
|
||||
copyrightTip: 'Copyright-Informationen in der Webapp anzeigen',
|
||||
copyrightTooltip: 'Bitte führen Sie ein Upgrade auf den Professional-Plan oder höher durch',
|
||||
},
|
||||
sso: {
|
||||
title: 'web app SSO',
|
||||
description: 'Alle Benutzer müssen sich mit SSO anmelden, bevor sie web app verwenden können',
|
||||
label: 'SSO-Authentifizierung',
|
||||
tooltip: 'Wenden Sie sich an den Administrator, um web app SSO zu aktivieren',
|
||||
},
|
||||
modalTip: 'Einstellungen für clientseitige Web-Apps.',
|
||||
},
|
||||
embedded: {
|
||||
entry: 'Eingebettet',
|
||||
title: 'Einbetten auf der Website',
|
||||
explanation: 'Wählen Sie die Art und Weise, wie die Chat-App auf Ihrer Website eingebettet wird',
|
||||
iframe: 'Um die Chat-App an einer beliebigen Stelle auf Ihrer Website hinzuzufügen, fügen Sie diesen iframe in Ihren HTML-Code ein.',
|
||||
scripts: 'Um eine Chat-App unten rechts auf Ihrer Website hinzuzufügen, fügen Sie diesen Code in Ihren HTML-Code ein.',
|
||||
chromePlugin: 'Installieren Sie die Dify Chatbot Chrome-Erweiterung',
|
||||
copied: 'Kopiert',
|
||||
copy: 'Kopieren',
|
||||
},
|
||||
qrcode: {
|
||||
title: 'QR-Code zum Teilen',
|
||||
scan: 'Teilen Sie die Anwendung per Scan',
|
||||
download: 'QR-Code herunterladen',
|
||||
},
|
||||
customize: {
|
||||
way: 'Art',
|
||||
entry: 'Anpassen',
|
||||
title: 'AI-web app anpassen',
|
||||
explanation: 'Sie können das Frontend der Web-App an Ihre Szenarien und Stilbedürfnisse anpassen.',
|
||||
way1: {
|
||||
name: 'Forken Sie den Client-Code, ändern Sie ihn und deployen Sie ihn auf Vercel (empfohlen)',
|
||||
step1: 'Forken Sie den Client-Code und ändern Sie ihn',
|
||||
step1Tip: 'Klicken Sie hier, um den Quellcode in Ihr GitHub-Konto zu forken und den Code zu ändern',
|
||||
step1Operation: 'Dify-WebClient',
|
||||
step2: 'Deployen auf Vercel',
|
||||
step2Tip: 'Klicken Sie hier, um das Repository in Vercel zu importieren und zu deployen',
|
||||
step2Operation: 'Repository importieren',
|
||||
step3: 'Umgebungsvariablen konfigurieren',
|
||||
step3Tip: 'Fügen Sie die folgenden Umgebungsvariablen in Vercel hinzu',
|
||||
},
|
||||
way2: {
|
||||
name: 'Clientseitigen Code schreiben, um die API aufzurufen, und ihn auf einem Server deployen',
|
||||
operation: 'Dokumentation',
|
||||
},
|
||||
},
|
||||
launch: 'Abschießen',
|
||||
enableTooltip: {
|
||||
description: 'Um diese Funktion zu aktivieren, fügen Sie bitte einen Benutzer-Eingabe-Knoten zum Canvas hinzu. (Kann sich bereits im Entwurf befinden, wird nach der Veröffentlichung wirksam)',
|
||||
learnMore: 'Mehr erfahren',
|
||||
},
|
||||
title: 'Webanwendung',
|
||||
},
|
||||
apiInfo: {
|
||||
title: 'Backend-Service-API',
|
||||
explanation: 'Einfach in Ihre Anwendung integrierbar',
|
||||
accessibleAddress: 'Service-API-Endpunkt',
|
||||
doc: 'API-Referenz',
|
||||
},
|
||||
status: {
|
||||
running: 'In Betrieb',
|
||||
disable: 'Deaktivieren',
|
||||
},
|
||||
triggerInfo: {
|
||||
title: 'Auslöser',
|
||||
explanation: 'Verwaltung von Workflow-Triggern',
|
||||
triggersAdded: '{{count}} Auslöser hinzugefügt',
|
||||
noTriggerAdded: 'Kein Auslöser hinzugefügt',
|
||||
triggerStatusDescription: 'Der Status des Trigger-Knotens wird hier angezeigt. (Kann bereits im Entwurf vorhanden sein, tritt nach der Veröffentlichung in Kraft)',
|
||||
learnAboutTriggers: 'Erfahren Sie mehr über Auslöser',
|
||||
},
|
||||
disableTooltip: {
|
||||
triggerMode: 'Die Funktion {{feature}} wird im Trigger-Knoten-Modus nicht unterstützt.',
|
||||
},
|
||||
},
|
||||
analysis: {
|
||||
title: 'Analyse',
|
||||
ms: 'ms',
|
||||
tokenPS: 'Token/s',
|
||||
totalMessages: {
|
||||
title: 'Gesamtnachrichten',
|
||||
explanation: 'Tägliche Anzahl der KI-Interaktionen.',
|
||||
},
|
||||
totalConversations: {
|
||||
title: 'Gesamte Konversationen',
|
||||
explanation: 'Tägliche Anzahl der KI-Konversationen; Prompt-Engineering/Debugging ausgeschlossen.',
|
||||
},
|
||||
activeUsers: {
|
||||
title: 'Aktive Benutzer',
|
||||
explanation: 'Einzigartige Benutzer, die mit AI Q&A führen; Prompt-Engineering/Debugging ausgenommen.',
|
||||
},
|
||||
tokenUsage: {
|
||||
title: 'Token-Verbrauch',
|
||||
explanation: 'Spiegelt den täglichen Token-Verbrauch des Sprachmodells für die Anwendung wider, nützlich für Kostenkontrollzwecke.',
|
||||
consumed: 'Verbraucht',
|
||||
},
|
||||
avgSessionInteractions: {
|
||||
title: 'Durchschn. Sitzungsinteraktionen',
|
||||
explanation: 'Fortlaufende Benutzer-KI-Kommunikationszählung; für konversationsbasierte Apps.',
|
||||
},
|
||||
userSatisfactionRate: {
|
||||
title: 'Benutzerzufriedenheitsrate',
|
||||
explanation: 'Die Anzahl der Likes pro 1.000 Nachrichten. Dies zeigt den Anteil der Antworten an, mit denen die Benutzer sehr zufrieden sind.',
|
||||
},
|
||||
avgResponseTime: {
|
||||
title: 'Durchschn. Antwortzeit',
|
||||
explanation: 'Zeit (ms) für die AI, um zu verarbeiten/antworten; für textbasierte Apps.',
|
||||
},
|
||||
tps: {
|
||||
title: 'Token-Ausgabegeschwindigkeit',
|
||||
explanation: 'Misst die Leistung des LLM. Zählt die Token-Ausgabegeschwindigkeit des LLM vom Beginn der Anfrage bis zum Abschluss der Ausgabe.',
|
||||
},
|
||||
avgUserInteractions: {
|
||||
explanation: 'Spiegelt die tägliche Nutzungshäufigkeit der Benutzer wider. Diese Metrik spiegelt die Bindung der Benutzer wider.',
|
||||
title: 'Durchschnittliche Benutzerinteraktionen',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
351
dify/web/i18n/de-DE/app.ts
Normal file
351
dify/web/i18n/de-DE/app.ts
Normal file
@@ -0,0 +1,351 @@
|
||||
const translation = {
|
||||
createApp: 'Neue App erstellen',
|
||||
types: {
|
||||
all: 'Alle',
|
||||
completion: 'Vervollständigung',
|
||||
workflow: 'Arbeitsablauf',
|
||||
agent: 'Agent',
|
||||
chatbot: 'Chatbot',
|
||||
basic: 'Grundlegend',
|
||||
advanced: 'Chatflow',
|
||||
},
|
||||
modes: {
|
||||
},
|
||||
createFromConfigFile: 'App aus Konfigurationsdatei erstellen',
|
||||
deleteAppConfirmTitle: 'Diese App löschen?',
|
||||
deleteAppConfirmContent:
|
||||
'Das Löschen der App ist unwiderruflich. Nutzer werden keinen Zugang mehr zu Ihrer App haben, und alle Prompt-Konfigurationen und Logs werden dauerhaft gelöscht.',
|
||||
appDeleted: 'App gelöscht',
|
||||
appDeleteFailed: 'Löschen der App fehlgeschlagen',
|
||||
join: 'Treten Sie der Gemeinschaft bei',
|
||||
communityIntro:
|
||||
'Diskutieren Sie mit Teammitgliedern, Mitwirkenden und Entwicklern auf verschiedenen Kanälen.',
|
||||
roadmap: 'Sehen Sie unseren Fahrplan',
|
||||
newApp: {
|
||||
captionName: 'App-Symbol & Name',
|
||||
previewDemo: 'Vorschau-Demo',
|
||||
chatApp: 'Assistent',
|
||||
chatAppIntro:
|
||||
'Ich möchte eine Chat-basierte Anwendung bauen. Diese App verwendet ein Frage-Antwort-Format und ermöglicht mehrere Runden kontinuierlicher Konversation.',
|
||||
agentAssistant: 'Neuer Agentenassistent',
|
||||
completeApp: 'Textgenerator',
|
||||
completeAppIntro:
|
||||
'Ich möchte eine Anwendung erstellen, die hochwertigen Text basierend auf Aufforderungen generiert, wie z.B. das Erstellen von Artikeln, Zusammenfassungen, Übersetzungen und mehr.',
|
||||
showTemplates: 'Ich möchte aus einer Vorlage wählen',
|
||||
hideTemplates: 'Zurück zur Modusauswahl',
|
||||
Create: 'Erstellen',
|
||||
Cancel: 'Abbrechen',
|
||||
nameNotEmpty: 'Name darf nicht leer sein',
|
||||
appTemplateNotSelected: 'Bitte wählen Sie eine Vorlage',
|
||||
appTypeRequired: 'Bitte wählen Sie einen App-Typ',
|
||||
appCreated: 'App erstellt',
|
||||
appCreateFailed: 'Erstellen der App fehlgeschlagen',
|
||||
startFromTemplate: 'Aus Vorlage erstellen',
|
||||
appNamePlaceholder: 'Geben Sie Ihrer App einen Namen',
|
||||
startFromBlank: 'Aus Leer erstellen',
|
||||
workflowWarning: 'Derzeit in der Beta-Phase',
|
||||
captionDescription: 'Beschreibung',
|
||||
useTemplate: 'Diese Vorlage verwenden',
|
||||
appDescriptionPlaceholder: 'Geben Sie die Beschreibung der App ein',
|
||||
caution: 'Vorsicht',
|
||||
Confirm: 'Bestätigen',
|
||||
appCreateDSLErrorTitle: 'Inkompatibilität der Version',
|
||||
appCreateDSLErrorPart2: 'Möchten Sie fortfahren?',
|
||||
appCreateDSLErrorPart4: 'Systemgestützte DSL-Version:',
|
||||
appCreateDSLErrorPart1: 'Es wurde ein signifikanter Unterschied bei den DSL-Versionen festgestellt. Das Erzwingen des Imports kann zu Fehlfunktionen der Anwendung führen.',
|
||||
appCreateDSLErrorPart3: 'Aktuelle DSL-Version der Anwendung:',
|
||||
appCreateDSLWarning: 'Achtung: Ein unterschiedlicher DSL-Versionsunterschied kann sich auf bestimmte Funktionen auswirken',
|
||||
learnMore: 'Weitere Informationen',
|
||||
optional: 'Wahlfrei',
|
||||
noTemplateFound: 'Keine Vorlagen gefunden',
|
||||
workflowUserDescription: 'Autonome KI-Arbeitsabläufe visuell per Drag-and-Drop erstellen.',
|
||||
foundResults: '{{count}} Befund',
|
||||
chatbotShortDescription: 'LLM-basierter Chatbot mit einfacher Einrichtung',
|
||||
completionUserDescription: 'Erstellen Sie schnell einen KI-Assistenten für Textgenerierungsaufgaben mit einfacher Konfiguration.',
|
||||
noAppsFound: 'Keine Apps gefunden',
|
||||
advancedShortDescription: 'Workflow optimiert für mehrstufige Chats',
|
||||
forAdvanced: 'FÜR FORTGESCHRITTENE',
|
||||
chooseAppType: 'App-Typ auswählen',
|
||||
completionShortDescription: 'KI-Assistent für Textgenerierungsaufgaben',
|
||||
forBeginners: 'Einfachere App-Typen',
|
||||
noIdeaTip: 'Keine Ideen? Schauen Sie sich unsere Vorlagen an',
|
||||
workflowShortDescription: 'Agentischer Ablauf für intelligente Automatisierungen',
|
||||
noTemplateFoundTip: 'Versuchen Sie, mit verschiedenen Schlüsselwörtern zu suchen.',
|
||||
advancedUserDescription: 'Workflow mit Speicherfunktionen und Chatbot-Oberfläche.',
|
||||
chatbotUserDescription: 'Erstellen Sie schnell einen LLM-basierten Chatbot mit einfacher Konfiguration. Sie können später zu Chatflow wechseln.',
|
||||
foundResult: '{{count}} Ergebnis',
|
||||
agentUserDescription: 'Ein intelligenter Agent, der in der Lage ist, iteratives Denken zu führen und autonome Werkzeuge zu verwenden, um Aufgabenziele zu erreichen.',
|
||||
agentShortDescription: 'Intelligenter Agent mit logischem Denken und autonomer Werkzeugnutzung',
|
||||
dropDSLToCreateApp: 'Ziehen Sie die DSL-Datei hierher, um die App zu erstellen',
|
||||
import: 'Importieren',
|
||||
},
|
||||
editApp: 'App bearbeiten',
|
||||
editAppTitle: 'App-Informationen bearbeiten',
|
||||
editDone: 'App-Informationen wurden aktualisiert',
|
||||
editFailed: 'Aktualisierung der App-Informationen fehlgeschlagen',
|
||||
iconPicker: {
|
||||
ok: 'OK',
|
||||
cancel: 'Abbrechen',
|
||||
emoji: 'Emoji',
|
||||
image: 'Bild',
|
||||
},
|
||||
switch: 'Zu Workflow-Orchestrierung wechseln',
|
||||
switchTipStart: 'Eine neue App-Kopie wird für Sie erstellt, und die neue Kopie wird zur Workflow-Orchestrierung wechseln. Die neue Kopie wird ',
|
||||
switchTip: 'nicht erlauben',
|
||||
switchTipEnd: ' zur Basis-Orchestrierung zurückzuwechseln.',
|
||||
switchLabel: 'Die zu erstellende App-Kopie',
|
||||
removeOriginal: 'Ursprüngliche App löschen',
|
||||
switchStart: 'Wechsel starten',
|
||||
typeSelector: {
|
||||
all: 'ALLE Typen',
|
||||
chatbot: 'Chatbot',
|
||||
agent: 'Agent',
|
||||
workflow: 'Workflow',
|
||||
completion: 'Vervollständigung',
|
||||
advanced: 'Chatflow',
|
||||
},
|
||||
tracing: {
|
||||
title: 'Anwendungsleistung nachverfolgen',
|
||||
description: 'Konfiguration eines Drittanbieter-LLMOps-Anbieters und Nachverfolgung der Anwendungsleistung.',
|
||||
config: 'Konfigurieren',
|
||||
collapse: 'Einklappen',
|
||||
expand: 'Ausklappen',
|
||||
tracing: 'Nachverfolgung',
|
||||
disabled: 'Deaktiviert',
|
||||
disabledTip: 'Bitte zuerst den Anbieter konfigurieren',
|
||||
enabled: 'In Betrieb',
|
||||
tracingDescription: 'Erfassung des vollständigen Kontexts der Anwendungsausführung, einschließlich LLM-Aufrufe, Kontext, Prompts, HTTP-Anfragen und mehr, auf einer Nachverfolgungsplattform von Drittanbietern.',
|
||||
configProviderTitle: {
|
||||
configured: 'Konfiguriert',
|
||||
notConfigured: 'Anbieter konfigurieren, um Nachverfolgung zu aktivieren',
|
||||
moreProvider: 'Weitere Anbieter',
|
||||
},
|
||||
arize: {
|
||||
title: 'Arize',
|
||||
description: 'Unternehmensgerechte LLM-Observierbarkeit, Online- und Offline-Bewertung, Überwachung und Experimentierung—unterstützt durch OpenTelemetry. Speziell für LLM- und agentenbasierte Anwendungen entwickelt.',
|
||||
},
|
||||
phoenix: {
|
||||
title: 'Phoenix',
|
||||
description: 'Open-Source- und OpenTelemetry-basierte Plattform für Observierbarkeit, Bewertung, Prompt-Engineering und Experimentierung für Ihre LLM-Workflows und -Agenten.',
|
||||
},
|
||||
langsmith: {
|
||||
title: 'LangSmith',
|
||||
description: 'Eine All-in-One-Entwicklerplattform für jeden Schritt des LLM-gesteuerten Anwendungslebenszyklus.',
|
||||
},
|
||||
langfuse: {
|
||||
title: 'Langfuse',
|
||||
description: 'Traces, Bewertungen, Prompt-Management und Metriken zum Debuggen und Verbessern Ihrer LLM-Anwendung.',
|
||||
},
|
||||
inUse: 'In Verwendung',
|
||||
configProvider: {
|
||||
title: 'Konfigurieren ',
|
||||
placeholder: 'Geben Sie Ihren {{key}} ein',
|
||||
project: 'Projekt',
|
||||
publicKey: 'Öffentlicher Schlüssel',
|
||||
secretKey: 'Geheimer Schlüssel',
|
||||
viewDocsLink: '{{key}}-Dokumentation ansehen',
|
||||
removeConfirmTitle: '{{key}}-Konfiguration entfernen?',
|
||||
removeConfirmContent: 'Die aktuelle Konfiguration wird verwendet. Das Entfernen wird die Nachverfolgungsfunktion ausschalten.',
|
||||
password: 'Passwort',
|
||||
databricksHost: 'Databricks-Workspace-URL',
|
||||
clientSecret: 'OAuth-Client-Geheimnis',
|
||||
personalAccessToken: 'Persönliches Zugriffstoken (veraltet)',
|
||||
experimentId: 'Experiment-ID',
|
||||
username: 'Benutzername',
|
||||
trackingUri: 'Tracking-URI',
|
||||
clientId: 'OAuth-Client-ID',
|
||||
},
|
||||
view: 'Ansehen',
|
||||
opik: {
|
||||
description: 'Opik ist eine Open-Source-Plattform zum Bewerten, Testen und Überwachen von LLM-Anwendungen.',
|
||||
title: 'Opik',
|
||||
},
|
||||
weave: {
|
||||
title: 'Weben',
|
||||
description: 'Weave ist eine Open-Source-Plattform zur Bewertung, Testung und Überwachung von LLM-Anwendungen.',
|
||||
},
|
||||
aliyun: {
|
||||
title: 'Cloud-Monitor',
|
||||
description: 'Die vollständig verwaltete und wartungsfreie Observability-Plattform von Alibaba Cloud ermöglicht eine sofortige Überwachung, Verfolgung und Bewertung von Dify-Anwendungen.',
|
||||
},
|
||||
mlflow: {
|
||||
title: 'MLflow',
|
||||
description: 'Open-Source-LLMOps-Plattform mit Experiment-Tracking, Observability und Evaluierungen für die sichere Entwicklung von AI/LLM-Anwendungen.',
|
||||
},
|
||||
databricks: {
|
||||
title: 'Databricks',
|
||||
description: 'Databricks bietet vollständig verwaltetes MLflow mit starker Governance und Sicherheit für die Speicherung von Trace-Daten.',
|
||||
},
|
||||
tencent: {
|
||||
title: 'Tencent APM',
|
||||
description: 'Tencent Application Performance Monitoring bietet umfassendes Tracing und multidimensionale Analyse für LLM-Anwendungen.',
|
||||
},
|
||||
},
|
||||
answerIcon: {
|
||||
descriptionInExplore: 'Gibt an, ob das web app Symbol zum Ersetzen 🤖 in Explore verwendet werden soll',
|
||||
title: 'Verwenden Sie das web app Symbol, um es zu ersetzen 🤖',
|
||||
description: 'Gibt an, ob das web app Symbol zum Ersetzen 🤖 in der freigegebenen Anwendung verwendet werden soll',
|
||||
},
|
||||
importFromDSLUrlPlaceholder: 'DSL-Link hier einfügen',
|
||||
dslUploader: {
|
||||
button: 'Datei per Drag & Drop ablegen oder',
|
||||
browse: 'Durchsuchen',
|
||||
},
|
||||
duplicate: 'Duplikat',
|
||||
importFromDSL: 'Import von DSL',
|
||||
importDSL: 'DSL-Datei importieren',
|
||||
importFromDSLUrl: 'Von URL',
|
||||
exportFailed: 'Fehler beim Exportieren von DSL.',
|
||||
importFromDSLFile: 'Aus DSL-Datei',
|
||||
export: 'DSL exportieren',
|
||||
duplicateTitle: 'App duplizieren',
|
||||
mermaid: {
|
||||
handDrawn: 'Handgezeichnet',
|
||||
classic: 'Klassisch',
|
||||
},
|
||||
openInExplore: 'In Explore öffnen',
|
||||
newAppFromTemplate: {
|
||||
sidebar: {
|
||||
Recommended: 'Empfohlen',
|
||||
Assistant: 'Assistent',
|
||||
Writing: 'Schrift',
|
||||
Workflow: 'Arbeitsablauf',
|
||||
Programming: 'Programmieren',
|
||||
Agent: 'Agent',
|
||||
HR: 'HR',
|
||||
},
|
||||
byCategories: 'NACH KATEGORIEN',
|
||||
searchAllTemplate: 'Alle Vorlagen durchsuchen...',
|
||||
},
|
||||
showMyCreatedAppsOnly: 'Nur meine erstellten Apps anzeigen',
|
||||
appSelector: {
|
||||
placeholder: 'Wählen Sie eine App aus...',
|
||||
params: 'APP-PARAMETER',
|
||||
label: 'APP',
|
||||
noParams: 'Keine Parameter erforderlich',
|
||||
},
|
||||
structOutput: {
|
||||
required: 'Erforderlich',
|
||||
structured: 'Strukturiert',
|
||||
structuredTip: 'Strukturierte Ausgaben ist eine Funktion, die sicherstellt, dass das Modell immer Antworten generiert, die Ihrem bereitgestellten JSON-Schema entsprechen.',
|
||||
modelNotSupportedTip: 'Das aktuelle Modell unterstützt diese Funktion nicht und wird automatisch auf Eingabeinjektion heruntergestuft.',
|
||||
modelNotSupported: 'Modell nicht unterstützt',
|
||||
configure: 'Konfigurieren',
|
||||
notConfiguredTip: 'Die strukturierte Ausgabe wurde bisher nicht konfiguriert.',
|
||||
moreFillTip: 'Maximal 10 Ebenen der Verschachtelung anzeigen',
|
||||
LLMResponse: 'LLM-Antwort',
|
||||
},
|
||||
accessItemsDescription: {
|
||||
anyone: 'Jeder kann auf die Webanwendung zugreifen.',
|
||||
specific: 'Nur bestimmte Gruppen oder Mitglieder können auf die Webanwendung zugreifen.',
|
||||
organization: 'Jeder in der Organisation kann auf die Webanwendung zugreifen.',
|
||||
external: 'Nur authentifizierte externe Benutzer können auf die Webanwendung zugreifen.',
|
||||
},
|
||||
accessControlDialog: {
|
||||
accessItems: {
|
||||
anyone: 'Jeder mit dem Link',
|
||||
specific: 'Spezifische Gruppen oder Mitglieder',
|
||||
organization: 'Nur Mitglieder innerhalb des Unternehmens',
|
||||
external: 'Authentifizierte externe Benutzer',
|
||||
},
|
||||
operateGroupAndMember: {
|
||||
searchPlaceholder: 'Gruppen und Mitglieder suchen',
|
||||
allMembers: 'Alle Mitglieder',
|
||||
expand: 'Erweitern',
|
||||
noResult: 'Kein Ergebnis',
|
||||
},
|
||||
title: 'Zugriffskontrolle für Webanwendungen',
|
||||
description: 'Webanwendungszugriffsberechtigungen festlegen',
|
||||
accessLabel: 'Wer hat Zugang',
|
||||
groups_one: '{{count}} GRUPPE',
|
||||
members_one: '{{count}} MITGLIED',
|
||||
members_other: '{{count}} MITGLIEDER',
|
||||
noGroupsOrMembers: 'Keine Gruppen oder Mitglieder ausgewählt',
|
||||
webAppSSONotEnabledTip: 'Bitte kontaktieren Sie den Unternehmensadministrator, um die Authentifizierungsmethode der Webanwendung zu konfigurieren.',
|
||||
updateSuccess: 'Erfolgreich aktualisiert',
|
||||
groups_other: '{{count}} GRUPPEN',
|
||||
},
|
||||
publishApp: {
|
||||
title: 'Wer kann auf die Webanwendung zugreifen?',
|
||||
notSetDesc: 'Derzeit kann niemand auf die Webanwendung zugreifen. Bitte setzen Sie die Berechtigungen.',
|
||||
notSet: 'Nicht festgelegt',
|
||||
},
|
||||
accessControl: 'Zugriffskontrolle für Webanwendungen',
|
||||
noAccessPermission: 'Keine Berechtigung zum Zugriff auf die Webanwendung',
|
||||
maxActiveRequests: 'Maximale gleichzeitige Anfragen',
|
||||
maxActiveRequestsPlaceholder: 'Geben Sie 0 für unbegrenzt ein',
|
||||
maxActiveRequestsTip: 'Maximale Anzahl gleichzeitiger aktiver Anfragen pro App (0 für unbegrenzt)',
|
||||
gotoAnything: {
|
||||
actions: {
|
||||
searchPlugins: 'Plugins durchsuchen',
|
||||
searchKnowledgeBases: 'Wissensdatenbanken durchsuchen',
|
||||
searchWorkflowNodes: 'Workflow-Knoten durchsuchen',
|
||||
searchKnowledgeBasesDesc: 'Suchen und navigieren Sie zu Ihren Wissensdatenbanken',
|
||||
searchApplications: 'Anwendungen durchsuchen',
|
||||
searchWorkflowNodesHelp: 'Diese Funktion funktioniert nur, wenn ein Workflow angezeigt wird. Navigieren Sie zuerst zu einem Workflow.',
|
||||
searchApplicationsDesc: 'Suchen und navigieren Sie zu Ihren Anwendungen',
|
||||
searchPluginsDesc: 'Suchen und navigieren Sie zu Ihren Plugins',
|
||||
searchWorkflowNodesDesc: 'Suchen und Springen zu Knoten im aktuellen Workflow nach Name oder Typ',
|
||||
themeCategoryDesc: 'Anwendungsthema wechseln',
|
||||
themeSystemDesc: 'Folgen Sie dem Aussehen Ihres Betriebssystems',
|
||||
themeLight: 'Helles Design',
|
||||
runTitle: 'Befehle',
|
||||
languageCategoryTitle: 'Sprache',
|
||||
themeDark: 'Dunkles Thema',
|
||||
languageChangeDesc: 'UI-Sprache ändern',
|
||||
languageCategoryDesc: 'Wechseln Sie die Schnittstellensprache',
|
||||
themeSystem: 'Systemthema',
|
||||
themeLightDesc: 'Verwenden Sie das helle Erscheinungsbild',
|
||||
themeDarkDesc: 'Verwenden Sie das dunkle Erscheinungsbild',
|
||||
runDesc: 'Führen Sie schnelle Befehle aus (Thema, Sprache, ...)',
|
||||
themeCategoryTitle: 'Thema',
|
||||
slashDesc: 'Führen Sie Befehle wie /theme, /lang aus',
|
||||
accountDesc: 'Gehe zur Kontoseite',
|
||||
feedbackDesc: 'Offene Diskussionen zum Feedback der Gemeinschaft',
|
||||
communityDesc: 'Offene Discord-Community',
|
||||
docDesc: 'Öffnen Sie die Hilfedokumentation',
|
||||
},
|
||||
emptyState: {
|
||||
noPluginsFound: 'Keine Plugins gefunden',
|
||||
noWorkflowNodesFound: 'Keine Workflow-Knoten gefunden',
|
||||
noKnowledgeBasesFound: 'Keine Wissensdatenbanken gefunden',
|
||||
noAppsFound: 'Keine Apps gefunden',
|
||||
tryDifferentTerm: 'Versuchen Sie einen anderen Suchbegriff oder entfernen Sie den {{mode}}-Filter',
|
||||
trySpecificSearch: 'Versuchen Sie {{shortcuts}} für spezifische Suchen',
|
||||
},
|
||||
groups: {
|
||||
knowledgeBases: 'Wissensdatenbanken',
|
||||
plugins: 'Plugins',
|
||||
apps: 'Apps',
|
||||
workflowNodes: 'Workflow-Knoten',
|
||||
commands: 'Befehle',
|
||||
},
|
||||
clearToSearchAll: 'Löschen Sie @, um alle zu durchsuchen',
|
||||
searchTemporarilyUnavailable: 'Suche vorübergehend nicht verfügbar',
|
||||
searchFailed: 'Suche fehlgeschlagen',
|
||||
someServicesUnavailable: 'Einige Suchdienste sind nicht verfügbar',
|
||||
servicesUnavailableMessage: 'Bei einigen Suchdiensten können Probleme auftreten. Versuchen Sie es gleich noch einmal.',
|
||||
noResults: 'Keine Ergebnisse gefunden',
|
||||
searchPlaceholder: 'Suchen Sie nach Befehlen, oder geben Sie @ ein...',
|
||||
useAtForSpecific: 'Verwenden von @ für bestimmte Typen',
|
||||
searchTitle: 'Suchen Sie nach irgendetwas',
|
||||
searching: 'Suche...',
|
||||
selectSearchType: 'Wählen Sie aus, wonach gesucht werden soll',
|
||||
commandHint: 'Geben Sie @ ein, um nach Kategorie zu suchen',
|
||||
searchHint: 'Beginnen Sie mit der Eingabe, um alles sofort zu durchsuchen',
|
||||
resultCount: '{{count}} Ergebnis',
|
||||
resultCount_other: '{{count}} Ergebnisse',
|
||||
inScope: 'in {{scope}}s',
|
||||
noMatchingCommands: 'Keine übereinstimmenden Befehle gefunden',
|
||||
tryDifferentSearch: 'Versuchen Sie es mit einem anderen Suchbegriff',
|
||||
slashHint: 'Geben Sie / ein, um alle verfügbaren Befehle anzuzeigen.',
|
||||
tips: 'Drücken Sie ↑↓, um zu navigieren',
|
||||
pressEscToClose: 'Drücken Sie ESC, um zu schließen',
|
||||
startTyping: 'Beginnen Sie mit der Eingabe, um zu suchen',
|
||||
selectToNavigate: 'Auswählen, um zu navigieren',
|
||||
},
|
||||
notPublishedYet: 'App ist noch nicht veröffentlicht',
|
||||
noUserInputNode: 'Fehlender Benutzereingabeknoten',
|
||||
}
|
||||
|
||||
export default translation
|
||||
203
dify/web/i18n/de-DE/billing.ts
Normal file
203
dify/web/i18n/de-DE/billing.ts
Normal file
@@ -0,0 +1,203 @@
|
||||
const translation = {
|
||||
currentPlan: 'Aktueller Tarif',
|
||||
upgradeBtn: {
|
||||
plain: 'Tarif Upgraden',
|
||||
encourage: 'Jetzt Upgraden',
|
||||
encourageShort: 'Upgraden',
|
||||
},
|
||||
viewBilling: 'Abrechnung und Abonnements verwalten',
|
||||
buyPermissionDeniedTip: 'Bitte kontaktieren Sie Ihren Unternehmensadministrator, um zu abonnieren',
|
||||
plansCommon: {
|
||||
yearlyTip: 'Erhalten Sie 2 Monate kostenlos durch jährliches Abonnieren!',
|
||||
mostPopular: 'Am beliebtesten',
|
||||
planRange: {
|
||||
monthly: 'Monatlich',
|
||||
yearly: 'Jährlich',
|
||||
},
|
||||
month: 'Monat',
|
||||
year: 'Jahr',
|
||||
save: 'Sparen ',
|
||||
free: 'Kostenlos',
|
||||
currentPlan: 'Aktueller Tarif',
|
||||
contractSales: 'Vertrieb kontaktieren',
|
||||
contractOwner: 'Teammanager kontaktieren',
|
||||
startForFree: 'Kostenlos starten',
|
||||
contactSales: 'Vertrieb kontaktieren',
|
||||
talkToSales: 'Mit dem Vertrieb sprechen',
|
||||
modelProviders: 'Modellanbieter',
|
||||
buildApps: 'Apps bauen',
|
||||
vectorSpace: 'Vektorraum',
|
||||
vectorSpaceTooltip: 'Vektorraum ist das Langzeitspeichersystem, das erforderlich ist, damit LLMs Ihre Daten verstehen können.',
|
||||
documentProcessingPriority: 'Priorität der Dokumentenverarbeitung',
|
||||
documentProcessingPriorityUpgrade: 'Mehr Daten mit höherer Genauigkeit bei schnelleren Geschwindigkeiten verarbeiten.',
|
||||
priority: {
|
||||
'standard': 'Standard',
|
||||
'priority': 'Priorität',
|
||||
'top-priority': 'Höchste Priorität',
|
||||
},
|
||||
logsHistory: 'Protokollverlauf',
|
||||
customTools: 'Benutzerdefinierte Werkzeuge',
|
||||
unavailable: 'Nicht verfügbar',
|
||||
days: 'Tage',
|
||||
unlimited: 'Unbegrenzt',
|
||||
support: 'Support',
|
||||
supportItems: {
|
||||
communityForums: 'Community-Foren',
|
||||
emailSupport: 'E-Mail-Support',
|
||||
priorityEmail: 'Priorisierter E-Mail- und Chat-Support',
|
||||
logoChange: 'Logo-Änderung',
|
||||
SSOAuthentication: 'SSO-Authentifizierung',
|
||||
personalizedSupport: 'Persönlicher Support',
|
||||
dedicatedAPISupport: 'Dedizierter API-Support',
|
||||
customIntegration: 'Benutzerdefinierte Integration und Support',
|
||||
ragAPIRequest: 'RAG-API-Anfragen',
|
||||
bulkUpload: 'Massenupload von Dokumenten',
|
||||
agentMode: 'Agentenmodus',
|
||||
workflow: 'Workflow',
|
||||
llmLoadingBalancing: 'LLM-Lastausgleich',
|
||||
llmLoadingBalancingTooltip: 'Fügen Sie Modellen mehrere API-Schlüssel hinzu, um die API-Ratenlimits effektiv zu umgehen.',
|
||||
},
|
||||
comingSoon: 'Demnächst',
|
||||
member: 'Mitglied',
|
||||
memberAfter: 'Mitglied',
|
||||
messageRequest: {
|
||||
title: 'Nachrichtenguthaben',
|
||||
tooltip: 'Nachrichtenaufrufkontingente für verschiedene Tarife unter Verwendung von OpenAI-Modellen (außer gpt4).Nachrichten über dem Limit verwenden Ihren OpenAI-API-Schlüssel.',
|
||||
titlePerMonth: '{{count,number}} Nachrichten/Monat',
|
||||
},
|
||||
annotatedResponse: {
|
||||
title: 'Kontingentgrenzen für Annotationen',
|
||||
tooltip: 'Manuelle Bearbeitung und Annotation von Antworten bieten anpassbare, hochwertige Frage-Antwort-Fähigkeiten für Apps. (Nur anwendbar in Chat-Apps)',
|
||||
},
|
||||
ragAPIRequestTooltip: 'Bezieht sich auf die Anzahl der API-Aufrufe, die nur die Wissensdatenbankverarbeitungsfähigkeiten von Dify aufrufen.',
|
||||
receiptInfo: 'Nur der Teaminhaber und der Teamadministrator können abonnieren und Abrechnungsinformationen einsehen',
|
||||
annotationQuota: 'Kontingent für Anmerkungen',
|
||||
unlimitedApiRate: 'Keine API-Ratebeschränkung',
|
||||
teamMember_other: '{{count,number}} Teammitglieder',
|
||||
priceTip: 'pro Arbeitsbereich/',
|
||||
teamWorkspace: '{{count,number}} Team Arbeitsplatz',
|
||||
annualBilling: 'Jährliche Abrechnung',
|
||||
self: 'Selbst gehostet',
|
||||
freeTrialTipPrefix: 'Melden Sie sich an und erhalten Sie ein',
|
||||
cloud: 'Cloud-Dienst',
|
||||
apiRateLimitTooltip: 'Die API-Datenbeschränkung gilt für alle Anfragen, die über die Dify-API gemacht werden, einschließlich Textgenerierung, Chat-Konversationen, Workflow-Ausführungen und Dokumentenverarbeitung.',
|
||||
getStarted: 'Loslegen',
|
||||
apiRateLimitUnit: '{{count,number}}',
|
||||
documentsTooltip: 'Vorgabe für die Anzahl der Dokumente, die aus der Wissensdatenquelle importiert werden.',
|
||||
apiRateLimit: 'API-Datenlimit',
|
||||
documents: '{{count,number}} Wissensdokumente',
|
||||
comparePlanAndFeatures: 'Pläne und Funktionen vergleichen',
|
||||
freeTrialTipSuffix: 'Keine Kreditkarte erforderlich',
|
||||
freeTrialTip: 'kostenlose Testversion von 200 OpenAI-Anfragen.',
|
||||
documentsRequestQuota: '{{count,number}}/min Wissensanforderungsratenlimit',
|
||||
teamMember_one: '{{count,number}} Teammitglied',
|
||||
documentsRequestQuotaTooltip: 'Gibt die Gesamtzahl der Aktionen an, die ein Arbeitsbereich pro Minute innerhalb der Wissensbasis ausführen kann, einschließlich der Erstellung, Löschung, Aktualisierung von Datensätzen, des Hochladens von Dokumenten, von Änderungen, der Archivierung und von Abfragen in der Wissensbasis. Diese Kennzahl wird verwendet, um die Leistung von Anfragen an die Wissensbasis zu bewerten. Wenn ein Sandbox-Nutzer beispielsweise in einer Minute 10 aufeinanderfolgende Testdurchläufe durchführt, wird sein Arbeitsbereich für die nächste Minute vorübergehend daran gehindert, die folgenden Aktionen auszuführen: Erstellung, Löschung, Aktualisierung von Datensätzen sowie das Hochladen oder Ändern von Dokumenten.',
|
||||
startBuilding: 'Beginnen Sie mit der Entwicklung',
|
||||
taxTipSecond: 'Wenn in Ihrer Region keine relevanten Steuervorschriften gelten, wird an der Kasse keine Steuer angezeigt und Ihnen werden während der gesamten Abonnementlaufzeit keine zusätzlichen Gebühren berechnet.',
|
||||
taxTip: 'Alle Abonnementspreise (monatlich/jährlich) verstehen sich zuzüglich der geltenden Steuern (z. B. MwSt., Umsatzsteuer).',
|
||||
triggerEvents: {
|
||||
tooltip: 'Die Anzahl der Ereignisse, die Workflows automatisch über Plugin-, Zeitplan- oder Webhook-Auslöser starten.',
|
||||
unlimited: 'Unbegrenzte Auslöser-Ereignisse',
|
||||
sandbox: '{{count,number}} Ereignisse auslösen',
|
||||
professional: '{{count,number}} Auslöseereignisse/Monat',
|
||||
},
|
||||
workflowExecution: {
|
||||
faster: 'Schnellere Arbeitsablauf-Ausführung',
|
||||
tooltip: 'Priorität und Geschwindigkeit der Arbeitsablauf-Ausführungswarteschlange.',
|
||||
priority: 'Prioritäts-Workflow-Ausführung',
|
||||
standard: 'Standard-Workflow-Ausführung',
|
||||
},
|
||||
startNodes: {
|
||||
unlimited: 'Unbegrenzte Auslöser/Workflows',
|
||||
limited: 'Bis zu {{count}} Auslöser/Workflows',
|
||||
},
|
||||
title: {
|
||||
plans: 'Pläne',
|
||||
description: 'Wählen Sie den Plan, der am besten zu den Bedürfnissen Ihres Teams passt.',
|
||||
},
|
||||
},
|
||||
plans: {
|
||||
sandbox: {
|
||||
name: 'Sandbox',
|
||||
description: '200 mal GPT kostenlos testen',
|
||||
for: 'Kostenlose Testversion der Kernfunktionen',
|
||||
},
|
||||
professional: {
|
||||
name: 'Professionell',
|
||||
description: 'Für Einzelpersonen und kleine Teams, um mehr Leistung erschwinglich freizuschalten.',
|
||||
for: 'Für unabhängige Entwickler/kleine Teams',
|
||||
},
|
||||
team: {
|
||||
name: 'Team',
|
||||
description: 'Zusammenarbeiten ohne Grenzen und Top-Leistung genießen.',
|
||||
for: 'Für mittelgroße Teams',
|
||||
},
|
||||
enterprise: {
|
||||
name: 'Unternehmen',
|
||||
description: 'Erhalten Sie volle Fähigkeiten und Unterstützung für großangelegte, missionskritische Systeme.',
|
||||
includesTitle: 'Alles im Team-Tarif, plus:',
|
||||
btnText: 'Vertrieb kontaktieren',
|
||||
price: 'Benutzerdefiniert',
|
||||
priceTip: 'Jährliche Abrechnung nur',
|
||||
for: 'Für große Teams',
|
||||
features: ['Unternehmensgerechte skalierbare Bereitstellungslösungen', 'Gewerbliche Lizenzgenehmigung', 'Exklusive Unternehmensfunktionen', 'Mehrere Arbeitsbereiche & Unternehmensverwaltung', 'SSO', 'Von Dify-Partnern ausgehandelte SLAs', 'Erweiterte Sicherheit & Steuerungen', 'Updates und Wartung offiziell von Dify', 'Professioneller technischer Support'],
|
||||
},
|
||||
community: {
|
||||
description: 'Für Einzelbenutzer, kleine Teams oder nicht-kommerzielle Projekte',
|
||||
for: 'Für Einzelbenutzer, kleine Teams oder nicht-kommerzielle Projekte',
|
||||
btnText: 'Beginnen Sie mit der Gemeinschaft',
|
||||
price: 'Kostenlos',
|
||||
includesTitle: 'Kostenlose Funktionen:',
|
||||
name: 'Gemeinschaft',
|
||||
features: ['Alle Kernfunktionen im öffentlichen Repository veröffentlicht', 'Einzelarbeitsbereich', 'Entspricht der Dify Open-Source-Lizenz'],
|
||||
},
|
||||
premium: {
|
||||
includesTitle: 'Alles aus der Community, plus:',
|
||||
name: 'Premium',
|
||||
priceTip: 'Basierend auf dem Cloud-Marktplatz',
|
||||
for: 'Für mittelgroße Organisationen und Teams',
|
||||
btnText: 'Jetzt Premium erhalten in',
|
||||
comingSoon: 'Microsoft Azure- und Google Cloud-Support demnächst verfügbar',
|
||||
description: 'Für mittelgroße Organisationen und Teams',
|
||||
price: 'Skalierbar',
|
||||
features: ['Selbstverwaltete Zuverlässigkeit durch verschiedene Cloud-Anbieter', 'Einzelarbeitsbereich', 'WebApp-Logo & Markenanpassung', 'Priorisierte E-Mail- und Chatsupport'],
|
||||
},
|
||||
},
|
||||
vectorSpace: {
|
||||
fullTip: 'Vektorraum ist voll.',
|
||||
fullSolution: 'Upgraden Sie Ihren Tarif, um mehr Speicherplatz zu erhalten.',
|
||||
},
|
||||
apps: {
|
||||
contactUs: 'Kontaktieren Sie uns',
|
||||
fullTip1: 'Upgrade, um mehr Apps zu erstellen',
|
||||
fullTip2des: 'Es wird empfohlen, inaktive Anwendungen zu bereinigen, um Speicherplatz freizugeben, oder uns zu kontaktieren.',
|
||||
fullTip1des: 'Sie haben das Limit für das Erstellen von Apps in diesem Plan erreicht.',
|
||||
fullTip2: 'Limit erreicht',
|
||||
},
|
||||
annotatedResponse: {
|
||||
fullTipLine1: 'Upgraden Sie Ihren Tarif, um',
|
||||
fullTipLine2: 'mehr Konversationen zu annotieren.',
|
||||
quotaTitle: 'Kontingent für Annotation-Antworten',
|
||||
},
|
||||
usagePage: {
|
||||
buildApps: 'Apps erstellen',
|
||||
annotationQuota: 'Annotierungsquote',
|
||||
teamMembers: 'Teammitglieder',
|
||||
documentsUploadQuota: 'Dokumenten-Upload-Quota',
|
||||
vectorSpace: 'Wissensdatenbank',
|
||||
vectorSpaceTooltip: 'Dokumente mit dem Hochqualitäts-Indexierungsmodus verbrauchen Ressourcen des Knowledge Data Storage. Wenn der Knowledge Data Storage die Grenze erreicht, werden keine neuen Dokumente hochgeladen.',
|
||||
perMonth: 'pro Monat',
|
||||
triggerEvents: 'Auslöser-Ereignisse',
|
||||
resetsIn: 'Setzt in {{count,number}} Tagen zurück',
|
||||
},
|
||||
teamMembers: 'Teammitglieder',
|
||||
triggerLimitModal: {
|
||||
dismiss: 'Schließen',
|
||||
upgrade: 'Aktualisieren',
|
||||
title: 'Upgrade, um mehr Auslöser-Ereignisse freizuschalten',
|
||||
usageTitle: 'AUSLÖSEEREIGNISSE',
|
||||
description: 'Sie haben das Limit der Workflow-Ereignisauslöser für diesen Plan erreicht.',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
788
dify/web/i18n/de-DE/common.ts
Normal file
788
dify/web/i18n/de-DE/common.ts
Normal file
@@ -0,0 +1,788 @@
|
||||
const translation = {
|
||||
api: {
|
||||
success: 'Erfolg',
|
||||
actionSuccess: 'Aktion erfolgreich',
|
||||
saved: 'Gespeichert',
|
||||
create: 'Erstellt',
|
||||
remove: 'Entfernt',
|
||||
},
|
||||
operation: {
|
||||
create: 'Erstellen',
|
||||
confirm: 'Bestätigen',
|
||||
cancel: 'Abbrechen',
|
||||
clear: 'Leeren',
|
||||
save: 'Speichern',
|
||||
saveAndEnable: 'Speichern und Aktivieren',
|
||||
edit: 'Bearbeiten',
|
||||
add: 'Hinzufügen',
|
||||
added: 'Hinzugefügt',
|
||||
refresh: 'Neustart',
|
||||
reset: 'Zurücksetzen',
|
||||
search: 'Suchen',
|
||||
change: 'Ändern',
|
||||
remove: 'Entfernen',
|
||||
send: 'Senden',
|
||||
copy: 'Kopieren',
|
||||
lineBreak: 'Zeilenumbruch',
|
||||
sure: 'Ich bin sicher',
|
||||
download: 'Herunterladen',
|
||||
delete: 'Löschen',
|
||||
settings: 'Einstellungen',
|
||||
setup: 'Einrichten',
|
||||
getForFree: 'Kostenlos erhalten',
|
||||
reload: 'Neu laden',
|
||||
ok: 'OK',
|
||||
log: 'Protokoll',
|
||||
learnMore: 'Mehr erfahren',
|
||||
params: 'Parameter',
|
||||
duplicate: 'Duplikat',
|
||||
rename: 'Umbenennen',
|
||||
audioSourceUnavailable: 'AudioSource ist nicht verfügbar',
|
||||
zoomOut: 'Verkleinern',
|
||||
zoomIn: 'Vergrößern',
|
||||
openInNewTab: 'In neuem Tab öffnen',
|
||||
copyImage: 'Bild kopieren',
|
||||
close: 'Schließen',
|
||||
viewMore: 'MEHR SEHEN',
|
||||
regenerate: 'Erneuern',
|
||||
saveAndRegenerate: 'Speichern und Regenerieren von untergeordneten Chunks',
|
||||
view: 'Ansehen',
|
||||
submit: 'Senden',
|
||||
skip: 'Schiff',
|
||||
imageCopied: 'Kopiertes Bild',
|
||||
deleteApp: 'App löschen',
|
||||
viewDetails: 'Details anzeigen',
|
||||
in: 'in',
|
||||
copied: 'Kopiert',
|
||||
downloadFailed: 'Download fehlgeschlagen. Bitte versuchen Sie es später erneut.',
|
||||
downloadSuccess: 'Download abgeschlossen.',
|
||||
more: 'Mehr',
|
||||
format: 'Format',
|
||||
selectAll: 'Alles auswählen',
|
||||
deSelectAll: 'Alle abwählen',
|
||||
config: 'Konfiguration',
|
||||
yes: 'Ja',
|
||||
deleteConfirmTitle: 'Löschen?',
|
||||
no: 'Nein',
|
||||
confirmAction: 'Bitte bestätigen Sie Ihre Aktion.',
|
||||
noSearchResults: 'Es wurden keine {{content}} gefunden',
|
||||
resetKeywords: 'Schlüsselwörter zurücksetzen',
|
||||
selectCount: '{{count}} Ausgewählt',
|
||||
searchCount: 'Finde {{count}} {{content}}',
|
||||
noSearchCount: '0 {{content}}',
|
||||
now: 'Jetzt',
|
||||
},
|
||||
placeholder: {
|
||||
input: 'Bitte eingeben',
|
||||
select: 'Bitte auswählen',
|
||||
search: 'Suchen...',
|
||||
},
|
||||
voice: {
|
||||
language: {
|
||||
zhHans: 'Chinesisch',
|
||||
zhHant: 'Chinesisch (traditionell)',
|
||||
enUS: 'Englisch',
|
||||
deDE: 'Deutsch',
|
||||
frFR: 'Französisch',
|
||||
esES: 'Spanisch',
|
||||
itIT: 'Italienisch',
|
||||
thTH: 'Thailändisch',
|
||||
idID: 'Indonesisch',
|
||||
jaJP: 'Japanisch',
|
||||
koKR: 'Koreanisch',
|
||||
ptBR: 'Portugiesisch',
|
||||
ruRU: 'Russisch',
|
||||
ukUA: 'Ukrainisch',
|
||||
viVN: 'Vietnamesisch',
|
||||
plPL: 'Polnisch',
|
||||
roRO: 'Rumänisch',
|
||||
hiIN: 'Hindi',
|
||||
trTR: 'Türkisch',
|
||||
faIR: 'Persisch',
|
||||
},
|
||||
},
|
||||
unit: {
|
||||
char: 'Zeichen',
|
||||
},
|
||||
actionMsg: {
|
||||
noModification: 'Im Moment keine Änderungen.',
|
||||
modifiedSuccessfully: 'Erfolgreich geändert',
|
||||
modifiedUnsuccessfully: 'Änderung nicht erfolgreich',
|
||||
copySuccessfully: 'Erfolgreich kopiert',
|
||||
paySucceeded: 'Zahlung erfolgreich',
|
||||
payCancelled: 'Zahlung abgebrochen',
|
||||
generatedSuccessfully: 'Erfolgreich generiert',
|
||||
generatedUnsuccessfully: 'Generierung nicht erfolgreich',
|
||||
},
|
||||
model: {
|
||||
params: {
|
||||
temperature: 'Temperatur',
|
||||
temperatureTip:
|
||||
'Kontrolliert Zufälligkeit: Eine niedrigere Temperatur führt zu weniger zufälligen Ergebnissen. Nähert sich die Temperatur null, wird das Modell deterministisch und repetitiv.',
|
||||
top_p: 'Top P',
|
||||
top_pTip:
|
||||
'Kontrolliert Diversität über Nukleus-Sampling: 0,5 bedeutet, dass die Hälfte aller wahrscheinlichkeitsgewichteten Optionen berücksichtigt wird.',
|
||||
presence_penalty: 'Präsenz-Strafe',
|
||||
presence_penaltyTip:
|
||||
'Wie stark neue Tokens basierend darauf bestraft werden, ob sie bereits im Text erschienen sind.\nErhöht die Wahrscheinlichkeit des Modells, über neue Themen zu sprechen.',
|
||||
frequency_penalty: 'Häufigkeitsstrafe',
|
||||
frequency_penaltyTip:
|
||||
'Wie stark neue Tokens basierend auf ihrer bisherigen Häufigkeit im Text bestraft werden.\nVerringert die Wahrscheinlichkeit des Modells, denselben Satz wortwörtlich zu wiederholen.',
|
||||
max_tokens: 'Maximale Token',
|
||||
max_tokensTip:
|
||||
'Begrenzt die maximale Länge der Antwort in Token. \nGrößere Werte können den Platz für Eingabeaufforderungen, Chat-Logs und Wissen begrenzen. \nEs wird empfohlen, dies unter zwei Dritteln zu setzen\ngpt-4-1106-Vorschau, gpt-4-vision-Vorschau maximale Token (Eingabe 128k Ausgabe 4k)',
|
||||
maxTokenSettingTip: 'Ihre Einstellung für maximale Token ist hoch, was den Platz für Eingabeaufforderungen, Abfragen und Daten potenziell begrenzen kann. Erwägen Sie, dies unter 2/3 zu setzen.',
|
||||
setToCurrentModelMaxTokenTip: 'Maximale Token auf 80 % der maximalen Token des aktuellen Modells {{maxToken}} aktualisiert.',
|
||||
stop_sequences: 'Stop-Sequenzen',
|
||||
stop_sequencesTip: 'Bis zu vier Sequenzen, bei denen die API die Generierung weiterer Token stoppt. Der zurückgegebene Text wird die Stop-Sequenz nicht enthalten.',
|
||||
stop_sequencesPlaceholder: 'Sequenz eingeben und Tab drücken',
|
||||
},
|
||||
tone: {
|
||||
Creative: 'Kreativ',
|
||||
Balanced: 'Ausgewogen',
|
||||
Precise: 'Präzise',
|
||||
Custom: 'Benutzerdefiniert',
|
||||
},
|
||||
addMoreModel: 'Gehen Sie zu den Einstellungen, um mehr Modelle hinzuzufügen',
|
||||
settingsLink: 'Einstellungen für Modellanbieter',
|
||||
capabilities: 'Multimodale Fähigkeiten',
|
||||
},
|
||||
menus: {
|
||||
status: 'Beta',
|
||||
explore: 'Erkunden',
|
||||
apps: 'Studio',
|
||||
plugins: 'Plugins',
|
||||
pluginsTips: 'Integrieren Sie Plugins von Drittanbietern oder erstellen Sie ChatGPT-kompatible KI-Plugins.',
|
||||
datasets: 'Wissen',
|
||||
datasetsTips: 'BALD VERFÜGBAR: Importieren Sie Ihre eigenen Textdaten oder schreiben Sie Daten in Echtzeit über Webhook, um den LLM-Kontext zu verbessern.',
|
||||
newApp: 'Neue App',
|
||||
newDataset: 'Wissen erstellen',
|
||||
tools: 'Werkzeuge',
|
||||
exploreMarketplace: 'Marketplace erkunden',
|
||||
appDetail: 'App-Details',
|
||||
account: 'Konto',
|
||||
},
|
||||
userProfile: {
|
||||
settings: 'Einstellungen',
|
||||
emailSupport: 'E-Mail-Support',
|
||||
workspace: 'Arbeitsbereich',
|
||||
createWorkspace: 'Arbeitsbereich erstellen',
|
||||
helpCenter: 'Hilfe',
|
||||
roadmap: 'Fahrplan',
|
||||
community: 'Gemeinschaft',
|
||||
about: 'Über',
|
||||
logout: 'Abmelden',
|
||||
compliance: 'Einhaltung',
|
||||
support: 'Unterstützung',
|
||||
github: 'GitHub',
|
||||
contactUs: 'Kontaktieren Sie uns',
|
||||
forum: 'Forum',
|
||||
},
|
||||
settings: {
|
||||
accountGroup: 'KONTO',
|
||||
workplaceGroup: 'ARBEITSBEREICH',
|
||||
account: 'Mein Konto',
|
||||
members: 'Mitglieder',
|
||||
billing: 'Abrechnung',
|
||||
integrations: 'Integrationen',
|
||||
language: 'Sprache',
|
||||
provider: 'Modellanbieter',
|
||||
dataSource: 'Datenquelle',
|
||||
plugin: 'Plugins',
|
||||
apiBasedExtension: 'API-Erweiterung',
|
||||
generalGroup: 'ALLGEMEIN',
|
||||
},
|
||||
account: {
|
||||
avatar: 'Avatar',
|
||||
name: 'Name',
|
||||
email: 'E-Mail',
|
||||
password: 'Passwort',
|
||||
passwordTip: 'Sie können ein dauerhaftes Passwort festlegen, wenn Sie keine temporären Anmeldecodes verwenden möchten',
|
||||
setPassword: 'Ein Passwort festlegen',
|
||||
resetPassword: 'Passwort zurücksetzen',
|
||||
currentPassword: 'Aktuelles Passwort',
|
||||
newPassword: 'Neues Passwort',
|
||||
confirmPassword: 'Passwort bestätigen',
|
||||
notEqual: 'Die Passwörter sind unterschiedlich.',
|
||||
langGeniusAccount: 'Dify-Konto',
|
||||
langGeniusAccountTip: 'Ihr Dify-Konto und zugehörige Benutzerdaten.',
|
||||
editName: 'Namen bearbeiten',
|
||||
showAppLength: '{{length}} Apps anzeigen',
|
||||
delete: 'Konto löschen',
|
||||
deleteTip: 'Wenn Sie Ihr Konto löschen, werden alle Ihre Daten dauerhaft gelöscht und können nicht wiederhergestellt werden.',
|
||||
myAccount: 'Mein Konto',
|
||||
studio: 'Dify Studio',
|
||||
account: 'Konto',
|
||||
deletePrivacyLinkTip: 'Weitere Informationen darüber, wie wir mit Ihren Daten umgehen, finden Sie in unserer',
|
||||
deletePrivacyLink: 'Datenschutzrichtlinie.',
|
||||
deleteSuccessTip: 'Das Löschen Ihres Kontos benötigt einige Zeit, um vollständig gelöscht zu werden. Wir senden Ihnen eine E-Mail, wenn alles erledigt ist.',
|
||||
deleteLabel: 'Zur Bestätigung geben Sie bitte unten Ihre E-Mail-Adresse ein',
|
||||
deletePlaceholder: 'Bitte geben Sie Ihre E-Mail-Adresse ein',
|
||||
sendVerificationButton: 'Verifizierungscode senden',
|
||||
verificationLabel: 'Verifizierungs-Code',
|
||||
verificationPlaceholder: 'Fügen Sie den 6-stelligen Code ein',
|
||||
feedbackTitle: 'Feedback',
|
||||
feedbackLabel: 'Sagen Sie uns, warum Sie Ihr Konto gelöscht haben?',
|
||||
feedbackPlaceholder: 'Wahlfrei',
|
||||
permanentlyDeleteButton: 'Konto dauerhaft löschen',
|
||||
workspaceIcon: 'Arbeitsbereichssymbol',
|
||||
workspaceName: 'Arbeitsbereichsname',
|
||||
editWorkspaceInfo: 'Arbeitsbereichsinformationen bearbeiten',
|
||||
changeEmail: {
|
||||
codeLabel: 'Bestätigungscode',
|
||||
sendVerifyCode: 'Überprüfungs-Code senden',
|
||||
resend: 'Erneut senden',
|
||||
continue: 'Fortsetzen',
|
||||
verifyEmail: 'Überprüfen Sie Ihre aktuelle E-Mail',
|
||||
newEmail: 'Richten Sie eine neue E-Mail-Adresse ein',
|
||||
codePlaceholder: 'Geben Sie den 6-stelligen Code ein',
|
||||
resendTip: 'Haben Sie keinen Code erhalten?',
|
||||
title: 'E-Mail ändern',
|
||||
content2: 'Ihre aktuelle E-Mail-Adresse lautet <email>{{email}}</email>. Der Bestätigungscode wurde an diese E-Mail-Adresse gesendet.',
|
||||
verifyNew: 'Bestätigen Sie Ihre neue E-Mail',
|
||||
changeTo: 'Ändern zu {{email}}',
|
||||
content1: 'Wenn Sie fortfahren, senden wir einen Bestätigungscode an <email>{{email}}</email> zur erneuten Authentifizierung.',
|
||||
resendCount: 'Erneut senden in {{count}}s',
|
||||
content4: 'Wir haben Ihnen gerade einen vorübergehenden Verifizierungscode an <email>{{email}}</email> gesendet.',
|
||||
emailPlaceholder: 'Geben Sie eine neue E-Mail-Adresse ein',
|
||||
content3: 'Geben Sie eine neue E-Mail-Adresse ein, und wir senden Ihnen einen Bestätigungscode.',
|
||||
existingEmail: 'Ein Benutzer mit dieser E-Mail-Adresse existiert bereits.',
|
||||
emailLabel: 'Neue E-Mail',
|
||||
authTip: 'Sobald Ihre E-Mail geändert wurde, können Google- oder GitHub-Konten, die mit Ihrer alten E-Mail verknüpft sind, nicht mehr auf dieses Konto zugreifen.',
|
||||
unAvailableEmail: 'Diese E-Mail ist vorübergehend nicht verfügbar.',
|
||||
},
|
||||
},
|
||||
members: {
|
||||
team: 'Team',
|
||||
invite: 'Hinzufügen',
|
||||
name: 'NAME',
|
||||
lastActive: 'ZULETZT AKTIV',
|
||||
role: 'ROLLEN',
|
||||
pending: 'Ausstehend...',
|
||||
owner: 'Eigentümer',
|
||||
admin: 'Admin',
|
||||
adminTip: 'Kann Apps erstellen & Team-Einstellungen verwalten',
|
||||
normal: 'Normal',
|
||||
normalTip: 'Kann nur Apps verwenden, kann keine Apps erstellen',
|
||||
editor: 'Editor',
|
||||
editorTip: 'Kann Apps erstellen & bearbeiten',
|
||||
inviteTeamMember: 'Teammitglied hinzufügen',
|
||||
inviteTeamMemberTip: 'Sie können direkt nach der Anmeldung auf Ihre Teamdaten zugreifen.',
|
||||
emailNotSetup: 'E-Mail-Server ist nicht eingerichtet, daher können keine Einladungs-E-Mails versendet werden. Bitte informieren Sie die Benutzer über den Einladungslink, der nach der Einladung ausgestellt wird.',
|
||||
email: 'E-Mail',
|
||||
emailInvalid: 'Ungültiges E-Mail-Format',
|
||||
emailPlaceholder: 'Bitte E-Mails eingeben',
|
||||
sendInvite: 'Einladung senden',
|
||||
invitedAsRole: 'Eingeladen als {{role}}-Benutzer',
|
||||
invitationSent: 'Einladung gesendet',
|
||||
invitationSentTip: 'Einladung gesendet, und sie können sich bei Dify anmelden, um auf Ihre Teamdaten zuzugreifen.',
|
||||
invitationLink: 'Einladungslink',
|
||||
failedInvitationEmails: 'Die folgenden Benutzer wurden nicht erfolgreich eingeladen',
|
||||
ok: 'OK',
|
||||
removeFromTeam: 'Vom Team entfernen',
|
||||
removeFromTeamTip: 'Wird den Teamzugang entfernen',
|
||||
setAdmin: 'Als Administrator einstellen',
|
||||
setMember: 'Als normales Mitglied einstellen',
|
||||
setEditor: 'Als Editor einstellen',
|
||||
disInvite: 'Einladung widerrufen',
|
||||
deleteMember: 'Mitglied löschen',
|
||||
you: '(Du)',
|
||||
setBuilder: 'Als Builder festlegen',
|
||||
datasetOperator: 'Wissensadministrator',
|
||||
datasetOperatorTip: 'Kann die Wissensdatenbank nur verwalten',
|
||||
builder: 'Bauherr',
|
||||
builderTip: 'Kann eigene Apps erstellen und bearbeiten',
|
||||
transferModal: {
|
||||
verifyEmail: 'Überprüfen Sie Ihre aktuelle E-Mail',
|
||||
resendTip: 'Haben Sie keinen Code erhalten?',
|
||||
continue: 'Fortsetzen',
|
||||
resend: 'Erneut senden',
|
||||
sendVerifyCode: 'Überprüfungs-Code senden',
|
||||
title: 'Übertragung des Besitzes des Arbeitsbereichs',
|
||||
codePlaceholder: 'Geben Sie den 6-stelligen Code ein',
|
||||
transfer: 'Übertragung des Besitzes des Arbeitsbereichs',
|
||||
warningTip: 'Du wirst ein Administrationsmitglied, und der neue Eigentümer wird die volle Kontrolle haben.',
|
||||
codeLabel: 'Bestätigungscode',
|
||||
transferPlaceholder: 'Wählen Sie ein Arbeitsbereichsmitglied aus…',
|
||||
verifyContent: 'Ihre aktuelle E-Mail ist <email>{{email}}</email>.',
|
||||
resendCount: 'Erneut senden in {{count}}s',
|
||||
transferLabel: 'Übertragen Sie die Eigentümerschaft des Arbeitsbereichs auf',
|
||||
warning: 'Sie sind dabei, das Eigentum an „{{workspace}}“ zu übertragen. Dies tritt sofort in Kraft und kann nicht rückgängig gemacht werden.',
|
||||
verifyContent2: 'Wir werden einen temporären Bestätigungscode an diese E-Mail senden, um die erneute Authentifizierung durchzuführen.',
|
||||
sendTip: 'Wenn Sie fortfahren, senden wir einen Bestätigungscode an <email>{{email}}</email> zur erneuten Authentifizierung.',
|
||||
},
|
||||
transferOwnership: 'Eigentum übertragen',
|
||||
},
|
||||
integrations: {
|
||||
connected: 'Verbunden',
|
||||
google: 'Google',
|
||||
googleAccount: 'Mit Google-Konto anmelden',
|
||||
github: 'GitHub',
|
||||
githubAccount: 'Mit GitHub-Konto anmelden',
|
||||
connect: 'Verbinden',
|
||||
},
|
||||
language: {
|
||||
displayLanguage: 'Anzeigesprache',
|
||||
timezone: 'Zeitzone',
|
||||
},
|
||||
provider: {
|
||||
apiKey: 'API-Schlüssel',
|
||||
enterYourKey: 'Geben Sie hier Ihren API-Schlüssel ein',
|
||||
invalidKey: 'Ungültiger OpenAI API-Schlüssel',
|
||||
validatedError: 'Validierung fehlgeschlagen: ',
|
||||
validating: 'Schlüssel wird validiert...',
|
||||
saveFailed: 'API-Schlüssel speichern fehlgeschlagen',
|
||||
apiKeyExceedBill: 'Dieser API-SCHLÜSSEL verfügt über kein verfügbares Kontingent, bitte lesen',
|
||||
addKey: 'Schlüssel hinzufügen',
|
||||
comingSoon: 'Demnächst verfügbar',
|
||||
editKey: 'Bearbeiten',
|
||||
invalidApiKey: 'Ungültiger API-Schlüssel',
|
||||
azure: {
|
||||
apiBase: 'API-Basis',
|
||||
apiBasePlaceholder: 'Die API-Basis-URL Ihres Azure OpenAI-Endpunkts.',
|
||||
apiKey: 'API-Schlüssel',
|
||||
apiKeyPlaceholder: 'Geben Sie hier Ihren API-Schlüssel ein',
|
||||
helpTip: 'Azure OpenAI Service kennenlernen',
|
||||
},
|
||||
openaiHosted: {
|
||||
openaiHosted: 'Gehostetes OpenAI',
|
||||
onTrial: 'IN PROBE',
|
||||
exhausted: 'KONTINGENT ERSCHÖPFT',
|
||||
desc: 'Der OpenAI-Hostingdienst von Dify ermöglicht es Ihnen, Modelle wie GPT-3.5 zu verwenden. Bevor Ihr Probe-Kontingent aufgebraucht ist, müssen Sie andere Modellanbieter einrichten.',
|
||||
callTimes: 'Anrufzeiten',
|
||||
usedUp: 'Probe-Kontingent aufgebraucht. Eigenen Modellanbieter hinzufügen.',
|
||||
useYourModel: 'Derzeit wird eigener Modellanbieter verwendet.',
|
||||
close: 'Schließen',
|
||||
},
|
||||
anthropicHosted: {
|
||||
anthropicHosted: 'Anthropic Claude',
|
||||
onTrial: 'IN PROBE',
|
||||
exhausted: 'KONTINGENT ERSCHÖPFT',
|
||||
desc: 'Leistungsstarkes Modell, das bei einer Vielzahl von Aufgaben von anspruchsvollen Dialogen und kreativer Inhalteerstellung bis hin zu detaillierten Anweisungen hervorragend ist.',
|
||||
callTimes: 'Anrufzeiten',
|
||||
usedUp: 'Testkontingent aufgebraucht. Eigenen Modellanbieter hinzufügen.',
|
||||
useYourModel: 'Derzeit wird eigener Modellanbieter verwendet.',
|
||||
close: 'Schließen',
|
||||
trialQuotaTip: 'Ihr Anthropic-Testkontingent läuft am 11.03.2025 ab und steht danach nicht mehr zur Verfügung. Bitte machen Sie rechtzeitig davon Gebrauch.',
|
||||
},
|
||||
anthropic: {
|
||||
using: 'Die Einbettungsfähigkeit verwendet',
|
||||
enableTip: 'Um das Anthropische Modell zu aktivieren, müssen Sie sich zuerst mit OpenAI oder Azure OpenAI Service verbinden.',
|
||||
notEnabled: 'Nicht aktiviert',
|
||||
keyFrom: 'Holen Sie Ihren API-Schlüssel von Anthropic',
|
||||
},
|
||||
encrypted: {
|
||||
front: 'Ihr API-SCHLÜSSEL wird verschlüsselt und mit',
|
||||
back: ' Technologie gespeichert.',
|
||||
},
|
||||
},
|
||||
modelProvider: {
|
||||
notConfigured: 'Das Systemmodell wurde noch nicht vollständig konfiguriert, und einige Funktionen sind möglicherweise nicht verfügbar.',
|
||||
systemModelSettings: 'Systemmodell-Einstellungen',
|
||||
systemModelSettingsLink: 'Warum ist es notwendig, ein Systemmodell einzurichten?',
|
||||
selectModel: 'Wählen Sie Ihr Modell',
|
||||
setupModelFirst: 'Bitte richten Sie zuerst Ihr Modell ein',
|
||||
systemReasoningModel: {
|
||||
key: 'System-Reasoning-Modell',
|
||||
tip: 'Legen Sie das Standardinferenzmodell fest, das für die Erstellung von Anwendungen verwendet wird, sowie Funktionen wie die Generierung von Dialognamen und die Vorschlagserstellung für die nächste Frage, die auch das Standardinferenzmodell verwenden.',
|
||||
},
|
||||
embeddingModel: {
|
||||
key: 'Einbettungsmodell',
|
||||
tip: 'Legen Sie das Standardmodell für die Dokumenteneinbettungsverarbeitung des Wissens fest, sowohl die Wiederherstellung als auch der Import des Wissens verwenden dieses Einbettungsmodell für die Vektorisierungsverarbeitung. Ein Wechsel wird dazu führen, dass die Vektordimension zwischen dem importierten Wissen und der Frage inkonsistent ist, was zu einem Wiederherstellungsfehler führt. Um einen Wiederherstellungsfehler zu vermeiden, wechseln Sie dieses Modell bitte nicht willkürlich.',
|
||||
required: 'Einbettungsmodell ist erforderlich',
|
||||
},
|
||||
speechToTextModel: {
|
||||
key: 'Sprach-zu-Text-Modell',
|
||||
tip: 'Legen Sie das Standardmodell für die Spracheingabe in Konversationen fest.',
|
||||
},
|
||||
ttsModel: {
|
||||
key: 'Text-zu-Sprache-Modell',
|
||||
tip: 'Legen Sie das Standardmodell für die Text-zu-Sprache-Eingabe in Konversationen fest.',
|
||||
},
|
||||
rerankModel: {
|
||||
key: 'Rerank-Modell',
|
||||
tip: 'Rerank-Modell wird die Kandidatendokumentenliste basierend auf der semantischen Übereinstimmung mit der Benutzeranfrage neu ordnen und die Ergebnisse der semantischen Rangordnung verbessern',
|
||||
},
|
||||
quota: 'Kontingent',
|
||||
searchModel: 'Suchmodell',
|
||||
noModelFound: 'Kein Modell für {{model}} gefunden',
|
||||
models: 'Modelle',
|
||||
showMoreModelProvider: 'Zeige mehr Modellanbieter',
|
||||
selector: {
|
||||
tip: 'Dieses Modell wurde entfernt. Bitte fügen Sie ein Modell hinzu oder wählen Sie ein anderes Modell.',
|
||||
emptyTip: 'Keine verfügbaren Modelle',
|
||||
emptySetting: 'Bitte gehen Sie zu den Einstellungen, um zu konfigurieren',
|
||||
rerankTip: 'Bitte richten Sie das Rerank-Modell ein',
|
||||
},
|
||||
card: {
|
||||
quota: 'KONTINGENT',
|
||||
onTrial: 'In Probe',
|
||||
paid: 'Bezahlt',
|
||||
quotaExhausted: 'Kontingent erschöpft',
|
||||
callTimes: 'Anrufzeiten',
|
||||
tokens: 'Token',
|
||||
buyQuota: 'Kontingent kaufen',
|
||||
priorityUse: 'Priorisierte Nutzung',
|
||||
removeKey: 'API-Schlüssel entfernen',
|
||||
tip: 'Der bezahlten Kontingent wird Vorrang gegeben. Das Testkontingent wird nach dem Verbrauch des bezahlten Kontingents verwendet.',
|
||||
},
|
||||
item: {
|
||||
deleteDesc: '{{modelName}} werden als System-Reasoning-Modelle verwendet. Einige Funktionen stehen nach der Entfernung nicht zur Verfügung. Bitte bestätigen.',
|
||||
freeQuota: 'KOSTENLOSES KONTINGENT',
|
||||
},
|
||||
addApiKey: 'Fügen Sie Ihren API-Schlüssel hinzu',
|
||||
invalidApiKey: 'Ungültiger API-Schlüssel',
|
||||
encrypted: {
|
||||
front: 'Ihr API-SCHLÜSSEL wird verschlüsselt und mit',
|
||||
back: ' Technologie gespeichert.',
|
||||
},
|
||||
freeQuota: {
|
||||
howToEarn: 'Wie zu verdienen',
|
||||
},
|
||||
addMoreModelProvider: 'MEHR MODELLANBIETER HINZUFÜGEN',
|
||||
addModel: 'Modell hinzufügen',
|
||||
modelsNum: '{{num}} Modelle',
|
||||
showModels: 'Modelle anzeigen',
|
||||
showModelsNum: 'Zeige {{num}} Modelle',
|
||||
collapse: 'Einklappen',
|
||||
config: 'Konfigurieren',
|
||||
modelAndParameters: 'Modell und Parameter',
|
||||
model: 'Modell',
|
||||
featureSupported: '{{feature}} unterstützt',
|
||||
callTimes: 'Anrufzeiten',
|
||||
credits: 'Nachrichtenguthaben',
|
||||
buyQuota: 'Kontingent kaufen',
|
||||
getFreeTokens: 'Kostenlose Token erhalten',
|
||||
priorityUsing: 'Bevorzugte Nutzung',
|
||||
deprecated: 'Veraltet',
|
||||
confirmDelete: 'Löschung bestätigen?',
|
||||
quotaTip: 'Verbleibende verfügbare kostenlose Token',
|
||||
loadPresets: 'Voreinstellungen laden',
|
||||
parameters: 'PARAMETER',
|
||||
loadBalancingHeadline: 'Lastenausgleich',
|
||||
apiKey: 'API-SCHLÜSSEL',
|
||||
editConfig: 'Konfiguration bearbeiten',
|
||||
loadBalancing: 'Lastenausgleich',
|
||||
addConfig: 'Konfiguration hinzufügen',
|
||||
configLoadBalancing: 'Lastenausgleich für die Konfiguration',
|
||||
providerManagedDescription: 'Verwenden Sie den einzelnen Satz von Anmeldeinformationen, der vom Modellanbieter bereitgestellt wird.',
|
||||
loadBalancingDescription: 'Reduzieren Sie den Druck mit mehreren Sätzen von Anmeldeinformationen.',
|
||||
modelHasBeenDeprecated: 'Dieses Modell ist veraltet',
|
||||
loadBalancingLeastKeyWarning: 'Um den Lastausgleich zu aktivieren, müssen mindestens 2 Schlüssel aktiviert sein.',
|
||||
providerManaged: 'Vom Anbieter verwaltet',
|
||||
apiKeyStatusNormal: 'APIKey-Status ist normal',
|
||||
upgradeForLoadBalancing: 'Aktualisieren Sie Ihren Plan, um den Lastenausgleich zu aktivieren.',
|
||||
defaultConfig: 'Standardkonfiguration',
|
||||
apiKeyRateLimit: 'Ratenlimit wurde erreicht, verfügbar nach {{seconds}}s',
|
||||
loadBalancingInfo: 'Standardmäßig wird für den Lastenausgleich die Round-Robin-Strategie verwendet. Wenn die Ratenbegrenzung ausgelöst wird, wird eine Abklingzeit von 1 Minute angewendet.',
|
||||
emptyProviderTip: 'Bitte installieren Sie zuerst einen Modellanbieter.',
|
||||
configureTip: 'Einrichten des API-Schlüssels oder Hinzufügen des zu verwendenden Modells',
|
||||
discoverMore: 'Erfahren Sie mehr in',
|
||||
installProvider: 'Installieren von Modellanbietern',
|
||||
toBeConfigured: 'Zu konfigurieren',
|
||||
emptyProviderTitle: 'Modellanbieter nicht eingerichtet',
|
||||
auth: {
|
||||
apiKeyModal: {
|
||||
addModel: 'Modell hinzufügen',
|
||||
title: 'API-Schlüssel-Autorisierungskonfiguration',
|
||||
desc: 'Nachdem die Anmeldeinformationen konfiguriert wurden, können alle Mitglieder des Arbeitsbereichs dieses Modell beim Orchestrieren von Anwendungen verwenden.',
|
||||
},
|
||||
specifyModelCredential: 'Angeben von Modellanmeldeinformationen',
|
||||
addNewModel: 'Neues Modell hinzufügen',
|
||||
addCredential: 'Anmeldeinformationen hinzufügen',
|
||||
providerManaged: 'Anbieter verwaltet',
|
||||
addApiKey: 'API-Schlüssel hinzufügen',
|
||||
apiKeys: 'API-Schlüssel',
|
||||
unAuthorized: 'Unbefugt',
|
||||
authorizationError: 'Autorisierungsfehler',
|
||||
modelCredentials: 'Modellanmeldeinformationen',
|
||||
configModel: 'Konfigurationsmodell',
|
||||
authRemoved: 'Die Authentifizierung wurde entfernt.',
|
||||
addModelCredential: 'Modellberechtigungen hinzufügen',
|
||||
providerManagedTip: 'Die aktuelle Konfiguration wird vom Anbieter gehostet.',
|
||||
configLoadBalancing: 'Konfiguration Lastenverteilung',
|
||||
specifyModelCredentialTip: 'Verwenden Sie ein konfiguriertes Modellzugang.',
|
||||
manageCredentials: 'Anmeldeinformationen verwalten',
|
||||
selectModelCredential: 'Wählen Sie eine Modellberechtigung aus',
|
||||
modelCredential: 'Zeugnis des Modells',
|
||||
addModel: 'Modell hinzufügen',
|
||||
customModelCredentials: 'Anmeldeinformationen für benutzerdefinierte Modelle',
|
||||
removeModel: 'Modell entfernen',
|
||||
addNewModelCredential: 'Hinzufügen neuer Modellanmeldeinformationen',
|
||||
editModelCredential: 'Bearbeiten von Modellanmeldeinformationen',
|
||||
customModelCredentialsDeleteTip: 'Anmeldeinformationen werden verwendet und können nicht gelöscht werden',
|
||||
},
|
||||
parametersInvalidRemoved: 'Einige Parameter sind ungültig und wurden entfernt.',
|
||||
installDataSourceProvider: 'Datenquellenanbieter installieren',
|
||||
},
|
||||
dataSource: {
|
||||
add: 'Eine Datenquelle hinzufügen',
|
||||
connect: 'Verbinden',
|
||||
notion: {
|
||||
title: 'Notion',
|
||||
description: 'Notion als Datenquelle für das Wissen verwenden.',
|
||||
connectedWorkspace: 'Verbundener Arbeitsbereich',
|
||||
addWorkspace: 'Arbeitsbereich hinzufügen',
|
||||
connected: 'Verbunden',
|
||||
disconnected: 'Getrennt',
|
||||
changeAuthorizedPages: 'Autorisierte Seiten ändern',
|
||||
pagesAuthorized: 'Autorisierte Seiten',
|
||||
sync: 'Synchronisieren',
|
||||
remove: 'Entfernen',
|
||||
selector: {
|
||||
pageSelected: 'Ausgewählte Seiten',
|
||||
searchPages: 'Seiten suchen...',
|
||||
noSearchResult: 'Keine Suchergebnisse',
|
||||
addPages: 'Seiten hinzufügen',
|
||||
preview: 'VORSCHAU',
|
||||
},
|
||||
integratedAlert: 'Notion ist über interne Anmeldeinformationen integriert, es ist keine erneute Autorisierung erforderlich.',
|
||||
},
|
||||
website: {
|
||||
inactive: 'Inaktiv',
|
||||
description: 'Importieren Sie Inhalte von Websites mit dem Webcrawler.',
|
||||
title: 'Website',
|
||||
configuredCrawlers: 'Konfigurierte Crawler',
|
||||
active: 'Aktiv',
|
||||
with: 'Mit',
|
||||
},
|
||||
configure: 'Konfigurieren',
|
||||
},
|
||||
plugin: {
|
||||
serpapi: {
|
||||
apiKey: 'API-Schlüssel',
|
||||
apiKeyPlaceholder: 'Geben Sie Ihren API-Schlüssel ein',
|
||||
keyFrom: 'Holen Sie Ihren SerpAPI-Schlüssel von der SerpAPI-Kontoseite',
|
||||
},
|
||||
},
|
||||
apiBasedExtension: {
|
||||
title: 'API-Erweiterungen bieten zentralisiertes API-Management und vereinfachen die Konfiguration für eine einfache Verwendung in Difys Anwendungen.',
|
||||
link: 'Erfahren Sie, wie Sie Ihre eigene API-Erweiterung entwickeln.',
|
||||
add: 'API-Erweiterung hinzufügen',
|
||||
selector: {
|
||||
title: 'API-Erweiterung',
|
||||
placeholder: 'Bitte wählen Sie API-Erweiterung',
|
||||
manage: 'API-Erweiterung verwalten',
|
||||
},
|
||||
modal: {
|
||||
title: 'API-Erweiterung hinzufügen',
|
||||
editTitle: 'API-Erweiterung bearbeiten',
|
||||
name: {
|
||||
title: 'Name',
|
||||
placeholder: 'Bitte geben Sie den Namen ein',
|
||||
},
|
||||
apiEndpoint: {
|
||||
title: 'API-Endpunkt',
|
||||
placeholder: 'Bitte geben Sie den API-Endpunkt ein',
|
||||
},
|
||||
apiKey: {
|
||||
title: 'API-Schlüssel',
|
||||
placeholder: 'Bitte geben Sie den API-Schlüssel ein',
|
||||
lengthError: 'Die Länge des API-Schlüssels darf nicht weniger als 5 Zeichen betragen',
|
||||
},
|
||||
},
|
||||
type: 'Typ',
|
||||
},
|
||||
about: {
|
||||
changeLog: 'Änderungsprotokoll',
|
||||
updateNow: 'Jetzt aktualisieren',
|
||||
nowAvailable: 'Dify {{version}} ist jetzt verfügbar.',
|
||||
latestAvailable: 'Dify {{version}} ist die neueste verfügbare Version.',
|
||||
},
|
||||
appMenus: {
|
||||
overview: 'Übersicht',
|
||||
promptEng: 'Orchestrieren',
|
||||
apiAccess: 'API-Zugriff',
|
||||
logAndAnn: 'Protokolle & Ank.',
|
||||
logs: 'Baumstämme',
|
||||
},
|
||||
environment: {
|
||||
testing: 'TESTEN',
|
||||
development: 'ENTWICKLUNG',
|
||||
},
|
||||
appModes: {
|
||||
completionApp: 'Textgenerator',
|
||||
chatApp: 'Chat-App',
|
||||
},
|
||||
datasetMenus: {
|
||||
documents: 'Dokumente',
|
||||
hitTesting: 'Wiederherstellungstest',
|
||||
settings: 'Einstellungen',
|
||||
emptyTip: 'Das Wissen wurde nicht zugeordnet, bitte gehen Sie zur Anwendung oder zum Plug-in, um die Zuordnung abzuschließen.',
|
||||
viewDoc: 'Dokumentation anzeigen',
|
||||
relatedApp: 'verbundene Apps',
|
||||
noRelatedApp: 'Keine verknüpften Apps',
|
||||
pipeline: 'Rohrleitung',
|
||||
},
|
||||
voiceInput: {
|
||||
speaking: 'Sprechen Sie jetzt...',
|
||||
converting: 'Umwandlung in Text...',
|
||||
notAllow: 'Mikrofon nicht autorisiert',
|
||||
},
|
||||
modelName: {
|
||||
'gpt-3.5-turbo': 'GPT-3.5-Turbo',
|
||||
'gpt-3.5-turbo-16k': 'GPT-3.5-Turbo-16K',
|
||||
'gpt-4': 'GPT-4',
|
||||
'gpt-4-32k': 'GPT-4-32K',
|
||||
'text-davinci-003': 'Text-Davinci-003',
|
||||
'text-embedding-ada-002': 'Text-Embedding-Ada-002',
|
||||
'whisper-1': 'Flüstern-1',
|
||||
'claude-instant-1': 'Claude-Instant',
|
||||
'claude-2': 'Claude-2',
|
||||
},
|
||||
chat: {
|
||||
renameConversation: 'Konversation umbenennen',
|
||||
conversationName: 'Konversationsname',
|
||||
conversationNamePlaceholder: 'Bitte geben Sie den Konversationsnamen ein',
|
||||
conversationNameCanNotEmpty: 'Konversationsname erforderlich',
|
||||
citation: {
|
||||
title: 'ZITIERUNGEN',
|
||||
linkToDataset: 'Link zum Wissen',
|
||||
characters: 'Zeichen:',
|
||||
hitCount: 'Abrufanzahl:',
|
||||
vectorHash: 'Vektorhash:',
|
||||
hitScore: 'Abrufwertung:',
|
||||
},
|
||||
inputPlaceholder: 'Sprechen Sie mit dem {{botName}}',
|
||||
thought: 'Gedanke',
|
||||
thinking: 'Denken...',
|
||||
resend: 'Erneut senden',
|
||||
},
|
||||
promptEditor: {
|
||||
placeholder: 'Schreiben Sie hier Ihr Aufforderungswort, geben Sie \'{\' ein, um eine Variable einzufügen, geben Sie \'/\' ein, um einen Aufforderungs-Inhaltsblock einzufügen',
|
||||
context: {
|
||||
item: {
|
||||
title: 'Kontext',
|
||||
desc: 'Kontextvorlage einfügen',
|
||||
},
|
||||
modal: {
|
||||
title: '{{num}} Wissen im Kontext',
|
||||
add: 'Kontext hinzufügen',
|
||||
footer: 'Sie können Kontexte im unten stehenden Kontextabschnitt verwalten.',
|
||||
},
|
||||
},
|
||||
history: {
|
||||
item: {
|
||||
title: 'Konversationsgeschichte',
|
||||
desc: 'Vorlage für historische Nachricht einfügen',
|
||||
},
|
||||
modal: {
|
||||
title: 'BEISPIEL',
|
||||
user: 'Hallo',
|
||||
assistant: 'Hallo! Wie kann ich Ihnen heute helfen?',
|
||||
edit: 'Konversationsrollennamen bearbeiten',
|
||||
},
|
||||
},
|
||||
variable: {
|
||||
item: {
|
||||
title: 'Variablen & Externe Werkzeuge',
|
||||
desc: 'Variablen & Externe Werkzeuge einfügen',
|
||||
},
|
||||
modal: {
|
||||
add: 'Neue Variable',
|
||||
addTool: 'Neues Werkzeug',
|
||||
},
|
||||
outputToolDisabledItem: {
|
||||
desc: 'Variablen einfügen',
|
||||
title: 'Variablen',
|
||||
},
|
||||
},
|
||||
query: {
|
||||
item: {
|
||||
title: 'Abfrage',
|
||||
desc: 'Benutzerabfragevorlage einfügen',
|
||||
},
|
||||
},
|
||||
existed: 'Bereits im Aufforderungstext vorhanden',
|
||||
},
|
||||
imageUploader: {
|
||||
uploadFromComputer: 'Vom Computer hochladen',
|
||||
uploadFromComputerReadError: 'Bildlesung fehlgeschlagen, bitte versuchen Sie es erneut.',
|
||||
uploadFromComputerUploadError: 'Bildupload fehlgeschlagen, bitte erneut hochladen.',
|
||||
uploadFromComputerLimit: 'Hochgeladene Bilder dürfen {{size}} MB nicht überschreiten',
|
||||
pasteImageLink: 'Bildlink einfügen',
|
||||
pasteImageLinkInputPlaceholder: 'Bildlink hier einfügen',
|
||||
pasteImageLinkInvalid: 'Ungültiger Bildlink',
|
||||
imageUpload: 'Bild-Upload',
|
||||
},
|
||||
tag: {
|
||||
placeholder: 'Alle Tags',
|
||||
addNew: 'Neues Tag hinzufügen',
|
||||
noTag: 'Keine Tags',
|
||||
noTagYet: 'Noch keine Tags',
|
||||
addTag: 'Tags hinzufügen',
|
||||
editTag: 'Tags bearbeiten',
|
||||
manageTags: 'Tags verwalten',
|
||||
selectorPlaceholder: 'Typ zum Suchen oder Erstellen',
|
||||
create: 'Erstellen',
|
||||
delete: 'Tag löschen',
|
||||
deleteTip: 'Das Tag wird verwendet, löschen?',
|
||||
created: 'Tag erfolgreich erstellt',
|
||||
failed: 'Tag-Erstellung fehlgeschlagen',
|
||||
},
|
||||
errorMsg: {
|
||||
fieldRequired: '{{field}} ist erforderlich',
|
||||
urlError: 'Die URL sollte mit http:// oder https:// beginnen',
|
||||
},
|
||||
fileUploader: {
|
||||
uploadFromComputer: 'Lokaler Upload',
|
||||
pasteFileLinkInvalid: 'Ungültiger Dateilink',
|
||||
pasteFileLinkInputPlaceholder: 'URL eingeben...',
|
||||
pasteFileLink: 'Dateilink einfügen',
|
||||
uploadFromComputerUploadError: 'Datei-Upload fehlgeschlagen, bitte erneut hochladen.',
|
||||
uploadFromComputerLimit: 'Datei hochladen darf {{size}} nicht überschreiten',
|
||||
uploadFromComputerReadError: 'Lesen der Datei fehlgeschlagen, bitte versuchen Sie es erneut.',
|
||||
fileExtensionNotSupport: 'Dateiendung nicht bedient',
|
||||
fileExtensionBlocked: 'Dieser Dateityp ist aus Sicherheitsgründen gesperrt',
|
||||
},
|
||||
license: {
|
||||
expiring: 'Läuft an einem Tag ab',
|
||||
expiring_plural: 'Läuft in {{count}} Tagen ab',
|
||||
unlimited: 'Unbegrenzt',
|
||||
},
|
||||
pagination: {
|
||||
perPage: 'Artikel pro Seite',
|
||||
},
|
||||
theme: {
|
||||
light: 'Licht',
|
||||
theme: 'Thema',
|
||||
dark: 'dunkel',
|
||||
auto: 'System',
|
||||
},
|
||||
compliance: {
|
||||
iso27001: 'ISO 27001:2022 Zertifizierung',
|
||||
professionalUpgradeTooltip: 'Nur verfügbar mit einem Teamplan oder höher.',
|
||||
gdpr: 'DSGVO DPA',
|
||||
soc2Type2: 'SOC 2 Typ II Bericht',
|
||||
soc2Type1: 'SOC 2 Typ I Bericht',
|
||||
sandboxUpgradeTooltip: 'Nur verfügbar mit einem Professional- oder Teamplan.',
|
||||
},
|
||||
imageInput: {
|
||||
dropImageHere: 'Laden Sie Ihr Bild hierher hoch oder',
|
||||
browse: 'blättern',
|
||||
supportedFormats: 'Unterstützt PNG, JPG, JPEG, WEBP und GIF',
|
||||
},
|
||||
you: 'Du',
|
||||
avatar: {
|
||||
deleteTitle: 'Avatar entfernen',
|
||||
deleteDescription: 'Bist du sicher, dass du dein Profilbild entfernen möchtest? Dein Konto wird das standardmäßige Anfangs-Avatar verwenden.',
|
||||
},
|
||||
feedback: {
|
||||
content: 'Feedback-Inhalt',
|
||||
title: 'Feedback geben',
|
||||
subtitle: 'Bitte sagen Sie uns, was mit dieser Antwort falsch gelaufen ist.',
|
||||
placeholder: 'Bitte beschreiben Sie, was schiefgelaufen ist oder wie wir uns verbessern können...',
|
||||
},
|
||||
label: {
|
||||
optional: '(fakultativ)',
|
||||
},
|
||||
noData: 'Keine Daten',
|
||||
dynamicSelect: {
|
||||
error: 'Ladeoptionen konnten nicht geladen werden',
|
||||
noData: 'Keine Optionen verfügbar',
|
||||
loading: 'Optionen werden geladen...',
|
||||
selected: '{{count}} ausgewählt',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
32
dify/web/i18n/de-DE/custom.ts
Normal file
32
dify/web/i18n/de-DE/custom.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
const translation = {
|
||||
custom: 'Anpassung',
|
||||
upgradeTip: {
|
||||
prefix: 'Erweitere deinen Plan auf',
|
||||
suffix: 'um deine Marke anzupassen.',
|
||||
title: 'Upgrade deinen Plan',
|
||||
des: 'Upgrade deinen Plan, um deine Marke anzupassen.',
|
||||
},
|
||||
webapp: {
|
||||
title: 'web app Marke anpassen',
|
||||
removeBrand: 'Entferne Powered by Dify',
|
||||
changeLogo: 'Ändere Powered by Markenbild',
|
||||
changeLogoTip: 'SVG oder PNG Format mit einer Mindestgröße von 40x40px',
|
||||
},
|
||||
app: {
|
||||
title: 'App Kopfzeilen Marke anpassen',
|
||||
changeLogoTip: 'SVG oder PNG Format mit einer Mindestgröße von 80x80px',
|
||||
},
|
||||
upload: 'Hochladen',
|
||||
uploading: 'Lade hoch',
|
||||
uploadedFail: 'Bild-Upload fehlgeschlagen, bitte erneut hochladen.',
|
||||
change: 'Ändern',
|
||||
apply: 'Anwenden',
|
||||
restore: 'Standardeinstellungen wiederherstellen',
|
||||
customize: {
|
||||
contactUs: ' kontaktiere uns ',
|
||||
prefix: 'Um das Markenlogo innerhalb der App anzupassen, bitte',
|
||||
suffix: 'um auf die Enterprise-Edition zu upgraden.',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
217
dify/web/i18n/de-DE/dataset-creation.ts
Normal file
217
dify/web/i18n/de-DE/dataset-creation.ts
Normal file
@@ -0,0 +1,217 @@
|
||||
const translation = {
|
||||
steps: {
|
||||
header: {
|
||||
fallbackRoute: 'Wissen',
|
||||
},
|
||||
one: 'Datenquelle wählen',
|
||||
two: 'Textvorverarbeitung und Bereinigung',
|
||||
three: 'Ausführen und beenden',
|
||||
},
|
||||
error: {
|
||||
unavailable: 'Dieses Wissen ist nicht verfügbar',
|
||||
},
|
||||
stepOne: {
|
||||
filePreview: 'Dateivorschau',
|
||||
pagePreview: 'Seitenvorschau',
|
||||
dataSourceType: {
|
||||
file: 'Import aus Textdatei',
|
||||
notion: 'Synchronisation aus Notion',
|
||||
web: 'Synchronisation von Webseite',
|
||||
},
|
||||
uploader: {
|
||||
title: 'Textdatei hochladen',
|
||||
button: 'Dateien und Ordner hierher ziehen oder klicken',
|
||||
buttonSingleFile: 'Datei hierher ziehen oder klicken',
|
||||
browse: 'Durchsuchen',
|
||||
tip: 'Unterstützt {{supportTypes}}. Maximal {{size}}MB pro Datei.',
|
||||
validation: {
|
||||
typeError: 'Dateityp nicht unterstützt',
|
||||
size: 'Datei zu groß. Maximum ist {{size}}MB',
|
||||
count: 'Mehrere Dateien nicht unterstützt',
|
||||
filesNumber: 'Sie haben das Limit für die Stapelverarbeitung von {{filesNumber}} erreicht.',
|
||||
},
|
||||
cancel: 'Abbrechen',
|
||||
change: 'Ändern',
|
||||
failed: 'Hochladen fehlgeschlagen',
|
||||
},
|
||||
notionSyncTitle: 'Notion ist nicht verbunden',
|
||||
notionSyncTip: 'Um mit Notion zu synchronisieren, muss zuerst eine Verbindung zu Notion hergestellt werden.',
|
||||
connect: 'Verbinden gehen',
|
||||
button: 'weiter',
|
||||
emptyDatasetCreation: 'Ich möchte ein leeres Wissen erstellen',
|
||||
modal: {
|
||||
title: 'Ein leeres Wissen erstellen',
|
||||
tip: 'Ein leeres Wissen enthält keine Dokumente, und Sie können jederzeit Dokumente hochladen.',
|
||||
input: 'Wissensname',
|
||||
placeholder: 'Bitte eingeben',
|
||||
nameNotEmpty: 'Name darf nicht leer sein',
|
||||
nameLengthInvalid: 'Name muss zwischen 1 bis 40 Zeichen lang sein',
|
||||
cancelButton: 'Abbrechen',
|
||||
confirmButton: 'Erstellen',
|
||||
failed: 'Erstellung fehlgeschlagen',
|
||||
},
|
||||
website: {
|
||||
preview: 'Vorschau',
|
||||
totalPageScraped: 'Gesamtzahl der gescrapten Seiten:',
|
||||
fireCrawlNotConfigured: 'Firecrawl ist nicht konfiguriert',
|
||||
options: 'Optionen',
|
||||
excludePaths: 'Pfade ausschließen',
|
||||
limit: 'Grenze',
|
||||
exceptionErrorTitle: 'Beim Ausführen des Firecrawl-Auftrags ist eine Ausnahme aufgetreten:',
|
||||
selectAll: 'Alles auswählen',
|
||||
includeOnlyPaths: 'Nur Pfade einschließen',
|
||||
run: 'Laufen',
|
||||
firecrawlDoc: 'Firecrawl-Dokumente',
|
||||
configure: 'Konfigurieren',
|
||||
fireCrawlNotConfiguredDescription: 'Konfigurieren Sie Firecrawl mit dem API-Schlüssel, um es zu verwenden.',
|
||||
maxDepth: 'Maximale Tiefe',
|
||||
unknownError: 'Unbekannter Fehler',
|
||||
resetAll: 'Alles zurücksetzen',
|
||||
extractOnlyMainContent: 'Extrahieren Sie nur den Hauptinhalt (keine Kopf-, Navigations- und Fußzeilen usw.)',
|
||||
firecrawlTitle: 'Extrahieren von Webinhalten mit 🔥Firecrawl',
|
||||
maxDepthTooltip: 'Maximale Tiefe für das Crawlen relativ zur eingegebenen URL. Tiefe 0 kratzt nur die Seite der eingegebenen URL, Tiefe 1 kratzt die URL und alles nach der eingegebenen URL + ein / und so weiter.',
|
||||
crawlSubPage: 'Unterseiten crawlen',
|
||||
scrapTimeInfo: 'Insgesamt {{{total}} Seiten innerhalb von {{time}}s gescrapt',
|
||||
jinaReaderDocLink: 'https://jina.ai/reader',
|
||||
jinaReaderTitle: 'Konvertieren Sie die gesamte Website in Markdown',
|
||||
useSitemap: 'Sitemap verwenden',
|
||||
chooseProvider: 'Wählen Sie einen Anbieter',
|
||||
jinaReaderNotConfigured: 'Jina Reader ist nicht konfiguriert',
|
||||
jinaReaderNotConfiguredDescription: 'Richten Sie Jina Reader ein, indem Sie Ihren kostenlosen API-Schlüssel für den Zugriff eingeben.',
|
||||
useSitemapTooltip: 'Folgen Sie der Sitemap, um die Website zu crawlen. Ist dies nicht der Fall, crawlt Jina Reader iterativ basierend auf der Seitenrelevanz, sodass weniger, aber qualitativ hochwertigere Seiten angezeigt werden.',
|
||||
jinaReaderDoc: 'Erfahre mehr über Jina Reader',
|
||||
configureJinaReader: 'Jina Reader konfigurieren',
|
||||
waterCrawlNotConfigured: 'Watercrawl ist nicht konfiguriert',
|
||||
configureWatercrawl: 'Wasserkrabbe konfigurieren',
|
||||
watercrawlTitle: 'Webinhalt mit Watercrawl extrahieren',
|
||||
watercrawlDoc: 'Wasserkriechen-Dokumente',
|
||||
configureFirecrawl: 'Firecrawl konfigurieren',
|
||||
waterCrawlNotConfiguredDescription: 'Konfigurieren Sie Watercrawl mit dem API-Schlüssel, um es zu verwenden.',
|
||||
running: 'Ausgeführte',
|
||||
},
|
||||
cancel: 'Abbrechen',
|
||||
},
|
||||
stepTwo: {
|
||||
segmentation: 'Chunk-Einstellungen',
|
||||
auto: 'Automatisch',
|
||||
autoDescription: 'Stellt Chunk- und Vorverarbeitungsregeln automatisch ein. Unbekannten Benutzern wird dies empfohlen.',
|
||||
custom: 'Benutzerdefiniert',
|
||||
customDescription: 'Chunk-Regeln, Chunk-Länge und Vorverarbeitungsregeln usw. anpassen.',
|
||||
separator: 'Segmentidentifikator',
|
||||
separatorPlaceholder: 'Zum Beispiel Neuer Absatz (\\\\n) oder spezieller Separator (wie "***")',
|
||||
maxLength: 'Maximale Chunk-Länge',
|
||||
overlap: 'Chunk-Überlappung',
|
||||
overlapTip: 'Die Einstellung der Chunk-Überlappung kann die semantische Relevanz zwischen ihnen aufrechterhalten und so die Abrufeffekt verbessern. Es wird empfohlen, 10%-25% der maximalen Chunk-Größe einzustellen.',
|
||||
overlapCheck: 'Chunk-Überlappung sollte nicht größer als maximale Chunk-Länge sein',
|
||||
rules: 'Textvorverarbeitungsregeln',
|
||||
removeExtraSpaces: 'Mehrfache Leerzeichen, Zeilenumbrüche und Tabulatoren ersetzen',
|
||||
removeUrlEmails: 'Alle URLs und E-Mail-Adressen löschen',
|
||||
removeStopwords: 'Stopwörter wie "ein", "eine", "der" entfernen',
|
||||
preview: 'Bestätigen & Vorschau',
|
||||
reset: 'Zurücksetzen',
|
||||
indexMode: 'Indexmodus',
|
||||
qualified: 'Hohe Qualität',
|
||||
recommend: 'Empfehlen',
|
||||
qualifiedTip: 'Ruft standardmäßige Systemeinbettungsschnittstelle für die Verarbeitung auf, um höhere Genauigkeit bei Benutzerabfragen zu bieten.',
|
||||
warning: 'Bitte zuerst den API-Schlüssel des Modellanbieters einrichten.',
|
||||
click: 'Zu den Einstellungen gehen',
|
||||
economical: 'Ökonomisch',
|
||||
economicalTip: 'Verwendet Offline-Vektor-Engines, Schlagwortindizes usw., um die Genauigkeit ohne Tokenverbrauch zu reduzieren',
|
||||
QATitle: 'Segmentierung im Frage-und-Antwort-Format',
|
||||
QATip: 'Diese Option zu aktivieren, wird mehr Tokens verbrauchen',
|
||||
QALanguage: 'Segmentierung verwenden',
|
||||
estimateCost: 'Schätzung',
|
||||
estimateSegment: 'Geschätzte Chunks',
|
||||
segmentCount: 'Chunks',
|
||||
calculating: 'Berechnung...',
|
||||
fileSource: 'Dokumente vorverarbeiten',
|
||||
notionSource: 'Seiten vorverarbeiten',
|
||||
other: 'und weitere ',
|
||||
fileUnit: ' Dateien',
|
||||
notionUnit: ' Seiten',
|
||||
previousStep: 'Vorheriger Schritt',
|
||||
nextStep: 'Speichern & Verarbeiten',
|
||||
save: 'Speichern & Verarbeiten',
|
||||
cancel: 'Abbrechen',
|
||||
sideTipTitle: 'Warum segmentieren und vorverarbeiten?',
|
||||
sideTipP1: 'Bei der Verarbeitung von Textdaten sind Segmentierung und Bereinigung zwei wichtige Vorverarbeitungsschritte.',
|
||||
sideTipP2: 'Segmentierung teilt langen Text in Absätze, damit Modelle ihn besser verstehen können. Dies verbessert die Qualität und Relevanz der Modellergebnisse.',
|
||||
sideTipP3: 'Bereinigung entfernt unnötige Zeichen und Formate, macht das Wissen sauberer und leichter zu parsen.',
|
||||
sideTipP4: 'Richtige Segmentierung und Bereinigung verbessern die Modellleistung und liefern genauere und wertvollere Ergebnisse.',
|
||||
previewTitle: 'Vorschau',
|
||||
previewTitleButton: 'Vorschau',
|
||||
previewButton: 'Umschalten zum Frage-und-Antwort-Format',
|
||||
previewSwitchTipStart: 'Die aktuelle Chunk-Vorschau ist im Textformat, ein Wechsel zur Vorschau im Frage-und-Antwort-Format wird',
|
||||
previewSwitchTipEnd: ' zusätzliche Tokens verbrauchen',
|
||||
characters: 'Zeichen',
|
||||
indexSettingTip: 'Um die Indexmethode zu ändern, bitte gehen Sie zu den ',
|
||||
retrievalSettingTip: 'Um die Indexmethode zu ändern, bitte gehen Sie zu den ',
|
||||
datasetSettingLink: 'Wissenseinstellungen.',
|
||||
websiteSource: 'Preprocess-Website',
|
||||
webpageUnit: 'Seiten',
|
||||
separatorTip: 'Ein Trennzeichen ist das Zeichen, das zum Trennen von Text verwendet wird. \\n\\n und \\n sind häufig verwendete Trennzeichen zum Trennen von Absätzen und Zeilen. In Kombination mit Kommas (\\n\\n,\\n) werden Absätze nach Zeilen segmentiert, wenn die maximale Blocklänge überschritten wird. Sie können auch spezielle, von Ihnen selbst definierte Trennzeichen verwenden (z. B. ***).',
|
||||
maxLengthCheck: 'Die maximale Stücklänge sollte weniger als {{limit}} betragen',
|
||||
switch: 'Schalter',
|
||||
previewChunk: 'Vorschau Chunk',
|
||||
highQualityTip: 'Sobald die Einbettung im Modus "Hohe Qualität" abgeschlossen ist, ist es nicht mehr möglich, in den Modus "Wirtschaftlich" zurückzukehren.',
|
||||
parentChildTip: 'Wenn Sie den Parent-Child-Modus verwenden, wird der Child-Chunk für den Abruf und der Parent-Chunk für den Abruf als Kontext verwendet.',
|
||||
fullDoc: 'Vollständiges Dokument',
|
||||
parentChildDelimiterTip: 'Ein Trennzeichen ist das Zeichen, das zum Trennen von Text verwendet wird. \\n\\n wird empfohlen, um das Originaldokument in große übergeordnete Blöcke aufzuteilen. Sie können auch spezielle Trennzeichen verwenden, die Sie selbst definiert haben.',
|
||||
qaSwitchHighQualityTipContent: 'Derzeit unterstützt nur eine hochwertige Indexmethode das Q&A-Format-Chunking. Möchten Sie in den High-Quality-Modus wechseln?',
|
||||
childChunkForRetrieval: 'Child-Chunk zum Abrufen',
|
||||
previewChunkCount: '{{Anzahl}} Geschätzte Chunks',
|
||||
previewChunkTip: 'Klicken Sie auf die Schaltfläche "Preview Chunk" auf der linken Seite, um die Vorschau zu laden',
|
||||
qaSwitchHighQualityTipTitle: 'Das Q&A-Format erfordert eine qualitativ hochwertige Indizierungsmethode',
|
||||
general: 'Allgemein',
|
||||
generalTip: 'Allgemeiner Text-Chunking-Modus, die abgerufenen und zurückgerufenen Chunks sind gleich.',
|
||||
notAvailableForQA: 'Nicht verfügbar für Q&A Index',
|
||||
notAvailableForParentChild: 'Nicht verfügbar für den Parent-Child-Index',
|
||||
parentChild: 'Eltern-Kind',
|
||||
parentChunkForContext: 'Parent-chunk für Context',
|
||||
parentChildChunkDelimiterTip: 'Ein Trennzeichen ist das Zeichen, das zum Trennen von Text verwendet wird. \\n wird empfohlen, um übergeordnete Blöcke in kleine untergeordnete Blöcke aufzuteilen. Sie können auch spezielle Trennzeichen verwenden, die Sie selbst definiert haben.',
|
||||
useQALanguage: 'Chunk im Q&A-Format in',
|
||||
paragraph: 'Absatz',
|
||||
fullDocTip: 'Das gesamte Dokument wird als übergeordneter Block verwendet und direkt abgerufen. Bitte beachten Sie, dass aus Leistungsgründen Texte, die 10000 Token überschreiten, automatisch abgeschnitten werden.',
|
||||
paragraphTip: 'In diesem Modus wird der Text basierend auf Trennzeichen und der maximalen Blocklänge in Absätze aufgeteilt, wobei der geteilte Text als übergeordneter Block für den Abruf verwendet wird.',
|
||||
qaTip: 'Wenn Sie strukturierte Q&A-Daten verwenden, können Sie Dokumente erstellen, die Fragen mit Antworten verknüpfen. Diese Dokumente werden basierend auf dem Frageteil indiziert, sodass das System relevante Antworten basierend auf der Ähnlichkeit der Abfrage abrufen kann.',
|
||||
},
|
||||
stepThree: {
|
||||
creationTitle: '🎉 Wissen erstellt',
|
||||
creationContent: 'Wir haben das Wissen automatisch benannt, Sie können es jederzeit ändern',
|
||||
label: 'Wissensname',
|
||||
additionTitle: '🎉 Dokument hochgeladen',
|
||||
additionP1: 'Das Dokument wurde zum Wissen hinzugefügt',
|
||||
additionP2: ', Sie können es in der Dokumentenliste des Wissens finden.',
|
||||
stop: 'Verarbeitung stoppen',
|
||||
resume: 'Verarbeitung fortsetzen',
|
||||
navTo: 'Zum Dokument gehen',
|
||||
sideTipTitle: 'Was kommt als Nächstes',
|
||||
sideTipContent: 'Nachdem das Dokument indiziert wurde, kann das Wissen in die Anwendung als Kontext integriert werden, Sie finden die Kontexteinstellung auf der Seite zur Eingabeaufforderungen-Orchestrierung. Sie können es auch als unabhängiges ChatGPT-Indexierungsplugin zur Veröffentlichung erstellen.',
|
||||
modelTitle: 'Sind Sie sicher, dass Sie die Einbettung stoppen möchten?',
|
||||
modelContent: 'Wenn Sie die Verarbeitung später fortsetzen möchten, werden Sie dort weitermachen, wo Sie aufgehört haben.',
|
||||
modelButtonConfirm: 'Bestätigen',
|
||||
modelButtonCancel: 'Abbrechen',
|
||||
},
|
||||
firecrawl: {
|
||||
apiKeyPlaceholder: 'API-Schlüssel von firecrawl.dev',
|
||||
configFirecrawl: 'Konfigurieren von 🔥Firecrawl',
|
||||
getApiKeyLinkText: 'Holen Sie sich Ihren API-Schlüssel von firecrawl.dev',
|
||||
},
|
||||
jinaReader: {
|
||||
configJinaReader: 'Jina Reader konfigurieren',
|
||||
apiKeyPlaceholder: 'API-Schlüssel von jina.ai',
|
||||
getApiKeyLinkText: 'Holen Sie sich Ihren kostenlosen API-Schlüssel bei jina.ai',
|
||||
},
|
||||
otherDataSource: {
|
||||
learnMore: 'Weitere Informationen',
|
||||
title: 'Verbinden Sie sich mit anderen Datenquellen?',
|
||||
description: 'Derzeit verfügt die Wissensdatenbank von Dify nur über begrenzte Datenquellen. Das Beitragen einer Datenquelle zur Dify-Wissensdatenbank ist eine fantastische Möglichkeit, die Flexibilität und Leistungsfähigkeit der Plattform für alle Benutzer zu verbessern. Unser Beitragsleitfaden erleichtert Ihnen den Einstieg. Bitte klicken Sie auf den untenstehenden Link, um mehr zu erfahren.',
|
||||
},
|
||||
watercrawl: {
|
||||
configWatercrawl: 'Wasserkrabbe konfigurieren',
|
||||
apiKeyPlaceholder: 'API-Schlüssel von watercrawl.dev',
|
||||
getApiKeyLinkText: 'Holen Sie sich Ihren API-Schlüssel von watercrawl.dev',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
407
dify/web/i18n/de-DE/dataset-documents.ts
Normal file
407
dify/web/i18n/de-DE/dataset-documents.ts
Normal file
@@ -0,0 +1,407 @@
|
||||
const translation = {
|
||||
list: {
|
||||
title: 'Dokumente',
|
||||
desc: 'Alle Dateien des Wissens werden hier angezeigt, und das gesamte Wissen kann mit Dify-Zitaten verknüpft oder über das Chat-Plugin indiziert werden.',
|
||||
addFile: 'Datei hinzufügen',
|
||||
addPages: 'Seiten hinzufügen',
|
||||
table: {
|
||||
header: {
|
||||
fileName: 'DATEINAME',
|
||||
words: 'WÖRTER',
|
||||
hitCount: 'SUCHANFRAGEN',
|
||||
uploadTime: 'HOCHLADEZEIT',
|
||||
status: 'STATUS',
|
||||
action: 'AKTION',
|
||||
chunkingMode: 'CHUNKING-MODUS',
|
||||
},
|
||||
name: 'Name',
|
||||
rename: 'Umbenennen',
|
||||
},
|
||||
action: {
|
||||
uploadFile: 'Neue Datei hochladen',
|
||||
settings: 'Segment-Einstellungen',
|
||||
addButton: 'Chunk hinzufügen',
|
||||
add: 'Einen Chunk hinzufügen',
|
||||
batchAdd: 'Batch hinzufügen',
|
||||
archive: 'Archivieren',
|
||||
unarchive: 'Archivierung aufheben',
|
||||
delete: 'Löschen',
|
||||
enableWarning: 'Archivierte Datei kann nicht aktiviert werden',
|
||||
sync: 'Synchronisieren',
|
||||
resume: 'Fortsetzen',
|
||||
pause: 'Pause',
|
||||
},
|
||||
index: {
|
||||
enable: 'Aktivieren',
|
||||
disable: 'Deaktivieren',
|
||||
all: 'Alle',
|
||||
enableTip: 'Die Datei kann indiziert werden',
|
||||
disableTip: 'Die Datei kann nicht indiziert werden',
|
||||
},
|
||||
status: {
|
||||
queuing: 'In Warteschlange',
|
||||
indexing: 'Indizierung',
|
||||
paused: 'Pausiert',
|
||||
error: 'Fehler',
|
||||
available: 'Verfügbar',
|
||||
enabled: 'Aktiviert',
|
||||
disabled: 'Deaktiviert',
|
||||
archived: 'Archiviert',
|
||||
},
|
||||
empty: {
|
||||
title: 'Es gibt noch keine Dokumentation',
|
||||
upload: {
|
||||
tip: 'Sie können Dateien hochladen, von der Website oder von Web-Apps wie Notion, GitHub usw. synchronisieren.',
|
||||
},
|
||||
sync: {
|
||||
tip: 'Dify wird periodisch Dateien von Ihrem Notion herunterladen und die Verarbeitung abschließen.',
|
||||
},
|
||||
},
|
||||
delete: {
|
||||
title: 'Sind Sie sicher, dass Sie löschen möchten?',
|
||||
content: 'Wenn Sie die Verarbeitung später fortsetzen müssen, werden Sie dort weitermachen, wo Sie aufgehört haben',
|
||||
},
|
||||
batchModal: {
|
||||
title: 'Chunks in Batch hinzufügen',
|
||||
csvUploadTitle: 'Ziehen Sie Ihre CSV-Datei hierher oder ',
|
||||
browse: 'durchsuchen',
|
||||
tip: 'Die CSV-Datei muss der folgenden Struktur entsprechen:',
|
||||
question: 'Frage',
|
||||
answer: 'Antwort',
|
||||
contentTitle: 'Chunk-Inhalt',
|
||||
content: 'Inhalt',
|
||||
template: 'Laden Sie die Vorlage hier herunter',
|
||||
cancel: 'Abbrechen',
|
||||
run: 'Batch ausführen',
|
||||
runError: 'Batch-Ausführung fehlgeschlagen',
|
||||
processing: 'In Batch-Verarbeitung',
|
||||
completed: 'Import abgeschlossen',
|
||||
error: 'Importfehler',
|
||||
ok: 'OK',
|
||||
},
|
||||
addUrl: 'URL hinzufügen',
|
||||
learnMore: 'Weitere Informationen',
|
||||
sort: {
|
||||
uploadTime: 'Upload-Zeit',
|
||||
hitCount: 'Abrufanzahl',
|
||||
},
|
||||
},
|
||||
metadata: {
|
||||
title: 'Metadaten',
|
||||
desc: 'Das Kennzeichnen von Metadaten für Dokumente ermöglicht es der KI, sie rechtzeitig zu erreichen und die Quelle der Referenzen für die Benutzer offenzulegen.',
|
||||
dateTimeFormat: 'MMMM D, YYYY hh:mm A',
|
||||
docTypeSelectTitle: 'Bitte wählen Sie einen Dokumenttyp',
|
||||
docTypeChangeTitle: 'Dokumenttyp ändern',
|
||||
docTypeSelectWarning:
|
||||
'Wenn der Dokumenttyp geändert wird, werden die jetzt ausgefüllten Metadaten nicht mehr erhalten bleiben',
|
||||
firstMetaAction: 'Los geht\'s',
|
||||
placeholder: {
|
||||
add: 'Hinzufügen ',
|
||||
select: 'Auswählen ',
|
||||
},
|
||||
source: {
|
||||
upload_file: 'Datei hochladen',
|
||||
notion: 'Von Notion synchronisieren',
|
||||
github: 'Von Github synchronisieren',
|
||||
online_document: 'Online-Dokument',
|
||||
local_file: 'Lokale Datei',
|
||||
website_crawl: 'Website-Crawl',
|
||||
},
|
||||
type: {
|
||||
book: 'Buch',
|
||||
webPage: 'Webseite',
|
||||
paper: 'Aufsatz',
|
||||
socialMediaPost: 'Social Media Beitrag',
|
||||
personalDocument: 'Persönliches Dokument',
|
||||
businessDocument: 'Geschäftsdokument',
|
||||
IMChat: 'IM Chat',
|
||||
wikipediaEntry: 'Wikipedia-Eintrag',
|
||||
notion: 'Von Notion synchronisieren',
|
||||
github: 'Von Github synchronisieren',
|
||||
technicalParameters: 'Technische Parameter',
|
||||
},
|
||||
field: {
|
||||
processRule: {
|
||||
processDoc: 'Dokument verarbeiten',
|
||||
segmentRule: 'Chunk-Regel',
|
||||
segmentLength: 'Chunk-Länge',
|
||||
processClean: 'Textverarbeitung bereinigen',
|
||||
},
|
||||
book: {
|
||||
title: 'Titel',
|
||||
language: 'Sprache',
|
||||
author: 'Autor',
|
||||
publisher: 'Verlag',
|
||||
publicationDate: 'Veröffentlichungsdatum',
|
||||
ISBN: 'ISBN',
|
||||
category: 'Kategorie',
|
||||
},
|
||||
webPage: {
|
||||
title: 'Titel',
|
||||
url: 'URL',
|
||||
language: 'Sprache',
|
||||
authorPublisher: 'Autor/Verlag',
|
||||
publishDate: 'Veröffentlichungsdatum',
|
||||
topicKeywords: 'Themen/Schlüsselwörter',
|
||||
description: 'Beschreibung',
|
||||
},
|
||||
paper: {
|
||||
title: 'Titel',
|
||||
language: 'Sprache',
|
||||
author: 'Autor',
|
||||
publishDate: 'Veröffentlichungsdatum',
|
||||
journalConferenceName: 'Zeitschrift/Konferenzname',
|
||||
volumeIssuePage: 'Band/Ausgabe/Seite',
|
||||
DOI: 'DOI',
|
||||
abstract: 'Zusammenfassung',
|
||||
topicsKeywords: 'Themen/Stichworte',
|
||||
},
|
||||
socialMediaPost: {
|
||||
platform: 'Plattform',
|
||||
authorUsername: 'Autor/Benutzername',
|
||||
publishDate: 'Veröffentlichungsdatum',
|
||||
postURL: 'Beitrags-URL',
|
||||
topicsTags: 'Themen/Tags',
|
||||
},
|
||||
personalDocument: {
|
||||
title: 'Titel',
|
||||
author: 'Autor',
|
||||
creationDate: 'Erstellungsdatum',
|
||||
lastModifiedDate: 'Letztes Änderungsdatum',
|
||||
documentType: 'Dokumenttyp',
|
||||
tagsCategory: 'Tags/Kategorie',
|
||||
},
|
||||
businessDocument: {
|
||||
title: 'Titel',
|
||||
author: 'Autor',
|
||||
creationDate: 'Erstellungsdatum',
|
||||
lastModifiedDate: 'Letztes Änderungsdatum',
|
||||
documentType: 'Dokumenttyp',
|
||||
departmentTeam: 'Abteilung/Team',
|
||||
},
|
||||
IMChat: {
|
||||
chatPlatform: 'Chat-Plattform',
|
||||
chatPartiesGroupName: 'Chat-Parteien/Gruppenname',
|
||||
participants: 'Teilnehmer',
|
||||
startDate: 'Startdatum',
|
||||
endDate: 'Enddatum',
|
||||
topicsKeywords: 'Themen/Schlüsselwörter',
|
||||
fileType: 'Dateityp',
|
||||
},
|
||||
wikipediaEntry: {
|
||||
title: 'Titel',
|
||||
language: 'Sprache',
|
||||
webpageURL: 'Webseiten-URL',
|
||||
editorContributor: 'Editor/Beitragender',
|
||||
lastEditDate: 'Letztes Bearbeitungsdatum',
|
||||
summaryIntroduction: 'Zusammenfassung/Einführung',
|
||||
},
|
||||
notion: {
|
||||
title: 'Titel',
|
||||
language: 'Sprache',
|
||||
author: 'Autor',
|
||||
createdTime: 'Erstellungszeit',
|
||||
lastModifiedTime: 'Letzte Änderungszeit',
|
||||
url: 'URL',
|
||||
tag: 'Tag',
|
||||
description: 'Beschreibung',
|
||||
},
|
||||
github: {
|
||||
repoName: 'Repository-Name',
|
||||
repoDesc: 'Repository-Beschreibung',
|
||||
repoOwner: 'Repository-Eigentümer',
|
||||
fileName: 'Dateiname',
|
||||
filePath: 'Dateipfad',
|
||||
programmingLang: 'Programmiersprache',
|
||||
url: 'URL',
|
||||
license: 'Lizenz',
|
||||
lastCommitTime: 'Letzte Commit-Zeit',
|
||||
lastCommitAuthor: 'Letzter Commit-Autor',
|
||||
},
|
||||
originInfo: {
|
||||
originalFilename: 'Originaldateiname',
|
||||
originalFileSize: 'Originaldateigröße',
|
||||
uploadDate: 'Hochladedatum',
|
||||
lastUpdateDate: 'Letztes Änderungsdatum',
|
||||
source: 'Quelle',
|
||||
},
|
||||
technicalParameters: {
|
||||
segmentSpecification: 'Chunk-Spezifikation',
|
||||
segmentLength: 'Chunk-Länge',
|
||||
avgParagraphLength: 'Durchschn. Absatzlänge',
|
||||
paragraphs: 'Absätze',
|
||||
hitCount: 'Abrufanzahl',
|
||||
embeddingTime: 'Einbettungszeit',
|
||||
embeddedSpend: 'Einbettungsausgaben',
|
||||
},
|
||||
},
|
||||
languageMap: {
|
||||
zh: 'Chinesisch',
|
||||
en: 'Englisch',
|
||||
es: 'Spanisch',
|
||||
fr: 'Französisch',
|
||||
de: 'Deutsch',
|
||||
ja: 'Japanisch',
|
||||
ko: 'Koreanisch',
|
||||
ru: 'Russisch',
|
||||
ar: 'Arabisch',
|
||||
pt: 'Portugiesisch',
|
||||
it: 'Italienisch',
|
||||
nl: 'Niederländisch',
|
||||
pl: 'Polnisch',
|
||||
sv: 'Schwedisch',
|
||||
tr: 'Türkisch',
|
||||
he: 'Hebräisch',
|
||||
hi: 'Hindi',
|
||||
da: 'Dänisch',
|
||||
fi: 'Finnisch',
|
||||
no: 'Norwegisch',
|
||||
hu: 'Ungarisch',
|
||||
el: 'Griechisch',
|
||||
cs: 'Tschechisch',
|
||||
th: 'Thai',
|
||||
id: 'Indonesisch',
|
||||
},
|
||||
categoryMap: {
|
||||
book: {
|
||||
fiction: 'Fiktion',
|
||||
biography: 'Biografie',
|
||||
history: 'Geschichte',
|
||||
science: 'Wissenschaft',
|
||||
technology: 'Technologie',
|
||||
education: 'Bildung',
|
||||
philosophy: 'Philosophie',
|
||||
religion: 'Religion',
|
||||
socialSciences: 'Sozialwissenschaften',
|
||||
art: 'Kunst',
|
||||
travel: 'Reisen',
|
||||
health: 'Gesundheit',
|
||||
selfHelp: 'Selbsthilfe',
|
||||
businessEconomics: 'Wirtschaft',
|
||||
cooking: 'Kochen',
|
||||
childrenYoungAdults: 'Kinder & Jugendliche',
|
||||
comicsGraphicNovels: 'Comics & Grafische Romane',
|
||||
poetry: 'Poesie',
|
||||
drama: 'Drama',
|
||||
other: 'Andere',
|
||||
},
|
||||
personalDoc: {
|
||||
notes: 'Notizen',
|
||||
blogDraft: 'Blog-Entwurf',
|
||||
diary: 'Tagebuch',
|
||||
researchReport: 'Forschungsbericht',
|
||||
bookExcerpt: 'Buchauszug',
|
||||
schedule: 'Zeitplan',
|
||||
list: 'Liste',
|
||||
projectOverview: 'Projektübersicht',
|
||||
photoCollection: 'Fotosammlung',
|
||||
creativeWriting: 'Kreatives Schreiben',
|
||||
codeSnippet: 'Code-Snippet',
|
||||
designDraft: 'Design-Entwurf',
|
||||
personalResume: 'Persönlicher Lebenslauf',
|
||||
other: 'Andere',
|
||||
},
|
||||
businessDoc: {
|
||||
meetingMinutes: 'Protokolle',
|
||||
researchReport: 'Forschungsbericht',
|
||||
proposal: 'Vorschlag',
|
||||
employeeHandbook: 'Mitarbeiterhandbuch',
|
||||
trainingMaterials: 'Schulungsmaterialien',
|
||||
requirementsDocument: 'Anforderungsdokumentation',
|
||||
designDocument: 'Design-Dokument',
|
||||
productSpecification: 'Produktspezifikation',
|
||||
financialReport: 'Finanzbericht',
|
||||
marketAnalysis: 'Marktanalyse',
|
||||
projectPlan: 'Projektplan',
|
||||
teamStructure: 'Teamstruktur',
|
||||
policiesProcedures: 'Richtlinien & Verfahren',
|
||||
contractsAgreements: 'Verträge & Vereinbarungen',
|
||||
emailCorrespondence: 'E-Mail-Korrespondenz',
|
||||
other: 'Andere',
|
||||
},
|
||||
},
|
||||
},
|
||||
embedding: {
|
||||
processing: 'Einbettungsverarbeitung...',
|
||||
paused: 'Einbettung pausiert',
|
||||
completed: 'Einbettung abgeschlossen',
|
||||
error: 'Einbettungsfehler',
|
||||
docName: 'Dokument vorbereiten',
|
||||
mode: 'Segmentierungsregel',
|
||||
segmentLength: 'Chunk-Länge',
|
||||
textCleaning: 'Textvordefinition und -bereinigung',
|
||||
segments: 'Absätze',
|
||||
highQuality: 'Hochwertiger Modus',
|
||||
economy: 'Wirtschaftlicher Modus',
|
||||
estimate: 'Geschätzter Verbrauch',
|
||||
stop: 'Verarbeitung stoppen',
|
||||
resume: 'Verarbeitung fortsetzen',
|
||||
automatic: 'Automatisch',
|
||||
custom: 'Benutzerdefiniert',
|
||||
previewTip: 'Absatzvorschau ist nach Abschluss der Einbettung verfügbar',
|
||||
parentMaxTokens: 'Elternteil',
|
||||
childMaxTokens: 'Kind',
|
||||
hierarchical: 'Eltern-Kind',
|
||||
pause: 'Pause',
|
||||
waiting: 'Einbettung wartet...',
|
||||
},
|
||||
segment: {
|
||||
paragraphs: 'Absätze',
|
||||
keywords: 'Schlüsselwörter',
|
||||
addKeyWord: 'Schlüsselwort hinzufügen',
|
||||
keywordError: 'Die maximale Länge des Schlüsselworts beträgt 20',
|
||||
hitCount: 'Abrufanzahl',
|
||||
vectorHash: 'Vektor-Hash: ',
|
||||
questionPlaceholder: 'Frage hier hinzufügen',
|
||||
questionEmpty: 'Frage darf nicht leer sein',
|
||||
answerPlaceholder: 'Antwort hier hinzufügen',
|
||||
answerEmpty: 'Antwort darf nicht leer sein',
|
||||
contentPlaceholder: 'Inhalt hier hinzufügen',
|
||||
contentEmpty: 'Inhalt darf nicht leer sein',
|
||||
newTextSegment: 'Neues Textsegment',
|
||||
newQaSegment: 'Neues Q&A-Segment',
|
||||
delete: 'Diesen Chunk löschen?',
|
||||
parentChunks_one: 'ÜBERGEORDNETER CHUNK',
|
||||
searchResults_other: 'BEFUND',
|
||||
clearFilter: 'Filter löschen',
|
||||
chunk: 'Stück',
|
||||
childChunk: 'Untergeordneter Brocken',
|
||||
newChildChunk: 'Neuer untergeordneter Block',
|
||||
chunkDetail: 'Chunk-Detail',
|
||||
regeneratingMessage: 'Das kann einen Moment dauern, bitte warten...',
|
||||
searchResults_zero: 'ERGEBNIS',
|
||||
parentChunks_other: 'ÜBERGEORDNETE BLÖCKE',
|
||||
editParentChunk: 'Übergeordneter Block bearbeiten',
|
||||
childChunks_other: 'UNTERGEORDNETE BLÖCKE',
|
||||
editChunk: 'Chunk bearbeiten',
|
||||
regenerationSuccessTitle: 'Regeneration abgeschlossen',
|
||||
parentChunk: 'Übergeordneter Chunk',
|
||||
childChunkAdded: '1 untergeordneter Block hinzugefügt',
|
||||
edited: 'BEARBEITETE',
|
||||
collapseChunks: 'Blöcke reduzieren',
|
||||
empty: 'Kein Chunk gefunden',
|
||||
regenerationSuccessMessage: 'Sie können dieses Fenster schließen.',
|
||||
chunks_other: 'STÜCKE',
|
||||
regenerationConfirmMessage: 'Beim Regenerieren von untergeordneten Blöcken werden die aktuellen untergeordneten Blöcke überschrieben, einschließlich bearbeiteter und neu hinzugefügter Blöcke. Die Regeneration kann nicht rückgängig gemacht werden.',
|
||||
childChunks_one: 'UNTERGEORDNETER CHUNK',
|
||||
characters_other: 'Zeichen',
|
||||
newChunk: 'Neuer Brocken',
|
||||
editChildChunk: 'Untergeordneten Block bearbeiten',
|
||||
chunkAdded: '1 Stück hinzugefügt',
|
||||
expandChunks: 'Blöcke erweitern',
|
||||
editedAt: 'Bearbeitet am',
|
||||
dateTimeFormat: 'MM/DD/YYYY h:mm',
|
||||
addChunk: 'Block hinzufügen',
|
||||
addAnother: 'Fügen Sie eine weitere hinzu',
|
||||
regeneratingTitle: 'Regenerieren von untergeordneten Blöcken',
|
||||
chunks_one: 'STÜCK',
|
||||
characters_one: 'Zeichen',
|
||||
addChildChunk: 'Untergeordneten Block hinzufügen',
|
||||
regenerationConfirmTitle: 'Möchten Sie untergeordnete Chunks regenerieren?',
|
||||
searchResults_one: 'ERGEBNIS',
|
||||
keywordEmpty: 'Das Schlüsselwort darf nicht leer sein.',
|
||||
keywordDuplicate: 'Das Schlüsselwort existiert bereits',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
34
dify/web/i18n/de-DE/dataset-hit-testing.ts
Normal file
34
dify/web/i18n/de-DE/dataset-hit-testing.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
const translation = {
|
||||
title: 'Abruf-Test',
|
||||
desc: 'Testen Sie die Treffereffektivität des Wissens anhand des gegebenen Abfragetextes.',
|
||||
dateTimeFormat: 'MM/DD/YYYY hh:mm A',
|
||||
table: {
|
||||
header: {
|
||||
source: 'Quelle',
|
||||
text: 'Text',
|
||||
time: 'Zeit',
|
||||
},
|
||||
},
|
||||
input: {
|
||||
title: 'Quelltext',
|
||||
placeholder: 'Bitte geben Sie einen Text ein, ein kurzer aussagekräftiger Satz wird empfohlen.',
|
||||
countWarning: 'Bis zu 200 Zeichen.',
|
||||
indexWarning: 'Nur Wissen hoher Qualität.',
|
||||
testing: 'Testen',
|
||||
},
|
||||
hit: {
|
||||
title: 'ABRUFPARAGRAFEN',
|
||||
emptyTip: 'Ergebnisse des Abruf-Tests werden hier angezeigt',
|
||||
},
|
||||
noRecentTip: 'Keine kürzlichen Abfrageergebnisse hier',
|
||||
viewChart: 'VEKTORDIAGRAMM ansehen',
|
||||
viewDetail: 'Im Detail sehen',
|
||||
settingTitle: 'Einstellung für den Abruf',
|
||||
records: 'Aufzeichnungen',
|
||||
open: 'Offen',
|
||||
hitChunks: 'Klicken Sie auf {{num}} untergeordnete Chunks',
|
||||
keyword: 'Schlüsselwörter',
|
||||
chunkDetail: 'Chunk-Detail',
|
||||
}
|
||||
|
||||
export default translation
|
||||
166
dify/web/i18n/de-DE/dataset-pipeline.ts
Normal file
166
dify/web/i18n/de-DE/dataset-pipeline.ts
Normal file
@@ -0,0 +1,166 @@
|
||||
const translation = {
|
||||
creation: {
|
||||
createFromScratch: {
|
||||
title: 'Leere Wissenspipeline',
|
||||
description: 'Erstellen Sie eine benutzerdefinierte Pipeline von Grund auf neu mit vollständiger Kontrolle über die Datenverarbeitung und -struktur.',
|
||||
},
|
||||
caution: 'Vorsicht',
|
||||
backToKnowledge: 'Zurück zu Wissen',
|
||||
createKnowledge: 'Wissen schaffen',
|
||||
importDSL: 'Importieren aus einer DSL-Datei',
|
||||
successTip: 'Erfolgreich eine Wissensdatenbank erstellt',
|
||||
errorTip: 'Fehler beim Erstellen einer Wissensdatenbank',
|
||||
},
|
||||
templates: {
|
||||
customized: 'Angepasst',
|
||||
},
|
||||
operations: {
|
||||
dataSource: 'Datenquelle',
|
||||
details: 'Details',
|
||||
process: 'Prozess',
|
||||
preview: 'Vorschau',
|
||||
convert: 'Umwandeln',
|
||||
useTemplate: 'Verwenden dieser Wissenspipeline',
|
||||
backToDataSource: 'Zurück zur Datenquelle',
|
||||
exportPipeline: 'Pipeline exportieren',
|
||||
editInfo: 'Info bearbeiten',
|
||||
choose: 'Wählen',
|
||||
saveAndProcess: 'Speichern & Verarbeiten',
|
||||
},
|
||||
deletePipeline: {
|
||||
title: 'Sind Sie sicher, dass Sie diese Pipeline-Vorlage löschen möchten?',
|
||||
content: 'Das Löschen der Pipelinevorlage kann nicht rückgängig gemacht werden.',
|
||||
},
|
||||
publishPipeline: {
|
||||
success: {
|
||||
message: 'Knowledge Pipeline veröffentlicht',
|
||||
tip: '<CustomLink>Gehe zu Dokumente</CustomLink>, um Dokumente hinzuzufügen oder zu verwalten.',
|
||||
},
|
||||
error: {
|
||||
message: 'Fehler beim Veröffentlichen der Wissenspipeline',
|
||||
},
|
||||
},
|
||||
publishTemplate: {
|
||||
success: {
|
||||
learnMore: 'Weitere Informationen',
|
||||
tip: 'Sie können diese Vorlage auf der Erstellungsseite verwenden.',
|
||||
message: 'Pipeline-Vorlage veröffentlicht',
|
||||
},
|
||||
error: {
|
||||
message: 'Fehler beim Veröffentlichen der Pipeline-Vorlage',
|
||||
},
|
||||
},
|
||||
exportDSL: {
|
||||
successTip: 'Pipeline-DSL erfolgreich exportieren',
|
||||
errorTip: 'Fehler beim Exportieren der Pipeline-DSL',
|
||||
},
|
||||
details: {
|
||||
structure: 'Struktur',
|
||||
structureTooltip: 'Die Blockstruktur bestimmt, wie Dokumente aufgeteilt und indiziert werden, und bietet die Modi "Allgemein", "Über-Eltern-Kind" und "Q&A" und ist für jede Wissensdatenbank einzigartig.',
|
||||
createdBy: 'Von {{author}}',
|
||||
},
|
||||
testRun: {
|
||||
steps: {
|
||||
documentProcessing: 'Verarbeitung von Dokumenten',
|
||||
dataSource: 'Datenquelle',
|
||||
},
|
||||
dataSource: {
|
||||
localFiles: 'Lokale Dateien',
|
||||
},
|
||||
notion: {
|
||||
docTitle: 'Notion docs',
|
||||
title: 'Wählen Sie Notion Pages',
|
||||
},
|
||||
title: 'Testlauf',
|
||||
tooltip: 'Im Testlaufmodus darf jeweils nur ein Dokument importiert werden, um das Debuggen und Beobachten zu vereinfachen.',
|
||||
},
|
||||
inputFieldPanel: {
|
||||
uniqueInputs: {
|
||||
title: 'Einzigartige Eingänge für jeden Eingang',
|
||||
tooltip: 'Eindeutige Eingaben sind nur für die ausgewählte Datenquelle und ihre Downstream-Knoten zugänglich. Benutzer müssen sie nicht ausfüllen, wenn sie andere Datenquellen auswählen. Im ersten Schritt (Datenquelle) werden nur Eingabefelder angezeigt, auf die von Datenquellenvariablen verwiesen wird. Alle anderen Felder werden im zweiten Schritt (Dokumente bearbeiten) angezeigt.',
|
||||
},
|
||||
globalInputs: {
|
||||
title: 'Globale Eingänge für alle Eingänge',
|
||||
tooltip: 'Globale Eingaben werden von allen Knoten gemeinsam genutzt. Benutzer müssen sie ausfüllen, wenn sie eine Datenquelle auswählen. Beispielsweise können Felder wie Trennzeichen und maximale Blocklänge einheitlich auf mehrere Datenquellen angewendet werden. Im ersten Schritt (Datenquelle) werden nur Eingabefelder angezeigt, die von Datenquellenvariablen referenziert werden. Alle anderen Felder werden im zweiten Schritt (Dokumente bearbeiten) angezeigt.',
|
||||
},
|
||||
preview: {
|
||||
stepTwoTitle: 'Dokumente verarbeiten',
|
||||
stepOneTitle: 'Datenquelle',
|
||||
},
|
||||
error: {
|
||||
variableDuplicate: 'Der Variablenname ist bereits vorhanden. Bitte wählen Sie einen anderen Namen.',
|
||||
},
|
||||
editInputField: 'Eingabefeld bearbeiten',
|
||||
addInputField: 'Eingabefeld hinzufügen',
|
||||
title: 'Eingabefelder für Benutzer',
|
||||
description: 'Benutzereingabefelder werden verwendet, um Variablen zu definieren und zu erfassen, die während des Pipeline-Ausführungsprozesses erforderlich sind. Benutzer können den Feldtyp anpassen und den Eingabewert flexibel konfigurieren, um den Anforderungen verschiedener Datenquellen oder Dokumentverarbeitungsschritte gerecht zu werden.',
|
||||
},
|
||||
addDocuments: {
|
||||
steps: {
|
||||
processDocuments: 'Dokumente verarbeiten',
|
||||
processingDocuments: 'Verarbeiten von Dokumenten',
|
||||
chooseDatasource: 'Auswählen einer Datenquelle',
|
||||
},
|
||||
stepOne: {
|
||||
preview: 'Vorschau',
|
||||
},
|
||||
stepTwo: {
|
||||
previewChunks: 'Vorschau von Chunks',
|
||||
chunkSettings: 'Chunk-Einstellungen',
|
||||
},
|
||||
stepThree: {
|
||||
learnMore: 'Weitere Informationen',
|
||||
},
|
||||
characters: 'Zeichen',
|
||||
backToDataSource: 'Datenquelle',
|
||||
title: 'Dokumente hinzufügen',
|
||||
selectOnlineDocumentTip: 'Bis zu {{count}} Seiten verarbeiten',
|
||||
selectOnlineDriveTip: 'Verarbeiten Sie bis zu {{count}} Dateien, maximal {{fileSize}} MB pro Datei',
|
||||
},
|
||||
documentSettings: {
|
||||
title: 'Dokument-Einstellungen',
|
||||
},
|
||||
onlineDocument: {
|
||||
pageSelectorTitle: '{{name}} Seiten',
|
||||
},
|
||||
onlineDrive: {
|
||||
breadcrumbs: {
|
||||
allFiles: 'Alle Dateien',
|
||||
allBuckets: 'Alle Cloud Storage-Buckets',
|
||||
searchPlaceholder: 'Dateien suchen...',
|
||||
searchResult: '{{searchResultsLength}} Elemente im Ordner "{{folderName}}" finden',
|
||||
},
|
||||
emptySearchResult: 'Es wurden keine Gegenstände gefunden',
|
||||
resetKeywords: 'Schlüsselwörter zurücksetzen',
|
||||
notSupportedFileType: 'Dieser Dateityp wird nicht unterstützt',
|
||||
emptyFolder: 'Dieser Ordner ist leer',
|
||||
notConnected: '{{name}} ist nicht verbunden',
|
||||
notConnectedTip: 'Um mit {{name}} zu synchronisieren, muss zuerst eine Verbindung zu {{name}} hergestellt werden.',
|
||||
},
|
||||
credentialSelector: {
|
||||
name: '{{credentialName}}\'s {{pluginName}}',
|
||||
},
|
||||
conversion: {
|
||||
confirm: {
|
||||
title: 'Bestätigung',
|
||||
content: 'Diese Aktion ist dauerhaft. Sie können die vorherige Methode nicht wiederherstellen. Bitte bestätigen Sie, um umzurechnen.',
|
||||
},
|
||||
title: 'In Wissenspipeline konvertieren',
|
||||
successMessage: 'Erfolgreiches Konvertieren des Datasets in eine Pipeline',
|
||||
errorMessage: 'Fehler beim Konvertieren des Datasets in eine Pipeline.',
|
||||
warning: 'Diese Aktion kann nicht rückgängig gemacht werden.',
|
||||
descriptionChunk1: 'Sie können jetzt Ihre vorhandene Wissensdatenbank konvertieren, um die Knowledge Pipeline für die Dokumentenverarbeitung zu verwenden',
|
||||
descriptionChunk2: '– ein offenerer und flexiblerer Ansatz mit Zugang zu Plugins aus unserem Marktplatz. Dadurch wird die neue Verarbeitungsmethode auf alle zukünftigen Dokumente angewendet.',
|
||||
},
|
||||
knowledgePermissions: 'Erlaubnisse',
|
||||
inputField: 'Eingabefeld',
|
||||
knowledgeDescription: 'Beschreibung des Wissens',
|
||||
editPipelineInfo: 'Bearbeiten von Pipeline-Informationen',
|
||||
knowledgeNameAndIcon: 'Name und Symbol des Wissens',
|
||||
pipelineNameAndIcon: 'Name und Symbol der Pipeline',
|
||||
knowledgeDescriptionPlaceholder: 'Beschreiben Sie, was in dieser Wissensdatenbank enthalten ist. Eine detaillierte Beschreibung ermöglicht es der KI, genauer auf den Inhalt des Datensatzes zuzugreifen. Wenn das Feld leer ist, verwendet Dify die Standard-Trefferstrategie. (Fakultativ)',
|
||||
knowledgeNameAndIconPlaceholder: 'Bitte geben Sie den Namen der Knowledge Base ein.',
|
||||
configurationTip: 'Konfigurieren {{pluginName}}',
|
||||
}
|
||||
|
||||
export default translation
|
||||
51
dify/web/i18n/de-DE/dataset-settings.ts
Normal file
51
dify/web/i18n/de-DE/dataset-settings.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
const translation = {
|
||||
title: 'Wissenseinstellungen',
|
||||
desc: 'Hier können Sie die Eigenschaften und Arbeitsweisen des Wissens anpassen.',
|
||||
form: {
|
||||
name: 'Wissensname',
|
||||
namePlaceholder: 'Bitte geben Sie den Namen des Wissens ein',
|
||||
nameError: 'Name darf nicht leer sein',
|
||||
desc: 'Wissensbeschreibung',
|
||||
descInfo: 'Bitte schreiben Sie eine klare textuelle Beschreibung, um den Inhalt des Wissens zu umreißen. Diese Beschreibung wird als Grundlage für die Auswahl aus mehreren Wissensdatenbanken zur Inferenz verwendet.',
|
||||
descPlaceholder: 'Beschreiben Sie, was in diesem Wissen enthalten ist. Eine detaillierte Beschreibung ermöglicht es der KI, zeitnah auf den Inhalt des Wissens zuzugreifen. Wenn leer, verwendet Dify die Standard-Treffstrategie.',
|
||||
descWrite: 'Erfahren Sie, wie man eine gute Wissensbeschreibung schreibt.',
|
||||
permissions: 'Berechtigungen',
|
||||
permissionsOnlyMe: 'Nur ich',
|
||||
permissionsAllMember: 'Alle Teammitglieder',
|
||||
indexMethod: 'Indexierungsmethode',
|
||||
indexMethodHighQuality: 'Hohe Qualität',
|
||||
indexMethodHighQualityTip: 'Den Embedding-Modell zur Verarbeitung aufrufen, um bei Benutzeranfragen eine höhere Genauigkeit zu bieten.',
|
||||
indexMethodEconomy: 'Ökonomisch',
|
||||
indexMethodEconomyTip: 'Verwendet Offline-Vektor-Engines, Schlagwortindizes usw., um die Genauigkeit ohne Tokenverbrauch zu reduzieren',
|
||||
embeddingModel: 'Einbettungsmodell',
|
||||
embeddingModelTip: 'Ändern Sie das eingebettete Modell, bitte gehen Sie zu ',
|
||||
embeddingModelTipLink: 'Einstellungen',
|
||||
retrievalSetting: {
|
||||
title: 'Abrufeinstellung',
|
||||
learnMore: 'Mehr erfahren',
|
||||
description: ' über die Abrufmethode.',
|
||||
longDescription: ' über die Abrufmethode, dies kann jederzeit in den Wissenseinstellungen geändert werden.',
|
||||
method: 'Abrufmethode',
|
||||
},
|
||||
save: 'Speichern',
|
||||
permissionsInvitedMembers: 'Teilweise Teammitglieder',
|
||||
me: '(Sie)',
|
||||
externalKnowledgeID: 'ID für externes Wissen',
|
||||
externalKnowledgeAPI: 'API für externes Wissen',
|
||||
retrievalSettings: 'Einstellungen für den Abruf',
|
||||
upgradeHighQualityTip: 'Nach dem Upgrade auf den Modus "Hohe Qualität" ist das Zurücksetzen auf den Modus "Wirtschaftlich" nicht mehr möglich',
|
||||
helpText: 'Erfahren Sie, wie Sie eine gute Datensatzbeschreibung schreiben.',
|
||||
indexMethodChangeToEconomyDisabledTip: 'Nicht verfügbar für ein Downgrade von HQ auf ECO',
|
||||
searchModel: 'Modell suchen',
|
||||
chunkStructure: {
|
||||
learnMore: 'Weitere Informationen',
|
||||
title: 'Chunk-Struktur',
|
||||
description: 'über Chunk Structure.',
|
||||
},
|
||||
nameAndIcon: 'Name & Symbol',
|
||||
onSearchResults: 'Kein Mitglied stimmt mit Ihrer Suchanfrage überein.\nVersuchen Sie Ihre Suche erneut.',
|
||||
numberOfKeywords: 'Anzahl der Schlüsselwörter',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
243
dify/web/i18n/de-DE/dataset.ts
Normal file
243
dify/web/i18n/de-DE/dataset.ts
Normal file
@@ -0,0 +1,243 @@
|
||||
const translation = {
|
||||
knowledge: 'Wissen',
|
||||
documentCount: ' Dokumente',
|
||||
wordCount: ' k Wörter',
|
||||
appCount: ' verknüpfte Apps',
|
||||
createDataset: 'Wissen erstellen',
|
||||
createDatasetIntro: 'Importiere deine eigenen Textdaten oder schreibe Daten in Echtzeit über Webhook für die LLM-Kontextverbesserung.',
|
||||
deleteDatasetConfirmTitle: 'Dieses Wissen löschen?',
|
||||
deleteDatasetConfirmContent:
|
||||
'Das Löschen des Wissens ist unwiderruflich. Benutzer werden nicht mehr auf Ihr Wissen zugreifen können und alle Eingabeaufforderungen, Konfigurationen und Protokolle werden dauerhaft gelöscht.',
|
||||
datasetUsedByApp: 'Das Wissen wird von einigen Apps verwendet. Apps werden dieses Wissen nicht mehr nutzen können, und alle Prompt-Konfigurationen und Protokolle werden dauerhaft gelöscht.',
|
||||
datasetDeleted: 'Wissen gelöscht',
|
||||
datasetDeleteFailed: 'Löschen des Wissens fehlgeschlagen',
|
||||
didYouKnow: 'Wusstest du schon?',
|
||||
intro1: 'Das Wissen kann in die Dify-Anwendung ',
|
||||
intro2: 'als Kontext',
|
||||
intro3: ',',
|
||||
intro4: 'oder es ',
|
||||
intro5: 'kann erstellt werden',
|
||||
intro6: ' als ein eigenständiges ChatGPT-Index-Plugin zum Veröffentlichen',
|
||||
unavailable: 'Nicht verfügbar',
|
||||
datasets: 'WISSEN',
|
||||
datasetsApi: 'API',
|
||||
retrieval: {
|
||||
semantic_search: {
|
||||
title: 'Vektorsuche',
|
||||
description: 'Erzeuge Abfrage-Einbettungen und suche nach dem Textstück, das seiner Vektorrepräsentation am ähnlichsten ist.',
|
||||
},
|
||||
full_text_search: {
|
||||
title: 'Volltextsuche',
|
||||
description: 'Indiziere alle Begriffe im Dokument, sodass Benutzer jeden Begriff suchen und den relevanten Textabschnitt finden können, der diese Begriffe enthält.',
|
||||
},
|
||||
hybrid_search: {
|
||||
title: 'Hybridsuche',
|
||||
description: 'Führe Volltextsuche und Vektorsuchen gleichzeitig aus, ordne neu, um die beste Übereinstimmung für die Abfrage des Benutzers auszuwählen. Konfiguration des Rerank-Modell-APIs ist notwendig.',
|
||||
recommend: 'Empfehlen',
|
||||
},
|
||||
invertedIndex: {
|
||||
},
|
||||
change: 'Ändern',
|
||||
changeRetrievalMethod: 'Abfragemethode ändern',
|
||||
keyword_search: {
|
||||
title: 'Invertierter Index',
|
||||
description: 'Der invertierte Index ist eine Struktur, die für einen effizienten Abruf verwendet wird. Jeder Begriff ist nach Begriffen geordnet und verweist auf Dokumente oder Webseiten, die ihn enthalten.',
|
||||
},
|
||||
},
|
||||
docsFailedNotice: 'Dokumente konnten nicht indiziert werden',
|
||||
retry: 'Wiederholen',
|
||||
indexingTechnique: {
|
||||
high_quality: 'HQ',
|
||||
economy: 'ECO',
|
||||
},
|
||||
indexingMethod: {
|
||||
semantic_search: 'VEKTOR',
|
||||
full_text_search: 'VOLLTEXT',
|
||||
hybrid_search: 'HYBRID',
|
||||
invertedIndex: 'INVERTIERT',
|
||||
},
|
||||
mixtureHighQualityAndEconomicTip: 'Für die Mischung von hochwertigen und wirtschaftlichen Wissensbasen ist das Rerank-Modell erforderlich.',
|
||||
inconsistentEmbeddingModelTip: 'Das Rerank-Modell ist erforderlich, wenn die Embedding-Modelle der ausgewählten Wissensbasen inkonsistent sind.',
|
||||
retrievalSettings: 'Abrufeinstellungen',
|
||||
rerankSettings: 'Rerank-Einstellungen',
|
||||
weightedScore: {
|
||||
title: 'Gewichtete Bewertung',
|
||||
description: 'Durch Anpassung der zugewiesenen Gewichte bestimmt diese Rerank-Strategie, ob semantische oder Schlüsselwort-Übereinstimmung priorisiert werden soll.',
|
||||
semanticFirst: 'Semantik zuerst',
|
||||
keywordFirst: 'Schlüsselwort zuerst',
|
||||
customized: 'Angepasst',
|
||||
semantic: 'Semantisch',
|
||||
keyword: 'Schlüsselwort',
|
||||
},
|
||||
nTo1RetrievalLegacy: 'N-zu-1-Abruf wird ab September offiziell eingestellt. Es wird empfohlen, den neuesten Multi-Pfad-Abruf zu verwenden, um bessere Ergebnisse zu erzielen.',
|
||||
nTo1RetrievalLegacyLink: 'Mehr erfahren',
|
||||
nTo1RetrievalLegacyLinkText: 'N-zu-1-Abruf wird im September offiziell eingestellt.',
|
||||
defaultRetrievalTip: 'Standardmäßig wird der Multi-Path-Abruf verwendet. Das Wissen wird aus mehreren Wissensdatenbanken abgerufen und dann neu eingestuft.',
|
||||
editExternalAPIConfirmWarningContent: {
|
||||
end: 'externes Wissen, und diese Modifikation wird auf alle angewendet. Sind Sie sicher, dass Sie diese Änderung speichern möchten?',
|
||||
front: 'Diese External Knowledge API ist verknüpft mit',
|
||||
},
|
||||
editExternalAPIFormWarning: {
|
||||
front: 'Diese externe API ist verknüpft mit',
|
||||
end: 'externes Wissen',
|
||||
},
|
||||
deleteExternalAPIConfirmWarningContent: {
|
||||
title: {
|
||||
front: 'Löschen',
|
||||
end: '?',
|
||||
},
|
||||
content: {
|
||||
front: 'Diese External Knowledge API ist verknüpft mit',
|
||||
end: 'externes Wissen. Wenn Sie diese API löschen, werden alle ungültig. Sind Sie sicher, dass Sie diese API löschen möchten?',
|
||||
},
|
||||
noConnectionContent: 'Sind Sie sicher, dass Sie diese API löschen möchten?',
|
||||
},
|
||||
selectExternalKnowledgeAPI: {
|
||||
placeholder: 'Auswählen einer externen Wissens-API',
|
||||
},
|
||||
connectDatasetIntro: {
|
||||
content: {
|
||||
front: 'Um eine Verbindung zu einer externen Wissensdatenbank herzustellen, müssen Sie zuerst eine externe API erstellen. Bitte lesen Sie diese sorgfältig durch und beziehen Sie sich auf',
|
||||
link: 'Erfahren Sie, wie Sie eine externe API erstellen',
|
||||
end: '. Suchen Sie dann die entsprechende Wissens-ID und füllen Sie diese in das Formular links aus. Wenn alle Informationen korrekt sind, wird nach dem Klicken auf die Schaltfläche "Verbinden" automatisch zum Abruftest in der Wissensdatenbank gesprungen.',
|
||||
},
|
||||
learnMore: 'Weitere Informationen',
|
||||
title: 'So stellen Sie eine Verbindung zu einer externen Wissensdatenbank her',
|
||||
},
|
||||
connectHelper: {
|
||||
helper3: '. Wir empfehlen Ihnen dringend,',
|
||||
helper2: 'Es wird nur die Retrieval-Funktionalität unterstützt',
|
||||
helper5: 'bevor Sie diese Funktion verwenden.',
|
||||
helper4: 'Lesen Sie die Hilfedokumentation',
|
||||
helper1: 'Verbinden Sie sich mit externen Wissensdatenbanken über API und Wissensdatenbank-ID.',
|
||||
},
|
||||
externalKnowledgeForm: {
|
||||
connect: 'Verbinden',
|
||||
cancel: 'Abbrechen',
|
||||
},
|
||||
externalAPIForm: {
|
||||
encrypted: {
|
||||
front: 'Ihr API-Token wird verschlüsselt und gespeichert mit',
|
||||
end: 'Technologie.',
|
||||
},
|
||||
save: 'Retten',
|
||||
cancel: 'Abbrechen',
|
||||
endpoint: 'API-Endpunkt',
|
||||
name: 'Name',
|
||||
edit: 'Redigieren',
|
||||
apiKey: 'API-Schlüssel',
|
||||
},
|
||||
externalTag: 'Äußerlich',
|
||||
createExternalAPI: 'Hinzufügen einer externen Knowledge-API',
|
||||
externalAPIPanelDescription: 'Die API für externes Wissen wird verwendet, um eine Verbindung zu einer Wissensdatenbank außerhalb von Dify herzustellen und Wissen aus dieser Wissensdatenbank abzurufen.',
|
||||
createNewExternalAPI: 'Erstellen einer neuen API für externes Wissen',
|
||||
externalKnowledgeDescriptionPlaceholder: 'Beschreiben Sie, was in dieser Wissensdatenbank enthalten ist (optional)',
|
||||
externalAPIPanelDocumentation: 'Erfahren Sie, wie Sie eine API für externes Wissen erstellen',
|
||||
externalAPIPanelTitle: 'API für externes Wissen',
|
||||
learnHowToWriteGoodKnowledgeDescription: 'Erfahren Sie, wie Sie eine gute Wissensbeschreibung schreiben',
|
||||
editExternalAPITooltipTitle: 'VERKNÜPFTES WISSEN',
|
||||
externalKnowledgeIdPlaceholder: 'Bitte geben Sie die Knowledge ID ein',
|
||||
connectDataset: 'Herstellen einer Verbindung mit einer externen Wissensdatenbank',
|
||||
externalAPI: 'Externe API',
|
||||
externalKnowledgeName: 'Name des externen Wissens',
|
||||
allExternalTip: 'Wenn nur externes Wissen verwendet wird, kann der Benutzer auswählen, ob das Rerank-Modell aktiviert werden soll. Wenn diese Option nicht aktiviert ist, werden die abgerufenen Blöcke basierend auf den Punktzahlen sortiert. Wenn die Abrufstrategien verschiedener Wissensdatenbanken inkonsistent sind, ist dies ungenau.',
|
||||
externalKnowledgeDescription: 'Wissen Beschreibung',
|
||||
noExternalKnowledge: 'Es gibt noch keine External Knowledge API, klicken Sie hier, um zu erstellen',
|
||||
externalKnowledgeNamePlaceholder: 'Bitte geben Sie den Namen der Wissensdatenbank ein.',
|
||||
mixtureInternalAndExternalTip: 'Das Rerank-Modell ist für die Mischung von internem und externem Wissen erforderlich.',
|
||||
externalKnowledgeId: 'ID für externes Wissen',
|
||||
editExternalAPIFormTitle: 'Bearbeiten der API für externes Wissen',
|
||||
chunkingMode: {
|
||||
parentChild: 'Eltern-Kind',
|
||||
general: 'Allgemein',
|
||||
graph: 'Graph',
|
||||
qa: 'Fragen und Antworten',
|
||||
},
|
||||
parentMode: {
|
||||
paragraph: 'Absatz',
|
||||
fullDoc: 'Vollständiges Dokument',
|
||||
},
|
||||
batchAction: {
|
||||
selected: 'Ausgewählt',
|
||||
cancel: 'Abbrechen',
|
||||
archive: 'Archiv',
|
||||
disable: 'Abschalten',
|
||||
delete: 'Löschen',
|
||||
enable: 'Ermöglichen',
|
||||
},
|
||||
enable: 'Ermöglichen',
|
||||
localDocs: 'Lokale Dokumente',
|
||||
preprocessDocument: '{{num}} Vorverarbeiten von Dokumenten',
|
||||
documentsDisabled: '{{num}} Dokumente deaktiviert - seit über 30 Tagen inaktiv',
|
||||
allKnowledge: 'Alles Wissen',
|
||||
allKnowledgeDescription: 'Wählen Sie diese Option aus, um das gesamte Wissen in diesem Arbeitsbereich anzuzeigen. Nur der Workspace-Besitzer kann das gesamte Wissen verwalten.',
|
||||
metadata: {
|
||||
createMetadata: {
|
||||
namePlaceholder: 'Metadatenname hinzufügen',
|
||||
back: 'Zurück',
|
||||
title: 'Neue Metadaten',
|
||||
name: 'Name',
|
||||
type: 'Art',
|
||||
},
|
||||
checkName: {
|
||||
empty: 'Der Metadatenname darf nicht leer sein.',
|
||||
invalid: 'Der Metadatenname darf nur Kleinbuchstaben, Zahlen und Unterstriche enthalten und muss mit einem Kleinbuchstaben beginnen.',
|
||||
tooLong: 'Der Metadatenname darf {{max}} Zeichen nicht überschreiten.',
|
||||
},
|
||||
batchEditMetadata: {
|
||||
editMetadata: 'Metadaten bearbeiten',
|
||||
multipleValue: 'Mehrwert',
|
||||
applyToAllSelectDocument: 'Auf alle ausgewählten Dokumente anwenden',
|
||||
applyToAllSelectDocumentTip: 'Erstellen Sie automatisch alle oben bearbeiteten und neuen Metadaten für alle ausgewählten Dokumente, andernfalls wird die Bearbeitung der Metadaten nur auf Dokumente angewendet, die bereits Metadaten enthalten.',
|
||||
editDocumentsNum: 'Bearbeiten von {{num}} Dokumenten',
|
||||
},
|
||||
selectMetadata: {
|
||||
manageAction: 'Verwalten',
|
||||
search: 'Metadaten durchsuchen',
|
||||
newAction: 'Neue Metadaten',
|
||||
},
|
||||
datasetMetadata: {
|
||||
name: 'Name',
|
||||
disabled: 'Deaktiviert',
|
||||
description: 'Sie können alle Metadaten in diesem Wissen hier verwalten. Änderungen werden mit jedem Dokument synchronisiert.',
|
||||
deleteContent: 'Bist du sicher, dass du die Metadaten "{{name}}" löschen möchtest?',
|
||||
addMetaData: 'Metadaten hinzufügen',
|
||||
deleteTitle: 'Bestätigen Sie das Löschen',
|
||||
values: '{{num}} Werte',
|
||||
builtIn: 'Eingebaut',
|
||||
rename: 'Umbenennen',
|
||||
builtInDescription: 'Integrierte Metadaten werden automatisch extrahiert und generiert. Sie müssen vor der Verwendung aktiviert werden und können nicht bearbeitet werden.',
|
||||
namePlaceholder: 'Metadatenname',
|
||||
},
|
||||
documentMetadata: {
|
||||
startLabeling: 'Labeling starten',
|
||||
technicalParameters: 'Technische Parameter',
|
||||
documentInformation: 'Dokumentinformationen',
|
||||
metadataToolTip: 'Metadaten dienen als ein entscheidender Filter, der die Genauigkeit und Relevanz der Informationsbeschaffung verbessert. Sie können die Metadaten für dieses Dokument hier ändern und hinzufügen.',
|
||||
},
|
||||
chooseTime: 'Wählen Sie eine Zeit...',
|
||||
metadata: 'Metadaten',
|
||||
addMetadata: 'Metadaten hinzufügen',
|
||||
},
|
||||
embeddingModelNotAvailable: 'Das Einbettungsmodell ist nicht verfügbar.',
|
||||
updated: 'Aktualisierte',
|
||||
externalKnowledgeBase: 'Externe Wissensdatenbank',
|
||||
createFromPipeline: 'Aus Wissenspipeline erstellen',
|
||||
serviceApi: {
|
||||
card: {
|
||||
title: 'Backend-Dienst-API',
|
||||
apiReference: 'API Referenz',
|
||||
apiKey: 'API-Schlüssel',
|
||||
endpoint: 'Service-API-Endpunkt',
|
||||
},
|
||||
title: 'Service-API',
|
||||
enabled: 'Im Dienst',
|
||||
disabled: 'Behindert',
|
||||
},
|
||||
docAllEnabled_one: '{{count}} Dokument aktiviert',
|
||||
docAllEnabled_other: 'Alle {{count}} Dokumente aktiviert',
|
||||
partialEnabled_one: 'Insgesamt {{count}} Dokumente, {{num}} verfügbar',
|
||||
partialEnabled_other: 'Insgesamt {{count}} Dokumente, {{num}} verfügbar',
|
||||
}
|
||||
|
||||
export default translation
|
||||
76
dify/web/i18n/de-DE/education.ts
Normal file
76
dify/web/i18n/de-DE/education.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
const translation = {
|
||||
toVerifiedTip: {
|
||||
coupon: 'exklusiver 100% Gutschein',
|
||||
end: 'für den Dify Professional Plan.',
|
||||
front: 'Sie sind jetzt berechtigt, den Status „Bildung verifiziert“ zu erhalten. Bitte geben Sie unten Ihre Bildungsinformationen ein, um den Prozess abzuschließen und eine Zu erhalten.',
|
||||
},
|
||||
form: {
|
||||
schoolName: {
|
||||
placeholder: 'Geben Sie den offiziellen, unabgekürzten Namen Ihrer Schule ein.',
|
||||
title: 'Ihr Schulname',
|
||||
},
|
||||
schoolRole: {
|
||||
option: {
|
||||
teacher: 'Lehrer',
|
||||
administrator: 'Schuladministrator',
|
||||
student: 'Schüler',
|
||||
},
|
||||
title: 'Ihre Schulrolle',
|
||||
},
|
||||
terms: {
|
||||
desc: {
|
||||
and: 'und',
|
||||
privacyPolicy: 'Datenschutzrichtlinie',
|
||||
termsOfService: 'Nutzungsbedingungen',
|
||||
end: '. Durch die Einreichung:',
|
||||
front: 'Ihre Informationen und die Nutzung des Status "Bildung bestätigt" unterliegen unseren',
|
||||
},
|
||||
option: {
|
||||
inSchool: 'Ich bestätige, dass ich an der angegebenen Einrichtung eingeschrieben oder angestellt bin. Dify kann einen Nachweis über die Einschreibung/Anstellung anfordern. Wenn ich meine Berechtigung falsch darstelle, stimme ich zu, alle Gebühren zu zahlen, die aufgrund meines Bildungsstatus ursprünglich erlassen wurden.',
|
||||
age: 'Ich bestätige, dass ich mindestens 18 Jahre alt bin.',
|
||||
},
|
||||
title: 'Allgemeine Geschäftsbedingungen',
|
||||
},
|
||||
},
|
||||
toVerified: 'Bildung überprüfen lassen',
|
||||
rejectTitle: 'Ihre Dify-Ausbildungsüberprüfung wurde abgelehnt.',
|
||||
currentSigned: 'DERZEIT ANGEMELDET ALS',
|
||||
submit: 'Einreichen',
|
||||
submitError: 'Die Formularübermittlung ist fehlgeschlagen. Bitte versuchen Sie es später erneut.',
|
||||
rejectContent: 'Leider sind Sie nicht für den Status "Education Verified" berechtigt und können daher den exklusiven 100%-Gutschein für den Dify Professional Plan nicht erhalten, wenn Sie diese E-Mail-Adresse verwenden.',
|
||||
successContent: 'Wir haben einen 100% Rabattgutschein für den Dify Professional Plan auf Ihr Konto ausgestellt. Der Gutschein ist ein Jahr lang gültig, bitte nutzen Sie ihn innerhalb des Gültigkeitszeitraums.',
|
||||
learn: 'Erfahren Sie, wie Sie Ihre Ausbildung überprüfen lassen.',
|
||||
emailLabel: 'Ihre aktuelle E-Mail',
|
||||
successTitle: 'Sie haben die Dify-Ausbildung verifiziert',
|
||||
notice: {
|
||||
expired: {
|
||||
summary: {
|
||||
line1: 'Sie können weiterhin auf Dify zugreifen und es nutzen.',
|
||||
line2: 'Allerdings sind Sie nicht mehr berechtigt, neue Bildungsgutscheine zu erhalten.',
|
||||
},
|
||||
title: 'Ihr Bildungsstatus ist abgelaufen.',
|
||||
},
|
||||
isAboutToExpire: {
|
||||
summary: 'Keine Sorge - das wird sich nicht auf Ihr aktuelles Abonnement auswirken, aber Sie werden den Bildungspreis beim nächsten Verzicht nicht erhalten, es sei denn, Sie überprüfen Ihren Status erneut.',
|
||||
title: 'Ihr Bildungsstatus läuft am {{date}} ab',
|
||||
},
|
||||
stillInEducation: {
|
||||
title: 'Immer noch in der Ausbildung?',
|
||||
isAboutToExpire: 'Überprüfen Sie jetzt erneut, um einen neuen Gutschein für das kommende Studienjahr zu erhalten. Er wird in Ihrem Konto gespeichert und ist bereit zur Nutzung bei Ihrer nächsten Verlängerung.',
|
||||
expired: 'Überprüfen Sie jetzt erneut, um einen neuen Gutschein für das kommende akademische Jahr zu erhalten. Wir fügen ihn Ihrem Konto hinzu und Sie können ihn für das nächste Upgrade verwenden.',
|
||||
},
|
||||
alreadyGraduated: {
|
||||
title: 'Bereits abgeschlossen?',
|
||||
expired: 'Fühlen Sie sich frei, jederzeit ein Upgrade durchzuführen, um vollen Zugriff auf die kostenpflichtigen Funktionen zu erhalten.',
|
||||
isAboutToExpire: 'Ihr aktuelles Abonnement bleibt weiterhin aktiv. Wenn es endet, werden Sie auf den Sandbox-Plan umgestellt, oder Sie können jederzeit upgraden, um den vollen Zugang zu den kostenpflichtigen Funktionen wiederherzustellen.',
|
||||
},
|
||||
action: {
|
||||
dismiss: 'Ablehnen',
|
||||
upgrade: 'Upgrade',
|
||||
reVerify: 'Überprüfen Sie es erneut',
|
||||
},
|
||||
dateFormat: 'MM/TT/JJJJ',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
44
dify/web/i18n/de-DE/explore.ts
Normal file
44
dify/web/i18n/de-DE/explore.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
const translation = {
|
||||
title: 'Entdecken',
|
||||
sidebar: {
|
||||
discovery: 'Entdeckung',
|
||||
chat: 'Chat',
|
||||
workspace: 'Arbeitsbereich',
|
||||
action: {
|
||||
pin: 'Anheften',
|
||||
unpin: 'Lösen',
|
||||
rename: 'Umbenennen',
|
||||
delete: 'Löschen',
|
||||
},
|
||||
delete: {
|
||||
title: 'App löschen',
|
||||
content: 'Sind Sie sicher, dass Sie diese App löschen möchten?',
|
||||
},
|
||||
},
|
||||
apps: {
|
||||
title: 'Apps von Dify erkunden',
|
||||
description: 'Nutzen Sie diese Vorlagen-Apps sofort oder passen Sie Ihre eigenen Apps basierend auf den Vorlagen an.',
|
||||
allCategories: 'Alle Kategorien',
|
||||
},
|
||||
appCard: {
|
||||
addToWorkspace: 'Zum Arbeitsbereich hinzufügen',
|
||||
customize: 'Anpassen',
|
||||
},
|
||||
appCustomize: {
|
||||
title: 'App aus {{name}} erstellen',
|
||||
subTitle: 'App-Symbol & Name',
|
||||
nameRequired: 'App-Name ist erforderlich',
|
||||
},
|
||||
category: {
|
||||
Assistant: 'Assistent',
|
||||
Writing: 'Schreiben',
|
||||
Translate: 'Übersetzen',
|
||||
Programming: 'Programmieren',
|
||||
HR: 'Personalwesen',
|
||||
Agent: 'Agent',
|
||||
Workflow: 'Arbeitsablauf',
|
||||
Entertainment: 'Unterhaltung',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
8
dify/web/i18n/de-DE/layout.ts
Normal file
8
dify/web/i18n/de-DE/layout.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
const translation = {
|
||||
sidebar: {
|
||||
collapseSidebar: 'Seitenleiste einklappen',
|
||||
expandSidebar: 'Seitenleiste erweitern',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
126
dify/web/i18n/de-DE/login.ts
Normal file
126
dify/web/i18n/de-DE/login.ts
Normal file
@@ -0,0 +1,126 @@
|
||||
const translation = {
|
||||
pageTitle: 'Hey, lass uns anfangen!👋',
|
||||
welcome: 'Willkommen bei Dify, bitte melde dich an, um fortzufahren.',
|
||||
email: 'E-Mail-Adresse',
|
||||
emailPlaceholder: 'Deine E-Mail',
|
||||
password: 'Passwort',
|
||||
passwordPlaceholder: 'Dein Passwort',
|
||||
name: 'Benutzername',
|
||||
namePlaceholder: 'Dein Benutzername',
|
||||
forget: 'Passwort vergessen?',
|
||||
signBtn: 'Anmelden',
|
||||
installBtn: 'Einrichten',
|
||||
setAdminAccount: 'Admin-Konto einrichten',
|
||||
setAdminAccountDesc: 'Maximale Berechtigungen für das Admin-Konto, das verwendet werden kann, um Anwendungen zu erstellen und LLM-Anbieter usw. zu verwalten.',
|
||||
createAndSignIn: 'Erstellen und anmelden',
|
||||
oneMoreStep: 'Nur noch ein Schritt',
|
||||
createSample: 'Basierend auf diesen Informationen erstellen wir eine Beispielanwendung für dich',
|
||||
invitationCode: 'Einladungscode',
|
||||
invitationCodePlaceholder: 'Dein Einladungscode',
|
||||
interfaceLanguage: 'Oberflächensprache',
|
||||
timezone: 'Zeitzone',
|
||||
go: 'Zu Dify gehen',
|
||||
sendUsMail: 'Sende uns deine Vorstellung per E-Mail, und wir bearbeiten die Einladungsanfrage.',
|
||||
acceptPP: 'Ich habe die Datenschutzbestimmungen gelesen und akzeptiere sie',
|
||||
reset: 'Bitte führe den folgenden Befehl aus, um dein Passwort zurückzusetzen',
|
||||
withGitHub: 'Mit GitHub fortfahren',
|
||||
withGoogle: 'Mit Google fortfahren',
|
||||
rightTitle: 'Das volle Potenzial von LLM ausschöpfen',
|
||||
rightDesc: 'Mühelos optisch ansprechende, bedienbare und verbesserbare KI-Anwendungen erstellen.',
|
||||
tos: 'Nutzungsbedingungen',
|
||||
pp: 'Datenschutzbestimmungen',
|
||||
tosDesc: 'Mit der Anmeldung stimmst du unseren',
|
||||
goToInit: 'Wenn du das Konto noch nicht initialisiert hast, gehe bitte zur Initialisierungsseite',
|
||||
dontHave: 'Hast du nicht?',
|
||||
invalidInvitationCode: 'Ungültiger Einladungscode',
|
||||
accountAlreadyInited: 'Konto bereits initialisiert',
|
||||
forgotPassword: 'Passwort vergessen?',
|
||||
resetLinkSent: 'Link zum Zurücksetzen gesendet',
|
||||
sendResetLink: 'Link zum Zurücksetzen senden',
|
||||
backToSignIn: 'Zurück zur Anmeldung',
|
||||
forgotPasswordDesc: 'Bitte geben Sie Ihre E-Mail-Adresse ein, um Ihr Passwort zurückzusetzen. Wir senden Ihnen eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts.',
|
||||
checkEmailForResetLink: 'Bitte überprüfen Sie Ihre E-Mails auf einen Link zum Zurücksetzen Ihres Passworts. Wenn er nicht innerhalb weniger Minuten erscheint, überprüfen Sie bitte Ihren Spam-Ordner.',
|
||||
passwordChanged: 'Jetzt anmelden',
|
||||
changePassword: 'Passwort ändern',
|
||||
changePasswordTip: 'Bitte geben Sie ein neues Passwort für Ihr Konto ein',
|
||||
invalidToken: 'Ungültiges oder abgelaufenes Token',
|
||||
confirmPassword: 'Passwort bestätigen',
|
||||
confirmPasswordPlaceholder: 'Bestätigen Sie Ihr neues Passwort',
|
||||
passwordChangedTip: 'Ihr Passwort wurde erfolgreich geändert',
|
||||
error: {
|
||||
emailEmpty: 'E-Mail-Adresse wird benötigt',
|
||||
emailInValid: 'Bitte gib eine gültige E-Mail-Adresse ein',
|
||||
nameEmpty: 'Name wird benötigt',
|
||||
passwordEmpty: 'Passwort wird benötigt',
|
||||
passwordInvalid: 'Das Passwort muss Buchstaben und Zahlen enthalten und länger als 8 Zeichen sein',
|
||||
passwordLengthInValid: 'Das Passwort muss mindestens 8 Zeichen lang sein',
|
||||
registrationNotAllowed: 'Konto nicht gefunden. Bitte wenden Sie sich an den Systemadministrator, um sich zu registrieren.',
|
||||
invalidEmailOrPassword: 'Ungültige E-Mail oder Passwort.',
|
||||
},
|
||||
license: {
|
||||
tip: 'Bevor du mit Dify Community Edition beginnst, lies die',
|
||||
link: 'Open-Source-Lizenz',
|
||||
},
|
||||
join: 'Beitreten',
|
||||
joinTipStart: 'Lade dich ein, dem',
|
||||
joinTipEnd: 'Team auf Dify beizutreten',
|
||||
invalid: 'Der Link ist abgelaufen',
|
||||
explore: 'Dify erkunden',
|
||||
activatedTipStart: 'Du bist dem',
|
||||
activatedTipEnd: 'Team beigetreten',
|
||||
activated: 'Jetzt anmelden',
|
||||
adminInitPassword: 'Admin-Initialpasswort',
|
||||
validate: 'Validieren',
|
||||
checkCode: {
|
||||
didNotReceiveCode: 'Sie haben den Code nicht erhalten?',
|
||||
verificationCodePlaceholder: 'Geben Sie den 6-stelligen Code ein',
|
||||
checkYourEmail: 'Überprüfen Sie Ihre E-Mails',
|
||||
verify: 'Überprüfen',
|
||||
verificationCode: 'Verifizierungscode',
|
||||
useAnotherMethod: 'Verwenden Sie eine andere Methode',
|
||||
validTime: 'Beachten Sie, dass der Code 5 Minuten lang gültig ist',
|
||||
emptyCode: 'Code ist erforderlich',
|
||||
invalidCode: 'Ungültiger Code',
|
||||
resend: 'Wieder senden',
|
||||
tipsPrefix: 'Wir senden einen Bestätigungscode an',
|
||||
},
|
||||
or: 'ODER',
|
||||
back: 'Zurück',
|
||||
changePasswordBtn: 'Festlegen eines Kennworts',
|
||||
enterYourName: 'Bitte geben Sie Ihren Benutzernamen ein',
|
||||
setYourAccount: 'Richten Sie Ihr Konto ein',
|
||||
sendVerificationCode: 'Verifizierungscode senden',
|
||||
useVerificationCode: 'Verifizierungscode verwenden',
|
||||
withSSO: 'Mit SSO fortfahren',
|
||||
resetPasswordDesc: 'Geben Sie die E-Mail-Adresse ein, mit der Sie sich bei Dify angemeldet haben, und wir senden Ihnen eine E-Mail zum Zurücksetzen des Passworts.',
|
||||
continueWithCode: 'Fahren Sie mit dem Code fort',
|
||||
resetPassword: 'Passwort zurücksetzen',
|
||||
backToLogin: 'Zurück zum Login',
|
||||
noLoginMethodTip: 'Wenden Sie sich an den Systemadministrator, um eine Authentifizierungsmethode hinzuzufügen.',
|
||||
usePassword: 'Passwort verwenden',
|
||||
noLoginMethod: 'Authentifizierungsmethode nicht konfiguriert',
|
||||
licenseExpired: 'Lizenz abgelaufen',
|
||||
licenseLostTip: 'Fehler beim Verbinden des Dify-Lizenzservers. Wenden Sie sich an Ihren Administrator, um Dify weiterhin zu verwenden.',
|
||||
licenseInactive: 'Lizenz inaktiv',
|
||||
licenseInactiveTip: 'Die Dify Enterprise-Lizenz für Ihren Arbeitsbereich ist inaktiv. Wenden Sie sich an Ihren Administrator, um Dify weiterhin zu verwenden.',
|
||||
licenseExpiredTip: 'Die Dify Enterprise-Lizenz für Ihren Arbeitsbereich ist abgelaufen. Wenden Sie sich an Ihren Administrator, um Dify weiterhin zu verwenden.',
|
||||
licenseLost: 'Lizenz verloren',
|
||||
webapp: {
|
||||
noLoginMethod: 'Authentifizierungsmethode ist nicht für die Webanwendung konfiguriert',
|
||||
noLoginMethodTip: 'Bitte kontaktieren Sie den Systemadministrator, um eine Authentifizierungsmethode hinzuzufügen.',
|
||||
disabled: 'Die Webanmeldeauthentifizierung ist deaktiviert. Bitte kontaktieren Sie den Systemadministrator, um sie zu aktivieren. Sie können versuchen, die App direkt zu verwenden.',
|
||||
login: 'Anmelden',
|
||||
},
|
||||
signup: {
|
||||
createAccount: 'Erstellen Sie Ihr Konto',
|
||||
signIn: 'Anmelden',
|
||||
signUp: 'Anmelden',
|
||||
welcome: '👋 Willkommen! Bitte füllen Sie die Einzelheiten aus, um zu beginnen.',
|
||||
haveAccount: 'Haben Sie bereits ein Konto?',
|
||||
noAccount: 'Haben Sie kein Konto?',
|
||||
verifyMail: 'Fahren Sie mit dem Bestätigungscode fort',
|
||||
},
|
||||
pageTitleForE: 'Hey, lass uns anfangen!',
|
||||
}
|
||||
|
||||
export default translation
|
||||
27
dify/web/i18n/de-DE/oauth.ts
Normal file
27
dify/web/i18n/de-DE/oauth.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
const translation = {
|
||||
tips: {
|
||||
common: 'Wir respektieren Ihre Privatsphäre und werden diese Informationen nur verwenden, um Ihre Erfahrung mit unseren Entwickler-Tools zu verbessern.',
|
||||
notLoggedIn: 'Diese App möchte auf Ihr Dify Cloud-Konto zugreifen',
|
||||
loggedIn: 'Diese App möchte auf die folgenden Informationen aus Ihrem Dify Cloud-Konto zugreifen.',
|
||||
needLogin: 'Bitte melden Sie sich an, um zu autorisieren.',
|
||||
},
|
||||
scopes: {
|
||||
avatar: 'Avatar',
|
||||
timezone: 'Zeitzone',
|
||||
name: 'Name',
|
||||
email: 'E-Mail',
|
||||
languagePreference: 'Sprachauswahl',
|
||||
},
|
||||
error: {
|
||||
invalidParams: 'Ungültige Parameter',
|
||||
authAppInfoFetchFailed: 'Fehler beim Abrufen der App-Informationen für die Autorisierung',
|
||||
authorizeFailed: 'Autorisierung fehlgeschlagen',
|
||||
},
|
||||
switchAccount: 'Konto wechseln',
|
||||
login: 'Anmelden',
|
||||
unknownApp: 'Unbekannte App',
|
||||
continue: 'Fortsetzen',
|
||||
connect: 'Verbinden mit',
|
||||
}
|
||||
|
||||
export default translation
|
||||
40
dify/web/i18n/de-DE/pipeline.ts
Normal file
40
dify/web/i18n/de-DE/pipeline.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
const translation = {
|
||||
common: {
|
||||
publishAsPipeline: {
|
||||
description: 'Beschreibung des Wissens',
|
||||
name: 'Name und Symbol der Pipeline',
|
||||
namePlaceholder: 'Geben Sie den Namen dieser Knowledge Pipeline ein. (Erforderlich)',
|
||||
descriptionPlaceholder: 'Bitte geben Sie die Beschreibung dieser Knowledge Pipeline ein. (Fakultativ)',
|
||||
},
|
||||
testRun: 'Testlauf',
|
||||
reRun: 'Erneuter Lauf',
|
||||
goToAddDocuments: 'Gehen Sie zu Dokumente hinzufügen',
|
||||
confirmPublish: 'Bestätigen Sie die Veröffentlichung',
|
||||
publishAs: 'Veröffentlichen als Wissenspipeline',
|
||||
confirmPublishContent: 'Nach der erfolgreichen Veröffentlichung der Wissenspipeline kann die Chunk-Struktur dieser Wissensdatenbank nicht mehr geändert werden. Sind Sie sicher, dass Sie es veröffentlichen möchten?',
|
||||
processing: 'Verarbeitung',
|
||||
preparingDataSource: 'Vorbereiten der Datenquelle',
|
||||
},
|
||||
inputField: {
|
||||
create: 'Benutzereingabefeld erstellen',
|
||||
manage: 'Verwalten',
|
||||
},
|
||||
publishToast: {
|
||||
title: 'Diese Pipeline wurde noch nicht veröffentlicht',
|
||||
desc: 'Wenn die Pipeline nicht veröffentlicht wird, können Sie die Chunk-Struktur im Wissensdatenbank-Knoten ändern, und die Pipeline-Orchestrierung und -Änderungen werden automatisch als Entwurf gespeichert.',
|
||||
},
|
||||
result: {
|
||||
resultPreview: {
|
||||
viewDetails: 'Details anzeigen',
|
||||
error: 'Während der Ausführung ist ein Fehler aufgetreten',
|
||||
loading: 'Verarbeitung... Bitte warten',
|
||||
footerTip: 'Im Testlaufmodus bis zu {{count}} Abschnitte anzeigen',
|
||||
},
|
||||
},
|
||||
ragToolSuggestions: {
|
||||
title: 'Vorschläge für die RAG',
|
||||
noRecommendationPlugins: 'Keine empfohlenen Plugins, finde mehr im <CustomLink>Marktplatz</CustomLink>',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
26
dify/web/i18n/de-DE/plugin-tags.ts
Normal file
26
dify/web/i18n/de-DE/plugin-tags.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
const translation = {
|
||||
tags: {
|
||||
weather: 'Wetter',
|
||||
social: 'Sozial',
|
||||
image: 'Bild',
|
||||
education: 'Bildung',
|
||||
travel: 'Reise',
|
||||
agent: 'Agent',
|
||||
design: 'Entwurf',
|
||||
finance: 'Finanzieren',
|
||||
search: 'Suchen',
|
||||
medical: 'Medizinisch',
|
||||
business: 'Geschäft',
|
||||
news: 'Nachrichten',
|
||||
videos: 'Videos',
|
||||
other: 'Andere',
|
||||
entertainment: 'Unterhaltung',
|
||||
utilities: 'Versorgungswirtschaft',
|
||||
productivity: 'Produktivität',
|
||||
rag: 'LAPPEN',
|
||||
},
|
||||
searchTags: 'Such-Tags',
|
||||
allTags: 'Alle Schlagwörter',
|
||||
}
|
||||
|
||||
export default translation
|
||||
186
dify/web/i18n/de-DE/plugin-trigger.ts
Normal file
186
dify/web/i18n/de-DE/plugin-trigger.ts
Normal file
@@ -0,0 +1,186 @@
|
||||
const translation = {
|
||||
subscription: {
|
||||
title: 'Abonnements',
|
||||
listNum: '{{num}} Abonnements',
|
||||
empty: {
|
||||
title: 'Keine Abonnements',
|
||||
button: 'Neues Abonnement',
|
||||
},
|
||||
createButton: {
|
||||
oauth: 'Neue Anmeldung mit OAuth',
|
||||
apiKey: 'Neues Abonnement mit API-Schlüssel',
|
||||
manual: 'URL einfügen, um ein neues Abonnement zu erstellen',
|
||||
},
|
||||
createSuccess: 'Abonnement erfolgreich erstellt',
|
||||
createFailed: 'Fehler beim Erstellen des Abonnements',
|
||||
maxCount: 'Max {{num}} Abonnements',
|
||||
selectPlaceholder: 'Abonnement auswählen',
|
||||
noSubscriptionSelected: 'Kein Abonnement ausgewählt',
|
||||
subscriptionRemoved: 'Abonnement entfernt',
|
||||
list: {
|
||||
title: 'Abonnements',
|
||||
addButton: 'Hinzufügen',
|
||||
tip: 'Ereignisse über ein Abonnement empfangen',
|
||||
item: {
|
||||
enabled: 'Aktiviert',
|
||||
disabled: 'Deaktiviert',
|
||||
credentialType: {
|
||||
api_key: 'API-Schlüssel',
|
||||
oauth2: 'OAuth',
|
||||
unauthorized: 'Handbuch',
|
||||
},
|
||||
actions: {
|
||||
delete: 'Löschen',
|
||||
deleteConfirm: {
|
||||
title: '„{{name}} löschen?“',
|
||||
success: 'Abonnement {{name}} erfolgreich gelöscht',
|
||||
error: 'Löschen des Abonnements {{name}} fehlgeschlagen',
|
||||
content: 'Einmal gelöscht, kann dieses Abonnement nicht wiederhergestellt werden. Bitte bestätigen Sie.',
|
||||
contentWithApps: 'Das aktuelle Abonnement wird von {{count}} Anwendungen referenziert. Wenn es gelöscht wird, werden die konfigurierten Anwendungen keine Abonnementereignisse mehr erhalten.',
|
||||
confirm: 'Löschen bestätigen',
|
||||
cancel: 'Abbrechen',
|
||||
confirmInputWarning: 'Bitte geben Sie den korrekten Namen zur Bestätigung ein.',
|
||||
confirmInputPlaceholder: 'Geben Sie "{{name}}" ein, um zu bestätigen.',
|
||||
confirmInputTip: 'Bitte geben Sie „{{name}}“ zur Bestätigung ein.',
|
||||
},
|
||||
},
|
||||
status: {
|
||||
active: 'Aktiv',
|
||||
inactive: 'Inaktiv',
|
||||
},
|
||||
usedByNum: 'Verwendet von {{num}} Workflows',
|
||||
noUsed: 'Kein Workflow verwendet',
|
||||
},
|
||||
},
|
||||
addType: {
|
||||
title: 'Abonnement hinzufügen',
|
||||
description: 'Wählen Sie aus, wie Sie Ihr Trigger-Abonnement erstellen möchten',
|
||||
options: {
|
||||
apikey: {
|
||||
title: 'Mit API-Schlüssel erstellen',
|
||||
description: 'Abonnement automatisch mit API-Zugangsdaten erstellen',
|
||||
},
|
||||
oauth: {
|
||||
title: 'Erstellen Sie mit OAuth',
|
||||
description: 'Bei einer Drittanbieterplattform autorisieren, um ein Abonnement zu erstellen',
|
||||
clientSettings: 'OAuth-Client-Einstellungen',
|
||||
clientTitle: 'OAuth-Client',
|
||||
default: 'Standard',
|
||||
custom: 'Benutzerdefiniert',
|
||||
},
|
||||
manual: {
|
||||
title: 'Manuelle Einrichtung',
|
||||
description: 'URL einfügen, um ein neues Abonnement zu erstellen',
|
||||
tip: 'URL auf einer Drittanbieterplattform manuell konfigurieren',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
modal: {
|
||||
steps: {
|
||||
verify: 'Überprüfen',
|
||||
configuration: 'Konfiguration',
|
||||
},
|
||||
common: {
|
||||
cancel: 'Abbrechen',
|
||||
back: 'Zurück',
|
||||
next: 'Weiter',
|
||||
create: 'Erstellen',
|
||||
verify: 'Überprüfen',
|
||||
authorize: 'Autorisieren',
|
||||
creating: 'Erstellen...',
|
||||
verifying: 'Überprüfen...',
|
||||
authorizing: 'Autorisierung läuft...',
|
||||
},
|
||||
oauthRedirectInfo: 'Da für diesen Toolanbieter keine System-Client-Geheimnisse gefunden wurden, ist eine manuelle Einrichtung erforderlich. Für redirect_uri verwenden Sie bitte',
|
||||
apiKey: {
|
||||
title: 'Mit API-Schlüssel erstellen',
|
||||
verify: {
|
||||
title: 'Anmeldeinformationen überprüfen',
|
||||
description: 'Bitte geben Sie Ihre API-Zugangsdaten ein, um den Zugriff zu überprüfen',
|
||||
error: 'Überprüfung der Anmeldedaten fehlgeschlagen. Bitte überprüfen Sie Ihren API-Schlüssel.',
|
||||
success: 'Anmeldedaten erfolgreich überprüft',
|
||||
},
|
||||
configuration: {
|
||||
title: 'Abonnement konfigurieren',
|
||||
description: 'Richten Sie Ihre Abonnementparameter ein',
|
||||
},
|
||||
},
|
||||
oauth: {
|
||||
title: 'Mit OAuth erstellen',
|
||||
authorization: {
|
||||
title: 'OAuth-Autorisierung',
|
||||
description: 'Erlaube Dify den Zugriff auf dein Konto',
|
||||
redirectUrl: 'Weiterleitungs-URL',
|
||||
redirectUrlHelp: 'Verwenden Sie diese URL in der Konfiguration Ihrer OAuth-App',
|
||||
authorizeButton: 'Autorisieren mit {{provider}}',
|
||||
waitingAuth: 'Warten auf die Autorisierung...',
|
||||
authSuccess: 'Autorisierung erfolgreich',
|
||||
authFailed: 'Fehler beim Abrufen der OAuth-Autorisierungsinformationen',
|
||||
waitingJump: 'Autorisierte, warten auf den Sprung',
|
||||
},
|
||||
configuration: {
|
||||
title: 'Abonnement konfigurieren',
|
||||
description: 'Richten Sie Ihre Abonnementparameter nach der Autorisierung ein',
|
||||
success: 'OAuth-Konfiguration erfolgreich',
|
||||
failed: 'OAuth-Konfiguration fehlgeschlagen',
|
||||
},
|
||||
remove: {
|
||||
success: 'OAuth erfolgreich entfernt',
|
||||
failed: 'OAuth-Entfernung fehlgeschlagen',
|
||||
},
|
||||
save: {
|
||||
success: 'OAuth-Konfiguration erfolgreich gespeichert',
|
||||
},
|
||||
},
|
||||
manual: {
|
||||
title: 'Manuelle Einrichtung',
|
||||
description: 'Konfigurieren Sie Ihr Webhook-Abonnement manuell',
|
||||
logs: {
|
||||
title: 'Anforderungsprotokolle',
|
||||
request: 'Anfrage',
|
||||
loading: 'Warten auf Anfrage von {{pluginName}}...',
|
||||
},
|
||||
},
|
||||
form: {
|
||||
subscriptionName: {
|
||||
label: 'Abonnementname',
|
||||
placeholder: 'Abonnementname eingeben',
|
||||
required: 'Der Abonnementname ist erforderlich',
|
||||
},
|
||||
callbackUrl: {
|
||||
label: 'Rückruf-URL',
|
||||
description: 'Diese URL wird Webhook-Ereignisse empfangen',
|
||||
tooltip: 'Stellen Sie einen öffentlich zugänglichen Endpunkt bereit, der Callback-Anfragen vom Auslöseranbieter empfangen kann.',
|
||||
placeholder: 'Generierung...',
|
||||
privateAddressWarning: 'Diese URL scheint eine interne Adresse zu sein, was dazu führen kann, dass Webhook-Anfragen fehlschlagen. Sie können TRIGGER_URL auf eine öffentliche Adresse ändern.',
|
||||
},
|
||||
},
|
||||
errors: {
|
||||
createFailed: 'Fehler beim Erstellen des Abonnements',
|
||||
verifyFailed: 'Anmeldeinformationen konnten nicht überprüft werden',
|
||||
authFailed: 'Autorisierung fehlgeschlagen',
|
||||
networkError: 'Netzwerkfehler, bitte versuchen Sie es erneut',
|
||||
},
|
||||
},
|
||||
events: {
|
||||
title: 'Verfügbare Veranstaltungen',
|
||||
description: 'Ereignisse, auf die dieses Trigger-Plugin reagieren kann',
|
||||
empty: 'Keine Veranstaltungen verfügbar',
|
||||
event: 'Veranstaltung',
|
||||
events: 'Veranstaltungen',
|
||||
actionNum: '{{num}} {{event}} ENTHALTEN',
|
||||
item: {
|
||||
parameters: '{{count}} Parameter',
|
||||
noParameters: 'Keine Parameter',
|
||||
},
|
||||
output: 'Ausgabe',
|
||||
},
|
||||
node: {
|
||||
status: {
|
||||
warning: 'Trennen',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
353
dify/web/i18n/de-DE/plugin.ts
Normal file
353
dify/web/i18n/de-DE/plugin.ts
Normal file
@@ -0,0 +1,353 @@
|
||||
const translation = {
|
||||
category: {
|
||||
extensions: 'Erweiterungen',
|
||||
bundles: 'Bündel',
|
||||
agents: 'Agenten-Strategien',
|
||||
models: 'Modelle',
|
||||
all: 'Alle',
|
||||
tools: 'Werkzeuge',
|
||||
datasources: 'Datenquellen',
|
||||
triggers: 'Auslöser',
|
||||
},
|
||||
categorySingle: {
|
||||
extension: 'Erweiterung',
|
||||
agent: 'Agenten-Strategie',
|
||||
bundle: 'Bündel',
|
||||
model: 'Modell',
|
||||
tool: 'Werkzeug',
|
||||
datasource: 'Datenquelle',
|
||||
trigger: 'Auslöser',
|
||||
},
|
||||
list: {
|
||||
source: {
|
||||
marketplace: 'Installation aus dem Marketplace',
|
||||
github: 'Installation von GitHub',
|
||||
local: 'Installation aus lokaler Paketdatei',
|
||||
},
|
||||
notFound: 'Keine Plugins gefunden',
|
||||
noInstalled: 'Keine Plugins installiert',
|
||||
},
|
||||
source: {
|
||||
github: 'GitHub (Englisch)',
|
||||
marketplace: 'Marktplatz',
|
||||
local: 'Lokale Paketdatei',
|
||||
},
|
||||
detailPanel: {
|
||||
categoryTip: {
|
||||
local: 'Lokales Plugin',
|
||||
github: 'Installiert von Github',
|
||||
marketplace: 'Installiert aus dem Marketplace',
|
||||
debugging: 'Debuggen-Plugin',
|
||||
},
|
||||
operation: {
|
||||
remove: 'Entfernen',
|
||||
detail: 'Einzelheiten',
|
||||
install: 'Installieren',
|
||||
info: 'Plugin-Informationen',
|
||||
checkUpdate: 'Update prüfen',
|
||||
update: 'Aktualisieren',
|
||||
viewDetail: 'Im Detail sehen',
|
||||
back: 'Zurück',
|
||||
},
|
||||
toolSelector: {
|
||||
paramsTip1: 'Steuert LLM-Inferenzparameter.',
|
||||
settings: 'BENUTZEREINSTELLUNGEN',
|
||||
uninstalledLink: 'In Plugins verwalten',
|
||||
descriptionLabel: 'Beschreibung des Werkzeugs',
|
||||
empty:
|
||||
'Klicken Sie auf die Schaltfläche "+", um Werkzeuge hinzuzufügen. Sie können mehrere Werkzeuge hinzufügen.',
|
||||
title: 'Werkzeug "Hinzufügen"',
|
||||
paramsTip2:
|
||||
'Wenn "Automatisch" ausgeschaltet ist, wird der Standardwert verwendet.',
|
||||
unsupportedContent:
|
||||
'Die installierte Plug-in-Version bietet diese Aktion nicht.',
|
||||
unsupportedTitle: 'Nicht unterstützte Aktion',
|
||||
descriptionPlaceholder:
|
||||
'Kurze Beschreibung des Zwecks des Werkzeugs, z. B. um die Temperatur für einen bestimmten Ort zu ermitteln.',
|
||||
auto: 'Auto',
|
||||
params: 'KONFIGURATION DER ARGUMENTATION',
|
||||
unsupportedContent2: 'Klicken Sie hier, um die Version zu wechseln.',
|
||||
placeholder: 'Wählen Sie ein Werkzeug aus...',
|
||||
uninstalledTitle: 'Tool nicht installiert',
|
||||
toolLabel: 'Werkzeug',
|
||||
uninstalledContent:
|
||||
'Dieses Plugin wird aus dem lokalen/GitHub-Repository installiert. Bitte nach der Installation verwenden.',
|
||||
toolSetting: 'Werkzeugs Einstellungen',
|
||||
unsupportedMCPTool:
|
||||
'Die derzeit ausgewählte Agentenstrategie-Plugin-Version unterstützt keine MCP-Tools.',
|
||||
},
|
||||
strategyNum: '{{num}} {{Strategie}} IINKLUSIVE',
|
||||
configureApp: 'App konfigurieren',
|
||||
endpointDeleteContent: 'Möchten Sie {{name}} entfernen?',
|
||||
endpointsEmpty:
|
||||
'Klicken Sie auf die Schaltfläche "+", um einen Endpunkt hinzuzufügen',
|
||||
disabled: 'Arbeitsunfähig',
|
||||
endpointsDocLink: 'Dokument anzeigen',
|
||||
endpointDisableTip: 'Endpunkt deaktivieren',
|
||||
endpoints: 'Endpunkte',
|
||||
actionNum: '{{num}} {{Aktion}} IINKLUSIVE',
|
||||
endpointModalTitle: 'Endpunkt einrichten',
|
||||
endpointModalDesc:
|
||||
'Nach der Konfiguration können die Funktionen, die das Plugin über API-Endpunkte bereitstellt, verwendet werden.',
|
||||
configureTool: 'Werkzeug konfigurieren',
|
||||
endpointsTip:
|
||||
'Dieses Plugin bietet bestimmte Funktionen über Endpunkte, und Sie können mehrere Endpunktsätze für den aktuellen Arbeitsbereich konfigurieren.',
|
||||
modelNum: '{{num}} ENTHALTENE MODELLE',
|
||||
configureModel: 'Modell konfigurieren',
|
||||
endpointDisableContent: 'Möchten Sie {{name}} deaktivieren?',
|
||||
endpointDeleteTip: 'Endpunkt entfernen',
|
||||
serviceOk: 'Service in Ordnung',
|
||||
switchVersion: 'Version wechseln',
|
||||
deprecation: {
|
||||
reason: {
|
||||
noMaintainer: 'kein Wartender',
|
||||
ownershipTransferred: 'Eigentum übertragen',
|
||||
businessAdjustments: 'Geschäftsanpassungen',
|
||||
},
|
||||
onlyReason:
|
||||
'Dieses Plugin wurde aufgrund von {{deprecatedReason}} abgelehnt und wird nicht länger aktualisiert.',
|
||||
fullMessage:
|
||||
'Dieses Plugin wurde aufgrund von {{deprecatedReason}} eingestellt und wird nicht mehr aktualisiert. Bitte verwenden Sie stattdessen <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink>.',
|
||||
noReason:
|
||||
'Dieses Plugin wurde eingestellt und wird nicht mehr aktualisiert.',
|
||||
},
|
||||
},
|
||||
debugInfo: {
|
||||
title: 'Debuggen',
|
||||
viewDocs: 'Dokumente anzeigen',
|
||||
},
|
||||
privilege: {
|
||||
everyone: 'Jeder',
|
||||
title: 'Plugin-Einstellungen',
|
||||
noone: 'Niemand',
|
||||
admins: 'Administratoren',
|
||||
whoCanDebug: 'Wer kann Plugins debuggen?',
|
||||
whoCanInstall: 'Wer kann Plugins installieren und verwalten?',
|
||||
},
|
||||
pluginInfoModal: {
|
||||
repository: 'Aufbewahrungsort',
|
||||
title: 'Plugin-Info',
|
||||
packageName: 'Paket',
|
||||
release: 'Loslassen',
|
||||
},
|
||||
action: {
|
||||
checkForUpdates: 'Nach Updates suchen',
|
||||
pluginInfo: 'Plugin-Info',
|
||||
usedInApps: 'Dieses Plugin wird in {{num}} Apps verwendet.',
|
||||
delete: 'Plugin entfernen',
|
||||
deleteContentRight: 'Plugin?',
|
||||
deleteContentLeft: 'Möchten Sie',
|
||||
},
|
||||
installModal: {
|
||||
labels: {
|
||||
repository: 'Aufbewahrungsort',
|
||||
package: 'Paket',
|
||||
version: 'Version',
|
||||
},
|
||||
installFailed: 'Installation fehlgeschlagen',
|
||||
installPlugin: 'Plugin installieren',
|
||||
uploadFailed: 'Upload fehlgeschlagen',
|
||||
install: 'Installieren',
|
||||
installComplete: 'Installation abgeschlossen',
|
||||
installing: 'Installation...',
|
||||
installedSuccessfullyDesc: 'Das Plugin wurde erfolgreich installiert.',
|
||||
installedSuccessfully: 'Installation erfolgreich',
|
||||
installFailedDesc: 'Die Installation des Plugins ist fehlgeschlagen.',
|
||||
pluginLoadError: 'Fehler beim Laden des Plugins',
|
||||
close: 'Schließen',
|
||||
pluginLoadErrorDesc: 'Dieses Plugin wird nicht installiert',
|
||||
cancel: 'Abbrechen',
|
||||
back: 'Zurück',
|
||||
uploadingPackage: 'Das Hochladen von {{packageName}}...',
|
||||
readyToInstallPackage: 'Über die Installation des folgenden Plugins',
|
||||
readyToInstallPackages:
|
||||
'Über die Installation der folgenden {{num}} Plugins',
|
||||
fromTrustSource:
|
||||
'Bitte stellen Sie sicher, dass Sie nur Plugins aus einer <trustSource>vertrauenswürdigen Quelle</trustSource> installieren.',
|
||||
readyToInstall: 'Über die Installation des folgenden Plugins',
|
||||
dropPluginToInstall:
|
||||
'Legen Sie das Plugin-Paket hier ab, um es zu installieren',
|
||||
next: 'Nächster',
|
||||
installWarning: 'Dieses Plugin darf nicht installiert werden.',
|
||||
},
|
||||
installFromGitHub: {
|
||||
selectPackagePlaceholder: 'Bitte wählen Sie ein Paket aus',
|
||||
gitHubRepo: 'GitHub-Repository',
|
||||
uploadFailed: 'Upload fehlgeschlagen',
|
||||
selectPackage: 'Paket auswählen',
|
||||
installFailed: 'Installation fehlgeschlagen',
|
||||
installNote:
|
||||
'Bitte stellen Sie sicher, dass Sie nur Plugins aus einer vertrauenswürdigen Quelle installieren.',
|
||||
selectVersionPlaceholder: 'Bitte wählen Sie eine Version aus',
|
||||
updatePlugin: 'Update-Plugin von GitHub',
|
||||
installPlugin: 'Plugin von GitHub installieren',
|
||||
installedSuccessfully: 'Installation erfolgreich',
|
||||
selectVersion: 'Ausführung wählen',
|
||||
},
|
||||
upgrade: {
|
||||
usedInApps: 'Wird in {{num}} Apps verwendet',
|
||||
description: 'Über die Installation des folgenden Plugins',
|
||||
upgrading: 'Installation...',
|
||||
successfulTitle: 'Installation erfolgreich',
|
||||
upgrade: 'Installieren',
|
||||
title: 'Plugin installieren',
|
||||
close: 'Schließen',
|
||||
},
|
||||
error: {
|
||||
inValidGitHubUrl:
|
||||
'Ungültige GitHub-URL. Bitte geben Sie eine gültige URL im Format ein: https://github.com/owner/repo',
|
||||
noReleasesFound:
|
||||
'Keine Veröffentlichungen gefunden. Bitte überprüfen Sie das GitHub-Repository oder die Eingabe-URL.',
|
||||
fetchReleasesError:
|
||||
'Freigaben können nicht abgerufen werden. Bitte versuchen Sie es später erneut.',
|
||||
},
|
||||
marketplace: {
|
||||
sortOption: {
|
||||
newlyReleased: 'Neu veröffentlicht',
|
||||
mostPopular: 'Beliebteste',
|
||||
firstReleased: 'Zuerst veröffentlicht',
|
||||
recentlyUpdated: 'Kürzlich aktualisiert',
|
||||
},
|
||||
viewMore: 'Mehr anzeigen',
|
||||
sortBy: 'Sortieren nach',
|
||||
discover: 'Entdecken',
|
||||
noPluginFound: 'Kein Plugin gefunden',
|
||||
difyMarketplace: 'Dify Marktplatz',
|
||||
moreFrom: 'Mehr aus dem Marketplace',
|
||||
pluginsResult: '{{num}} Ergebnisse',
|
||||
empower: 'Unterstützen Sie Ihre KI-Entwicklung',
|
||||
and: 'und',
|
||||
partnerTip: 'Von einem Dify-Partner verifiziert',
|
||||
verifiedTip: 'Von Dify überprüft',
|
||||
},
|
||||
task: {
|
||||
clearAll: 'Alle löschen',
|
||||
installingWithError:
|
||||
'Installation von {{installingLength}} Plugins, {{successLength}} erfolgreich, {{errorLength}} fehlgeschlagen',
|
||||
installingWithSuccess:
|
||||
'Installation von {{installingLength}} Plugins, {{successLength}} erfolgreich.',
|
||||
installedError: '{{errorLength}} Plugins konnten nicht installiert werden',
|
||||
installing: 'Installation von {{installingLength}} Plugins, 0 erledigt.',
|
||||
installError:
|
||||
'{{errorLength}} Plugins konnten nicht installiert werden, klicken Sie hier, um sie anzusehen',
|
||||
},
|
||||
allCategories: 'Alle Kategorien',
|
||||
install: '{{num}} Installationen',
|
||||
installAction: 'Installieren',
|
||||
from: 'Von',
|
||||
fromMarketplace: 'Aus dem Marketplace',
|
||||
search: 'Suchen',
|
||||
searchCategories: 'Kategorien durchsuchen',
|
||||
searchPlugins: 'Plugins suchen',
|
||||
endpointsEnabled: '{{num}} Gruppen von Endpunkten aktiviert',
|
||||
searchInMarketplace: 'Suche im Marketplace',
|
||||
searchTools: 'Suchwerkzeuge...',
|
||||
findMoreInMarketplace: 'Weitere Informationen finden Sie im Marketplace',
|
||||
installPlugin: 'Plugin installieren',
|
||||
installFrom: 'INSTALLIEREN VON',
|
||||
metadata: {
|
||||
title: 'Plugins',
|
||||
},
|
||||
difyVersionNotCompatible:
|
||||
'Die aktuelle Dify-Version ist mit diesem Plugin nicht kompatibel, bitte aktualisieren Sie auf die erforderliche Mindestversion: {{minimalDifyVersion}}',
|
||||
requestAPlugin: 'Ein Plugin anfordern',
|
||||
publishPlugins: 'Plugins veröffentlichen',
|
||||
auth: {
|
||||
addOAuth: 'OAuth hinzufügen',
|
||||
useOAuthAuth: 'Verwenden Sie die OAuth-Authentifizierung',
|
||||
saveAndAuth: 'Speichern und autorisieren',
|
||||
setDefault: 'Als Standard festlegen',
|
||||
oauthClientSettings: 'OAuth-Client-Einstellungen',
|
||||
saveOnly: 'Nur speichern',
|
||||
authorizations: 'Berechtigungen',
|
||||
authorization: 'Befugnis',
|
||||
workspaceDefault: 'Arbeitsbereich Standard',
|
||||
custom: 'Benutzerdefiniert',
|
||||
default: 'Standard',
|
||||
setupOAuth: 'OAuth-Client einrichten',
|
||||
addApi: 'API-Schlüssel hinzufügen',
|
||||
useOAuth: 'Verwenden Sie OAuth',
|
||||
useApi: 'Verwenden Sie den API-Schlüssel',
|
||||
oauthClient: 'OAuth-Client',
|
||||
authorizationName: 'Genehmigungsname',
|
||||
useApiAuth: 'API-Schlüssel Autorisierungs-Konfiguration',
|
||||
clientInfo:
|
||||
'Da keine System-Client-Geheimnisse für diesen Tool-Anbieter gefunden wurden, ist eine manuelle Einrichtung erforderlich. Bitte verwenden Sie für redirect_uri',
|
||||
useApiAuthDesc:
|
||||
'Nachdem die Anmeldeinformationen konfiguriert wurden, können alle Mitglieder des Arbeitsbereichs dieses Tool beim Orchestrieren von Anwendungen verwenden.',
|
||||
authRemoved: 'Die Authentifizierung wurde entfernt.',
|
||||
unavailable: 'Nicht verfügbar',
|
||||
credentialUnavailable:
|
||||
'Anmeldeinformationen derzeit nicht verfügbar. Bitte kontaktieren Sie den Administrator.',
|
||||
customCredentialUnavailable:
|
||||
'Benutzerdefinierte Anmeldeinformationen derzeit nicht verfügbar',
|
||||
credentialUnavailableInButton: 'Zugangsdaten nicht verfügbar',
|
||||
connectedWorkspace: 'Vernetzter Arbeitsbereich',
|
||||
emptyAuth: 'Bitte konfigurieren Sie die Authentifizierung',
|
||||
},
|
||||
deprecated: 'Abgelehnt',
|
||||
autoUpdate: {
|
||||
strategy: {
|
||||
disabled: {
|
||||
description: 'Plugins werden nicht automatisch aktualisiert',
|
||||
name: 'Behindert',
|
||||
},
|
||||
fixOnly: {
|
||||
name: 'Nur fixieren',
|
||||
selectedDescription: 'Auto-Update nur für Patch-Versionen',
|
||||
description:
|
||||
'Automatische Aktualisierung nur für Patchversionen (z. B. 1.0.1 → 1.0.2). Kleinere Versionsänderungen lösen keine Aktualisierungen aus.',
|
||||
},
|
||||
latest: {
|
||||
description: 'Immer auf die neueste Version aktualisieren',
|
||||
selectedDescription: 'Immer auf die neueste Version aktualisieren',
|
||||
name: 'Neueste',
|
||||
},
|
||||
},
|
||||
upgradeMode: {
|
||||
exclude: 'Ausgewählte ausschließen',
|
||||
partial: 'Nur ausgewählt',
|
||||
all: 'Alle aktualisieren',
|
||||
},
|
||||
upgradeModePlaceholder: {
|
||||
exclude: 'Ausgewählte Plugins werden nicht automatisch aktualisiert',
|
||||
partial:
|
||||
'Nur ausgewählte Plugins werden automatisch aktualisiert. Derzeit sind keine Plugins ausgewählt, daher werden keine Plugins automatisch aktualisiert.',
|
||||
},
|
||||
operation: {
|
||||
clearAll: 'Alles löschen',
|
||||
select: 'Plugins auswählen',
|
||||
},
|
||||
pluginDowngradeWarning: {
|
||||
downgrade: 'Trotzdem downgraden',
|
||||
title: 'Plugin Downgrade',
|
||||
exclude: 'Von der automatischen Aktualisierung ausschließen',
|
||||
description:
|
||||
'Die automatische Aktualisierung ist derzeit für dieses Plugin aktiviert. Ein Downgrade der Version kann dazu führen, dass Ihre Änderungen während des nächsten automatischen Updates überschrieben werden.',
|
||||
},
|
||||
noPluginPlaceholder: {
|
||||
noInstalled: 'Keine Plugins installiert',
|
||||
noFound: 'Keine Plugins gefunden.',
|
||||
},
|
||||
automaticUpdates: 'Automatische Updates',
|
||||
updateTimeTitle: 'Aktualisierungszeit',
|
||||
updateTime: 'Aktualisierungszeit',
|
||||
excludeUpdate:
|
||||
'Die folgenden {{num}} Plugins werden nicht automatisch aktualisiert.',
|
||||
changeTimezone:
|
||||
'Um die Zeitzone zu ändern, gehen Sie zu <setTimezone> Einstellungen </setTimezone>',
|
||||
nextUpdateTime: 'Nächstes automatisches Update: {{time}}',
|
||||
partialUPdate:
|
||||
'Nur die folgenden {{num}} Plugins werden automatisch aktualisiert',
|
||||
specifyPluginsToUpdate: 'Geben Sie die zu aktualisierenden Plugins an',
|
||||
updateSettings: 'Einstellungen aktualisieren',
|
||||
},
|
||||
readmeInfo: {
|
||||
title: 'LIESMICH',
|
||||
needHelpCheckReadme: 'Brauchst du Hilfe? Sieh dir die README an.',
|
||||
noReadmeAvailable: 'Keine README verfügbar',
|
||||
failedToFetch: 'README konnte nicht abgerufen werden',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
4
dify/web/i18n/de-DE/register.ts
Normal file
4
dify/web/i18n/de-DE/register.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
const translation = {
|
||||
}
|
||||
|
||||
export default translation
|
||||
31
dify/web/i18n/de-DE/run-log.ts
Normal file
31
dify/web/i18n/de-DE/run-log.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
const translation = {
|
||||
input: 'EINGABE',
|
||||
result: 'ERGEBNIS',
|
||||
detail: 'DETAILS',
|
||||
tracing: 'NACHVERFOLGUNG',
|
||||
resultPanel: {
|
||||
status: 'STATUS',
|
||||
time: 'VERSTRICHENE ZEIT',
|
||||
tokens: 'GESAMTZEICHEN',
|
||||
},
|
||||
meta: {
|
||||
title: 'METADATEN',
|
||||
status: 'Status',
|
||||
version: 'Version',
|
||||
executor: 'Ausführender',
|
||||
startTime: 'Startzeit',
|
||||
time: 'Verstrichene Zeit',
|
||||
tokens: 'Gesamtzeichen',
|
||||
steps: 'Ausführungsschritte',
|
||||
},
|
||||
resultEmpty: {
|
||||
title: 'Dieser Lauf gibt nur das JSON-Format aus',
|
||||
tipLeft: 'Bitte gehen Sie zum ',
|
||||
tipRight: 'ansehen.',
|
||||
link: 'Gruppe Detail',
|
||||
},
|
||||
actionLogs: 'Aktionsprotokolle',
|
||||
circularInvocationTip: 'Es gibt einen zirkulären Aufruf von Werkzeugen/Knoten im aktuellen Workflow.',
|
||||
}
|
||||
|
||||
export default translation
|
||||
86
dify/web/i18n/de-DE/share.ts
Normal file
86
dify/web/i18n/de-DE/share.ts
Normal file
@@ -0,0 +1,86 @@
|
||||
const translation = {
|
||||
common: {
|
||||
welcome: '',
|
||||
appUnavailable: 'App ist nicht verfügbar',
|
||||
appUnknownError: 'App ist nicht verfügbar',
|
||||
},
|
||||
chat: {
|
||||
newChat: 'Neuer Chat',
|
||||
pinnedTitle: 'Angeheftet',
|
||||
unpinnedTitle: 'Chats',
|
||||
newChatDefaultName: 'Neues Gespräch',
|
||||
resetChat: 'Gespräch zurücksetzen',
|
||||
poweredBy: 'Bereitgestellt von',
|
||||
prompt: 'Aufforderung',
|
||||
privatePromptConfigTitle: 'Konversationseinstellungen',
|
||||
publicPromptConfigTitle: 'Anfängliche Aufforderung',
|
||||
configStatusDes: 'Vor dem Start können Sie die Konversationseinstellungen ändern',
|
||||
configDisabled:
|
||||
'Voreinstellungen der vorherigen Sitzung wurden für diese Sitzung verwendet.',
|
||||
startChat: 'Chat starten',
|
||||
privacyPolicyLeft:
|
||||
'Bitte lesen Sie die ',
|
||||
privacyPolicyMiddle:
|
||||
'Datenschutzrichtlinien',
|
||||
privacyPolicyRight:
|
||||
', die vom App-Entwickler bereitgestellt wurden.',
|
||||
deleteConversation: {
|
||||
title: 'Konversation löschen',
|
||||
content: 'Sind Sie sicher, dass Sie diese Konversation löschen möchten?',
|
||||
},
|
||||
tryToSolve: 'Versuchen zu lösen',
|
||||
temporarySystemIssue: 'Entschuldigung, vorübergehendes Systemproblem.',
|
||||
expand: 'Erweitern',
|
||||
collapse: 'Reduzieren',
|
||||
chatSettingsTitle: 'Neues Chat-Setup',
|
||||
newChatTip: 'Bereits in einem neuen Chat',
|
||||
viewChatSettings: 'Chateinstellungen anzeigen',
|
||||
chatFormTip: 'Chat-Einstellungen können nach Beginn des Chats nicht mehr geändert werden.',
|
||||
},
|
||||
generation: {
|
||||
tabs: {
|
||||
create: 'Einmal ausführen',
|
||||
batch: 'Stapelverarbeitung',
|
||||
saved: 'Gespeichert',
|
||||
},
|
||||
savedNoData: {
|
||||
title: 'Sie haben noch kein Ergebnis gespeichert!',
|
||||
description: 'Beginnen Sie mit der Inhaltserstellung und finden Sie hier Ihre gespeicherten Ergebnisse.',
|
||||
startCreateContent: 'Beginnen Sie mit der Inhaltserstellung',
|
||||
},
|
||||
title: 'KI-Vervollständigung',
|
||||
queryTitle: 'Abfrageinhalt',
|
||||
completionResult: 'Vervollständigungsergebnis',
|
||||
queryPlaceholder: 'Schreiben Sie Ihren Abfrageinhalt...',
|
||||
run: 'Ausführen',
|
||||
copy: 'Kopieren',
|
||||
resultTitle: 'KI-Vervollständigung',
|
||||
noData: 'KI wird Ihnen hier geben, was Sie möchten.',
|
||||
csvUploadTitle: 'Ziehen Sie Ihre CSV-Datei hierher oder ',
|
||||
browse: 'durchsuchen',
|
||||
csvStructureTitle: 'Die CSV-Datei muss der folgenden Struktur entsprechen:',
|
||||
downloadTemplate: 'Laden Sie die Vorlage hier herunter',
|
||||
field: 'Feld',
|
||||
batchFailed: {
|
||||
info: '{{num}} fehlgeschlagene Ausführungen',
|
||||
retry: 'Wiederholen',
|
||||
outputPlaceholder: 'Kein Ausgabeanhalt',
|
||||
},
|
||||
errorMsg: {
|
||||
empty: 'Bitte geben Sie Inhalte in die hochgeladene Datei ein.',
|
||||
fileStructNotMatch: 'Die hochgeladene CSV-Datei entspricht nicht der Struktur.',
|
||||
emptyLine: 'Zeile {{rowIndex}} ist leer',
|
||||
invalidLine: 'Zeile {{rowIndex}}: {{varName}} Wert darf nicht leer sein',
|
||||
moreThanMaxLengthLine: 'Zeile {{rowIndex}}: {{varName}} Wert darf nicht mehr als {{maxLength}} Zeichen sein',
|
||||
atLeastOne: 'Bitte geben Sie mindestens eine Zeile in die hochgeladene Datei ein.',
|
||||
},
|
||||
execution: 'Ausführen',
|
||||
executions: '{{num}} Ausführungen',
|
||||
stopRun: 'Ausführung stoppen',
|
||||
},
|
||||
login: {
|
||||
backToHome: 'Zurück zur Startseite',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
44
dify/web/i18n/de-DE/time.ts
Normal file
44
dify/web/i18n/de-DE/time.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
const translation = {
|
||||
daysInWeek: {
|
||||
Sat: 'Sat',
|
||||
Fri: 'Freitag',
|
||||
Thu: 'Donnerstag',
|
||||
Tue: 'Tue',
|
||||
Sun: 'Sonne',
|
||||
Mon: 'Mon',
|
||||
Wed: 'Mittwoch',
|
||||
},
|
||||
months: {
|
||||
August: 'August',
|
||||
March: 'März',
|
||||
January: 'Januar',
|
||||
June: 'Juni',
|
||||
July: 'Juli',
|
||||
November: 'November',
|
||||
September: 'September',
|
||||
April: 'April',
|
||||
February: 'Februar',
|
||||
May: 'Mai',
|
||||
December: 'Dezember',
|
||||
October: 'Oktober',
|
||||
},
|
||||
operation: {
|
||||
pickDate: 'Datum auswählen',
|
||||
ok: 'OK',
|
||||
cancel: 'Stornieren',
|
||||
now: 'Jetzt',
|
||||
},
|
||||
title: {
|
||||
pickTime: 'Wähle Zeit',
|
||||
},
|
||||
defaultPlaceholder: 'Wähle eine Zeit...',
|
||||
dateFormats: {
|
||||
displayWithTime: 'MMMM D, YYYY hh:mm A',
|
||||
output: 'YYYY-MM-DD',
|
||||
display: 'MMMM D, YYYY',
|
||||
input: 'YYYY-MM-DD',
|
||||
outputWithTime: 'YYYY-MM-DDTHH:mm:ss.SSSZ',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
257
dify/web/i18n/de-DE/tools.ts
Normal file
257
dify/web/i18n/de-DE/tools.ts
Normal file
@@ -0,0 +1,257 @@
|
||||
const translation = {
|
||||
title: 'Werkzeuge',
|
||||
createCustomTool: 'Eigenes Werkzeug erstellen',
|
||||
type: {
|
||||
builtIn: 'Integriert',
|
||||
custom: 'Benutzerdefiniert',
|
||||
workflow: 'Arbeitsablauf',
|
||||
},
|
||||
contribute: {
|
||||
line1: 'Ich interessiere mich dafür, ',
|
||||
line2: 'Werkzeuge zu Dify beizutragen.',
|
||||
viewGuide: 'Leitfaden anzeigen',
|
||||
},
|
||||
author: 'Von',
|
||||
auth: {
|
||||
authorized: 'Autorisiert',
|
||||
setup: 'Autorisierung einrichten, um zu nutzen',
|
||||
setupModalTitle: 'Autorisierung einrichten',
|
||||
setupModalTitleDescription: 'Nach der Konfiguration der Anmeldeinformationen können alle Mitglieder im Arbeitsbereich dieses Werkzeug beim Orchestrieren von Anwendungen nutzen.',
|
||||
},
|
||||
includeToolNum: '{{num}} Werkzeuge inkludiert',
|
||||
createTool: {
|
||||
title: 'Eigenes Werkzeug erstellen',
|
||||
editAction: 'Konfigurieren',
|
||||
editTitle: 'Eigenes Werkzeug bearbeiten',
|
||||
name: 'Name',
|
||||
toolNamePlaceHolder: 'Geben Sie den Werkzeugnamen ein',
|
||||
schema: 'Schema',
|
||||
schemaPlaceHolder: 'Geben Sie hier Ihr OpenAPI-Schema ein',
|
||||
viewSchemaSpec: 'Die OpenAPI-Swagger-Spezifikation anzeigen',
|
||||
importFromUrl: 'Von URL importieren',
|
||||
importFromUrlPlaceHolder: 'https://...',
|
||||
urlError: 'Bitte geben Sie eine gültige URL ein',
|
||||
examples: 'Beispiele',
|
||||
exampleOptions: {
|
||||
json: 'Wetter(JSON)',
|
||||
yaml: 'Pet Store(YAML)',
|
||||
blankTemplate: 'Leere Vorlage',
|
||||
},
|
||||
availableTools: {
|
||||
title: 'Verfügbare Werkzeuge',
|
||||
name: 'Name',
|
||||
description: 'Beschreibung',
|
||||
method: 'Methode',
|
||||
path: 'Pfad',
|
||||
action: 'Aktionen',
|
||||
test: 'Test',
|
||||
},
|
||||
authMethod: {
|
||||
title: 'Autorisierungsmethode',
|
||||
type: 'Autorisierungstyp',
|
||||
keyTooltip: 'Http Header Key, Sie können es bei "Authorization" belassen, wenn Sie nicht wissen, was es ist, oder auf einen benutzerdefinierten Wert setzen',
|
||||
types: {
|
||||
none: 'Keine',
|
||||
apiKeyPlaceholder: 'HTTP-Headername für API-Key',
|
||||
apiValuePlaceholder: 'API-Key eingeben',
|
||||
api_key_header: 'Kopfzeile',
|
||||
queryParamPlaceholder: 'Abfrageparametername für den API-Schlüssel',
|
||||
api_key_query: 'Abfrageparameter',
|
||||
},
|
||||
key: 'Schlüssel',
|
||||
value: 'Wert',
|
||||
queryParam: 'Abfrageparameter',
|
||||
queryParamTooltip: 'Der Name des API-Schlüssel-Abfrageparameters, der übergeben werden soll, z. B. "key" in "https://example.com/test?key=API_KEY".',
|
||||
},
|
||||
authHeaderPrefix: {
|
||||
title: 'Auth-Typ',
|
||||
types: {
|
||||
basic: 'Basic',
|
||||
bearer: 'Bearer',
|
||||
custom: 'Benutzerdefiniert',
|
||||
},
|
||||
},
|
||||
privacyPolicy: 'Datenschutzrichtlinie',
|
||||
privacyPolicyPlaceholder: 'Bitte Datenschutzrichtlinie eingeben',
|
||||
customDisclaimer: 'Benutzer Haftungsausschluss',
|
||||
customDisclaimerPlaceholder: 'Bitte benutzerdefinierten Haftungsausschluss eingeben',
|
||||
deleteToolConfirmTitle: 'Löschen Sie dieses Werkzeug?',
|
||||
deleteToolConfirmContent: 'Das Löschen des Werkzeugs ist irreversibel. Benutzer können Ihr Werkzeug nicht mehr verwenden.',
|
||||
toolInput: {
|
||||
description: 'Beschreibung',
|
||||
methodParameterTip: 'LLM-Füllungen während der Inferenz',
|
||||
method: 'Methode',
|
||||
methodParameter: 'Parameter',
|
||||
label: 'Schilder',
|
||||
required: 'Erforderlich',
|
||||
methodSetting: 'Einstellung',
|
||||
name: 'Name',
|
||||
title: 'Werkzeug-Eingabe',
|
||||
methodSettingTip: 'Der Benutzer füllt die Werkzeugkonfiguration aus',
|
||||
descriptionPlaceholder: 'Beschreibung der Bedeutung des Parameters',
|
||||
labelPlaceholder: 'Tags auswählen(optional)',
|
||||
},
|
||||
description: 'Beschreibung',
|
||||
confirmTip: 'Apps, die dieses Tool verwenden, sind davon betroffen',
|
||||
nameForToolCallTip: 'Unterstützt nur Zahlen, Buchstaben und Unterstriche.',
|
||||
nameForToolCall: 'Name des Werkzeugaufrufs',
|
||||
confirmTitle: 'Bestätigen, um zu speichern?',
|
||||
nameForToolCallPlaceHolder: 'Wird für die Maschinenerkennung verwendet, z. B. getCurrentWeather, list_pets',
|
||||
descriptionPlaceholder: 'Kurze Beschreibung des Zwecks des Werkzeugs, z. B. um die Temperatur für einen bestimmten Ort zu ermitteln.',
|
||||
},
|
||||
test: {
|
||||
title: 'Test',
|
||||
parametersValue: 'Parameter & Wert',
|
||||
parameters: 'Parameter',
|
||||
value: 'Wert',
|
||||
testResult: 'Testergebnisse',
|
||||
testResultPlaceholder: 'Testergebnis wird hier angezeigt',
|
||||
},
|
||||
thought: {
|
||||
using: 'Nutzung',
|
||||
used: 'Genutzt',
|
||||
requestTitle: 'Anfrage an',
|
||||
responseTitle: 'Antwort von',
|
||||
},
|
||||
setBuiltInTools: {
|
||||
info: 'Info',
|
||||
setting: 'Einstellung',
|
||||
toolDescription: 'Werkzeugbeschreibung',
|
||||
parameters: 'Parameter',
|
||||
string: 'Zeichenkette',
|
||||
number: 'Nummer',
|
||||
required: 'Erforderlich',
|
||||
infoAndSetting: 'Info & Einstellungen',
|
||||
file: 'Datei',
|
||||
},
|
||||
noCustomTool: {
|
||||
title: 'Keine benutzerdefinierten Werkzeuge!',
|
||||
content: 'Fügen Sie hier Ihre benutzerdefinierten Werkzeuge hinzu und verwalten Sie sie, um KI-Apps zu erstellen.',
|
||||
createTool: 'Werkzeug erstellen',
|
||||
},
|
||||
noSearchRes: {
|
||||
title: 'Leider keine Ergebnisse!',
|
||||
content: 'Wir konnten keine Werkzeuge finden, die Ihrer Suche entsprechen.',
|
||||
reset: 'Suche zurücksetzen',
|
||||
},
|
||||
builtInPromptTitle: 'Aufforderung',
|
||||
toolRemoved: 'Werkzeug entfernt',
|
||||
notAuthorized: 'Werkzeug nicht autorisiert',
|
||||
howToGet: 'Wie erhält man',
|
||||
addToolModal: {
|
||||
type: 'Art',
|
||||
category: 'Kategorie',
|
||||
added: 'zugefügt',
|
||||
custom: {
|
||||
title: 'Kein benutzerdefiniertes Werkzeug verfügbar',
|
||||
tip: 'Benutzerdefiniertes Werkzeug erstellen',
|
||||
},
|
||||
workflow: {
|
||||
title: 'Kein Workflow-Werkzeug verfügbar',
|
||||
tip: 'Veröffentlichen Sie Workflows als Werkzeuge im Studio',
|
||||
},
|
||||
mcp: {
|
||||
title: 'Kein MCP-Werkzeug verfügbar',
|
||||
tip: 'Einen MCP-Server hinzufügen',
|
||||
},
|
||||
agent: {
|
||||
title: 'Keine Agentenstrategie verfügbar',
|
||||
},
|
||||
},
|
||||
toolNameUsageTip: 'Name des Tool-Aufrufs für die Argumentation und Aufforderung des Agenten',
|
||||
customToolTip: 'Erfahren Sie mehr über benutzerdefinierte Dify-Tools',
|
||||
openInStudio: 'In Studio öffnen',
|
||||
noTools: 'Keine Werkzeuge gefunden',
|
||||
copyToolName: 'Name kopieren',
|
||||
mcp: {
|
||||
create: {
|
||||
cardTitle: 'MCP-Server hinzufügen (HTTP)',
|
||||
cardLink: 'Mehr über MCP-Server-Integration erfahren',
|
||||
},
|
||||
noConfigured: 'Nicht konfigurierter Server',
|
||||
updateTime: 'Aktualisiert',
|
||||
toolsCount: '{{count}} Tools',
|
||||
noTools: 'Keine Tools verfügbar',
|
||||
modal: {
|
||||
title: 'MCP-Server hinzufügen (HTTP)',
|
||||
editTitle: 'MCP-Server bearbeiten (HTTP)',
|
||||
name: 'Name & Symbol',
|
||||
namePlaceholder: 'Benennen Sie Ihren MCP-Server',
|
||||
serverUrl: 'Server-URL',
|
||||
serverUrlPlaceholder: 'URL zum Server-Endpunkt',
|
||||
serverUrlWarning: 'Das Ändern der Serveradresse kann Anwendungen unterbrechen, die von diesem Server abhängen',
|
||||
serverIdentifier: 'Serverkennung',
|
||||
serverIdentifierTip: 'Eindeutige Kennung für den MCP-Server im Arbeitsbereich. Nur Kleinbuchstaben, Zahlen, Unterstriche und Bindestriche. Maximal 24 Zeichen.',
|
||||
serverIdentifierPlaceholder: 'Eindeutige Kennung, z.B. mein-mcp-server',
|
||||
serverIdentifierWarning: 'Nach einer ID-Änderung wird der Server von vorhandenen Apps nicht erkannt',
|
||||
cancel: 'Abbrechen',
|
||||
save: 'Speichern',
|
||||
confirm: 'Hinzufügen & Autorisieren',
|
||||
sseReadTimeout: 'SSE-Lesezeitüberschreitung',
|
||||
timeout: 'Zeitüberschreitung',
|
||||
headers: 'Kopfzeilen',
|
||||
timeoutPlaceholder: 'dreißig',
|
||||
headerKeyPlaceholder: 'z.B., Autorisierung',
|
||||
addHeader: 'Kopfzeile hinzufügen',
|
||||
headerValuePlaceholder: 'z.B., Träger Token123',
|
||||
headerValue: 'Header-Wert',
|
||||
headerKey: 'Kopfzeilenname',
|
||||
noHeaders: 'Keine benutzerdefinierten Header konfiguriert',
|
||||
maskedHeadersTip: 'Headerwerte sind zum Schutz maskiert. Änderungen werden die tatsächlichen Werte aktualisieren.',
|
||||
headersTip: 'Zusätzliche HTTP-Header, die mit MCP-Serveranfragen gesendet werden sollen',
|
||||
clientSecret: 'Client-Geheimnis',
|
||||
clientSecretPlaceholder: 'Client-Geheimnis',
|
||||
clientID: 'Kunden-ID',
|
||||
authentication: 'Authentifizierung',
|
||||
useDynamicClientRegistration: 'Dynamische Client-Registrierung verwenden',
|
||||
configurations: 'Konfigurationen',
|
||||
redirectUrlWarning: 'Bitte konfigurieren Sie Ihre OAuth-Umleitungs-URL wie folgt:',
|
||||
},
|
||||
delete: 'MCP-Server entfernen',
|
||||
deleteConfirmTitle: 'Möchten Sie {{mcp}} entfernen?',
|
||||
operation: {
|
||||
edit: 'Bearbeiten',
|
||||
remove: 'Entfernen',
|
||||
},
|
||||
authorize: 'Autorisieren',
|
||||
authorizing: 'Wird autorisiert...',
|
||||
authorizingRequired: 'Autorisierung erforderlich',
|
||||
authorizeTip: 'Nach der Autorisierung werden Tools hier angezeigt.',
|
||||
update: 'Aktualisieren',
|
||||
updating: 'Wird aktualisiert',
|
||||
gettingTools: 'Tools werden abgerufen...',
|
||||
updateTools: 'Tools werden aktualisiert...',
|
||||
toolsEmpty: 'Tools nicht geladen',
|
||||
getTools: 'Tools abrufen',
|
||||
toolUpdateConfirmTitle: 'Tool-Liste aktualisieren',
|
||||
toolUpdateConfirmContent: 'Das Aktualisieren der Tool-Liste kann bestehende Apps beeinflussen. Fortfahren?',
|
||||
toolsNum: '{{count}} Tools enthalten',
|
||||
onlyTool: '1 Tool enthalten',
|
||||
identifier: 'Serverkennung (Zum Kopieren klicken)',
|
||||
server: {
|
||||
title: 'MCP-Server',
|
||||
url: 'Server-URL',
|
||||
reGen: 'Server-URL neu generieren?',
|
||||
addDescription: 'Beschreibung hinzufügen',
|
||||
edit: 'Beschreibung bearbeiten',
|
||||
modal: {
|
||||
addTitle: 'Beschreibung hinzufügen, um MCP-Server zu aktivieren',
|
||||
editTitle: 'Beschreibung bearbeiten',
|
||||
description: 'Beschreibung',
|
||||
descriptionPlaceholder: 'Erklären Sie, was dieses Tool tut und wie es vom LLM verwendet werden soll',
|
||||
parameters: 'Parameter',
|
||||
parametersTip: 'Fügen Sie Beschreibungen für jeden Parameter hinzu, um dem LLM Zweck und Einschränkungen zu verdeutlichen.',
|
||||
parametersPlaceholder: 'Zweck und Einschränkungen des Parameters',
|
||||
confirm: 'MCP-Server aktivieren',
|
||||
},
|
||||
publishTip: 'App nicht veröffentlicht. Bitte zuerst die App veröffentlichen.',
|
||||
},
|
||||
toolItem: {
|
||||
parameters: 'Parameter',
|
||||
noDescription: 'Keine Beschreibung',
|
||||
},
|
||||
},
|
||||
allTools: 'Alle Werkzeuge',
|
||||
}
|
||||
|
||||
export default translation
|
||||
1291
dify/web/i18n/de-DE/workflow.ts
Normal file
1291
dify/web/i18n/de-DE/workflow.ts
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user