add german translations (#3322)

This commit is contained in:
Chenhe Gu 2024-04-10 22:05:27 +08:00 committed by GitHub
parent b6de97ad53
commit d948b0b49b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 2744 additions and 13 deletions

View File

@ -0,0 +1,87 @@
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',
},
},
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.',
}
export default translation

82
web/i18n/de-DE/app-api.ts Normal file
View File

@ -0,0 +1,82 @@
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',
merMaind: {
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',
},
}
export default translation

409
web/i18n/de-DE/app-debug.ts Normal file
View File

@ -0,0 +1,409 @@
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: 'Automatisch',
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',
words: 'Wörter',
textBlocks: 'Textblöcke',
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: '',
},
},
},
},
automatic: {
title: 'Automatisierte Anwendungsorchestrierung',
description: 'Beschreiben Sie Ihr Szenario, Dify wird eine Anwendung für Sie orchestrieren.',
intendedAudience: 'Wer ist die Zielgruppe?',
intendedAudiencePlaceHolder: 'z.B. Student',
solveProblem: 'Welche Probleme hoffen sie, dass KI für sie lösen kann?',
solveProblemPlaceHolder: 'z.B. Erkenntnisse extrahieren und Informationen aus langen Berichten und Artikeln zusammenfassen',
generate: 'Generieren',
audiencesRequired: 'Zielgruppe erforderlich',
problemRequired: 'Problem erforderlich',
resTitle: 'Wir haben die folgende Anwendung für Sie orchestriert.',
apply: 'Diese Orchestrierung anwenden',
noData: 'Beschreiben Sie Ihren Anwendungsfall links, die Orchestrierungsvorschau wird hier angezeigt.',
loading: 'Orchestrieren der Anwendung für Sie...',
overwriteTitle: 'Bestehende Konfiguration überschreiben?',
overwriteMessage: 'Das Anwenden dieser Orchestrierung wird die bestehende Konfiguration überschreiben.',
},
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',
},
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',
optional: 'Optional',
type: 'Eingabetyp',
action: 'Aktionen',
typeString: 'String',
typeSelect: 'Auswählen',
},
varKeyError: {
canNoBeEmpty: 'Variablenschlüssel darf nicht leer sein',
tooLong: 'Variablenschlüssel: {{key}} zu lang. Darf nicht länger als 30 Zeichen sein',
notValid: 'Variablenschlüssel: {{key}} ist ungültig. Darf nur Buchstaben, Zahlen und Unterstriche enthalten',
notStartWithNumber: 'Variablenschlüssel: {{key}} darf nicht mit einer Zahl beginnen',
keyAlreadyExists: 'Variablenschlüssel: :{{key}} existiert bereits',
},
otherError: {
promptNoBeEmpty: 'Prompt darf nicht leer sein',
historyNoBeEmpty: 'Konversationsverlauf muss im Prompt gesetzt sein',
queryNoBeEmpty: 'Anfrage muss im Prompt gesetzt sein',
},
variableConig: {
modalTitle: 'Feldeinstellungen',
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',
},
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',
},
},
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',
},
},
openingStatement: {
title: 'Gesprächseröffner',
add: 'Hinzufügen',
writeOpner: 'Eröffnung schreiben',
placeholder: 'Schreiben Sie hier Ihre Eröffnungsnachricht, Sie können Variablen verwenden, versuchen Sie {{Variable}} zu tippen.',
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.',
},
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',
},
},
}
export default translation

69
web/i18n/de-DE/app-log.ts Normal file
View File

@ -0,0 +1,69 @@
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 A',
table: {
header: {
time: 'Zeit',
endUser: 'Endbenutzer',
input: 'Eingabe',
output: 'Ausgabe',
summary: 'Titel',
messageCount: 'Nachrichtenzahl',
userRate: 'Benutzerbewertung',
adminRate: 'Op. Bewertung',
},
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',
},
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',
},
annotation: {
all: 'Alle',
annotated: 'Markierte Verbesserungen ({{count}} Elemente)',
not_annotated: 'Nicht annotiert',
},
},
}
export default translation

View File

@ -0,0 +1,139 @@
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-WebApp',
accessibleAddress: 'Öffentliche URL',
preview: 'Vorschau',
regenerate: 'Regenerieren',
preUseReminder: 'Bitte aktivieren Sie WebApp, bevor Sie fortfahren.',
settings: {
entry: 'Einstellungen',
title: 'WebApp-Einstellungen',
webName: 'WebApp-Name',
webDesc: 'WebApp-Beschreibung',
webDescTip: 'Dieser Text wird auf der Clientseite angezeigt und bietet grundlegende Anleitungen zur Verwendung der Anwendung',
webDescPlaceholder: 'Geben Sie die Beschreibung der WebApp ein',
language: 'Sprache',
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>.',
},
},
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-WebApp 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',
},
},
},
apiInfo: {
title: 'Backend-Service-API',
explanation: 'Einfach in Ihre Anwendung integrierbar',
accessibleAddress: 'Service-API-Endpunkt',
doc: 'API-Referenz',
},
status: {
running: 'In Betrieb',
disable: 'Deaktivieren',
},
},
analysis: {
title: 'Analyse',
ms: 'ms',
tokenPS: 'Token/s',
totalMessages: {
title: 'Gesamtnachrichten',
explanation: 'Tägliche AI-Interaktionszählung; Prompt-Engineering/Debugging ausgenommen.',
},
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.',
},
},
}
export default translation

54
web/i18n/de-DE/app.ts Normal file
View File

@ -0,0 +1,54 @@
const translation = {
createApp: 'Neue App erstellen',
types: {
all: 'Alle',
assistant: 'Assistent',
completion: 'Vervollständigung',
},
modes: {
completion: 'Textgenerator',
chat: 'Basisassistent',
},
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',
appNamePlaceholder: 'Bitte geben Sie den Namen der App ein',
newApp: {
startToCreate: 'Lassen Sie uns mit Ihrer neuen App beginnen',
captionName: 'App-Symbol & Name',
captionAppType: 'Welchen Typ von App möchten Sie erstellen?',
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',
},
editApp: {
startToEdit: 'App bearbeiten',
},
emoji: {
ok: 'OK',
cancel: 'Abbrechen',
},
}
export default translation

115
web/i18n/de-DE/billing.ts Normal file
View File

@ -0,0 +1,115 @@
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: {
title: 'Wählen Sie einen Tarif, der zu Ihnen passt',
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',
getStartedWith: 'Beginnen Sie mit ',
contactSales: 'Vertrieb kontaktieren',
talkToSales: 'Mit dem Vertrieb sprechen',
modelProviders: 'Modellanbieter',
teamMembers: 'Teammitglieder',
buildApps: 'Apps bauen',
vectorSpace: 'Vektorraum',
vectorSpaceBillingTooltip: 'Jedes 1MB kann ungefähr 1,2 Millionen Zeichen an vektorisierten Daten speichern (geschätzt mit OpenAI Embeddings, variiert je nach Modell).',
vectorSpaceTooltip: 'Vektorraum ist das Langzeitspeichersystem, das erforderlich ist, damit LLMs Ihre Daten verstehen können.',
documentsUploadQuota: 'Dokumenten-Upload-Kontingent',
documentProcessingPriority: 'Priorität der Dokumentenverarbeitung',
documentProcessingPriorityTip: 'Für eine höhere Dokumentenverarbeitungspriorität, bitte Ihren Tarif upgraden.',
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',
},
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.',
},
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',
},
plans: {
sandbox: {
name: 'Sandbox',
description: '200 mal GPT kostenlos testen',
includesTitle: 'Beinhaltet:',
},
professional: {
name: 'Professionell',
description: 'Für Einzelpersonen und kleine Teams, um mehr Leistung erschwinglich freizuschalten.',
includesTitle: 'Alles im kostenlosen Tarif, plus:',
},
team: {
name: 'Team',
description: 'Zusammenarbeiten ohne Grenzen und Top-Leistung genießen.',
includesTitle: 'Alles im Professionell-Tarif, plus:',
},
enterprise: {
name: 'Unternehmen',
description: 'Erhalten Sie volle Fähigkeiten und Unterstützung für großangelegte, missionskritische Systeme.',
includesTitle: 'Alles im Team-Tarif, plus:',
},
},
vectorSpace: {
fullTip: 'Vektorraum ist voll.',
fullSolution: 'Upgraden Sie Ihren Tarif, um mehr Speicherplatz zu erhalten.',
},
apps: {
fullTipLine1: 'Upgraden Sie Ihren Tarif, um',
fullTipLine2: 'mehr Apps zu bauen.',
},
annotatedResponse: {
fullTipLine1: 'Upgraden Sie Ihren Tarif, um',
fullTipLine2: 'mehr Konversationen zu annotieren.',
quotaTitle: 'Kontingent für Annotation-Antworten',
},
}
export default translation

505
web/i18n/de-DE/common.ts Normal file
View File

@ -0,0 +1,505 @@
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',
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',
},
placeholder: {
input: 'Bitte eingeben',
select: 'Bitte auswählen',
},
voice: {
language: {
zhHans: 'Chinesisch',
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',
},
},
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',
},
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',
},
userProfile: {
settings: 'Einstellungen',
workspace: 'Arbeitsbereich',
createWorkspace: 'Arbeitsbereich erstellen',
helpCenter: 'Hilfe',
roadmapAndFeedback: 'Feedback',
community: 'Gemeinschaft',
about: 'Über',
logout: 'Abmelden',
},
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',
},
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',
},
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',
inviteTeamMember: 'Teammitglied hinzufügen',
inviteTeamMemberTip: 'Sie können direkt nach der Anmeldung auf Ihre Teamdaten zugreifen.',
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',
disinvite: 'Einladung widerrufen',
deleteMember: 'Mitglied löschen',
you: '(Du)',
},
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',
},
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',
},
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',
},
},
},
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.',
linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
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.',
},
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',
},
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:',
},
},
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',
},
},
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',
},
}
export default translation

30
web/i18n/de-DE/custom.ts Normal file
View File

@ -0,0 +1,30 @@
const translation = {
custom: 'Anpassung',
upgradeTip: {
prefix: 'Erweitere deinen Plan auf',
suffix: 'um deine Marke anzupassen.',
},
webapp: {
title: 'WebApp 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

View File

@ -0,0 +1,130 @@
const translation = {
steps: {
header: {
creation: 'Wissen erstellen',
update: 'Daten hinzufügen',
},
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: 'Datei hierher ziehen oder',
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',
nameLengthInvaild: 'Name muss zwischen 1 bis 40 Zeichen lang sein',
cancelButton: 'Abbrechen',
confirmButton: 'Erstellen',
failed: 'Erstellung fehlgeschlagen',
},
},
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',
emstimateCost: 'Schätzung',
emstimateSegment: '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',
indexSettedTip: 'Um die Indexmethode zu ändern, bitte gehen Sie zu den ',
retrivalSettedTip: 'Um die Indexmethode zu ändern, bitte gehen Sie zu den ',
datasetSettingLink: 'Wissenseinstellungen.',
},
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',
},
}
export default translation

View File

@ -0,0 +1,349 @@
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',
},
},
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',
},
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',
},
},
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',
},
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',
topicsKeywords: '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',
topicsKeywords: 'Themen/Schlüsselwörter',
abstract: 'Zusammenfassung',
},
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',
},
segment: {
paragraphs: 'Absätze',
keywords: 'Schlüsselwörter',
addKeyWord: 'Schlüsselwort hinzufügen',
keywordError: 'Die maximale Länge des Schlüsselworts beträgt 20',
characters: 'Zeichen',
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?',
},
}
export default translation

View File

@ -0,0 +1,28 @@
const translation = {
title: 'Abruf-Test',
desc: 'Testen Sie die Treffereffektivität des Wissens anhand des gegebenen Abfragetextes.',
dateTimeFormat: 'MM/TT/JJJJ hh:mm A',
recents: 'Kürzlich',
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',
}
export default translation

View File

@ -0,0 +1,33 @@
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: 'Ruft die Einbettungsschnittstelle von OpenAI für die Verarbeitung auf, um bei Benutzerabfragen 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.',
},
save: 'Speichern',
},
}
export default translation

47
web/i18n/de-DE/dataset.ts Normal file
View File

@ -0,0 +1,47 @@
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.',
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',
unavailableTip: 'Einbettungsmodell ist nicht verfügbar, das Standard-Einbettungsmodell muss konfiguriert werden',
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: {
title: 'Invertierter Index',
description: 'Ein invertierter Index ist eine Struktur, die für effiziente Abfragen verwendet wird. Organisiert nach Begriffen, zeigt jeder Begriff auf Dokumente oder Webseiten, die ihn enthalten.',
},
change: 'Ändern',
changeRetrievalMethod: 'Abfragemethode ändern',
},
}
export default translation

41
web/i18n/de-DE/explore.ts Normal file
View File

@ -0,0 +1,41 @@
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',
},
}
export default translation

4
web/i18n/de-DE/layout.ts Normal file
View File

@ -0,0 +1,4 @@
const translation = {
}
export default translation

59
web/i18n/de-DE/login.ts Normal file
View File

@ -0,0 +1,59 @@
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',
donthave: 'Hast du nicht?',
invalidInvitationCode: 'Ungültiger Einladungscode',
accountAlreadyInited: 'Konto bereits initialisiert',
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',
},
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',
}
export default translation

View File

@ -0,0 +1,4 @@
const translation = {
}
export default translation

23
web/i18n/de-DE/run-log.ts Normal file
View File

@ -0,0 +1,23 @@
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',
},
}
export default translation

View File

@ -0,0 +1,74 @@
const translation = {
common: {
welcome: 'Willkommen bei',
appUnavailable: 'App ist nicht verfügbar',
appUnkonwError: 'App ist nicht verfügbar',
},
chat: {
newChat: 'Neuer Chat',
pinnedTitle: 'Angeheftet',
unpinnedTitle: 'Chats',
newChatDefaultName: 'Neues Gespräch',
resetChat: 'Gespräch zurücksetzen',
powerBy: '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.',
},
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.',
},
},
}
export default translation

115
web/i18n/de-DE/tools.ts Normal file
View File

@ -0,0 +1,115 @@
const translation = {
title: 'Werkzeuge',
createCustomTool: 'Eigenes Werkzeug erstellen',
type: {
all: 'Alle',
builtIn: 'Integriert',
custom: 'Benutzerdefiniert',
},
contribute: {
line1: 'Ich interessiere mich dafür, ',
line2: 'Werkzeuge zu Dify beizutragen.',
viewGuide: 'Leitfaden anzeigen',
},
author: 'Von',
auth: {
unauthorized: 'Zur Autorisierung',
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',
addTool: 'Werkzeug hinzufügen',
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',
api_key: 'API-Key',
apiKeyPlaceholder: 'HTTP-Headername für API-Key',
apiValuePlaceholder: 'API-Key eingeben',
},
key: 'Schlüssel',
value: 'Wert',
},
authHeaderPrefix: {
title: 'Auth-Typ',
types: {
basic: 'Basic',
bearer: 'Bearer',
custom: 'Benutzerdefiniert',
},
},
privacyPolicy: 'Datenschutzrichtlinie',
privacyPolicyPlaceholder: 'Bitte Datenschutzrichtlinie eingeben',
},
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',
},
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',
}
export default translation

333
web/i18n/de-DE/workflow.ts Normal file
View File

@ -0,0 +1,333 @@
const translation = {
common: {
editing: 'Bearbeiten',
autoSaved: 'Automatisch gespeichert',
unpublished: 'Nicht veröffentlicht',
published: 'Veröffentlicht',
publish: 'Veröffentlichen',
update: 'Aktualisieren',
run: 'Starten',
running: 'Läuft',
inRunMode: 'Im Start-Modus',
inPreview: 'In Vorschau',
inPreviewMode: 'Im Vorschau-Modus',
preview: 'Vorschau',
viewRunHistory: 'Verlauf ansehen',
runHistory: 'Verlauf',
goBackToEdit: 'Zurück zum Bearbeiten',
conversationLog: 'Konversationsprotokoll',
features: 'Funktionen',
debugAndPreview: 'Debuggen und Vorschau',
restart: 'Neustarten',
currentDraft: 'Aktueller Entwurf',
currentDraftUnpublished: 'Aktueller Entwurf nicht veröffentlicht',
latestPublished: 'Zuletzt veröffentlicht',
publishedAt: 'Veröffentlicht am',
restore: 'Wiederherstellen',
runApp: 'App starten',
batchRunApp: 'Batch-App starten',
accessAPIReference: 'API-Referenz aufrufen',
embedIntoSite: 'In Website einbetten',
addTitle: 'Titel hinzufügen...',
addDescription: 'Beschreibung hinzufügen...',
noVar: 'Keine Variable',
searchVar: 'Variable suchen',
variableNamePlaceholder: 'Variablenname',
setVarValuePlaceholder: 'Variable festlegen',
needConnecttip: 'Dieser Schritt ist mit nichts verbunden',
maxTreeDepth: 'Maximale Grenze von {{depth}} Knoten pro Zweig',
needEndNode: 'Der Endblock muss hinzugefügt werden',
needAnswerNode: 'Der Antwortblock muss hinzugefügt werden',
workflowProcess: 'Workflow-Prozess',
notRunning: 'Läuft noch nicht',
previewPlaceholder: 'Geben Sie unten Inhalte ein, um das Debugging des Chatbots zu starten',
effectVarConfirm: {
title: 'Variable entfernen',
content: 'Die Variable wird in anderen Knoten verwendet. Möchten Sie sie trotzdem entfernen?',
},
insertVarTip: 'Drücken Sie die \'/\' Taste, um schnell einzufügen',
},
errorMsg: {
fieldRequired: '{{field}} wird benötigt',
authRequired: 'Autorisierung erforderlich',
invalidJson: '{{field}} ist ungültiges JSON',
fields: {
variable: 'Variablenname',
variableValue: 'Variablenwert',
code: 'Code',
model: 'Modell',
rerankModel: 'Rerank-Modell',
},
invalidVariable: 'Ungültige Variable',
},
singleRun: {
testRun: 'Testlauf',
startRun: 'Lauf starten',
running: 'Läuft',
},
tabs: {
'searchBlock': 'Suchblock',
'blocks': 'Blöcke',
'builtInTool': 'Integriertes Werkzeug',
'customTool': 'Benutzerdefiniertes Werkzeug',
'question-understand': 'Fragenverständnis',
'logic': 'Logik',
'transform': 'Transformieren',
'utilities': 'Dienstprogramme',
'noResult': 'Keine Übereinstimmung gefunden',
},
blocks: {
'start': 'Start',
'end': 'Ende',
'answer': 'Antwort',
'llm': 'LLM',
'knowledge-retrieval': 'Wissensabruf',
'question-classifier': 'Fragenklassifizierer',
'if-else': 'IF/ELSE',
'code': 'Code',
'template-transform': 'Vorlage',
'http-request': 'HTTP-Anfrage',
'variable-assigner': 'Variablenzuweiser',
},
blocksAbout: {
'start': 'Definieren der Startparameter zum Starten eines Workflows',
'end': 'Definieren des Endes und des Ergebnistyps eines Workflows',
'answer': 'Definieren des Antwortinhalts eines Chat-Gesprächs',
'llm': 'Aufrufen von großen Sprachmodellen, um Fragen zu beantworten oder natürliche Sprache zu verarbeiten',
'knowledge-retrieval': 'Ermöglicht das Abfragen von Textinhalten in Bezug auf Benutzerfragen aus dem Wissen',
'question-classifier': 'Definieren der Klassifizierungsbedingungen von Benutzerfragen, LLM kann basierend auf der Klassifizierungsbeschreibung festlegen, wie das Gespräch fortschreitet',
'if-else': 'Ermöglicht das Aufteilen des Workflows in zwei Zweige basierend auf if/else-Bedingungen',
'code': 'Ausführen eines Stücks Python- oder NodeJS-Code, um benutzerdefinierte Logik zu implementieren',
'template-transform': 'Daten mithilfe der Jinja-Vorlagensyntax in einen String konvertieren',
'http-request': 'Ermöglicht das Senden von Serveranfragen über das HTTP-Protokoll',
'variable-assigner': 'Variablen in verschiedenen Zweigen derselben Variable zuweisen, um eine einheitliche Konfiguration von Nachknoten zu erreichen',
},
operator: {
zoomIn: 'Vergrößern',
zoomOut: 'Verkleinern',
zoomTo50: 'Auf 50% zoomen',
zoomTo100: 'Auf 100% zoomen',
zoomToFit: 'An Fenstergröße anpassen',
},
panel: {
userInputField: 'Benutzereingabefeld',
changeBlock: 'Block ändern',
helpLink: 'Hilfe-Link',
about: 'Über',
createdBy: 'Erstellt von',
nextStep: 'Nächster Schritt',
addNextStep: 'Fügen Sie den nächsten Block in diesem Workflow hinzu',
selectNextStep: 'Nächsten Block wählen',
runThisStep: 'Diesen Schritt ausführen',
checklist: 'Checkliste',
checklistTip: 'Stellen Sie sicher, dass alle Probleme gelöst sind, bevor Sie veröffentlichen',
checklistResolved: 'Alle Probleme gelöst',
organizeBlocks: 'Blöcke organisieren',
change: 'Ändern',
},
nodes: {
common: {
outputVars: 'Ausgabevariablen',
insertVarTip: 'Variable einfügen',
memory: {
memory: 'Speicher',
memoryTip: 'Chat-Speichereinstellungen',
windowSize: 'Fenstergröße',
conversationRoleName: 'Gesprächsrollenname',
user: 'Benutzerprefix',
assistant: 'Assistentenprefix',
},
memories: {
title: 'Erinnerungen',
tip: 'Chat-Speicher',
builtIn: 'Eingebaut',
},
},
start: {
required: 'erforderlich',
inputField: 'Eingabefeld',
builtInVar: 'Eingebaute Variablen',
outputVars: {
query: 'Benutzereingabe',
memories: {
des: 'Gesprächsverlauf',
type: 'Nachrichtentyp',
content: 'Nachrichteninhalt',
},
files: 'Dateiliste',
},
noVarTip: 'Legen Sie Eingaben fest, die im Workflow verwendet werden können',
},
end: {
outputs: 'Ausgaben',
output: {
type: 'Ausgabetyp',
variable: 'Ausgabevariable',
},
type: {
'none': 'Keine',
'plain-text': 'Klartext',
'structured': 'Strukturiert',
},
},
answer: {
answer: 'Antwort',
outputVars: 'Ausgabevariablen',
},
llm: {
model: 'Modell',
variables: 'Variablen',
context: 'Kontext',
contextTooltip: 'Sie können Wissen als Kontext importieren',
notSetContextInPromptTip: 'Um die Kontextfunktion zu aktivieren, füllen Sie bitte die Kontextvariable in PROMPT aus.',
prompt: 'Aufforderung',
roleDescription: {
system: 'Geben Sie hochrangige Anweisungen für das Gespräch',
user: 'Stellen Sie Anweisungen, Anfragen oder jegliche textbasierte Eingabe für das Modell bereit',
assistant: 'Die Antworten des Modells basierend auf den Benutzernachrichten',
},
addMessage: 'Nachricht hinzufügen',
vision: 'Vision',
files: 'Dateien',
resolution: {
name: 'Auflösung',
high: 'Hoch',
low: 'Niedrig',
},
outputVars: {
output: 'Inhalt generieren',
usage: 'Modellnutzungsinformation',
},
singleRun: {
variable: 'Variable',
},
},
knowledgeRetrieval: {
queryVariable: 'Abfragevariable',
knowledge: 'Wissen',
outputVars: {
output: 'Abgerufene segmentierte Daten',
content: 'Segmentierter Inhalt',
title: 'Segmentierter Titel',
icon: 'Segmentiertes Symbol',
url: 'Segmentierte URL',
metadata: 'Weitere Metadaten',
},
},
http: {
inputVars: 'Eingabevariablen',
api: 'API',
apiPlaceholder: 'Geben Sie die URL ein, tippen Sie /, um eine Variable einzufügen',
notStartWithHttp: 'API sollte mit http:// oder https:// beginnen',
key: 'Schlüssel',
value: 'Wert',
bulkEdit: 'Massenbearbeitung',
keyValueEdit: 'Schlüssel-Wert-Bearbeitung',
headers: 'Kopfzeilen',
params: 'Parameter',
body: 'Körper',
outputVars: {
body: 'Antwortinhalt',
statusCode: 'Antwortstatuscode',
headers: 'Antwortkopfzeilenliste JSON',
files: 'Dateiliste',
},
authorization: {
'authorization': 'Autorisierung',
'authorizationType': 'Autorisierungstyp',
'no-auth': 'Keine',
'api-key': 'API-Schlüssel',
'auth-type': 'Authentifizierungstyp',
'basic': 'Basic',
'bearer': 'Bearer',
'custom': 'Benutzerdefiniert',
'api-key-title': 'API-Schlüssel',
'header': 'Kopfzeile',
},
insertVarPlaceholder: 'Tippen Sie /, um eine Variable einzufügen',
},
code: {
inputVars: 'Eingabevariablen',
outputVars: 'Ausgabevariablen',
},
templateTransform: {
inputVars: 'Eingabevariablen',
code: 'Code',
codeSupportTip: 'Unterstützt nur Jinja2',
outputVars: {
output: 'Transformierter Inhalt',
},
},
ifElse: {
if: 'Wenn',
else: 'Sonst',
elseDescription: 'Wird verwendet, um die Logik zu definieren, die ausgeführt werden soll, wenn die Wenn-Bedingung nicht erfüllt ist.',
and: 'und',
or: 'oder',
operator: 'Operator',
notSetVariable: 'Bitte zuerst Variable festlegen',
comparisonOperator: {
'contains': 'enthält',
'not contains': 'enthält nicht',
'start with': 'beginnt mit',
'end with': 'endet mit',
'is': 'ist',
'is not': 'ist nicht',
'empty': 'ist leer',
'not empty': 'ist nicht leer',
'null': 'ist null',
'not null': 'ist nicht null',
},
enterValue: 'Wert eingeben',
addCondition: 'Bedingung hinzufügen',
conditionNotSetup: 'Bedingung NICHT eingerichtet',
},
variableAssigner: {
title: 'Variablen zuweisen',
outputType: 'Ausgabetyp',
outputVarType: 'Ausgabevariablentyp',
varNotSet: 'Variable nicht gesetzt',
noVarTip: 'Fügen Sie die zuzuweisenden Variablen hinzu',
type: {
string: 'Zeichenkette',
number: 'Zahl',
object: 'Objekt',
array: 'Array',
},
outputVars: {
output: 'Zugewiesener Variablenwert',
},
},
tool: {
toAuthorize: 'Zur Autorisierung',
inputVars: 'Eingabevariablen',
outputVars: {
text: 'vom Werkzeug generierter Inhalt',
files: {
title: 'vom Werkzeug generierte Dateien',
type: 'Unterstützter Typ. Aktuell nur Bild unterstützt',
transfer_method: 'Übertragungsmethode. Wert ist remote_url oder local_file',
url: 'Bild-URL',
upload_file_id: 'Hochgeladene Datei-ID',
},
},
},
questionClassifiers: {
model: 'Modell',
inputVars: 'Eingabevariablen',
class: 'Klasse',
classNamePlaceholder: 'Schreiben Sie Ihren Klassennamen',
advancedSetting: 'Erweiterte Einstellung',
topicName: 'Themenname',
topicPlaceholder: 'Schreiben Sie Ihren Themenname',
addClass: 'Klasse hinzufügen',
instruction: 'Anweisung',
instructionPlaceholder: 'Schreiben Sie Ihre Anweisung',
},
},
tracing: {
stopBy: 'Angehalten von {{user}}',
},
}
export default translation

View File

@ -17,12 +17,13 @@ export type I18nText = {
'it-IT': string
'uk-UA': string
'vi-VN': string
'de_DE': string
}
export const languages = [
{
value: 'en-US',
name: 'English(United States)',
name: 'English (United States)',
example: 'Hello, Dify!',
supported: true,
},
@ -34,55 +35,55 @@ export const languages = [
},
{
value: 'pt-BR',
name: 'Português(Brasil)',
name: 'Português (Brasil)',
example: 'Olá, Dify!',
supported: true,
},
{
value: 'es-ES',
name: 'Español(España)',
name: 'Español (España)',
example: 'Saluton, Dify!',
supported: false,
},
{
value: 'fr-FR',
name: 'Français(France)',
name: 'Français (France)',
example: 'Bonjour, Dify!',
supported: true,
},
{
value: 'de-DE',
name: 'Deutsch(Deutschland)',
name: 'Deutsch (Deutschland)',
example: 'Hallo, Dify!',
supported: false,
supported: true,
},
{
value: 'ja-JP',
name: '日本語(日本)',
name: '日本語 (日本)',
example: 'こんにちは、Dify!',
supported: true,
},
{
value: 'ko-KR',
name: '한국어(대한민국)',
name: '한국어 (대한민국)',
example: '안녕, Dify!',
supported: false,
},
{
value: 'ru-RU',
name: 'Русский(Россия)',
name: 'Русский (Россия)',
example: ' Привет, Dify!',
supported: false,
},
{
value: 'it-IT',
name: 'Italiano(Italia)',
name: 'Italiano (Italia)',
example: 'Ciao, Dify!',
supported: false,
},
{
value: 'th-TH',
name: 'ไทย(ประเทศไทย)',
name: 'ไทย (ประเทศไทย)',
example: 'สวัสดี Dify!',
supported: false,
},
@ -94,13 +95,13 @@ export const languages = [
},
{
value: 'uk-UA',
name: 'Українська(Україна)',
name: 'Українська (Україна)',
example: 'Привет, Dify!',
supported: true,
},
{
value: 'vi-VN',
name: 'Tiếng Việt(Việt Nam)',
name: 'Tiếng Việt (Việt Nam)',
example: 'Xin chào, Dify!',
supported: true,
},