Merge remote-tracking branch 'origin/main' into feat/trigger

This commit is contained in:
yessenia
2025-09-25 17:14:24 +08:00
3013 changed files with 148826 additions and 44294 deletions

View File

@ -338,6 +338,19 @@ const translation = {
'optional': 'optional',
'checkbox': 'Checkbox',
'jsonSchema': 'JSON-Schema',
'tooltips': 'Tooltips',
'placeholder': 'Platzhalter',
'displayName': 'Anzeigename',
'unit': 'Einheit',
'showAllSettings': 'Alle Einstellungen anzeigen',
'startChecked': 'Start aktiviert',
'uploadMethod': 'Upload-Methode',
'noDefaultSelected': 'Nicht auswählen',
'defaultValuePlaceholder': 'Geben Sie den Standardwert ein, um das Feld vorab auszufüllen',
'unitPlaceholder': 'Einheiten nach Zahlen anzeigen, z.B. Token',
'startSelectedOption': 'Ausgewählte Option starten',
'placeholderPlaceholder': 'Geben Sie Text ein, der angezeigt werden soll, wenn das Feld leer ist',
'tooltipsPlaceholder': 'Geben Sie hilfreichen Text ein, der angezeigt wird, wenn Sie den Mauszeiger über die Beschriftung bewegen',
},
vision: {
name: 'Vision',

View File

@ -77,6 +77,7 @@ const translation = {
agentUserDescription: 'Ein intelligenter Agent, der in der Lage ist, iteratives Denken zu führen und autonome Werkzeuge zu verwenden, um Aufgabenziele zu erreichen.',
agentShortDescription: 'Intelligenter Agent mit logischem Denken und autonomer Werkzeugnutzung',
dropDSLToCreateApp: 'Ziehen Sie die DSL-Datei hierher, um die App zu erstellen',
import: 'Importieren',
},
editApp: 'App bearbeiten',
editAppTitle: 'App-Informationen bearbeiten',
@ -318,6 +319,10 @@ const translation = {
noMatchingCommands: 'Keine übereinstimmenden Befehle gefunden',
tryDifferentSearch: 'Versuchen Sie es mit einem anderen Suchbegriff',
slashHint: 'Geben Sie / ein, um alle verfügbaren Befehle anzuzeigen.',
tips: 'Drücken Sie ↑↓, um zu navigieren',
pressEscToClose: 'Drücken Sie ESC, um zu schließen',
startTyping: 'Beginnen Sie mit der Eingabe, um zu suchen',
selectToNavigate: 'Auswählen, um zu navigieren',
},
}

View File

@ -93,6 +93,7 @@ const translation = {
documentsRequestQuota: '{{count,number}}/min Wissensanforderungsratenlimit',
teamMember_one: '{{count,number}} Teammitglied',
documentsRequestQuotaTooltip: 'Gibt die Gesamtzahl der Aktionen an, die ein Arbeitsbereich pro Minute innerhalb der Wissensbasis ausführen kann, einschließlich der Erstellung, Löschung, Aktualisierung von Datensätzen, des Hochladens von Dokumenten, von Änderungen, der Archivierung und von Abfragen in der Wissensbasis. Diese Kennzahl wird verwendet, um die Leistung von Anfragen an die Wissensbasis zu bewerten. Wenn ein Sandbox-Nutzer beispielsweise in einer Minute 10 aufeinanderfolgende Testdurchläufe durchführt, wird sein Arbeitsbereich für die nächste Minute vorübergehend daran gehindert, die folgenden Aktionen auszuführen: Erstellung, Löschung, Aktualisierung von Datensätzen sowie das Hochladen oder Ändern von Dokumenten.',
startBuilding: 'Beginnen Sie mit der Entwicklung',
},
plans: {
sandbox: {

View File

@ -490,7 +490,17 @@ const translation = {
providerManagedTip: 'Die aktuelle Konfiguration wird vom Anbieter gehostet.',
configLoadBalancing: 'Konfiguration Lastenverteilung',
specifyModelCredentialTip: 'Verwenden Sie ein konfiguriertes Modellzugang.',
manageCredentials: 'Anmeldeinformationen verwalten',
selectModelCredential: 'Wählen Sie eine Modellberechtigung aus',
modelCredential: 'Zeugnis des Modells',
addModel: 'Modell hinzufügen',
customModelCredentials: 'Anmeldeinformationen für benutzerdefinierte Modelle',
removeModel: 'Modell entfernen',
addNewModelCredential: 'Hinzufügen neuer Modellanmeldeinformationen',
editModelCredential: 'Bearbeiten von Modellanmeldeinformationen',
customModelCredentialsDeleteTip: 'Anmeldeinformationen werden verwendet und können nicht gelöscht werden',
},
parametersInvalidRemoved: 'Einige Parameter sind ungültig und wurden entfernt.',
},
dataSource: {
add: 'Eine Datenquelle hinzufügen',
@ -589,6 +599,7 @@ const translation = {
viewDoc: 'Dokumentation anzeigen',
relatedApp: 'verbundene Apps',
noRelatedApp: 'Keine verknüpften Apps',
pipeline: 'Rohrleitung',
},
voiceInput: {
speaking: 'Sprechen Sie jetzt...',
@ -742,6 +753,15 @@ const translation = {
deleteTitle: 'Avatar entfernen',
deleteDescription: 'Bist du sicher, dass du dein Profilbild entfernen möchtest? Dein Konto wird das standardmäßige Anfangs-Avatar verwenden.',
},
feedback: {
content: 'Feedback-Inhalt',
title: 'Feedback geben',
subtitle: 'Bitte sagen Sie uns, was mit dieser Antwort falsch gelaufen ist.',
placeholder: 'Bitte beschreiben Sie, was schiefgelaufen ist oder wie wir uns verbessern können...',
},
label: {
optional: '(fakultativ)',
},
}
export default translation

View File

@ -87,6 +87,7 @@ const translation = {
watercrawlDoc: 'Wasserkriechen-Dokumente',
configureFirecrawl: 'Firecrawl konfigurieren',
waterCrawlNotConfiguredDescription: 'Konfigurieren Sie Watercrawl mit dem API-Schlüssel, um es zu verwenden.',
running: 'Ausgeführte',
},
cancel: 'Abbrechen',
},
@ -172,6 +173,7 @@ const translation = {
paragraph: 'Absatz',
fullDocTip: 'Das gesamte Dokument wird als übergeordneter Block verwendet und direkt abgerufen. Bitte beachten Sie, dass aus Leistungsgründen Texte, die 10000 Token überschreiten, automatisch abgeschnitten werden.',
paragraphTip: 'In diesem Modus wird der Text basierend auf Trennzeichen und der maximalen Blocklänge in Absätze aufgeteilt, wobei der geteilte Text als übergeordneter Block für den Abruf verwendet wird.',
qaTip: 'Wenn Sie strukturierte Q&A-Daten verwenden, können Sie Dokumente erstellen, die Fragen mit Antworten verknüpfen. Diese Dokumente werden basierend auf dem Frageteil indiziert, sodass das System relevante Antworten basierend auf der Ähnlichkeit der Abfrage abrufen kann.',
},
stepThree: {
creationTitle: '🎉 Wissen erstellt',

View File

@ -99,6 +99,9 @@ const translation = {
upload_file: 'Datei hochladen',
notion: 'Von Notion synchronisieren',
github: 'Von Github synchronisieren',
online_document: 'Online-Dokument',
local_file: 'Lokale Datei',
website_crawl: 'Website-Crawl',
},
type: {
book: 'Buch',
@ -336,6 +339,7 @@ const translation = {
childMaxTokens: 'Kind',
hierarchical: 'Eltern-Kind',
pause: 'Pause',
waiting: 'Einbettung wartet...',
},
segment: {
paragraphs: 'Absätze',

View File

@ -0,0 +1,154 @@
const translation = {
creation: {
createFromScratch: {
title: 'Leere Wissenspipeline',
description: 'Erstellen Sie eine benutzerdefinierte Pipeline von Grund auf neu mit vollständiger Kontrolle über die Datenverarbeitung und -struktur.',
},
caution: 'Vorsicht',
backToKnowledge: 'Zurück zu Wissen',
createKnowledge: 'Wissen schaffen',
importDSL: 'Importieren aus einer DSL-Datei',
successTip: 'Erfolgreich eine Wissensdatenbank erstellt',
errorTip: 'Fehler beim Erstellen einer Wissensdatenbank',
},
templates: {
customized: 'Angepasst',
},
operations: {
dataSource: 'Datenquelle',
details: 'Details',
process: 'Prozess',
preview: 'Vorschau',
convert: 'Umwandeln',
useTemplate: 'Verwenden dieser Wissenspipeline',
backToDataSource: 'Zurück zur Datenquelle',
exportPipeline: 'Pipeline exportieren',
editInfo: 'Info bearbeiten',
choose: 'Wählen',
saveAndProcess: 'Speichern & Verarbeiten',
},
deletePipeline: {
title: 'Sind Sie sicher, dass Sie diese Pipeline-Vorlage löschen möchten?',
content: 'Das Löschen der Pipelinevorlage kann nicht rückgängig gemacht werden.',
},
publishPipeline: {
success: {
message: 'Knowledge Pipeline veröffentlicht',
},
error: {
message: 'Fehler beim Veröffentlichen der Wissenspipeline',
},
},
publishTemplate: {
success: {
learnMore: 'Weitere Informationen',
tip: 'Sie können diese Vorlage auf der Erstellungsseite verwenden.',
message: 'Pipeline-Vorlage veröffentlicht',
},
error: {
message: 'Fehler beim Veröffentlichen der Pipeline-Vorlage',
},
},
exportDSL: {
successTip: 'Pipeline-DSL erfolgreich exportieren',
errorTip: 'Fehler beim Exportieren der Pipeline-DSL',
},
details: {
structure: 'Struktur',
structureTooltip: 'Die Blockstruktur bestimmt, wie Dokumente aufgeteilt und indiziert werden, und bietet die Modi "Allgemein", "Über-Eltern-Kind" und "Q&A" und ist für jede Wissensdatenbank einzigartig.',
},
testRun: {
steps: {
documentProcessing: 'Verarbeitung von Dokumenten',
dataSource: 'Datenquelle',
},
dataSource: {
localFiles: 'Lokale Dateien',
},
notion: {
docTitle: 'Notion docs',
title: 'Wählen Sie Notion Pages',
},
title: 'Testlauf',
tooltip: 'Im Testlaufmodus darf jeweils nur ein Dokument importiert werden, um das Debuggen und Beobachten zu vereinfachen.',
},
inputFieldPanel: {
uniqueInputs: {
title: 'Einzigartige Eingänge für jeden Eingang',
tooltip: 'Eindeutige Eingaben sind nur für die ausgewählte Datenquelle und ihre Downstream-Knoten zugänglich. Benutzer müssen sie nicht ausfüllen, wenn sie andere Datenquellen auswählen. Im ersten Schritt (Datenquelle) werden nur Eingabefelder angezeigt, auf die von Datenquellenvariablen verwiesen wird. Alle anderen Felder werden im zweiten Schritt (Dokumente bearbeiten) angezeigt.',
},
globalInputs: {
title: 'Globale Eingänge für alle Eingänge',
tooltip: 'Globale Eingaben werden von allen Knoten gemeinsam genutzt. Benutzer müssen sie ausfüllen, wenn sie eine Datenquelle auswählen. Beispielsweise können Felder wie Trennzeichen und maximale Blocklänge einheitlich auf mehrere Datenquellen angewendet werden. Im ersten Schritt (Datenquelle) werden nur Eingabefelder angezeigt, die von Datenquellenvariablen referenziert werden. Alle anderen Felder werden im zweiten Schritt (Dokumente bearbeiten) angezeigt.',
},
preview: {
stepTwoTitle: 'Dokumente verarbeiten',
stepOneTitle: 'Datenquelle',
},
error: {
variableDuplicate: 'Der Variablenname ist bereits vorhanden. Bitte wählen Sie einen anderen Namen.',
},
editInputField: 'Eingabefeld bearbeiten',
addInputField: 'Eingabefeld hinzufügen',
title: 'Eingabefelder für Benutzer',
description: 'Benutzereingabefelder werden verwendet, um Variablen zu definieren und zu erfassen, die während des Pipeline-Ausführungsprozesses erforderlich sind. Benutzer können den Feldtyp anpassen und den Eingabewert flexibel konfigurieren, um den Anforderungen verschiedener Datenquellen oder Dokumentverarbeitungsschritte gerecht zu werden.',
},
addDocuments: {
steps: {
processDocuments: 'Dokumente verarbeiten',
processingDocuments: 'Verarbeiten von Dokumenten',
chooseDatasource: 'Auswählen einer Datenquelle',
},
stepOne: {
preview: 'Vorschau',
},
stepTwo: {
previewChunks: 'Vorschau von Chunks',
chunkSettings: 'Chunk-Einstellungen',
},
stepThree: {
learnMore: 'Weitere Informationen',
},
characters: 'Zeichen',
backToDataSource: 'Datenquelle',
title: 'Dokumente hinzufügen',
},
documentSettings: {
title: 'Dokument-Einstellungen',
},
onlineDocument: {},
onlineDrive: {
breadcrumbs: {
allFiles: 'Alle Dateien',
allBuckets: 'Alle Cloud Storage-Buckets',
searchPlaceholder: 'Dateien suchen...',
},
emptySearchResult: 'Es wurden keine Gegenstände gefunden',
resetKeywords: 'Schlüsselwörter zurücksetzen',
notSupportedFileType: 'Dieser Dateityp wird nicht unterstützt',
emptyFolder: 'Dieser Ordner ist leer',
},
credentialSelector: {},
conversion: {
confirm: {
title: 'Bestätigung',
content: 'Diese Aktion ist dauerhaft. Sie können die vorherige Methode nicht wiederherstellen. Bitte bestätigen Sie, um umzurechnen.',
},
title: 'In Wissenspipeline konvertieren',
successMessage: 'Erfolgreiches Konvertieren des Datasets in eine Pipeline',
errorMessage: 'Fehler beim Konvertieren des Datasets in eine Pipeline.',
warning: 'Diese Aktion kann nicht rückgängig gemacht werden.',
descriptionChunk1: 'Sie können jetzt Ihre vorhandene Wissensdatenbank konvertieren, um die Knowledge Pipeline für die Dokumentenverarbeitung zu verwenden',
descriptionChunk2: ' ein offenerer und flexiblerer Ansatz mit Zugang zu Plugins aus unserem Marktplatz. Dadurch wird die neue Verarbeitungsmethode auf alle zukünftigen Dokumente angewendet.',
},
knowledgePermissions: 'Erlaubnisse',
inputField: 'Eingabefeld',
knowledgeDescription: 'Beschreibung des Wissens',
editPipelineInfo: 'Bearbeiten von Pipeline-Informationen',
knowledgeNameAndIcon: 'Name und Symbol des Wissens',
pipelineNameAndIcon: 'Name und Symbol der Pipeline',
knowledgeDescriptionPlaceholder: 'Beschreiben Sie, was in dieser Wissensdatenbank enthalten ist. Eine detaillierte Beschreibung ermöglicht es der KI, genauer auf den Inhalt des Datensatzes zuzugreifen. Wenn das Feld leer ist, verwendet Dify die Standard-Trefferstrategie. (Fakultativ)',
knowledgeNameAndIconPlaceholder: 'Bitte geben Sie den Namen der Knowledge Base ein.',
}
export default translation

View File

@ -37,6 +37,14 @@ const translation = {
helpText: 'Erfahren Sie, wie Sie eine gute Datensatzbeschreibung schreiben.',
indexMethodChangeToEconomyDisabledTip: 'Nicht verfügbar für ein Downgrade von HQ auf ECO',
searchModel: 'Modell suchen',
chunkStructure: {
learnMore: 'Weitere Informationen',
title: 'Chunk-Struktur',
description: 'über Chunk Structure.',
},
nameAndIcon: 'Name & Symbol',
onSearchResults: 'Kein Mitglied stimmt mit Ihrer Suchanfrage überein.\nVersuchen Sie Ihre Suche erneut.',
numberOfKeywords: 'Anzahl der Schlüsselwörter',
},
}

View File

@ -42,6 +42,10 @@ const translation = {
},
change: 'Ändern',
changeRetrievalMethod: 'Abfragemethode ändern',
keyword_search: {
title: 'Invertierter Index',
description: 'Der invertierte Index ist eine Struktur, die für einen effizienten Abruf verwendet wird. Jeder Begriff ist nach Begriffen geordnet und verweist auf Dokumente oder Webseiten, die ihn enthalten.',
},
},
docsFailedNotice: 'Dokumente konnten nicht indiziert werden',
retry: 'Wiederholen',
@ -149,6 +153,8 @@ const translation = {
chunkingMode: {
parentChild: 'Eltern-Kind',
general: 'Allgemein',
graph: 'Graph',
qa: 'Fragen und Antworten',
},
parentMode: {
paragraph: 'Absatz',
@ -217,6 +223,9 @@ const translation = {
addMetadata: 'Metadaten hinzufügen',
},
embeddingModelNotAvailable: 'Das Einbettungsmodell ist nicht verfügbar.',
updated: 'Aktualisierte',
externalKnowledgeBase: 'Externe Wissensdatenbank',
createFromPipeline: 'Aus Wissenspipeline erstellen',
}
export default translation

View File

@ -1,4 +1,8 @@
const translation = {
sidebar: {
collapseSidebar: 'Seitenleiste einklappen',
expandSidebar: 'Seitenleiste erweitern',
},
}
export default translation

View File

@ -55,6 +55,7 @@ const translation = {
passwordInvalid: 'Das Passwort muss Buchstaben und Zahlen enthalten und länger als 8 Zeichen sein',
passwordLengthInValid: 'Das Passwort muss mindestens 8 Zeichen lang sein',
registrationNotAllowed: 'Konto nicht gefunden. Bitte wenden Sie sich an den Systemadministrator, um sich zu registrieren.',
invalidEmailOrPassword: 'Ungültige E-Mail oder Passwort.',
},
license: {
tip: 'Bevor du mit Dify Community Edition beginnst, lies die',
@ -110,6 +111,15 @@ const translation = {
disabled: 'Die Webanmeldeauthentifizierung ist deaktiviert. Bitte kontaktieren Sie den Systemadministrator, um sie zu aktivieren. Sie können versuchen, die App direkt zu verwenden.',
login: 'Anmelden',
},
signup: {
createAccount: 'Erstellen Sie Ihr Konto',
signIn: 'Anmelden',
signUp: 'Anmelden',
welcome: '👋 Willkommen! Bitte füllen Sie die Einzelheiten aus, um zu beginnen.',
haveAccount: 'Haben Sie bereits ein Konto?',
noAccount: 'Haben Sie kein Konto?',
verifyMail: 'Fahren Sie mit dem Bestätigungscode fort',
},
}
export default translation

View File

@ -0,0 +1,38 @@
const translation = {
common: {
publishAsPipeline: {
description: 'Beschreibung des Wissens',
name: 'Name und Symbol der Pipeline',
namePlaceholder: 'Geben Sie den Namen dieser Knowledge Pipeline ein. (Erforderlich)',
descriptionPlaceholder: 'Bitte geben Sie die Beschreibung dieser Knowledge Pipeline ein. (Fakultativ)',
},
testRun: 'Testlauf',
reRun: 'Erneuter Lauf',
goToAddDocuments: 'Gehen Sie zu Dokumente hinzufügen',
confirmPublish: 'Bestätigen Sie die Veröffentlichung',
publishAs: 'Veröffentlichen als Wissenspipeline',
confirmPublishContent: 'Nach der erfolgreichen Veröffentlichung der Wissenspipeline kann die Chunk-Struktur dieser Wissensdatenbank nicht mehr geändert werden. Sind Sie sicher, dass Sie es veröffentlichen möchten?',
processing: 'Verarbeitung',
preparingDataSource: 'Vorbereiten der Datenquelle',
},
inputField: {
create: 'Benutzereingabefeld erstellen',
manage: 'Verwalten',
},
publishToast: {
title: 'Diese Pipeline wurde noch nicht veröffentlicht',
desc: 'Wenn die Pipeline nicht veröffentlicht wird, können Sie die Chunk-Struktur im Wissensdatenbank-Knoten ändern, und die Pipeline-Orchestrierung und -Änderungen werden automatisch als Entwurf gespeichert.',
},
result: {
resultPreview: {
viewDetails: 'Details anzeigen',
error: 'Während der Ausführung ist ein Fehler aufgetreten',
loading: 'Verarbeitung... Bitte warten',
},
},
ragToolSuggestions: {
title: 'Vorschläge für die RAG',
},
}
export default translation

View File

@ -17,6 +17,7 @@ const translation = {
entertainment: 'Unterhaltung',
utilities: 'Versorgungswirtschaft',
productivity: 'Produktivität',
rag: 'LAPPEN',
},
searchTags: 'Such-Tags',
allTags: 'Alle Schlagwörter',

View File

@ -6,6 +6,7 @@ const translation = {
models: 'Modelle',
all: 'Alle',
tools: 'Werkzeuge',
datasources: 'Datenquellen',
},
categorySingle: {
extension: 'Erweiterung',
@ -13,6 +14,7 @@ const translation = {
bundle: 'Bündel',
model: 'Modell',
tool: 'Werkzeug',
datasource: 'Datenquelle',
},
list: {
source: {
@ -49,35 +51,44 @@ const translation = {
settings: 'BENUTZEREINSTELLUNGEN',
uninstalledLink: 'In Plugins verwalten',
descriptionLabel: 'Beschreibung des Werkzeugs',
empty: 'Klicken Sie auf die Schaltfläche "+", um Werkzeuge hinzuzufügen. Sie können mehrere Werkzeuge hinzufügen.',
empty:
'Klicken Sie auf die Schaltfläche "+", um Werkzeuge hinzuzufügen. Sie können mehrere Werkzeuge hinzufügen.',
title: 'Werkzeug "Hinzufügen"',
paramsTip2: 'Wenn "Automatisch" ausgeschaltet ist, wird der Standardwert verwendet.',
unsupportedContent: 'Die installierte Plug-in-Version bietet diese Aktion nicht.',
paramsTip2:
'Wenn "Automatisch" ausgeschaltet ist, wird der Standardwert verwendet.',
unsupportedContent:
'Die installierte Plug-in-Version bietet diese Aktion nicht.',
unsupportedTitle: 'Nicht unterstützte Aktion',
descriptionPlaceholder: 'Kurze Beschreibung des Zwecks des Werkzeugs, z. B. um die Temperatur für einen bestimmten Ort zu ermitteln.',
descriptionPlaceholder:
'Kurze Beschreibung des Zwecks des Werkzeugs, z. B. um die Temperatur für einen bestimmten Ort zu ermitteln.',
auto: 'Auto',
params: 'KONFIGURATION DER ARGUMENTATION',
unsupportedContent2: 'Klicken Sie hier, um die Version zu wechseln.',
placeholder: 'Wählen Sie ein Werkzeug aus...',
uninstalledTitle: 'Tool nicht installiert',
toolLabel: 'Werkzeug',
uninstalledContent: 'Dieses Plugin wird aus dem lokalen/GitHub-Repository installiert. Bitte nach der Installation verwenden.',
uninstalledContent:
'Dieses Plugin wird aus dem lokalen/GitHub-Repository installiert. Bitte nach der Installation verwenden.',
toolSetting: 'Werkzeugs Einstellungen',
unsupportedMCPTool: 'Die derzeit ausgewählte Agentenstrategie-Plugin-Version unterstützt keine MCP-Tools.',
unsupportedMCPTool:
'Die derzeit ausgewählte Agentenstrategie-Plugin-Version unterstützt keine MCP-Tools.',
},
strategyNum: '{{num}} {{Strategie}} IINKLUSIVE',
configureApp: 'App konfigurieren',
endpointDeleteContent: 'Möchten Sie {{name}} entfernen?',
endpointsEmpty: 'Klicken Sie auf die Schaltfläche "+", um einen Endpunkt hinzuzufügen',
endpointsEmpty:
'Klicken Sie auf die Schaltfläche "+", um einen Endpunkt hinzuzufügen',
disabled: 'Arbeitsunfähig',
endpointsDocLink: 'Dokument anzeigen',
endpointDisableTip: 'Endpunkt deaktivieren',
endpoints: 'Endpunkte',
actionNum: '{{num}} {{Aktion}} IINKLUSIVE',
endpointModalTitle: 'Endpunkt einrichten',
endpointModalDesc: 'Nach der Konfiguration können die Funktionen, die das Plugin über API-Endpunkte bereitstellt, verwendet werden.',
endpointModalDesc:
'Nach der Konfiguration können die Funktionen, die das Plugin über API-Endpunkte bereitstellt, verwendet werden.',
configureTool: 'Werkzeug konfigurieren',
endpointsTip: 'Dieses Plugin bietet bestimmte Funktionen über Endpunkte, und Sie können mehrere Endpunktsätze für den aktuellen Arbeitsbereich konfigurieren.',
endpointsTip:
'Dieses Plugin bietet bestimmte Funktionen über Endpunkte, und Sie können mehrere Endpunktsätze für den aktuellen Arbeitsbereich konfigurieren.',
modelNum: '{{num}} ENTHALTENE MODELLE',
configureModel: 'Modell konfigurieren',
endpointDisableContent: 'Möchten Sie {{name}} deaktivieren?',
@ -90,9 +101,12 @@ const translation = {
ownershipTransferred: 'Eigentum übertragen',
businessAdjustments: 'Geschäftsanpassungen',
},
onlyReason: 'Dieses Plugin wurde aufgrund von {{deprecatedReason}} abgelehnt und wird nicht länger aktualisiert.',
fullMessage: 'Dieses Plugin wurde aufgrund von {{deprecatedReason}} eingestellt und wird nicht mehr aktualisiert. Bitte verwenden Sie stattdessen <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink>.',
noReason: 'Dieses Plugin wurde eingestellt und wird nicht mehr aktualisiert.',
onlyReason:
'Dieses Plugin wurde aufgrund von {{deprecatedReason}} abgelehnt und wird nicht länger aktualisiert.',
fullMessage:
'Dieses Plugin wurde aufgrund von {{deprecatedReason}} eingestellt und wird nicht mehr aktualisiert. Bitte verwenden Sie stattdessen <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink>.',
noReason:
'Dieses Plugin wurde eingestellt und wird nicht mehr aktualisiert.',
},
},
debugInfo: {
@ -143,10 +157,13 @@ const translation = {
back: 'Zurück',
uploadingPackage: 'Das Hochladen von {{packageName}}...',
readyToInstallPackage: 'Über die Installation des folgenden Plugins',
readyToInstallPackages: 'Über die Installation der folgenden {{num}} Plugins',
fromTrustSource: 'Bitte stellen Sie sicher, dass Sie nur Plugins aus einer <trustSource>vertrauenswürdigen Quelle</trustSource> installieren.',
readyToInstallPackages:
'Über die Installation der folgenden {{num}} Plugins',
fromTrustSource:
'Bitte stellen Sie sicher, dass Sie nur Plugins aus einer <trustSource>vertrauenswürdigen Quelle</trustSource> installieren.',
readyToInstall: 'Über die Installation des folgenden Plugins',
dropPluginToInstall: 'Legen Sie das Plugin-Paket hier ab, um es zu installieren',
dropPluginToInstall:
'Legen Sie das Plugin-Paket hier ab, um es zu installieren',
next: 'Nächster',
installWarning: 'Dieses Plugin darf nicht installiert werden.',
},
@ -156,7 +173,8 @@ const translation = {
uploadFailed: 'Upload fehlgeschlagen',
selectPackage: 'Paket auswählen',
installFailed: 'Installation fehlgeschlagen',
installNote: 'Bitte stellen Sie sicher, dass Sie nur Plugins aus einer vertrauenswürdigen Quelle installieren.',
installNote:
'Bitte stellen Sie sicher, dass Sie nur Plugins aus einer vertrauenswürdigen Quelle installieren.',
selectVersionPlaceholder: 'Bitte wählen Sie eine Version aus',
updatePlugin: 'Update-Plugin von GitHub',
installPlugin: 'Plugin von GitHub installieren',
@ -173,9 +191,12 @@ const translation = {
close: 'Schließen',
},
error: {
inValidGitHubUrl: 'Ungültige GitHub-URL. Bitte geben Sie eine gültige URL im Format ein: https://github.com/owner/repo',
noReleasesFound: 'Keine Veröffentlichungen gefunden. Bitte überprüfen Sie das GitHub-Repository oder die Eingabe-URL.',
fetchReleasesError: 'Freigaben können nicht abgerufen werden. Bitte versuchen Sie es später erneut.',
inValidGitHubUrl:
'Ungültige GitHub-URL. Bitte geben Sie eine gültige URL im Format ein: https://github.com/owner/repo',
noReleasesFound:
'Keine Veröffentlichungen gefunden. Bitte überprüfen Sie das GitHub-Repository oder die Eingabe-URL.',
fetchReleasesError:
'Freigaben können nicht abgerufen werden. Bitte versuchen Sie es später erneut.',
},
marketplace: {
sortOption: {
@ -198,11 +219,14 @@ const translation = {
},
task: {
clearAll: 'Alle löschen',
installingWithError: 'Installation von {{installingLength}} Plugins, {{successLength}} erfolgreich, {{errorLength}} fehlgeschlagen',
installingWithSuccess: 'Installation von {{installingLength}} Plugins, {{successLength}} erfolgreich.',
installingWithError:
'Installation von {{installingLength}} Plugins, {{successLength}} erfolgreich, {{errorLength}} fehlgeschlagen',
installingWithSuccess:
'Installation von {{installingLength}} Plugins, {{successLength}} erfolgreich.',
installedError: '{{errorLength}} Plugins konnten nicht installiert werden',
installing: 'Installation von {{installingLength}} Plugins, 0 erledigt.',
installError: '{{errorLength}} Plugins konnten nicht installiert werden, klicken Sie hier, um sie anzusehen',
installError:
'{{errorLength}} Plugins konnten nicht installiert werden, klicken Sie hier, um sie anzusehen',
},
allCategories: 'Alle Kategorien',
install: '{{num}} Installationen',
@ -221,7 +245,8 @@ const translation = {
metadata: {
title: 'Plugins',
},
difyVersionNotCompatible: 'Die aktuelle Dify-Version ist mit diesem Plugin nicht kompatibel, bitte aktualisieren Sie auf die erforderliche Mindestversion: {{minimalDifyVersion}}',
difyVersionNotCompatible:
'Die aktuelle Dify-Version ist mit diesem Plugin nicht kompatibel, bitte aktualisieren Sie auf die erforderliche Mindestversion: {{minimalDifyVersion}}',
requestAPlugin: 'Ein Plugin anfordern',
publishPlugins: 'Plugins veröffentlichen',
auth: {
@ -243,12 +268,19 @@ const translation = {
oauthClient: 'OAuth-Client',
authorizationName: 'Genehmigungsname',
useApiAuth: 'API-Schlüssel Autorisierungs-Konfiguration',
clientInfo: 'Da keine System-Client-Geheimnisse für diesen Tool-Anbieter gefunden wurden, ist eine manuelle Einrichtung erforderlich. Bitte verwenden Sie für redirect_uri',
useApiAuthDesc: 'Nachdem die Anmeldeinformationen konfiguriert wurden, können alle Mitglieder des Arbeitsbereichs dieses Tool beim Orchestrieren von Anwendungen verwenden.',
clientInfo:
'Da keine System-Client-Geheimnisse für diesen Tool-Anbieter gefunden wurden, ist eine manuelle Einrichtung erforderlich. Bitte verwenden Sie für redirect_uri',
useApiAuthDesc:
'Nachdem die Anmeldeinformationen konfiguriert wurden, können alle Mitglieder des Arbeitsbereichs dieses Tool beim Orchestrieren von Anwendungen verwenden.',
authRemoved: 'Die Authentifizierung wurde entfernt.',
unavailable: 'Nicht verfügbar',
credentialUnavailable: 'Anmeldeinformationen derzeit nicht verfügbar. Bitte kontaktieren Sie den Administrator.',
customCredentialUnavailable: 'Benutzerdefinierte Anmeldeinformationen derzeit nicht verfügbar',
credentialUnavailable:
'Anmeldeinformationen derzeit nicht verfügbar. Bitte kontaktieren Sie den Administrator.',
customCredentialUnavailable:
'Benutzerdefinierte Anmeldeinformationen derzeit nicht verfügbar',
credentialUnavailableInButton: 'Zugangsdaten nicht verfügbar',
connectedWorkspace: 'Vernetzter Arbeitsbereich',
emptyAuth: 'Bitte konfigurieren Sie die Authentifizierung',
},
deprecated: 'Abgelehnt',
autoUpdate: {
@ -260,7 +292,8 @@ const translation = {
fixOnly: {
name: 'Nur fixieren',
selectedDescription: 'Auto-Update nur für Patch-Versionen',
description: 'Automatische Aktualisierung nur für Patchversionen (z. B. 1.0.1 → 1.0.2). Kleinere Versionsänderungen lösen keine Aktualisierungen aus.',
description:
'Automatische Aktualisierung nur für Patchversionen (z. B. 1.0.1 → 1.0.2). Kleinere Versionsänderungen lösen keine Aktualisierungen aus.',
},
latest: {
description: 'Immer auf die neueste Version aktualisieren',
@ -275,7 +308,8 @@ const translation = {
},
upgradeModePlaceholder: {
exclude: 'Ausgewählte Plugins werden nicht automatisch aktualisiert',
partial: 'Nur ausgewählte Plugins werden automatisch aktualisiert. Derzeit sind keine Plugins ausgewählt, daher werden keine Plugins automatisch aktualisiert.',
partial:
'Nur ausgewählte Plugins werden automatisch aktualisiert. Derzeit sind keine Plugins ausgewählt, daher werden keine Plugins automatisch aktualisiert.',
},
operation: {
clearAll: 'Alles löschen',
@ -285,7 +319,8 @@ const translation = {
downgrade: 'Trotzdem downgraden',
title: 'Plugin Downgrade',
exclude: 'Von der automatischen Aktualisierung ausschließen',
description: 'Die automatische Aktualisierung ist derzeit für dieses Plugin aktiviert. Ein Downgrade der Version kann dazu führen, dass Ihre Änderungen während des nächsten automatischen Updates überschrieben werden.',
description:
'Die automatische Aktualisierung ist derzeit für dieses Plugin aktiviert. Ein Downgrade der Version kann dazu führen, dass Ihre Änderungen während des nächsten automatischen Updates überschrieben werden.',
},
noPluginPlaceholder: {
noInstalled: 'Keine Plugins installiert',
@ -294,10 +329,13 @@ const translation = {
automaticUpdates: 'Automatische Updates',
updateTimeTitle: 'Aktualisierungszeit',
updateTime: 'Aktualisierungszeit',
excludeUpdate: 'Die folgenden {{num}} Plugins werden nicht automatisch aktualisiert.',
changeTimezone: 'Um die Zeitzone zu ändern, gehen Sie zu <setTimezone> Einstellungen </setTimezone>',
excludeUpdate:
'Die folgenden {{num}} Plugins werden nicht automatisch aktualisiert.',
changeTimezone:
'Um die Zeitzone zu ändern, gehen Sie zu <setTimezone> Einstellungen </setTimezone>',
nextUpdateTime: 'Nächstes automatisches Update: {{time}}',
partialUPdate: 'Nur die folgenden {{num}} Plugins werden automatisch aktualisiert',
partialUPdate:
'Nur die folgenden {{num}} Plugins werden automatisch aktualisiert',
specifyPluginsToUpdate: 'Geben Sie die zu aktualisierenden Plugins an',
updateSettings: 'Einstellungen aktualisieren',
},

View File

@ -193,6 +193,16 @@ const translation = {
confirm: 'Hinzufügen & Autorisieren',
sseReadTimeout: 'SSE-Lesezeitüberschreitung',
timeout: 'Zeitüberschreitung',
headers: 'Kopfzeilen',
timeoutPlaceholder: 'dreißig',
headerKeyPlaceholder: 'z.B., Autorisierung',
addHeader: 'Kopfzeile hinzufügen',
headerValuePlaceholder: 'z.B., Träger Token123',
headerValue: 'Header-Wert',
headerKey: 'Kopfzeilenname',
noHeaders: 'Keine benutzerdefinierten Header konfiguriert',
maskedHeadersTip: 'Headerwerte sind zum Schutz maskiert. Änderungen werden die tatsächlichen Werte aktualisieren.',
headersTip: 'Zusätzliche HTTP-Header, die mit MCP-Serveranfragen gesendet werden sollen',
},
delete: 'MCP-Server entfernen',
deleteConfirmTitle: 'Möchten Sie {{mcp}} entfernen?',
@ -234,6 +244,7 @@ const translation = {
publishTip: 'App nicht veröffentlicht. Bitte zuerst die App veröffentlichen.',
},
},
allTools: 'Alle Werkzeuge',
}
export default translation

View File

@ -85,7 +85,6 @@ const translation = {
limit: 'Die Parallelität ist auf {{num}} Zweige beschränkt.',
depthLimit: 'Begrenzung der parallelen Verschachtelungsschicht von {{num}} Schichten',
},
parallelRun: 'Paralleler Lauf',
disconnect: 'Trennen',
jumpToNode: 'Zu diesem Knoten springen',
addParallelNode: 'Parallelen Knoten hinzufügen',
@ -216,6 +215,8 @@ const translation = {
back: 'Zurück',
iteration: 'Iteration',
loop: 'Schleife',
reRun: 'Erneuter Lauf',
preparingDataSource: 'Vorbereiten der Datenquelle',
},
tabs: {
'tools': 'Werkzeuge',
@ -234,6 +235,8 @@ const translation = {
'blocks': 'Knoten',
'allAdded': 'Alle hinzugefügt',
'addAll': 'Alles hinzufügen',
'sources': 'Quellen',
'searchDataSource': 'Datenquelle durchsuchen',
},
blocks: {
'start': 'Start',
@ -258,6 +261,8 @@ const translation = {
'loop': 'Schleife',
'loop-start': 'Schleifenbeginn',
'loop-end': 'Schleife beenden',
'datasource': 'Datenquelle',
'knowledge-index': 'Wissensdatenbank',
},
blocksAbout: {
'start': 'Definieren Sie die Anfangsparameter zum Starten eines Workflows',
@ -280,6 +285,8 @@ const translation = {
'agent': 'Aufruf großer Sprachmodelle zur Beantwortung von Fragen oder zur Verarbeitung natürlicher Sprache',
'loop': 'Führen Sie eine Schleife aus, bis die Abschlussbedingungen erfüllt sind oder die maximalen Schleifenanzahl erreicht ist.',
'loop-end': 'Entspricht "break". Dieser Knoten hat keine Konfigurationselemente. Wenn der Schleifenrumpf diesen Knoten erreicht, wird die Schleife beendet.',
'datasource': 'Datenquelle Über',
'knowledge-index': 'Wissensdatenbank Über',
},
operator: {
zoomIn: 'Vergrößern',
@ -380,6 +387,7 @@ const translation = {
input: 'Eingabewert',
variable: 'Verwende die Variable',
},
inputVars: 'Eingabevariablen',
},
start: {
required: 'erforderlich',
@ -468,6 +476,12 @@ const translation = {
instruction: 'Anleitung',
regenerate: 'Regenerieren',
},
reasoningFormat: {
tooltip: 'Inhalte aus Denk-Tags extrahieren und im Feld reasoning_content speichern.',
separated: 'Separate Denk tags',
title: 'Aktivieren Sie die Trennung von Argumentations-Tags',
tagged: 'Behalte die Denk-Tags',
},
},
knowledgeRetrieval: {
queryVariable: 'Abfragevariable',
@ -908,6 +922,27 @@ const translation = {
output: 'Ausgabewert',
input: 'Eingabe',
},
dataSource: {
add: 'Hinzufügen einer Datenquelle',
supportedFileFormats: 'Unterstützte Dateiformate',
supportedFileFormatsPlaceholder: 'Dateiendung, e.g. doc',
},
knowledgeBase: {
chunkStructureTip: {
learnMore: 'Weitere Informationen',
title: 'Bitte wählen Sie eine Chunk-Struktur',
message: 'Die Dify-Wissensdatenbank unterstützt drei Chunking-Strukturen: Allgemein, Über- und Untergeordnetes Element und Q&A. Jede Wissensdatenbank kann nur eine Struktur haben. Die Ausgabe des vorherigen Knotens muss an der ausgewählten Blockstruktur ausgerichtet sein. Beachten Sie, dass sich die Wahl der Chunking-Struktur auf die verfügbaren Indexmethoden auswirkt.',
},
changeChunkStructure: 'Chunk-Struktur ändern',
retrievalSettingIsRequired: 'Abrufeinstellung ist erforderlich',
chunkStructure: 'Chunk-Struktur',
indexMethodIsRequired: 'Index-Methode ist erforderlich',
aboutRetrieval: 'Über die Abrufmethode.',
chooseChunkStructure: 'Auswählen einer Chunk-Struktur',
chunkIsRequired: 'Chunk-Struktur ist erforderlich',
chunksInput: 'Stücke',
chunksInputTip: 'Die Eingangsvariable des Wissensbasis-Knotens sind Chunks. Der Variablentyp ist ein Objekt mit einem spezifischen JSON-Schema, das konsistent mit der ausgewählten Chunk-Struktur sein muss.',
},
},
tracing: {
stopBy: 'Gestoppt von {{user}}',
@ -978,6 +1013,10 @@ const translation = {
resetConversationVar: 'Setze die Gesprächsvariable auf den Standardwert zurück',
reset: 'Auf den letzten Ausführungswert zurücksetzen',
emptyTip: 'Nachdem Sie einen Knoten auf der Leinwand durchlaufen oder einen Knoten Schritt für Schritt ausgeführt haben, können Sie den aktuellen Wert der Knotenvariable in der Variableninspektion anzeigen.',
largeData: 'Große Datenmengen, schreibgeschützte Vorschau. Exportieren, um alle anzuzeigen.',
export: 'exportieren',
exportToolTip: 'Variable als Datei exportieren',
largeDataNoExport: 'Große Datenmengen nur teilweise Vorschau',
},
settingsTab: 'Einstellungen',
lastRunTab: 'Letzte Ausführung',
@ -996,6 +1035,10 @@ const translation = {
noLastRunFound: 'Kein vorheriger Lauf gefunden',
lastOutput: 'Letzte Ausgabe',
},
sidebar: {
exportWarning: 'Aktuelle gespeicherte Version exportieren',
exportWarningDesc: 'Dies wird die derzeit gespeicherte Version Ihres Workflows exportieren. Wenn Sie ungespeicherte Änderungen im Editor haben, speichern Sie diese bitte zuerst, indem Sie die Exportoption im Workflow-Canvas verwenden.',
},
}
export default translation

View File

@ -368,7 +368,7 @@ const translation = {
'addModalTitle': 'Add Input Field',
'editModalTitle': 'Edit Input Field',
'description': 'Setting for variable {{varName}}',
'fieldType': 'Field type',
'fieldType': 'Field Type',
'string': 'Short Text',
'text-input': 'Short Text',
'paragraph': 'Paragraph',
@ -382,15 +382,27 @@ const translation = {
'multi-files': 'File List',
'notSet': 'Not set, try typing {{input}} in the prefix prompt',
'stringTitle': 'Form text box options',
'maxLength': 'Max length',
'maxLength': 'Max Length',
'options': 'Options',
'addOption': 'Add option',
'apiBasedVar': 'API-based Variable',
'varName': 'Variable Name',
'labelName': 'Label Name',
'displayName': 'Display Name',
'inputPlaceholder': 'Please input',
'content': 'Content',
'required': 'Required',
'placeholder': 'Placeholder',
'placeholderPlaceholder': 'Enter text to display when the field is empty',
'defaultValue': 'Default Value',
'defaultValuePlaceholder': 'Enter default value to pre-populate the field',
'unit': 'Unit',
'unitPlaceholder': 'Display units after numbers, e.g. tokens',
'tooltips': 'Tooltips',
'tooltipsPlaceholder': 'Enter helpful text shown when hovering over the label',
'showAllSettings': 'Show All Settings',
'startSelectedOption': 'Start selected option',
'noDefaultSelected': 'Don\'t select',
'hide': 'Hide',
'file': {
supportFileTypes: 'Support File Types',
@ -413,6 +425,7 @@ const translation = {
},
},
'uploadFileTypes': 'Upload File Types',
'uploadMethod': 'Upload Method',
'localUpload': 'Local Upload',
'both': 'Both',
'maxNumberOfUploads': 'Max number of uploads',
@ -423,7 +436,7 @@ const translation = {
atLeastOneOption: 'At least one option is required',
optionRepeat: 'Has repeat options',
},
'defaultValue': 'Default value',
'startChecked': 'Start checked',
'noDefaultValue': 'No default value',
'selectDefaultValue': 'Select default value',
},

View File

@ -79,6 +79,7 @@ const translation = {
Create: 'Create',
Cancel: 'Cancel',
Confirm: 'Confirm',
import: 'Import',
nameNotEmpty: 'Name cannot be empty',
appTemplateNotSelected: 'Please select a template',
appTypeRequired: 'Please select an app type',
@ -266,6 +267,10 @@ const translation = {
inScope: 'in {{scope}}s',
clearToSearchAll: 'Clear @ to search all',
useAtForSpecific: 'Use @ for specific types',
selectToNavigate: 'Select to navigate',
startTyping: 'Start typing to search',
tips: 'Press ↑↓ to navigate',
pressEscToClose: 'Press ESC to close',
selectSearchType: 'Choose what to search for',
searchHint: 'Start typing to search everything instantly',
commandHint: 'Type @ to browse by category',

View File

@ -17,7 +17,10 @@ const translation = {
viewBilling: 'Manage billing and subscriptions',
buyPermissionDeniedTip: 'Please contact your enterprise administrator to subscribe',
plansCommon: {
title: 'Pricing that powers your AI journey',
title: {
plans: 'plans',
description: 'Select the plan that best fits your team\'s needs.',
},
freeTrialTipPrefix: 'Sign up and get a ',
freeTrialTip: 'free trial of 200 OpenAI calls. ',
freeTrialTipSuffix: 'No credit card required',
@ -33,13 +36,14 @@ const translation = {
year: 'year',
save: 'Save ',
free: 'Free',
annualBilling: 'Annual Billing',
annualBilling: 'Bill Annually Save {{percent}}%',
comparePlanAndFeatures: 'Compare plans & features',
priceTip: 'per workspace/',
currentPlan: 'Current Plan',
contractSales: 'Contact sales',
contractOwner: 'Contact team manager',
startForFree: 'Start for Free',
startBuilding: 'Start Building',
getStarted: 'Get Started',
contactSales: 'Contact Sales',
talkToSales: 'Talk to Sales',
@ -107,24 +111,24 @@ const translation = {
sandbox: {
name: 'Sandbox',
for: 'Free Trial of Core Capabilities',
description: 'Free Trial of Core Capabilities',
description: 'Try core features for free.',
},
professional: {
name: 'Professional',
for: 'For Independent Developers/Small Teams',
description: 'For Independent Developers/Small Teams',
description: 'For independent developers & small teams ready to build production AI applications.',
},
team: {
name: 'Team',
for: 'For Medium-sized Teams',
description: 'For Medium-sized Teams',
description: 'For medium-sized teams requiring collaboration and higher throughput.',
},
community: {
name: 'Community',
for: 'For Individual Users, Small Teams, or Non-commercial Projects',
description: 'For Individual Users, Small Teams, or Non-commercial Projects',
description: 'For open-source enthusiasts, individual developers, and non-commercial projects',
price: 'Free',
btnText: 'Get Started with Community',
btnText: 'Get Started',
includesTitle: 'Free Features:',
features: [
'All Core Features Released Under the Public Repository',
@ -135,10 +139,10 @@ const translation = {
premium: {
name: 'Premium',
for: 'For Mid-sized Organizations and Teams',
description: 'For Mid-sized Organizations and Teams',
description: 'For Mid-sized organizations needing deployment flexibility and enhanced support',
price: 'Scalable',
priceTip: 'Based on Cloud Marketplace',
btnText: 'Get Premium in',
btnText: 'Get Premium on',
includesTitle: 'Everything from Community, plus:',
comingSoon: 'Microsoft Azure & Google Cloud Support Coming Soon',
features: [
@ -151,11 +155,11 @@ const translation = {
enterprise: {
name: 'Enterprise',
for: 'For large-sized Teams',
description: 'For Enterprise Require Organization-wide Security, Compliance, Scalability, Control and More Advanced Features',
description: 'For enterprise requiring organization-grade security, compliance, scalability, control and custom solutions',
price: 'Custom',
priceTip: 'Annual Billing Only',
btnText: 'Contact Sales',
includesTitle: 'Everything from Premium, plus:',
includesTitle: 'Everything from <highlight>Premium</highlight>, plus:',
features: [
'Enterprise-grade Scalable Deployment Solutions',
'Commercial License Authorization',

View File

@ -77,6 +77,9 @@ const translation = {
input: 'Please enter',
select: 'Please select',
},
label: {
optional: '(optional)',
},
voice: {
language: {
zhHans: 'Chinese',
@ -320,6 +323,12 @@ const translation = {
transfer: 'Transfer workspace ownership',
},
},
feedback: {
title: 'Provide Feedback',
subtitle: 'Please tell us what went wrong with this response',
content: 'Feedback Content',
placeholder: 'Please describe what went wrong or how we can improve...',
},
integrations: {
connected: 'Connected',
google: 'Google',
@ -493,10 +502,13 @@ const translation = {
authRemoved: 'Auth removed',
apiKeys: 'API Keys',
addApiKey: 'Add API Key',
addModel: 'Add model',
addNewModel: 'Add new model',
addCredential: 'Add credential',
addModelCredential: 'Add model credential',
editModelCredential: 'Edit model credential',
modelCredentials: 'Model credentials',
modelCredential: 'Model credential',
configModel: 'Config model',
configLoadBalancing: 'Config Load Balancing',
authorizationError: 'Authorization error',
@ -509,7 +521,14 @@ const translation = {
desc: 'After configuring credentials, all members within the workspace can use this model when orchestrating applications.',
addModel: 'Add model',
},
manageCredentials: 'Manage Credentials',
customModelCredentials: 'Custom Model Credentials',
addNewModelCredential: 'Add new model credential',
removeModel: 'Remove Model',
selectModelCredential: 'Select a model credential',
customModelCredentialsDeleteTip: 'Credential is in use and cannot be deleted',
},
parametersInvalidRemoved: 'Some parameters are invalid and have been removed',
},
dataSource: {
add: 'Add a data source',
@ -608,6 +627,7 @@ const translation = {
viewDoc: 'View documentation',
relatedApp: 'linked apps',
noRelatedApp: 'No linked apps',
pipeline: 'Pipeline',
},
voiceInput: {
speaking: 'Speak now...',

View File

@ -38,7 +38,7 @@ const translation = {
button: 'Drag and drop file or folder, or',
buttonSingleFile: 'Drag and drop file, or',
browse: 'Browse',
tip: 'Supports {{supportTypes}}. Max {{size}}MB each.',
tip: 'Supports {{supportTypes}}. Max {{batchCount}} in a batch and {{size}} MB each.',
validation: {
typeError: 'File type not supported',
size: 'File too large. Maximum is {{size}}MB',
@ -79,6 +79,7 @@ const translation = {
configureWatercrawl: 'Configure Watercrawl',
configureJinaReader: 'Configure Jina Reader',
run: 'Run',
running: 'Running',
firecrawlTitle: 'Extract web content with 🔥Firecrawl',
firecrawlDoc: 'Firecrawl docs',
watercrawlTitle: 'Extract web content with Watercrawl',
@ -121,6 +122,7 @@ const translation = {
paragraphTip: 'This mode splits the text in to paragraphs based on delimiters and the maximum chunk length, using the split text as the parent chunk for retrieval.',
fullDoc: 'Full Doc',
fullDocTip: 'The entire document is used as the parent chunk and retrieved directly. Please note that for performance reasons, text exceeding 10000 tokens will be automatically truncated.',
qaTip: 'When using structured Q&A data, you can create documents that pair questions with answers. These documents are indexed based on the question portion, allowing the system to retrieve relevant answers based on query similarity.',
separator: 'Delimiter',
separatorTip: 'A delimiter is the character used to separate text. \\n\\n and \\n are commonly used delimiters for separating paragraphs and lines. Combined with commas (\\n\\n,\\n), paragraphs will be segmented by lines when exceeding the maximum chunk length. You can also use special delimiters defined by yourself (e.g. ***).',
separatorPlaceholder: '\\n\\n for paragraphs; \\n for lines',
@ -199,7 +201,7 @@ const translation = {
resume: 'Resume processing',
navTo: 'Go to document',
sideTipTitle: 'What\'s next',
sideTipContent: 'After the document finishes indexing, the Knowledge can be integrated into the application as context, you can find the context setting in the prompt orchestration page. You can also create it as an independent ChatGPT indexing plugin for release.',
sideTipContent: 'After finishing document indexing, you can manage and edit documents, run retrieval tests, and modify knowledge settings. Knowledge can then be integrated into your application as context, so make sure to adjust the Retrieval Setting to ensure optimal performance.',
modelTitle: 'Are you sure to stop embedding?',
modelContent: 'If you need to resume processing later, you will continue from where you left off.',
modelButtonConfirm: 'Confirm',

View File

@ -99,6 +99,9 @@ const translation = {
upload_file: 'Upload File',
notion: 'Sync form Notion',
github: 'Sync form Github',
local_file: 'Local File',
website_crawl: 'Website Crawl',
online_document: 'Online Document',
},
type: {
book: 'Book',
@ -315,6 +318,7 @@ const translation = {
},
},
embedding: {
waiting: 'Embedding waiting...',
processing: 'Embedding processing...',
paused: 'Embedding paused',
completed: 'Embedding completed',

View File

@ -0,0 +1,166 @@
const translation = {
creation: {
backToKnowledge: 'Back to Knowledge',
createFromScratch: {
title: 'Blank knowledge pipeline',
description: 'Create a custom pipeline from scratch with full control over data processing and structure.',
},
importDSL: 'Import from a DSL file',
createKnowledge: 'Create Knowledge',
errorTip: 'Failed to create a Knowledge Base',
successTip: 'Successfully created a Knowledge Base',
caution: 'Caution',
},
templates: {
customized: 'Customized',
},
operations: {
choose: 'Choose',
details: 'Details',
editInfo: 'Edit info',
useTemplate: 'Use this Knowledge Pipeline',
backToDataSource: 'Back to Data Source',
process: 'Process',
dataSource: 'Data Source',
saveAndProcess: 'Save & Process',
preview: 'Preview',
exportPipeline: 'Export Pipeline',
convert: 'Convert',
},
knowledgeNameAndIcon: 'Knowledge name & icon',
knowledgeNameAndIconPlaceholder: 'Please enter the name of the Knowledge Base',
knowledgeDescription: 'Knowledge description',
knowledgeDescriptionPlaceholder: 'Describe what is in this Knowledge Base. A detailed description allows AI to access the content of the dataset more accurately. If empty, Dify will use the default hit strategy. (Optional)',
knowledgePermissions: 'Permissions',
editPipelineInfo: 'Edit pipeline info',
pipelineNameAndIcon: 'Pipeline name & icon',
deletePipeline: {
title: 'Are you sure to delete this pipeline template?',
content: 'Deleting the pipeline template is irreversible.',
},
publishPipeline: {
success: {
message: 'Knowledge Pipeline Published',
tip: '<CustomLink>Go to Documents</CustomLink> to add or manage documents.',
},
error: {
message: 'Failed to Publish Knowledge Pipeline',
},
},
publishTemplate: {
success: {
message: 'Pipeline Template Published',
tip: 'You can use this template on the creation page.',
learnMore: 'Learn more',
},
error: {
message: 'Failed to Publish Pipeline Template',
},
},
exportDSL: {
successTip: 'Export pipeline DSL successfully',
errorTip: 'Failed to export pipeline DSL',
},
details: {
createdBy: 'By {{author}}',
structure: 'Structure',
structureTooltip: 'Chunk Structure determines how documents are split and indexed—offering General, Parent-Child, and Q&A modes—and is unique to each knowledge base.',
},
testRun: {
title: 'Test Run',
tooltip: 'In test run mode, only one document is allowed to be imported at a time for easier debugging and observation.',
steps: {
dataSource: 'Data Source',
documentProcessing: 'Document Processing',
},
dataSource: {
localFiles: 'Local Files',
},
notion: {
title: 'Choose Notion Pages',
docTitle: 'Notion docs',
},
},
inputField: 'Input Field',
inputFieldPanel: {
title: 'User Input Fields',
description: 'User input fields are used to define and collect variables required during the pipeline execution process. Users can customize the field type and flexibly configure the input value to meet the needs of different data sources or document processing steps.',
uniqueInputs: {
title: 'Unique Inputs for Each Entrance',
tooltip: 'Unique Inputs are only accessible to the selected data source and its downstream nodes. Users won\'t need to fill it in when choosing other data sources. Only input fields referenced by data source variables will appear in the first step(Data Source). All other fields will be shown in the second step(Process Documents).',
},
globalInputs: {
title: 'Global Inputs for All Entrances',
tooltip: 'Global Inputs are shared across all nodes. Users will need to fill them in when selecting any data source. For example, fields like delimiter and maximum chunk length can be uniformly applied across multiple data sources. Only input fields referenced by Data Source variables appear in the first step (Data Source). All other fields show up in the second step (Process Documents).',
},
addInputField: 'Add Input Field',
editInputField: 'Edit Input Field',
preview: {
stepOneTitle: 'Data Source',
stepTwoTitle: 'Process Documents',
},
error: {
variableDuplicate: 'Variable name already exists. Please choose a different name.',
},
},
addDocuments: {
title: 'Add Documents',
steps: {
chooseDatasource: 'Choose a Data Source',
processDocuments: 'Process Documents',
processingDocuments: 'Processing Documents',
},
backToDataSource: 'Data Source',
stepOne: {
preview: 'Preview',
},
stepTwo: {
chunkSettings: 'Chunk Settings',
previewChunks: 'Preview Chunks',
},
stepThree: {
learnMore: 'Learn more',
},
characters: 'characters',
selectOnlineDocumentTip: 'Process up to {{count}} pages',
selectOnlineDriveTip: 'Process up to {{count}} files, maximum {{fileSize}} MB each',
},
documentSettings: {
title: 'Document Settings',
},
onlineDocument: {
pageSelectorTitle: '{{name}} pages',
},
onlineDrive: {
notConnected: '{{name}} is not connected',
notConnectedTip: 'To sync with {{name}}, connection to {{name}} must be established first.',
breadcrumbs: {
allBuckets: 'All Cloud Storage Buckets',
allFiles: 'All Files',
searchResult: 'Find {{searchResultsLength}} items in "{{folderName}}" folder',
searchPlaceholder: 'Search files...',
},
notSupportedFileType: 'This file type is not supported',
emptyFolder: 'This folder is empty',
emptySearchResult: 'No items were found',
resetKeywords: 'Reset keywords',
},
credentialSelector: {
name: '{{credentialName}}\'s {{pluginName}}',
},
configurationTip: 'Configure {{pluginName}}',
conversion: {
title: 'Convert to Knowledge Pipeline',
descriptionChunk1: 'You can now convert your existing knowledge base to use the Knowledge Pipeline for document processing',
descriptionChunk2: ' — a more open and flexible approach with access to plugins from our marketplace. This will apply the new processing method to all future documents.',
warning: 'This action cannot be undone.',
confirm: {
title: 'Confirmation',
content: 'This action is permanent. You won\'t be able to revert to the previous method.Please confirm to convert.',
},
errorMessage: 'Failed to convert the dataset to a pipeline',
successMessage: 'Successfully converted the dataset to a pipeline',
},
}
export default translation

View File

@ -3,9 +3,10 @@ const translation = {
desc: 'Here you can modify the properties and retrieval settings of this Knowledge.',
form: {
name: 'Knowledge Name',
nameAndIcon: 'Name & Icon',
namePlaceholder: 'Please enter the Knowledge name',
nameError: 'Name cannot be empty',
desc: 'Knowledge Description',
desc: 'Description',
descInfo: 'Please write a clear textual description to outline the content of the Knowledge. This description will be used as a basis for matching when selecting from multiple Knowledge for inference.',
descPlaceholder: 'Describe what is in this data set. A detailed description allows AI to access the content of the data set in a timely manner. If empty, Dify will use the default hit strategy.',
helpText: 'Learn how to write a good dataset description.',
@ -15,12 +16,19 @@ const translation = {
permissionsAllMember: 'All team members',
permissionsInvitedMembers: 'Partial team members',
me: '(You)',
onSearchResults: 'No members match your search query.\nTry your search again.',
chunkStructure: {
title: 'Chunk Structure',
learnMore: 'Learn more',
description: ' about Chunk Structure.',
},
indexMethod: 'Index Method',
indexMethodHighQuality: 'High Quality',
indexMethodHighQualityTip: 'Calling the embedding model to process documents for more precise retrieval helps LLM generate high-quality answers.',
upgradeHighQualityTip: 'Once upgrading to High Quality mode, reverting to Economical mode is not available',
indexMethodEconomy: 'Economical',
indexMethodEconomyTip: 'Using 10 keywords per chunk for retrieval, no tokens are consumed at the expense of reduced retrieval accuracy.',
indexMethodEconomyTip: 'Using {{count}} keywords per chunk for retrieval, no tokens are consumed at the expense of reduced retrieval accuracy.',
numberOfKeywords: 'Number of Keywords',
embeddingModel: 'Embedding Model',
embeddingModelTip: 'Change the embedded model, please go to ',
embeddingModelTipLink: 'Settings',

View File

@ -3,6 +3,8 @@ const translation = {
chunkingMode: {
general: 'General',
parentChild: 'Parent-child',
qa: 'Q&A',
graph: 'Graph',
},
parentMode: {
paragraph: 'Paragraph',
@ -20,11 +22,18 @@ const translation = {
learnHowToWriteGoodKnowledgeDescription: 'Learn how to write a good knowledge description',
externalAPIPanelDescription: 'The external knowledge API is used to connect to a knowledge base outside of Dify and retrieve knowledge from that knowledge base.',
externalAPIPanelDocumentation: 'Learn how to create an External Knowledge API',
externalKnowledgeBase: 'External Knowledge Base',
localDocs: 'Local Docs',
documentCount: ' docs',
docAllEnabled_one: '{{count}} document enabled',
docAllEnabled_other: 'All {{count}} documents enabled',
partialEnabled_one: 'Total of {{count}} document, {{num}} available',
partialEnabled_other: 'Total of {{count}} documents, {{num}} available',
wordCount: ' k words',
appCount: ' linked apps',
updated: 'Updated',
createDataset: 'Create Knowledge',
createFromPipeline: 'Create from Knowledge Pipeline',
createNewExternalAPI: 'Create a new External Knowledge API',
noExternalKnowledge: 'There is no External Knowledge API yet, click here to create',
createExternalAPI: 'Add an External Knowledge API',
@ -117,7 +126,7 @@ const translation = {
description: 'Execute full-text search and vector searches simultaneously, re-rank to select the best match for the user\'s query. Users can choose to set weights or configure to a Rerank model.',
recommend: 'Recommend',
},
invertedIndex: {
keyword_search: {
title: 'Inverted Index',
description: 'Inverted Index is a structure used for efficient retrieval. Organized by terms, each term points to documents or web pages containing it.',
},
@ -217,6 +226,17 @@ const translation = {
technicalParameters: 'Technical Parameters',
},
},
serviceApi: {
title: 'Service API',
enabled: 'In Service',
disabled: 'Disabled',
card: {
title: 'Backend service api',
endpoint: 'Service API Endpoint',
apiKey: 'API Key',
apiReference: 'API Reference',
},
},
}
export default translation

View File

@ -1,4 +1,8 @@
const translation = {
sidebar: {
expandSidebar: 'Expand Sidebar',
collapseSidebar: 'Collapse Sidebar',
},
}
export default translation

View File

@ -1,6 +1,6 @@
const translation = {
pageTitle: 'Hey, let\'s get started!',
welcome: '👋 Welcome to Dify, please log in to continue.',
pageTitle: 'Log in to Dify',
welcome: '👋 Welcome! Please log in to get started.',
email: 'Email address',
emailPlaceholder: 'Your email',
password: 'Password',
@ -62,6 +62,7 @@ const translation = {
passwordLengthInValid: 'Password must be at least 8 characters',
passwordInvalid: 'Password must contain letters and numbers, and the length must be greater than 8',
registrationNotAllowed: 'Account not found. Please contact the system admin to register.',
invalidEmailOrPassword: 'Invalid email or password.',
},
license: {
tip: 'Before starting Dify Community Edition, read the GitHub',
@ -110,6 +111,15 @@ const translation = {
noLoginMethodTip: 'Please contact the system admin to add an authentication method.',
disabled: 'Webapp authentication is disabled. Please contact the system admin to enable it. You can try to use the app directly.',
},
signup: {
noAccount: 'Dont have an account? ',
signUp: 'Sign Up',
createAccount: 'Create your account',
welcome: '👋 Welcome! Please fill in the details to get started.',
verifyMail: 'Continue with verification code',
haveAccount: 'Already have an account? ',
signIn: 'Sign In',
},
}
export default translation

View File

@ -0,0 +1,40 @@
const translation = {
common: {
goToAddDocuments: 'Go to add documents',
publishAs: 'Publish as a Customized Pipeline Template',
confirmPublish: 'Confirm Publish',
confirmPublishContent: 'After successfully publishing the knowledge pipeline, the chunk structure of this knowledge base cannot be modified. Are you sure you want to publish it?',
publishAsPipeline: {
name: 'Pipeline name & icon',
namePlaceholder: 'Please enter the name of this Knowledge Pipeline. (Required) ',
description: 'Knowledge description',
descriptionPlaceholder: 'Please enter the description of this Knowledge Pipeline. (Optional) ',
},
testRun: 'Test Run',
preparingDataSource: 'Preparing Data Source',
reRun: 'Re-run',
processing: 'Processing',
},
inputField: {
create: 'Create user input field',
manage: 'Manage',
},
publishToast: {
title: 'This pipeline has not yet been published',
desc: 'When the pipeline is not published, you can modify the chunk structure in the knowledge base node, and the pipeline orchestration and changes will be automatically saved as a draft.',
},
result: {
resultPreview: {
loading: 'Processing...Please wait',
error: 'Error occurred during execution',
viewDetails: 'View details',
footerTip: 'In test run mode, preview up to {{count}} chunks',
},
},
ragToolSuggestions: {
title: 'Suggestions for RAG',
noRecommendationPluginsInstalled: 'No recommended plugins installed, find more in <CustomLink>Marketplace</CustomLink>',
},
}
export default translation

View File

@ -3,6 +3,7 @@ const translation = {
searchTags: 'Search Tags',
tags: {
agent: 'Agent',
rag: 'RAG',
search: 'Search',
image: 'Image',
videos: 'Videos',

View File

@ -9,6 +9,7 @@ const translation = {
agents: 'Agent Strategies',
extensions: 'Extensions',
bundles: 'Bundles',
datasources: 'Data Sources',
},
categorySingle: {
model: 'Model',
@ -16,6 +17,7 @@ const translation = {
agent: 'Agent Strategy',
extension: 'Extension',
bundle: 'Bundle',
datasource: 'Data Source',
trigger: 'Trigger',
},
search: 'Search',
@ -299,8 +301,11 @@ const translation = {
clientInfo: 'As no system client secrets found for this tool provider, setup it manually is required, for redirect_uri, please use',
oauthClient: 'OAuth Client',
credentialUnavailable: 'Credentials currently unavailable. Please contact admin.',
credentialUnavailableInButton: 'Credential unavailable',
customCredentialUnavailable: 'Custom credentials currently unavailable',
unavailable: 'Unavailable',
connectedWorkspace: 'Connected Workspace',
emptyAuth: 'Please configure authentication',
},
}

View File

@ -187,12 +187,22 @@ const translation = {
serverIdentifier: 'Server Identifier',
serverIdentifierTip: 'Unique identifier for the MCP server within the workspace. Lowercase letters, numbers, underscores, and hyphens only. Up to 24 characters.',
serverIdentifierPlaceholder: 'Unique identifier, e.g., my-mcp-server',
serverIdentifierWarning: 'The server wont be recognized by existing apps after an ID change',
serverIdentifierWarning: 'The server won\'t be recognized by existing apps after an ID change',
headers: 'Headers',
headersTip: 'Additional HTTP headers to send with MCP server requests',
headerKey: 'Header Name',
headerValue: 'Header Value',
headerKeyPlaceholder: 'e.g., Authorization',
headerValuePlaceholder: 'e.g., Bearer token123',
addHeader: 'Add Header',
noHeaders: 'No custom headers configured',
maskedHeadersTip: 'Header values are masked for security. Changes will update the actual values.',
cancel: 'Cancel',
save: 'Save',
confirm: 'Add & Authorize',
timeout: 'Timeout',
sseReadTimeout: 'SSE Read Timeout',
timeoutPlaceholder: '30',
},
delete: 'Remove MCP Server',
deleteConfirmTitle: 'Would you like to remove {{mcp}}?',
@ -234,6 +244,7 @@ const translation = {
publishTip: 'App not published. Please publish the app first.',
},
},
allTools: 'All tools',
}
export default translation

View File

@ -21,8 +21,11 @@ const translation = {
runHistory: 'Run History',
goBackToEdit: 'Go back to editor',
conversationLog: 'Conversation Log',
features: 'Features',
featuresDescription: 'Enhance web app user experience',
ImageUploadLegacyTip: 'You can now create file type variables in the start form. We will no longer support the image upload feature in the future. ',
fileUploadTip: 'Image upload features have been upgraded to file upload. ',
featuresDocLink: 'Learn more',
debugAndPreview: 'Preview',
restart: 'Restart',
currentDraft: 'Current Draft',
@ -45,6 +48,7 @@ const translation = {
setVarValuePlaceholder: 'Set variable',
needConnectTip: 'This step is not connected to anything',
maxTreeDepth: 'Maximum limit of {{depth}} nodes per branch',
needAdd: '{{node}} node must be added',
needEndNode: 'The End node must be added',
needStartNode: 'At least one start node must be added',
needAnswerNode: 'The Answer node must be added',
@ -94,7 +98,6 @@ const translation = {
importWarning: 'Caution',
importWarningDetails: 'DSL version difference may affect certain features',
importSuccess: 'Import Successfully',
parallelRun: 'Parallel Run',
parallelTip: {
click: {
title: 'Click',
@ -141,6 +144,10 @@ const translation = {
export: 'Export DSL with secret values ',
},
},
sidebar: {
exportWarning: 'Export Current Saved Version',
exportWarningDesc: 'This will export the current saved version of your workflow. If you have unsaved changes in the editor, please save them first by using the export option in the workflow canvas.',
},
chatVariable: {
panelTitle: 'Conversation Variables',
panelDescription: 'Conversation Variables are used to store interactive information that LLM needs to remember, including conversation history, uploaded files, user preferences. They are read-write. ',
@ -222,8 +229,10 @@ const translation = {
},
},
singleRun: {
testRun: 'Test Run ',
testRun: 'Test Run',
startRun: 'Start Run',
preparingDataSource: 'Preparing Data Source',
reRun: 'Re-run',
running: 'Running',
testRunIteration: 'Test Run Iteration',
back: 'Back',
@ -251,6 +260,8 @@ const translation = {
'agent': 'Agent Strategy',
'allAdded': 'All added',
'addAll': 'Add all',
'sources': 'Sources',
'searchDataSource': 'Search Data Source',
},
blocks: {
'start': 'User Input',
@ -276,6 +287,8 @@ const translation = {
'loop-start': 'Loop Start',
'loop': 'Loop',
'loop-end': 'Exit Loop',
'knowledge-index': 'Knowledge Base',
'datasource': 'Data Source',
'trigger-schedule': 'Schedule Trigger',
'trigger-webhook': 'Webhook Trigger',
'trigger-plugin': 'Plugin Trigger',
@ -302,6 +315,8 @@ const translation = {
'document-extractor': 'Used to parse uploaded documents into text content that is easily understandable by LLM.',
'list-operator': 'Used to filter or sort array content.',
'agent': 'Invoking large language models to answer questions or process natural language',
'knowledge-index': 'Knowledge Base About',
'datasource': 'Data Source About',
'trigger-schedule': 'Time-based workflow trigger that starts workflows on a schedule',
'trigger-webhook': 'Webhook Trigger receives HTTP pushes from third-party systems to automatically trigger workflows.',
'trigger-plugin': 'Third-party integration trigger that starts workflows from external platform events',
@ -415,6 +430,7 @@ const translation = {
input: 'Input value',
variable: 'Use variable',
},
inputVars: 'Input Variables',
},
start: {
required: 'required',
@ -475,6 +491,12 @@ const translation = {
variable: 'Variable',
},
sysQueryInUser: 'sys.query in user message is required',
reasoningFormat: {
title: 'Enable reasoning tag separation',
tagged: 'Keep think tags',
separated: 'Separate think tags',
tooltip: 'Extract content from think tags and store it in the reasoning_content field.',
},
jsonSchema: {
title: 'Structured Output Schema',
instruction: 'Instruction',
@ -986,6 +1008,27 @@ const translation = {
clickToViewParameterSchema: 'Click to view parameter schema',
parameterSchema: 'Parameter Schema',
},
dataSource: {
supportedFileFormats: 'Supported file formats',
supportedFileFormatsPlaceholder: 'File extension, e.g. doc',
add: 'Add data source',
},
knowledgeBase: {
chunkStructure: 'Chunk Structure',
chooseChunkStructure: 'Choose a chunk structure',
chunkStructureTip: {
title: 'Please choose a chunk structure',
message: 'The Dify Knowledge Base supports three chunking structures: General, Parent-child, and Q&A. Each knowledge base can have only one structure. The output from the preceding node must align with the selected chunk structure. Note that the choice of chunking structure affects the available index methods.',
learnMore: 'Learn more',
},
changeChunkStructure: 'Change Chunk Structure',
chunksInput: 'Chunks',
chunksInputTip: 'The input variable of the knowledge base node is Chunks. The variable type is an object with a specific JSON Schema which must be consistent with the selected chunk structure.',
aboutRetrieval: 'about retrieval method.',
chunkIsRequired: 'Chunk structure is required',
indexMethodIsRequired: 'Index method is required',
retrievalSettingIsRequired: 'Retrieval setting is required',
},
triggerSchedule: {
title: 'Schedule',
nodeTitle: 'Schedule Trigger',
@ -1156,6 +1199,10 @@ const translation = {
envNode: 'Environment',
chatNode: 'Conversation',
systemNode: 'System',
exportToolTip: 'Export Variable as File',
largeData: 'Large data, read-only preview. Export to view all.',
largeDataNoExport: 'Large data - partial preview only',
export: 'export',
},
lastOutput: 'Last Output',
relations: {

View File

@ -334,6 +334,19 @@ const translation = {
'json': 'Código JSON',
'checkbox': 'Checkbox',
'optional': 'opcional',
'placeholder': 'Marcador',
'uploadMethod': 'Método de carga',
'displayName': 'Nombre para mostrar',
'startSelectedOption': 'Iniciar opción seleccionada',
'noDefaultSelected': 'No seleccionar',
'startChecked': 'Empezar marcado',
'placeholderPlaceholder': 'Introduzca el texto que se mostrará cuando el campo esté vacío',
'defaultValuePlaceholder': 'Introduzca el valor predeterminado para rellenar previamente el campo',
'tooltips': 'Información sobre herramientas',
'tooltipsPlaceholder': 'Ingrese el texto útil que se muestra al pasar el cursor sobre la etiqueta',
'unitPlaceholder': 'Mostrar unidades después de números, por ejemplo, fichas',
'showAllSettings': 'Mostrar todas las configuraciones',
'unit': 'Unidad',
},
vision: {
name: 'Visión',

View File

@ -80,6 +80,7 @@ const translation = {
chatbotUserDescription: 'Cree rápidamente un chatbot basado en LLM con una configuración sencilla. Puedes cambiar a Chatflow más tarde.',
completionUserDescription: 'Cree rápidamente un asistente de IA para tareas de generación de texto con una configuración sencilla.',
dropDSLToCreateApp: 'Suelta el archivo DSL aquí para crear la aplicación',
import: 'Importación',
},
editApp: 'Editar información',
editAppTitle: 'Editar información de la app',
@ -316,6 +317,10 @@ const translation = {
tryDifferentSearch: 'Prueba con un término de búsqueda diferente',
noMatchingCommands: 'No se encontraron comandos coincidentes',
slashHint: 'Escribe / para ver todos los comandos disponibles',
selectToNavigate: 'Seleccionar para navegar',
pressEscToClose: 'Presiona ESC para cerrar',
startTyping: 'Empieza a escribir para buscar',
tips: 'Presiona ↑↓ para navegar',
},
}

View File

@ -93,6 +93,7 @@ const translation = {
freeTrialTipPrefix: 'Regístrate y obtén un',
apiRateLimitTooltip: 'El límite de tasa de la API se aplica a todas las solicitudes realizadas a través de la API de Dify, incluidos la generación de texto, las conversaciones de chat, las ejecuciones de flujo de trabajo y el procesamiento de documentos.',
documentsRequestQuotaTooltip: 'Especifica el número total de acciones que un espacio de trabajo puede realizar por minuto dentro de la base de conocimientos, incluyendo la creación, eliminación, actualización de conjuntos de datos, carga de documentos, modificaciones, archivo y consultas a la base de conocimientos. Esta métrica se utiliza para evaluar el rendimiento de las solicitudes a la base de conocimientos. Por ejemplo, si un usuario de Sandbox realiza 10 pruebas consecutivas en un minuto, su espacio de trabajo será temporalmente restringido de realizar las siguientes acciones durante el siguiente minuto: creación de conjuntos de datos, eliminación, actualizaciones y carga o modificaciones de documentos.',
startBuilding: 'Empezar a construir',
},
plans: {
sandbox: {

View File

@ -494,7 +494,17 @@ const translation = {
modelCredentials: 'Credenciales del modelo',
addCredential: 'Agregar credencial',
configLoadBalancing: 'Configuración de balanceo de carga',
modelCredential: 'Credencial modelo',
selectModelCredential: 'Seleccione una credencial de modelo',
addModel: 'Agregar modelo',
removeModel: 'Eliminar modelo',
customModelCredentials: 'Credenciales de modelo personalizadas',
addNewModelCredential: 'Agregar nueva credencial de modelo',
manageCredentials: 'Administrar credenciales',
customModelCredentialsDeleteTip: 'La credencial está en uso y no se puede eliminar',
editModelCredential: 'Editar credencial de modelo',
},
parametersInvalidRemoved: 'Algunos parámetros son inválidos y han sido eliminados',
},
dataSource: {
add: 'Agregar una fuente de datos',
@ -593,6 +603,7 @@ const translation = {
viewDoc: 'Ver documentación',
relatedApp: 'aplicaciones vinculadas',
noRelatedApp: 'No hay aplicaciones vinculadas',
pipeline: 'Tubería',
},
voiceInput: {
speaking: 'Habla ahora...',
@ -742,6 +753,15 @@ const translation = {
deleteTitle: 'Eliminar Avatar',
deleteDescription: '¿Estás seguro de que deseas eliminar tu foto de perfil? Tu cuenta usará el avatar inicial predeterminado.',
},
feedback: {
title: 'Proporcionar retroalimentación',
subtitle: 'Por favor, díganos qué salió mal con esta respuesta.',
placeholder: 'Por favor, describe qué salió mal o cómo podemos mejorar...',
content: 'Contenido de retroalimentación',
},
label: {
optional: '(opcional)',
},
}
export default translation

View File

@ -92,6 +92,7 @@ const translation = {
configureJinaReader: 'Configurar Jina Reader',
configureWatercrawl: 'Configurar Watercrawl',
waterCrawlNotConfiguredDescription: 'Configura Watercrawl con la clave de API para usarlo.',
running: 'Corriente',
},
cancel: 'Cancelar',
},
@ -177,6 +178,7 @@ const translation = {
qaSwitchHighQualityTipTitle: 'El formato de preguntas y respuestas requiere un método de indexación de alta calidad',
previewChunkCount: '{{conteo}} Fragmentos estimados',
general: 'General',
qaTip: 'Al usar datos estructurados de preguntas y respuestas, puede crear documentos que combinen preguntas con respuestas. Estos documentos se indexan en función de la parte de la pregunta, lo que permite que el sistema recupere respuestas relevantes en función de la similitud de la consulta.',
},
stepThree: {
creationTitle: '🎉 Conocimiento creado',

View File

@ -99,6 +99,9 @@ const translation = {
upload_file: 'Subir archivo',
notion: 'Sincronizar desde Notion',
github: 'Sincronizar desde GitHub',
online_document: 'Documento en línea',
local_file: 'Archivo local',
website_crawl: 'Rastreo del sitio web',
},
type: {
book: 'Libro',
@ -336,6 +339,7 @@ const translation = {
childMaxTokens: 'Niño',
hierarchical: 'Padre-hijo',
parentMaxTokens: 'Padre',
waiting: 'Esperando incrustación...',
},
segment: {
paragraphs: 'Párrafos',

View File

@ -0,0 +1,154 @@
const translation = {
creation: {
createFromScratch: {
title: 'Canalización de conocimiento en blanco',
description: 'Cree una canalización personalizada desde cero con control total sobre el procesamiento y la estructura de datos.',
},
caution: 'Cautela',
backToKnowledge: 'Volver al conocimiento',
successTip: 'Creó con éxito una base de conocimientos',
createKnowledge: 'Crear conocimiento',
errorTip: 'No se pudo crear una base de conocimiento',
importDSL: 'Importar desde un archivo DSL',
},
templates: {
customized: 'Personalizado',
},
operations: {
preview: 'Vista previa',
details: 'Detalles',
dataSource: 'Fuente de datos',
convert: 'Convertir',
choose: 'Elegir',
process: 'Proceso',
backToDataSource: 'Volver a la fuente de datos',
editInfo: 'Editar información',
exportPipeline: 'Canalización de exportación',
useTemplate: 'Utilice esta canalización de conocimiento',
saveAndProcess: 'Guardar y procesar',
},
deletePipeline: {
content: 'La eliminación de la plantilla de canalización es irreversible.',
title: '¿Está seguro de eliminar esta plantilla de canalización?',
},
publishPipeline: {
success: {
message: 'Publicación de Knowledge Pipeline',
},
error: {
message: 'No se pudo publicar la canalización de conocimiento',
},
},
publishTemplate: {
success: {
learnMore: 'Aprende más',
message: 'Plantilla de canalización publicada',
tip: 'Puede usar esta plantilla en la página de creación.',
},
error: {
message: 'No se pudo publicar la plantilla de canalización',
},
},
exportDSL: {
successTip: 'Exportar DSL de canalización correctamente',
errorTip: 'No se pudo exportar DSL de canalización',
},
details: {
structure: 'Structure',
structureTooltip: 'La estructura de fragmentos determina cómo se dividen e indexan los documentos, ofreciendo modos General, Principal-Secundario y Preguntas y respuestas, y es única para cada base de conocimiento.',
},
testRun: {
steps: {
documentProcessing: 'Procesamiento de documentos',
dataSource: 'Fuente de datos',
},
dataSource: {
localFiles: 'Archivos locales',
},
notion: {
docTitle: 'Documentos de Notion',
title: 'Elegir páginas de nociones',
},
title: 'Ejecución de prueba',
tooltip: 'En el modo de ejecución de prueba, solo se permite importar un documento a la vez para facilitar la depuración y la observación.',
},
inputFieldPanel: {
uniqueInputs: {
title: 'Entradas únicas para cada entrada',
tooltip: 'Las entradas únicas solo son accesibles para la fuente de datos seleccionada y sus nodos posteriores. Los usuarios no tendrán que rellenarlo al elegir otros orígenes de datos. Solo los campos de entrada a los que hacen referencia las variables de origen de datos aparecerán en el primer paso (Origen de datos). Todos los demás campos se mostrarán en el segundo paso (Procesar documentos).',
},
globalInputs: {
title: 'Entradas globales para todas las entradas',
tooltip: 'Las entradas globales se comparten entre todos los nodos. Los usuarios deberán completarlos al seleccionar cualquier fuente de datos. Por ejemplo, campos como el delimitador y la longitud máxima del fragmento se pueden aplicar de manera uniforme en varias fuentes de datos. Solo los campos de entrada a los que hacen referencia las variables de origen de datos aparecen en el primer paso (origen de datos). Todos los demás campos aparecen en el segundo paso (Procesar documentos).',
},
preview: {
stepTwoTitle: 'Documentos de proceso',
stepOneTitle: 'Fuente de datos',
},
error: {
variableDuplicate: 'El nombre de la variable ya existe. Por favor, elija un nombre diferente.',
},
addInputField: 'Agregar campo de entrada',
title: 'Campos de entrada de usuario',
editInputField: 'Editar campo de entrada',
description: 'Los campos de entrada del usuario se utilizan para definir y recopilar las variables necesarias durante el proceso de ejecución de la canalización. Los usuarios pueden personalizar el tipo de campo y configurar de forma flexible el valor de entrada para satisfacer las necesidades de diferentes fuentes de datos o pasos de procesamiento de documentos.',
},
addDocuments: {
steps: {
processingDocuments: 'Procesamiento de documentos',
processDocuments: 'Documentos de proceso',
chooseDatasource: 'Elegir una fuente de datos',
},
stepOne: {
preview: 'Vista previa',
},
stepTwo: {
chunkSettings: 'Configuración de fragmentos',
previewChunks: 'Vista previa de fragmentos',
},
stepThree: {
learnMore: 'Aprende más',
},
characters: 'Caracteres',
title: 'Agregar documentos',
backToDataSource: 'Fuente de datos',
},
documentSettings: {
title: 'Parametrizaciones de documentos',
},
onlineDocument: {},
onlineDrive: {
breadcrumbs: {
allBuckets: 'Todos los depósitos de Cloud Storage',
allFiles: 'Todos los archivos',
searchPlaceholder: 'Buscar archivos...',
},
emptySearchResult: 'No se encontraron artículos',
resetKeywords: 'Restablecer palabras clave',
emptyFolder: 'Esta carpeta está vacía',
notSupportedFileType: 'Este tipo de archivo no es compatible',
},
credentialSelector: {},
conversion: {
confirm: {
title: 'Confirmación',
content: 'Esta acción es permanente. No podrá volver al método anterior. Por favor, confirme para convertir.',
},
title: 'Convertir en canalización de conocimiento',
successMessage: 'Convertir correctamente el conjunto de datos en una canalización',
warning: 'Esta acción no se puede deshacer.',
errorMessage: 'No se pudo convertir el conjunto de datos en una canalización',
descriptionChunk2: '— un enfoque más abierto y flexible con acceso a complementos de nuestro mercado. Esto aplicará el nuevo método de procesamiento a todos los documentos futuros.',
descriptionChunk1: 'Ahora puede convertir su base de conocimientos existente para usar la canalización de conocimientos para el procesamiento de documentos',
},
knowledgeDescription: 'Descripción del conocimiento',
knowledgeNameAndIcon: 'Nombre e icono de conocimiento',
inputField: 'Campo de entrada',
knowledgeNameAndIconPlaceholder: 'Ingrese el nombre de la base de conocimientos',
knowledgeDescriptionPlaceholder: 'Describa lo que hay en esta base de conocimientos. Una descripción detallada permite a la IA acceder al contenido del conjunto de datos con mayor precisión. Si está vacío, Dify usará la estrategia de golpe predeterminada. (Opcional)',
pipelineNameAndIcon: 'Nombre e icono de la tubería',
knowledgePermissions: 'Permisos',
editPipelineInfo: 'Editar información de canalización',
}
export default translation

View File

@ -37,6 +37,14 @@ const translation = {
helpText: 'Aprenda a escribir una buena descripción del conjunto de datos.',
upgradeHighQualityTip: 'Una vez que se actualiza al modo de alta calidad, no está disponible volver al modo económico',
searchModel: 'Buscar modelo',
chunkStructure: {
learnMore: 'Aprende más',
description: 'sobre la estructura de fragmentos.',
title: 'Estructura de fragmentos',
},
numberOfKeywords: 'Número de palabras clave',
nameAndIcon: 'Nombre e icono',
onSearchResults: 'Ningún miembro coincide con su consulta de búsqueda.\nIntente su búsqueda nuevamente.',
},
}

View File

@ -42,6 +42,10 @@ const translation = {
},
change: 'Cambiar',
changeRetrievalMethod: 'Cambiar método de recuperación',
keyword_search: {
title: 'Índice invertido',
description: 'El índice invertido es una estructura utilizada para una recuperación eficiente. Organizado por términos, cada término apunta a documentos o páginas web que lo contienen.',
},
},
docsFailedNotice: 'no se pudieron indexar los documentos',
retry: 'Reintentar',
@ -149,6 +153,8 @@ const translation = {
chunkingMode: {
parentChild: 'Padre-hijo',
general: 'General',
graph: 'gráfico',
qa: 'Preguntas y respuestas',
},
parentMode: {
fullDoc: 'Documento completo',
@ -217,6 +223,9 @@ const translation = {
addMetadata: 'Agregar Metadatos',
},
embeddingModelNotAvailable: 'El modelo de embeddings no está disponible.',
externalKnowledgeBase: 'Base de conocimientos externa',
createFromPipeline: 'Crear desde Knowledge Pipeline',
updated: 'Actualizado',
}
export default translation

View File

@ -1,4 +1,8 @@
const translation = {
sidebar: {
collapseSidebar: 'Contraer barra lateral',
expandSidebar: 'Expandir barra lateral',
},
}
export default translation

View File

@ -55,6 +55,7 @@ const translation = {
passwordLengthInValid: 'La contraseña debe tener al menos 8 caracteres',
passwordInvalid: 'La contraseña debe contener letras y números, y tener una longitud mayor a 8',
registrationNotAllowed: 'Cuenta no encontrada. Póngase en contacto con el administrador del sistema para registrarse.',
invalidEmailOrPassword: 'Correo electrónico o contraseña inválidos.',
},
license: {
tip: 'Antes de comenzar con Dify Community Edition, lee la',
@ -110,6 +111,15 @@ const translation = {
noLoginMethod: 'Método de autenticación no configurado para la aplicación web',
login: 'Iniciar sesión',
},
signup: {
signIn: 'Iniciar sesión',
haveAccount: '¿Ya tienes una cuenta?',
createAccount: 'Crea tu cuenta',
noAccount: '¿No tienes una cuenta?',
signUp: 'Regístrate',
welcome: '👋 ¡Bienvenido! Por favor, completa los detalles para comenzar.',
verifyMail: 'Continuar con el código de verificación',
},
}
export default translation

View File

@ -0,0 +1,38 @@
const translation = {
common: {
publishAsPipeline: {
name: 'Nombre e icono de la tubería',
description: 'Descripción del conocimiento',
namePlaceholder: 'Ingrese el nombre de esta canalización de conocimiento. (Obligatorio)',
descriptionPlaceholder: 'Ingrese la descripción de este canal de conocimiento. (Opcional)',
},
reRun: 'Repetición',
processing: 'Tratamiento',
publishAs: 'Publicar como una canalización de conocimiento',
confirmPublish: 'Confirmar publicación',
goToAddDocuments: 'Ir a agregar documentos',
confirmPublishContent: 'Después de publicar correctamente la canalización de conocimiento, la estructura de fragmentos de esta base de conocimiento no se puede modificar. ¿Estás seguro de que quieres publicarlo?',
preparingDataSource: 'Preparar el origen de datos',
testRun: 'Ejecución de prueba',
},
inputField: {
manage: 'Gestionar',
create: 'Crear campo de entrada de usuario',
},
publishToast: {
title: 'Este pipeline aún no se ha publicado',
desc: 'Cuando la canalización no se publica, puede modificar la estructura de fragmentos en el nodo de la base de conocimiento y la orquestación y los cambios de la canalización se guardarán automáticamente como borrador.',
},
result: {
resultPreview: {
loading: 'Tratamiento... Espera',
viewDetails: 'Ver detalles',
error: 'Error ocurrido durante la ejecución',
},
},
ragToolSuggestions: {
title: 'Sugerencias para el GAR',
},
}
export default translation

View File

@ -17,6 +17,7 @@ const translation = {
business: 'Negocio',
other: 'Otro',
productivity: 'Productividad',
rag: 'TRAPO',
},
allTags: 'Todas las etiquetas',
searchTags: 'Etiquetas de búsqueda',

View File

@ -6,6 +6,7 @@ const translation = {
tools: 'Herramientas',
agents: 'Estrategias de los agentes',
models: 'Modelos',
datasources: 'Fuentes de datos',
},
categorySingle: {
bundle: 'Haz',
@ -13,6 +14,7 @@ const translation = {
tool: 'Herramienta',
model: 'Modelo',
agent: 'Estrategia del agente',
datasource: 'Fuente de datos',
},
list: {
source: {
@ -49,21 +51,27 @@ const translation = {
paramsTip1: 'Controla los parámetros de inferencia de LLM.',
settings: 'CONFIGURACIÓN DEL USUARIO',
unsupportedContent2: 'Haga clic para cambiar de versión.',
descriptionPlaceholder: 'Breve descripción del propósito de la herramienta, por ejemplo, obtener la temperatura para una ubicación específica.',
empty: 'Haga clic en el botón \'+\' para agregar herramientas. Puede agregar varias herramientas.',
paramsTip2: 'Cuando \'Auto\' está desactivado, se utiliza el valor predeterminado.',
descriptionPlaceholder:
'Breve descripción del propósito de la herramienta, por ejemplo, obtener la temperatura para una ubicación específica.',
empty:
'Haga clic en el botón \'+\' para agregar herramientas. Puede agregar varias herramientas.',
paramsTip2:
'Cuando \'Auto\' está desactivado, se utiliza el valor predeterminado.',
uninstalledTitle: 'Herramienta no instalada',
descriptionLabel: 'Descripción de la herramienta',
unsupportedContent: 'La versión del plugin instalado no proporciona esta acción.',
unsupportedContent:
'La versión del plugin instalado no proporciona esta acción.',
auto: 'Auto',
title: 'Agregar herramienta',
placeholder: 'Seleccione una herramienta...',
uninstalledContent: 'Este plugin se instala desde el repositorio local/GitHub. Úselo después de la instalación.',
uninstalledContent:
'Este plugin se instala desde el repositorio local/GitHub. Úselo después de la instalación.',
unsupportedTitle: 'Acción no admitida',
params: 'CONFIGURACIÓN DE RAZONAMIENTO',
uninstalledLink: 'Administrar en Plugins',
toolSetting: 'Configuraciones de la herramienta',
unsupportedMCPTool: 'La versión actual del plugin de estrategia del agente seleccionado no es compatible con las herramientas MCP.',
unsupportedMCPTool:
'La versión actual del plugin de estrategia del agente seleccionado no es compatible con las herramientas MCP.',
},
endpointDeleteContent: '¿Te gustaría eliminar {{nombre}}?',
endpointDisableTip: 'Deshabilitar punto de conexión',
@ -73,16 +81,19 @@ const translation = {
serviceOk: 'Servicio OK',
endpointDisableContent: '¿Te gustaría desactivar {{name}}?',
switchVersion: 'Versión del interruptor',
endpointsTip: 'Este complemento proporciona funcionalidades específicas a través de puntos finales, y puede configurar varios conjuntos de puntos finales para el espacio de trabajo actual.',
endpointsTip:
'Este complemento proporciona funcionalidades específicas a través de puntos finales, y puede configurar varios conjuntos de puntos finales para el espacio de trabajo actual.',
configureModel: 'Configurar modelo',
actionNum: '{{num}} {{acción}} INCLUIDO',
configureTool: 'Herramienta de configuración',
endpointModalDesc: 'Una vez configurado, se pueden utilizar las funciones proporcionadas por el complemento a través de los puntos finales de la API.',
endpointModalDesc:
'Una vez configurado, se pueden utilizar las funciones proporcionadas por el complemento a través de los puntos finales de la API.',
modelNum: '{{num}} MODELOS INCLUIDOS',
endpoints: 'Extremos',
endpointModalTitle: 'Punto de conexión de configuración',
endpointsDocLink: 'Ver el documento',
endpointsEmpty: 'Haga clic en el botón \'+\' para agregar un punto de conexión',
endpointsEmpty:
'Haga clic en el botón \'+\' para agregar un punto de conexión',
configureApp: 'Configurar la aplicación',
deprecation: {
reason: {
@ -90,9 +101,12 @@ const translation = {
noMaintainer: 'sin mantenedor',
businessAdjustments: 'ajustes comerciales',
},
noReason: 'Este complemento ha sido descontinuado y ya no se actualizará.',
onlyReason: 'Este complemento ha sido desaprobado debido a {{deprecatedReason}} y ya no se actualizará.',
fullMessage: 'Este complemento ha sido descontinuado debido a {{deprecatedReason}}, y ya no será actualizado. Por favor, utilice <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink> en su lugar.',
noReason:
'Este complemento ha sido descontinuado y ya no se actualizará.',
onlyReason:
'Este complemento ha sido desaprobado debido a {{deprecatedReason}} y ya no se actualizará.',
fullMessage:
'Este complemento ha sido descontinuado debido a {{deprecatedReason}}, y ya no será actualizado. Por favor, utilice <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink> en su lugar.',
},
},
debugInfo: {
@ -132,20 +146,23 @@ const translation = {
uploadingPackage: 'Subiendo {{packageName}}...',
installComplete: 'Instalación completa',
installFailed: 'Error de instalación',
fromTrustSource: 'Por favor, asegúrate de que sólo instalas plugins de una <trustSource>fuente de confianza</trustSource>.',
fromTrustSource:
'Por favor, asegúrate de que sólo instalas plugins de una <trustSource>fuente de confianza</trustSource>.',
installedSuccessfullyDesc: 'El plugin se ha instalado correctamente.',
back: 'Atrás',
installFailedDesc: 'El plugin ha fallado en la instalación.',
installing: 'Instalar...',
next: 'Próximo',
readyToInstallPackages: 'A punto de instalar los siguientes plugins {{num}}',
readyToInstallPackages:
'A punto de instalar los siguientes plugins {{num}}',
cancel: 'Cancelar',
uploadFailed: 'Error de carga',
install: 'Instalar',
pluginLoadError: 'Error de carga del plugin',
pluginLoadErrorDesc: 'Este plugin no se instalará',
readyToInstall: 'A punto de instalar el siguiente plugin',
dropPluginToInstall: 'Suelte el paquete del complemento aquí para instalarlo',
dropPluginToInstall:
'Suelte el paquete del complemento aquí para instalarlo',
readyToInstallPackage: 'A punto de instalar el siguiente plugin',
installedSuccessfully: 'Instalación exitosa',
installWarning: 'Este plugin no está permitido para instalar.',
@ -155,7 +172,8 @@ const translation = {
updatePlugin: 'Actualizar plugin desde GitHub',
selectPackagePlaceholder: 'Por favor, seleccione un paquete',
installedSuccessfully: 'Instalación exitosa',
installNote: 'Por favor, asegúrate de que sólo instalas plugins de una fuente de confianza.',
installNote:
'Por favor, asegúrate de que sólo instalas plugins de una fuente de confianza.',
gitHubRepo: 'Repositorio de GitHub',
selectPackage: 'Seleccionar paquete',
selectVersion: 'Seleccionar versión',
@ -173,9 +191,12 @@ const translation = {
usedInApps: 'Usado en aplicaciones {{num}}',
},
error: {
fetchReleasesError: 'No se pueden recuperar las versiones. Por favor, inténtelo de nuevo más tarde.',
noReleasesFound: 'No se han encontrado versiones. Compruebe el repositorio de GitHub o la URL de entrada.',
inValidGitHubUrl: 'URL de GitHub no válida. Introduzca una URL válida en el formato: https://github.com/owner/repo',
fetchReleasesError:
'No se pueden recuperar las versiones. Por favor, inténtelo de nuevo más tarde.',
noReleasesFound:
'No se han encontrado versiones. Compruebe el repositorio de GitHub o la URL de entrada.',
inValidGitHubUrl:
'URL de GitHub no válida. Introduzca una URL válida en el formato: https://github.com/owner/repo',
},
marketplace: {
sortOption: {
@ -199,10 +220,13 @@ const translation = {
task: {
installing: 'Instalando plugins {{installingLength}}, 0 hecho.',
clearAll: 'Borrar todo',
installingWithSuccess: 'Instalando plugins {{installingLength}}, {{successLength}} éxito.',
installingWithSuccess:
'Instalando plugins {{installingLength}}, {{successLength}} éxito.',
installedError: 'Los complementos {{errorLength}} no se pudieron instalar',
installError: 'Los complementos {{errorLength}} no se pudieron instalar, haga clic para ver',
installingWithError: 'Instalando plugins {{installingLength}}, {{successLength}} éxito, {{errorLength}} fallido',
installError:
'Los complementos {{errorLength}} no se pudieron instalar, haga clic para ver',
installingWithError:
'Instalando plugins {{installingLength}}, {{successLength}} éxito, {{errorLength}} fallido',
},
fromMarketplace: 'De Marketplace',
endpointsEnabled: '{{num}} conjuntos de puntos finales habilitados',
@ -221,7 +245,8 @@ const translation = {
metadata: {
title: 'Complementos',
},
difyVersionNotCompatible: 'La versión actual de Dify no es compatible con este plugin, por favor actualiza a la versión mínima requerida: {{minimalDifyVersion}}',
difyVersionNotCompatible:
'La versión actual de Dify no es compatible con este plugin, por favor actualiza a la versión mínima requerida: {{minimalDifyVersion}}',
requestAPlugin: 'Solicitar un plugin',
publishPlugins: 'Publicar plugins',
auth: {
@ -241,14 +266,21 @@ const translation = {
custom: 'Personalizado',
useOAuth: 'Usa OAuth',
setDefault: 'Establecer como predeterminado',
useApiAuthDesc: 'Después de configurar las credenciales, todos los miembros dentro del espacio de trabajo pueden usar esta herramienta al orquestar aplicaciones.',
useApiAuthDesc:
'Después de configurar las credenciales, todos los miembros dentro del espacio de trabajo pueden usar esta herramienta al orquestar aplicaciones.',
saveOnly: 'Guardar solo',
clientInfo: 'Como no se encontraron secretos de cliente del sistema para este proveedor de herramientas, se requiere configurarlo manualmente. Para redirect_uri, por favor utiliza',
clientInfo:
'Como no se encontraron secretos de cliente del sistema para este proveedor de herramientas, se requiere configurarlo manualmente. Para redirect_uri, por favor utiliza',
oauthClientSettings: 'Configuración del cliente OAuth',
default: 'Predeterminado',
customCredentialUnavailable: 'Las credenciales personalizadas no están disponibles actualmente.',
customCredentialUnavailable:
'Las credenciales personalizadas no están disponibles actualmente.',
unavailable: 'No disponible',
credentialUnavailable: 'Credenciales actualmente no disponibles. Por favor, contacte al administrador.',
credentialUnavailable:
'Credenciales actualmente no disponibles. Por favor, contacte al administrador.',
credentialUnavailableInButton: 'Credencial no disponible',
emptyAuth: 'Configure la autenticación',
connectedWorkspace: 'Espacio de trabajo conectado',
},
deprecated: 'Obsoleto',
autoUpdate: {
@ -259,8 +291,10 @@ const translation = {
},
fixOnly: {
name: 'Arreglar Solo',
selectedDescription: 'Actualización automática solo para versiones de parches',
description: 'Actualización automática solo para versiones de parche (por ejemplo, 1.0.1 → 1.0.2). Los cambios de versión menor no activarán actualizaciones.',
selectedDescription:
'Actualización automática solo para versiones de parches',
description:
'Actualización automática solo para versiones de parche (por ejemplo, 1.0.1 → 1.0.2). Los cambios de versión menor no activarán actualizaciones.',
},
latest: {
selectedDescription: 'Siempre actualiza a la última versión',
@ -275,7 +309,8 @@ const translation = {
},
upgradeModePlaceholder: {
exclude: 'Los plugins seleccionados no se actualizarán automáticamente',
partial: 'Solo los plugins seleccionados se actualizarán automáticamente. Actualmente no hay plugins seleccionados, por lo que no se actualizarán automáticamente.',
partial:
'Solo los plugins seleccionados se actualizarán automáticamente. Actualmente no hay plugins seleccionados, por lo que no se actualizarán automáticamente.',
},
operation: {
clearAll: 'Borrar todo',
@ -285,7 +320,8 @@ const translation = {
title: 'Degradar plugin',
exclude: 'Excluir de la actualización automática',
downgrade: 'De todas formas, degradar',
description: 'La actualización automática está actualmente habilitada para este complemento. Downgradear la versión puede hacer que tus cambios se sobrescriban durante la próxima actualización automática.',
description:
'La actualización automática está actualmente habilitada para este complemento. Downgradear la versión puede hacer que tus cambios se sobrescriban durante la próxima actualización automática.',
},
noPluginPlaceholder: {
noFound: 'No se encontraron complementos',
@ -296,9 +332,12 @@ const translation = {
specifyPluginsToUpdate: 'Especifique qué complementos actualizar',
updateTime: 'Actualizar tiempo',
updateSettings: 'Actualizar configuraciones',
excludeUpdate: 'Los siguientes {{num}} complementos no se actualizarán automáticamente',
partialUPdate: 'Solo los siguientes {{num}} complementos se actualizarán automáticamente',
changeTimezone: 'Para cambiar la zona horaria, ve a <setTimezone>Configuración</setTimezone>.',
excludeUpdate:
'Los siguientes {{num}} complementos no se actualizarán automáticamente',
partialUPdate:
'Solo los siguientes {{num}} complementos se actualizarán automáticamente',
changeTimezone:
'Para cambiar la zona horaria, ve a <setTimezone>Configuración</setTimezone>.',
automaticUpdates: 'Actualizaciones automáticas',
},
}

View File

@ -193,6 +193,16 @@ const translation = {
confirm: 'Añadir y Autorizar',
sseReadTimeout: 'Tiempo de espera de lectura SSE',
timeout: 'Tiempo de espera',
timeoutPlaceholder: 'treinta',
headers: 'Encabezados',
addHeader: 'Agregar encabezado',
headerValuePlaceholder: 'por ejemplo, token de portador123',
headersTip: 'Encabezados HTTP adicionales para enviar con las solicitudes del servidor MCP',
maskedHeadersTip: 'Los valores del encabezado están enmascarados por seguridad. Los cambios actualizarán los valores reales.',
headerKeyPlaceholder: 'por ejemplo, Autorización',
headerValue: 'Valor del encabezado',
noHeaders: 'No se han configurado encabezados personalizados',
headerKey: 'Nombre del encabezado',
},
delete: 'Eliminar servidor MCP',
deleteConfirmTitle: '¿Eliminar {{mcp}}?',
@ -234,6 +244,7 @@ const translation = {
publishTip: 'App no publicada. Publícala primero.',
},
},
allTools: 'Todas las herramientas',
}
export default translation

View File

@ -85,7 +85,6 @@ const translation = {
limit: 'El paralelismo se limita a {{num}} ramas.',
depthLimit: 'Límite de capa de anidamiento paralelo de capas {{num}}',
},
parallelRun: 'Ejecución paralela',
disconnect: 'Desconectar',
jumpToNode: 'Saltar a este nodo',
addParallelNode: 'Agregar nodo paralelo',
@ -216,6 +215,8 @@ const translation = {
back: 'Atrás',
iteration: 'Iteración',
loop: 'Bucle',
preparingDataSource: 'Preparar el origen de datos',
reRun: 'Repetición',
},
tabs: {
'tools': 'Herramientas',
@ -234,6 +235,8 @@ const translation = {
'blocks': 'Nodos',
'addAll': 'Agregar todo',
'allAdded': 'Todo añadido',
'sources': 'Fuentes',
'searchDataSource': 'Fuente de datos de búsqueda',
},
blocks: {
'start': 'Inicio',
@ -258,6 +261,8 @@ const translation = {
'loop-end': 'Salir del bucle',
'loop': 'Bucle',
'loop-start': 'Inicio del bucle',
'knowledge-index': 'Knowledge base',
'datasource': 'Fuente de datos',
},
blocksAbout: {
'start': 'Define los parámetros iniciales para iniciar un flujo de trabajo',
@ -280,6 +285,8 @@ const translation = {
'agent': 'Invocar modelos de lenguaje de gran tamaño para responder preguntas o procesar el lenguaje natural',
'loop-end': 'Equivalente a "romper". Este nodo no tiene elementos de configuración. Cuando el cuerpo del bucle alcanza este nodo, el bucle termina.',
'loop': 'Ejecuta un bucle de lógica hasta que se cumpla la condición de terminación o se alcance el conteo máximo de bucles.',
'knowledge-index': 'Base de conocimientos Acerca de',
'datasource': 'Fuente de datos Acerca de',
},
operator: {
zoomIn: 'Acercar',
@ -380,6 +387,7 @@ const translation = {
input: 'Valor de entrada',
variable: 'Usa la variable',
},
inputVars: 'Variables de entrada',
},
start: {
required: 'requerido',
@ -468,6 +476,12 @@ const translation = {
import: 'Importar desde JSON',
resetDefaults: 'Restablecer',
},
reasoningFormat: {
tagged: 'Mantén las etiquetas de pensamiento',
separated: 'Separar etiquetas de pensamiento',
title: 'Habilitar la separación de etiquetas de razonamiento',
tooltip: 'Extraer contenido de las etiquetas de pensamiento y almacenarlo en el campo reasoning_content.',
},
},
knowledgeRetrieval: {
queryVariable: 'Variable de consulta',
@ -908,6 +922,27 @@ const translation = {
variableName: 'Nombre de Variable',
input: 'Entrada',
},
dataSource: {
supportedFileFormats: 'Formatos de archivo compatibles',
add: 'Agregar origen de datos',
supportedFileFormatsPlaceholder: 'Extensión de archivo, e.g. doc',
},
knowledgeBase: {
chunkStructureTip: {
learnMore: 'Aprende más',
title: 'Elija una estructura de fragmentos',
message: 'La base de conocimientos de Dify admite tres estructuras de fragmentación: General, Padre-hijo y Preguntas y respuestas. Cada base de conocimiento solo puede tener una estructura. La salida del nodo anterior debe alinearse con la estructura de fragmentos seleccionada. Tenga en cuenta que la elección de la estructura de fragmentación afecta a los métodos de índice disponibles.',
},
chooseChunkStructure: 'Elegir una estructura de fragmentos',
indexMethodIsRequired: 'Se requiere el método de índice',
aboutRetrieval: 'sobre el método de recuperación.',
changeChunkStructure: 'Cambiar la estructura de fragmentos',
retrievalSettingIsRequired: 'Se requiere configuración de recuperación',
chunkStructure: 'Estructura de fragmentos',
chunkIsRequired: 'Se requiere una estructura de fragmentos',
chunksInput: 'Trozo',
chunksInputTip: 'La variable de entrada del nodo de la base de conocimientos es Chunks. El tipo de variable es un objeto con un esquema JSON específico que debe ser consistente con la estructura del fragmento seleccionado.',
},
},
tracing: {
stopBy: 'Pásate por {{user}}',
@ -978,6 +1013,10 @@ const translation = {
clearNode: 'Limpiar variable en caché',
emptyTip: 'Después de recorrer un nodo en el lienzo o ejecutar un nodo paso a paso, puedes ver el valor actual de la variable del nodo en Inspección de Variables.',
edited: 'Editado',
export: 'exportar',
exportToolTip: 'Exportar variable como archivo',
largeData: 'Datos grandes, vista previa de solo lectura. Exportar para verlo todo.',
largeDataNoExport: 'Datos grandes: solo vista previa parcial',
},
lastRunTab: 'Última ejecución',
settingsTab: 'Ajustes',
@ -996,6 +1035,10 @@ const translation = {
noMatchingInputsFound: 'No se encontraron entradas coincidentes de la última ejecución.',
lastOutput: 'Última salida',
},
sidebar: {
exportWarning: 'Exportar la versión guardada actual',
exportWarningDesc: 'Esto exportará la versión guardada actual de tu flujo de trabajo. Si tienes cambios no guardados en el editor, guárdalos primero utilizando la opción de exportar en el lienzo del flujo de trabajo.',
},
}
export default translation

View File

@ -655,6 +655,19 @@ const translation = {
'jsonSchema': 'طرح‌واره JSON',
'optional': 'اختیاری',
'checkbox': 'چک باکس',
'unit': 'واحد',
'tooltips': 'Tooltips',
'uploadMethod': 'روش آپلود',
'displayName': 'نام نمایشی',
'startChecked': 'شروع بررسی شده',
'noDefaultSelected': 'انتخاب نکنید',
'placeholder': 'مکان نگهدارنده',
'showAllSettings': 'نمایش همه تنظیمات',
'startSelectedOption': 'گزینه انتخاب شده را شروع کنید',
'defaultValuePlaceholder': 'مقدار پیش فرض را وارد کنید تا فیلد را از قبل پر کنید',
'unitPlaceholder': 'نمایش واحدها بعد از اعداد، به عنوان مثال توکن ها',
'placeholderPlaceholder': 'متن را وارد کنید تا زمانی که فیلد خالی است نمایش داده شود',
'tooltipsPlaceholder': 'نوشتار مفیدی را که هنگام نگه داشتن ماوس روی برچسب نشان داده می شود وارد کنید',
},
vision: {
visionSettings: {

View File

@ -88,6 +88,7 @@ const translation = {
advancedShortDescription: 'گردش‌کار پیشرفته برای گفتگوهای چند مرحله‌ای',
agentUserDescription: 'یک عامل هوشمند که قادر به استدلال تکراری و استفاده از ابزار مستقل برای دستیابی به اهداف وظیفه است.',
dropDSLToCreateApp: 'فایل DSL را اینجا رها کنید تا برنامه ساخته شود',
import: 'واردات',
},
editApp: 'ویرایش اطلاعات',
editAppTitle: 'ویرایش اطلاعات برنامه',
@ -316,6 +317,10 @@ const translation = {
noMatchingCommands: 'هیچ دستوری منطبق یافت نشد',
tryDifferentSearch: 'عبارت جستجوی دیگری را امتحان کنید',
slashHint: 'برای مشاهده تمام دستورات موجود / را تایپ کنید',
startTyping: 'برای جستجو شروع به تایپ کنید',
selectToNavigate: 'انتخاب کنید تا برای حرکت',
pressEscToClose: 'برای بستن ESC را فشار دهید',
tips: 'برای حرکت به بالا و پایین کلیدهای ↑ و ↓ را فشار دهید',
},
}

View File

@ -93,6 +93,7 @@ const translation = {
documentsRequestQuota: '{{count,number}}/دقیقه محدودیت نرخ درخواست دانش',
apiRateLimitTooltip: 'محدودیت نرخ API برای همه درخواست‌های انجام شده از طریق API Dify اعمال می‌شود، از جمله تولید متن، محاوره‌های چت، اجرای گردش‌های کار و پردازش اسناد.',
documentsRequestQuotaTooltip: 'تعیین می‌کند که تعداد کلی اقداماتی که یک فضای کاری می‌تواند در هر دقیقه در داخل پایگاه دانش انجام دهد، شامل ایجاد مجموعه داده، حذف، به‌روزرسانی، بارگذاری مستندات، تغییرات، بایگانی و پرسش از پایگاه دانش است. این معیار برای ارزیابی عملکرد درخواست‌های پایگاه دانش استفاده می‌شود. به عنوان مثال، اگر یک کاربر Sandbox در طی یک دقیقه 10 آزمایش متوالی انجام دهد، فضای کاری او به طور موقت از انجام اقدامات زیر در دقیقه بعدی محدود خواهد شد: ایجاد مجموعه داده، حذف، به‌روزرسانی و بارگذاری یا تغییر مستندات.',
startBuilding: 'شروع به ساخت کنید',
},
plans: {
sandbox: {
@ -118,6 +119,17 @@ const translation = {
btnText: 'تماس با فروش',
for: 'برای تیم‌های بزرگ',
priceTip: 'فقط صورتحساب سالیانه',
features: {
4: 'Sso',
1: 'مجوز جواز تجاری',
5: 'SLA های مذاکره شده توسط Dify Partners',
2: 'ویژگی های انحصاری سازمانی',
8: 'پشتیبانی فنی حرفه ای',
6: 'امنیت و کنترل پیشرفته',
7: 'به روز رسانی و نگهداری توسط Dify به طور رسمی',
3: 'فضاهای کاری چندگانه و مدیریت سازمانی',
0: 'راه حل های استقرار مقیاس پذیر در سطح سازمانی',
},
},
community: {
btnText: 'شروع کنید با جامعه',
@ -126,6 +138,11 @@ const translation = {
description: 'برای کاربران فردی، تیم‌های کوچک یا پروژه‌های غیر تجاری',
name: 'جامعه',
for: 'برای کاربران فردی، تیم‌های کوچک یا پروژه‌های غیر تجاری',
features: {
1: 'فضای کاری واحد',
2: 'با مجوز منبع باز Dify مطابقت دارد',
0: 'تمام ویژگی های اصلی در مخزن عمومی منتشر شده است',
},
},
premium: {
btnText: 'گرفتن نسخه پریمیوم در',
@ -136,6 +153,12 @@ const translation = {
name: 'پیشرفته',
priceTip: 'بر اساس بازار ابری',
comingSoon: 'پشتیبانی مایکروسافت آژور و گوگل کلود به زودی در دسترس خواهد بود',
features: {
1: 'فضای کاری واحد',
3: 'پشتیبانی از ایمیل و چت اولویت دار',
2: 'لوگوی وب اپلیکیشن و سفارشی سازی برندینگ',
0: 'قابلیت اطمینان خود مدیریت شده توسط ارائه دهندگان مختلف ابر',
},
},
},
vectorSpace: {

View File

@ -494,7 +494,17 @@ const translation = {
specifyModelCredentialTip: 'از اعتبارنامه مدل پیکربندی شده استفاده کنید.',
providerManagedTip: 'تنظیمات فعلی توسط ارائه‌دهنده میزبانی می‌شود.',
modelCredentials: 'مدل اعتبارنامه',
manageCredentials: 'مدیریت اعتبارنامه ها',
addModel: 'افزودن مدل',
removeModel: 'حذف مدل',
modelCredential: 'اعتبار مدل',
selectModelCredential: 'یک اعتبار مدل را انتخاب کنید',
editModelCredential: 'اعتبار مدل را ویرایش کنید',
addNewModelCredential: 'افزودن اعتبار مدل جدید',
customModelCredentials: 'اعتبار مدل سفارشی',
customModelCredentialsDeleteTip: 'اعتبار در حال استفاده است و قابل حذف نیست',
},
parametersInvalidRemoved: 'برخی پارامترها نامعتبر هستند و حذف شده‌اند',
},
dataSource: {
add: 'افزودن منبع داده',
@ -593,6 +603,7 @@ const translation = {
viewDoc: 'مشاهده مستندات',
relatedApp: 'برنامه‌های مرتبط',
noRelatedApp: 'هیچ برنامه پیوندی وجود ندارد',
pipeline: 'خط لوله',
},
voiceInput: {
speaking: 'اکنون صحبت کنید...',
@ -742,6 +753,15 @@ const translation = {
deleteTitle: 'حذف آواتار',
deleteDescription: 'آیا مطمئن هستید که می‌خواهید تصویر پروفایل خود را حذف کنید؟ حساب شما از آواتار اولیه پیش‌فرض استفاده خواهد کرد.',
},
feedback: {
title: 'بازخورد ارائه دهید',
subtitle: 'لطفاً به ما بگویید که چه مشکلی در این پاسخ پیش آمده است.',
content: 'محتوای بازخورد',
placeholder: 'لطفاً توضیح دهید که چه مشکلی پیش آمد یا چگونه می‌توانیم بهبود پیدا کنیم...',
},
label: {
optional: '(اختیاری)',
},
}
export default translation

View File

@ -92,6 +92,7 @@ const translation = {
configureJinaReader: 'پیکربندی خواننده جینا',
watercrawlTitle: 'محتوای وب را با واترکرال استخراج کنید',
configureWatercrawl: 'تنظیم واترکراول',
running: 'اجرا',
},
cancel: 'لغو',
},
@ -177,6 +178,7 @@ const translation = {
fullDocTip: 'کل سند به عنوان تکه والد استفاده می شود و مستقیما بازیابی می شود. لطفا توجه داشته باشید که به دلایل عملکردی، متن بیش از 10000 توکن به طور خودکار کوتاه می شود.',
qaSwitchHighQualityTipTitle: 'فرمت پرسش و پاسخ به روش نمایه سازی با کیفیت بالا نیاز دارد',
useQALanguage: 'تکه با استفاده از فرمت پرسش و پاسخ در',
qaTip: 'هنگام استفاده از داده های پرسش و پاسخ ساختاریافته، می توانید اسنادی ایجاد کنید که سوالات را با پاسخ جفت می کند. این اسناد بر اساس بخش سؤال نمایه می شوند و به سیستم اجازه می دهند پاسخ های مربوطه را بر اساس شباهت پرس و جو بازیابی کند.',
},
stepThree: {
creationTitle: ' دانش ایجاد شد',

View File

@ -98,6 +98,9 @@ const translation = {
upload_file: 'بارگذاری فایل',
notion: 'همگام‌سازی از Notion',
github: 'همگام‌سازی از Github',
online_document: 'سند آنلاین',
website_crawl: 'خزیدن وب سایت',
local_file: 'فایل محلی',
},
type: {
book: 'کتاب',
@ -335,6 +338,7 @@ const translation = {
pause: 'مکث',
childMaxTokens: 'کودک',
hierarchical: 'پدر و مادر و فرزند',
waiting: 'در حال انتظار برای جاسازی...',
},
segment: {
paragraphs: 'پاراگراف‌ها',

View File

@ -0,0 +1,154 @@
const translation = {
creation: {
createFromScratch: {
title: 'خط لوله دانش خالی',
description: 'یک پایپ لاین سفارشی از ابتدا با کنترل کامل بر پردازش و ساختار داده ایجاد کنید.',
},
caution: 'احتیاط',
createKnowledge: 'ایجاد دانش',
backToKnowledge: 'بازگشت به دانش',
importDSL: 'ایمپورت از یک فایل DSL',
successTip: 'با موفقیت یک پایگاه دانش ایجاد کرد',
errorTip: 'ایجاد پایگاه دانش ناموفق است',
},
templates: {
customized: 'سفارشی',
},
operations: {
dataSource: 'منبع داده',
details: 'جزئیات',
convert: 'تبدیل',
choose: 'انتخاب',
preview: 'پیشنمایش',
process: 'فرایند',
editInfo: 'ویرایش اطلاعات',
useTemplate: 'از این پایپ لاین دانش استفاده کنید',
saveAndProcess: 'ذخیره و پردازش',
backToDataSource: 'بازگشت به منبع داده',
exportPipeline: 'خط لوله صادرات',
},
deletePipeline: {
content: 'حذف الگوی خط لوله برگشت ناپذیر است.',
title: 'آیا مطمئن هستید که این الگوی خط لوله را حذف می کنید؟',
},
publishPipeline: {
success: {
message: 'خط لوله دانش منتشر شد',
},
error: {
message: 'انتشار پایپ لاین دانش ناموفق است',
},
},
publishTemplate: {
success: {
learnMore: 'بیشتر بدانید',
message: 'الگوی خط لوله منتشر شد',
tip: 'می توانید از این الگو در صفحه ایجاد استفاده کنید.',
},
error: {
message: 'انتشار الگوی خط لوله انجام نشد',
},
},
exportDSL: {
successTip: 'DSL خط لوله را با موفقیت صادر کنید',
errorTip: 'صادرات DSL خط لوله انجام نشد',
},
details: {
structure: 'ساختار',
structureTooltip: 'ساختار Chunk نحوه تقسیم و نمایه سازی اسناد را تعیین می کند - حالت های عمومی، والد-فرزند و پرسش و پاسخ را ارائه می دهد - و برای هر پایگاه دانش منحصر به فرد است.',
},
testRun: {
steps: {
dataSource: 'منبع داده',
documentProcessing: 'پردازش اسناد',
},
dataSource: {
localFiles: 'فایل های محلی',
},
notion: {
docTitle: 'اسناد مفهومی',
title: 'صفحات مفهومی را انتخاب کنید',
},
title: 'اجرای آزمایشی',
tooltip: 'در حالت اجرای آزمایشی، فقط یک سند مجاز به وارد کردن در یک زمان برای اشکال زدایی و مشاهده آسان تر است.',
},
inputFieldPanel: {
uniqueInputs: {
title: 'ورودی های منحصر به فرد برای هر ورودی',
tooltip: 'ورودی های منحصر به فرد فقط برای منبع داده انتخاب شده و گره های پایین دستی آن قابل دسترسی هستند. کاربران هنگام انتخاب منابع داده دیگر نیازی به پر کردن آن نخواهند داشت. فقط فیلدهای ورودی که توسط متغیرهای منبع داده ارجاع داده شده اند در مرحله اول ظاهر می شوند (منبع داده). تمام فیلدهای دیگر در مرحله دوم (اسناد فرآیند) نشان داده می شوند.',
},
globalInputs: {
title: 'ورودی های جهانی برای همه ورودی ها',
tooltip: 'ورودی های جهانی در همه گره ها به اشتراک گذاشته می شوند. کاربران باید هنگام انتخاب هر منبع داده ای آنها را پر کنند. به عنوان مثال، فیلدهایی مانند جداکننده و حداکثر طول تکه را می توان به طور یکنواخت در چندین منبع داده اعمال کرد. فقط فیلدهای ورودی که توسط متغیرهای منبع داده ارجاع داده می شوند در مرحله اول ظاهر می شوند (منبع داده). تمام فیلدهای دیگر در مرحله دوم نشان داده می شوند (اسناد پردازش).',
},
preview: {
stepOneTitle: 'منبع داده',
stepTwoTitle: 'اسناد پردازش',
},
error: {
variableDuplicate: 'نام متغیر از قبل وجود دارد. لطفا نام دیگری را انتخاب کنید.',
},
addInputField: 'افزودن فیلد ورودی',
title: 'فیلدهای ورودی کاربر',
editInputField: 'ویرایش فیلد ورودی',
description: 'فیلدهای ورودی کاربر برای تعریف و جمع آوری متغیرهای مورد نیاز در طول فرآیند اجرای خط لوله استفاده می شود. کاربران می توانند نوع فیلد را سفارشی کنند و مقدار ورودی را به طور انعطاف پذیر پیکربندی کنند تا نیازهای منابع داده مختلف یا مراحل پردازش سند را برآورده کنند.',
},
addDocuments: {
steps: {
processDocuments: 'اسناد پردازش',
processingDocuments: 'پردازش اسناد',
chooseDatasource: 'یک منبع داده را انتخاب کنید',
},
stepOne: {
preview: 'پیشنمایش',
},
stepTwo: {
chunkSettings: 'تنظیمات تکه',
previewChunks: 'پیش نمایش تکه ها',
},
stepThree: {
learnMore: 'بیشتر بدانید',
},
backToDataSource: 'منبع داده',
characters: 'کاراکتر',
title: 'اسناد را اضافه کنید',
},
documentSettings: {
title: 'تنظیمات سند',
},
onlineDocument: {},
onlineDrive: {
breadcrumbs: {
allFiles: 'همه فایل ها',
searchPlaceholder: 'فایل های جستجو...',
allBuckets: 'همه سطل های ذخیره سازی ابری',
},
emptyFolder: 'این پوشه خالی است',
resetKeywords: 'بازنشانی کلمات کلیدی',
emptySearchResult: 'هیچ موردی یافت نشد',
notSupportedFileType: 'این نوع فایل پشتیبانی نمی شود',
},
credentialSelector: {},
conversion: {
confirm: {
title: 'تایید',
content: 'این عمل دائمی است. نمی توانید به روش قبلی برگردید. لطفا برای تبدیل تأیید کنید.',
},
title: 'تبدیل به پایپ لاین دانش',
warning: 'این عمل قابل برگشت نیست.',
errorMessage: 'تبدیل مجموعه داده به خط لوله انجام نشد',
successMessage: 'مجموعه داده را با موفقیت به یک خط لوله تبدیل کرد',
descriptionChunk2: '- یک رویکرد بازتر و انعطاف پذیرتر با دسترسی به افزونه ها از بازار ما. این روش پردازش جدید را برای تمام اسناد آینده اعمال می کند.',
descriptionChunk1: 'اکنون می توانید پایگاه دانش موجود خود را برای استفاده از خط لوله دانش برای پردازش اسناد تبدیل کنید',
},
knowledgePermissions: 'مجوزهای',
inputField: 'فیلد ورودی',
knowledgeNameAndIcon: 'نام و نماد دانش',
knowledgeDescription: 'شرح دانش',
pipelineNameAndIcon: 'نام و نماد خط لوله',
editPipelineInfo: 'ویرایش اطلاعات خط لوله',
knowledgeNameAndIconPlaceholder: 'لطفا نام پایگاه دانش را وارد کنید',
knowledgeDescriptionPlaceholder: 'آنچه در این پایگاه دانش وجود دارد را شرح دهید. توضیحات دقیق به هوش مصنوعی اجازه می دهد تا با دقت بیشتری به محتوای مجموعه داده دسترسی داشته باشد. اگر خالی باشد، Dify از استراتژی ضربه پیش فرض استفاده می کند. (اختیاری)',
}
export default translation

View File

@ -37,6 +37,14 @@ const translation = {
helpText: 'یاد بگیرید که چگونه یک توضیحات مجموعه داده خوب بنویسید.',
upgradeHighQualityTip: 'پس از ارتقاء به حالت کیفیت بالا، بازگشت به حالت اقتصادی در دسترس نیست',
searchModel: 'جستجوی مدل',
chunkStructure: {
title: 'ساختار تکه',
learnMore: 'بیشتر بدانید',
description: 'درباره ساختار تکه تکه است.',
},
nameAndIcon: 'نام و نماد',
numberOfKeywords: 'تعداد کلمات کلیدی',
onSearchResults: 'هیچ عضوی با عبارت جستجوی شما مطابقت ندارد.\nجستجویتان را دوباره امتحان کنید.',
},
}

View File

@ -42,6 +42,10 @@ const translation = {
},
change: 'تغییر',
changeRetrievalMethod: 'تغییر روش بازیابی',
keyword_search: {
title: 'شاخص معکوس',
description: 'شاخص معکوس ساختاری است که برای بازیابی کارآمد استفاده می شود. هر اصطلاح که بر اساس اصطلاحات سازماندهی شده است، به اسناد یا صفحات وب حاوی آن اشاره می کند.',
},
},
docsFailedNotice: 'اسناد نتوانستند فهرست‌بندی شوند',
retry: 'تلاش مجدد',
@ -149,6 +153,8 @@ const translation = {
chunkingMode: {
parentChild: 'پدر و مادر و فرزند',
general: 'عمومی',
graph: 'گراف',
qa: 'پرسش و پاسخ',
},
parentMode: {
fullDoc: 'مستند کامل',
@ -217,6 +223,9 @@ const translation = {
metadata: 'متادیتا',
},
embeddingModelNotAvailable: 'مدل جاسازی در دسترس نیست.',
updated: 'بروز رسانی',
createFromPipeline: 'ایجاد از پایپ لاین دانش',
externalKnowledgeBase: 'پایگاه دانش خارجی',
}
export default translation

View File

@ -1,4 +1,8 @@
const translation = {
sidebar: {
expandSidebar: 'نوار کناری را گسترش دهید',
collapseSidebar: 'جمع کردن نوار کناری',
},
}
export default translation

View File

@ -55,6 +55,7 @@ const translation = {
passwordLengthInValid: 'رمز عبور باید حداقل ۸ کاراکتر باشد',
passwordInvalid: 'رمز عبور باید شامل حروف و اعداد باشد و طول آن بیشتر از ۸ کاراکتر باشد',
registrationNotAllowed: 'حساب پیدا نشد. لطفا برای ثبت نام با مدیر سیستم تماس حاصل فرمایید.',
invalidEmailOrPassword: 'ایمیل یا رمز عبور نامعتبر است.',
},
license: {
tip: 'قبل از شروع Dify Community Edition، GitHub را بخوانید',
@ -110,6 +111,15 @@ const translation = {
noLoginMethod: 'روش احراز هویت برای برنامه وب پیکربندی نشده است',
login: 'ورود',
},
signup: {
signIn: 'ورود',
createAccount: 'حساب کاربری خود را ایجاد کنید',
haveAccount: 'قبلاً حساب کاربری دارید؟',
signUp: 'ثبت نام',
welcome: '👋 خوش آمدید! لطفاً جزئیات را برای شروع پر کنید.',
noAccount: 'حساب کاربری ندارید؟',
verifyMail: 'ادامه با کد تأیید',
},
}
export default translation

View File

@ -0,0 +1,38 @@
const translation = {
common: {
publishAsPipeline: {
description: 'شرح دانش',
name: 'نام و نماد خط لوله',
namePlaceholder: 'لطفا نام این خط لوله دانش را وارد کنید. (ضروری)',
descriptionPlaceholder: 'لطفا توضیحات این خط لوله دانش را وارد کنید. (اختیاری)',
},
processing: 'پردازش',
preparingDataSource: 'آماده سازی منبع داده',
reRun: 'دوباره اجرا کنید',
confirmPublish: 'تایید انتشار',
testRun: 'اجرای آزمایشی',
publishAs: 'انتشار به عنوان یک پایپ لاین دانش',
goToAddDocuments: 'به افزودن اسناد بروید',
confirmPublishContent: 'پس از انتشار موفقیت آمیز خط لوله دانش، ساختار تکه ای این پایگاه دانش قابل تغییر نیست. آیا مطمئن هستید که می خواهید آن را منتشر کنید؟',
},
inputField: {
manage: 'مدیریت',
create: 'ایجاد فیلد ورودی کاربر',
},
publishToast: {
title: 'این خط لوله هنوز منتشر نشده است',
desc: 'هنگامی که خط لوله منتشر نمی شود، می توانید ساختار تکه را در گره پایگاه دانش تغییر دهید و ارکستراسیون و تغییرات خط لوله به طور خودکار به عنوان پیش نویس ذخیره می شود.',
},
result: {
resultPreview: {
viewDetails: 'مشاهده جزئیات',
loading: 'پردازش... لطفاً منتظر بمانید',
error: 'خطا در حین اجرا رخ داد',
},
},
ragToolSuggestions: {
title: 'پیشنهاداتی برای RAG',
},
}
export default translation

View File

@ -17,6 +17,7 @@ const translation = {
travel: 'سفر',
videos: 'فیلم',
agent: 'عامل',
rag: 'پوش',
},
searchTags: 'جستجو برچسب ها',
allTags: 'همه برچسب ها',

View File

@ -6,6 +6,7 @@ const translation = {
agents: 'استراتژی های عامل',
tools: 'ابزار',
extensions: 'پسوند',
datasources: 'منابع داده',
},
categorySingle: {
tool: 'ابزار',
@ -13,6 +14,7 @@ const translation = {
extension: 'فرمت',
model: 'مدل',
bundle: 'بسته',
datasource: 'منبع داده',
},
list: {
source: {
@ -45,7 +47,8 @@ const translation = {
install: 'نصب',
},
toolSelector: {
descriptionPlaceholder: 'شرح مختصری از هدف ابزار، به عنوان مثال، دما را برای یک مکان خاص دریافت کنید.',
descriptionPlaceholder:
'شرح مختصری از هدف ابزار، به عنوان مثال، دما را برای یک مکان خاص دریافت کنید.',
auto: 'خودکار',
unsupportedContent: 'نسخه افزونه نصب شده این عمل را ارائه نمی دهد.',
paramsTip1: 'پارامترهای استنتاج LLM را کنترل می کند.',
@ -55,15 +58,18 @@ const translation = {
descriptionLabel: 'توضیحات ابزار',
title: 'ابزار افزودن',
settings: 'تنظیمات کاربر',
empty: 'برای افزودن ابزارها روی دکمه "+" کلیک کنید. می توانید چندین ابزار اضافه کنید.',
empty:
'برای افزودن ابزارها روی دکمه "+" کلیک کنید. می توانید چندین ابزار اضافه کنید.',
toolLabel: 'ابزار',
uninstalledTitle: 'ابزار نصب نشده است',
uninstalledLink: 'مدیریت در پلاگین ها',
uninstalledContent: 'این افزونه از مخزن local/GitHub نصب شده است. لطفا پس از نصب استفاده کنید.',
uninstalledContent:
'این افزونه از مخزن local/GitHub نصب شده است. لطفا پس از نصب استفاده کنید.',
unsupportedTitle: 'اکشن پشتیبانی نشده',
unsupportedContent2: 'برای تغییر نسخه کلیک کنید.',
toolSetting: 'تنظیمات ابزار',
unsupportedMCPTool: 'نسخه فعلی پلاگین استراتژی عامل انتخاب‌شده از ابزارهای MCP پشتیبانی نمی‌کند.',
unsupportedMCPTool:
'نسخه فعلی پلاگین استراتژی عامل انتخاب‌شده از ابزارهای MCP پشتیبانی نمی‌کند.',
},
endpointDeleteTip: 'حذف نقطه پایانی',
disabled: 'غیر فعال',
@ -74,14 +80,16 @@ const translation = {
actionNum: '{{عدد}} {{اقدام}} شامل',
endpointDisableContent: 'آیا می خواهید {{name}} را غیرفعال کنید؟',
endpointModalTitle: 'راه اندازی اندپوینت',
endpointsTip: 'این افزونه عملکردهای خاصی را از طریق نقاط پایانی ارائه می دهد و می توانید چندین مجموعه نقطه پایانی را برای فضای کاری فعلی پیکربندی کنید.',
endpointsTip:
'این افزونه عملکردهای خاصی را از طریق نقاط پایانی ارائه می دهد و می توانید چندین مجموعه نقطه پایانی را برای فضای کاری فعلی پیکربندی کنید.',
serviceOk: 'خدمات خوب',
modelNum: '{{عدد}} مدل های گنجانده شده است',
endpointDisableTip: 'غیرفعال کردن نقطه پایانی',
configureModel: 'مدل را پیکربندی کنید',
configureTool: 'ابزار پیکربندی',
endpointsEmpty: 'برای افزودن نقطه پایانی روی دکمه "+" کلیک کنید',
endpointModalDesc: 'پس از پیکربندی، می توان از ویژگی های ارائه شده توسط افزونه از طریق نقاط پایانی API استفاده کرد.',
endpointModalDesc:
'پس از پیکربندی، می توان از ویژگی های ارائه شده توسط افزونه از طریق نقاط پایانی API استفاده کرد.',
switchVersion: 'نسخه سوئیچ',
endpointDeleteContent: 'آیا می خواهید {{name}} را حذف کنید؟',
deprecation: {
@ -91,8 +99,10 @@ const translation = {
noMaintainer: 'بدون نگهدارنده',
},
noReason: 'این افزونه منسوخ شده است و دیگر به روز رسانی نخواهد شد.',
onlyReason: 'این افزونه به دلیل {{deprecatedReason}} منسوخ شده و دیگر به‌روزرسانی نخواهد شد.',
fullMessage: 'این افزونه به دلیل {{deprecatedReason}} منسوخ شده است و دیگر به‌روزرسانی نخواهد شد. لطفا به‌جای آن از <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink> استفاده کنید.',
onlyReason:
'این افزونه به دلیل {{deprecatedReason}} منسوخ شده و دیگر به‌روزرسانی نخواهد شد.',
fullMessage:
'این افزونه به دلیل {{deprecatedReason}} منسوخ شده است و دیگر به‌روزرسانی نخواهد شد. لطفا به‌جای آن از <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink> استفاده کنید.',
},
},
debugInfo: {
@ -131,7 +141,8 @@ const translation = {
next: 'بعدی',
cancel: 'لغو',
uploadingPackage: 'آپلود {{packageName}}...',
fromTrustSource: 'لطفا مطمئن شوید که افزونه ها را فقط از <trustSource>یک منبع قابل اعتماد</trustSource> نصب می کنید.',
fromTrustSource:
'لطفا مطمئن شوید که افزونه ها را فقط از <trustSource>یک منبع قابل اعتماد</trustSource> نصب می کنید.',
readyToInstall: 'در مورد نصب افزونه زیر',
install: 'نصب',
pluginLoadError: 'خطای بارگذاری افزونه',
@ -157,7 +168,8 @@ const translation = {
updatePlugin: 'افزونه را از GitHub به روز کنید',
uploadFailed: 'آپلود انجام نشد',
installedSuccessfully: 'نصب موفقیت آمیز بود',
installNote: 'لطفا مطمئن شوید که افزونه ها را فقط از یک منبع قابل اعتماد نصب می کنید.',
installNote:
'لطفا مطمئن شوید که افزونه ها را فقط از یک منبع قابل اعتماد نصب می کنید.',
installFailed: 'نصب ناموفق بود',
selectVersionPlaceholder: 'لطفا یک نسخه را انتخاب کنید',
selectPackage: 'بسته را انتخاب کنید',
@ -173,9 +185,12 @@ const translation = {
description: 'در مورد نصب افزونه زیر',
},
error: {
noReleasesFound: 'هیچ نسخه ای یافت نشد. لطفا مخزن GitHub یا URL ورودی را بررسی کنید.',
inValidGitHubUrl: 'URL GitHub نامعتبر است. لطفا یک URL معتبر را در قالب وارد کنید: https://github.com/owner/repo',
fetchReleasesError: 'امکان بازیابی نسخه ها وجود ندارد. لطفا بعدا دوباره امتحان کنید.',
noReleasesFound:
'هیچ نسخه ای یافت نشد. لطفا مخزن GitHub یا URL ورودی را بررسی کنید.',
inValidGitHubUrl:
'URL GitHub نامعتبر است. لطفا یک URL معتبر را در قالب وارد کنید: https://github.com/owner/repo',
fetchReleasesError:
'امکان بازیابی نسخه ها وجود ندارد. لطفا بعدا دوباره امتحان کنید.',
},
marketplace: {
sortOption: {
@ -201,8 +216,10 @@ const translation = {
clearAll: 'پاک کردن همه',
installedError: 'افزونه های {{errorLength}} نصب نشدند',
installError: 'پلاگین های {{errorLength}} نصب نشدند، برای مشاهده کلیک کنید',
installingWithSuccess: 'نصب پلاگین های {{installingLength}}، {{successLength}} موفقیت آمیز است.',
installingWithError: 'نصب پلاگین های {{installingLength}}، {{successLength}} با موفقیت مواجه شد، {{errorLength}} ناموفق بود',
installingWithSuccess:
'نصب پلاگین های {{installingLength}}، {{successLength}} موفقیت آمیز است.',
installingWithError:
'نصب پلاگین های {{installingLength}}، {{successLength}} با موفقیت مواجه شد، {{errorLength}} ناموفق بود',
},
searchTools: 'ابزارهای جستجو...',
findMoreInMarketplace: 'اطلاعات بیشتر در Marketplace',
@ -221,7 +238,8 @@ const translation = {
metadata: {
title: 'پلاگین ها',
},
difyVersionNotCompatible: 'نسخه فعلی دیفی با این پلاگین سازگار نیست، لطفاً به نسخه حداقل مورد نیاز به‌روزرسانی کنید: {{minimalDifyVersion}}',
difyVersionNotCompatible:
'نسخه فعلی دیفی با این پلاگین سازگار نیست، لطفاً به نسخه حداقل مورد نیاز به‌روزرسانی کنید: {{minimalDifyVersion}}',
requestAPlugin: 'درخواست یک افزونه',
publishPlugins: 'انتشار افزونه ها',
auth: {
@ -244,11 +262,18 @@ const translation = {
saveAndAuth: 'ذخیره و تأیید',
saveOnly: 'فقط ذخیره کنید',
oauthClientSettings: 'تنظیمات کلاینت اوتور',
clientInfo: 'از آنجایی که هیچ راز مشتری سیستم برای این ارائه‌دهنده ابزار پیدا نشد، تنظیم دستی آن ضروری است، لطفاً برای redirect_uri از',
useApiAuthDesc: 'پس از پیکربندی اعتبارنامه‌ها، تمامی اعضای درون فضای کاری می‌توانند از این ابزار هنگام نظم‌دهی به برنامه‌ها استفاده کنند.',
clientInfo:
'از آنجایی که هیچ راز مشتری سیستم برای این ارائه‌دهنده ابزار پیدا نشد، تنظیم دستی آن ضروری است، لطفاً برای redirect_uri از',
useApiAuthDesc:
'پس از پیکربندی اعتبارنامه‌ها، تمامی اعضای درون فضای کاری می‌توانند از این ابزار هنگام نظم‌دهی به برنامه‌ها استفاده کنند.',
unavailable: 'در دسترس نیست',
credentialUnavailable: 'دسترسی به مدارک در حال حاضر امکان‌پذیر نیست. لطفاً با مدیر تماس بگیرید.',
customCredentialUnavailable: 'اعتبارنامه‌های سفارشی در حال حاضر در دسترس نیستند',
credentialUnavailable:
'دسترسی به مدارک در حال حاضر امکان‌پذیر نیست. لطفاً با مدیر تماس بگیرید.',
customCredentialUnavailable:
'اعتبارنامه‌های سفارشی در حال حاضر در دسترس نیستند',
credentialUnavailableInButton: 'گواهی در دسترس نیست',
connectedWorkspace: 'فضای کاری متصل',
emptyAuth: 'لطفا احراز هویت را پیکربندی کنید',
},
deprecated: 'منسوخ شده',
autoUpdate: {
@ -260,7 +285,8 @@ const translation = {
fixOnly: {
name: 'فقط تعمیر کنید',
selectedDescription: 'به‌روزرسانی خودکار تنها برای نسخه‌های وصله',
description: 'به‌روزرسانی خودکار فقط برای نسخه‌های پچ (مانند ۱.۰.۱۱.۰.۲). تغییرات جزئی نسخه باعث راه‌اندازی به‌روزرسانی‌ها نمی‌شود.',
description:
'به‌روزرسانی خودکار فقط برای نسخه‌های پچ (مانند ۱.۰.۱۱.۰.۲). تغییرات جزئی نسخه باعث راه‌اندازی به‌روزرسانی‌ها نمی‌شود.',
},
latest: {
name: 'جدیدترین',
@ -275,7 +301,8 @@ const translation = {
},
upgradeModePlaceholder: {
exclude: 'افزونه‌های انتخاب شده به‌صورت خودکار به‌روزرسانی نخواهند شد',
partial: 'فقط پلاگین‌های انتخاب شده به‌روزرسانی خودکار خواهند داشت. در حال حاضر هیچ پلاگینی انتخاب نشده است، بنابراین هیچ پلاگینی به‌روزرسانی خودکار نخواهد شد.',
partial:
'فقط پلاگین‌های انتخاب شده به‌روزرسانی خودکار خواهند داشت. در حال حاضر هیچ پلاگینی انتخاب نشده است، بنابراین هیچ پلاگینی به‌روزرسانی خودکار نخواهد شد.',
},
operation: {
select: 'افزونه‌ها را انتخاب کنید',
@ -285,7 +312,8 @@ const translation = {
title: 'کاهش نسخه افزونه',
downgrade: 'به هر حال تنزل دهید',
exclude: 'از بروزرسانی خودکار مستثنی شود',
description: 'به‌روزرسانی خودکار برای این افزونه در حال حاضر فعال است. کاهش نسخه ممکن است باعث شود تغییرات شما در حین به‌روزرسانی خودکار بعدی نادیده گرفته شود.',
description:
'به‌روزرسانی خودکار برای این افزونه در حال حاضر فعال است. کاهش نسخه ممکن است باعث شود تغییرات شما در حین به‌روزرسانی خودکار بعدی نادیده گرفته شود.',
},
noPluginPlaceholder: {
noFound: 'هیچ افزونه‌ای یافت نشد',
@ -296,10 +324,13 @@ const translation = {
updateTime: 'زمان به‌روزرسانی',
automaticUpdates: 'بروز رسانی خودکار',
updateSettings: 'تنظیمات را به‌روزرسانی کنید',
changeTimezone: 'برای تغییر منطقه زمانی، به <setTimezone>تنظیمات</setTimezone> بروید',
excludeUpdate: 'پلاگین‌های زیر {{num}} به‌طور خودکار به‌روزرسانی نخواهند شد',
changeTimezone:
'برای تغییر منطقه زمانی، به <setTimezone>تنظیمات</setTimezone> بروید',
excludeUpdate:
'پلاگین‌های زیر {{num}} به‌طور خودکار به‌روزرسانی نخواهند شد',
nextUpdateTime: 'به‌روزرسانی خودکار بعدی: {{time}}',
partialUPdate: 'تنها {{num}} پلاگین زیر به‌طور خودکار به‌روزرسانی خواهد شد.',
partialUPdate:
'تنها {{num}} پلاگین زیر به‌طور خودکار به‌روزرسانی خواهد شد.',
},
}

View File

@ -193,6 +193,16 @@ const translation = {
confirm: 'افزودن و مجوزدهی',
timeout: 'مهلت',
sseReadTimeout: 'زمان.out خواندن SSE',
headers: 'هدرها',
timeoutPlaceholder: '30',
headerKey: 'نام هدر',
headerValue: 'مقدار هدر',
addHeader: 'هدر اضافه کنید',
headerKeyPlaceholder: 'Authorization',
headerValuePlaceholder: 'مثلاً، Bearer 123',
noHeaders: 'هیچ هدر سفارشی پیکربندی نشده است',
headersTip: 'هدرهای HTTP اضافی برای ارسال با درخواست‌های سرور MCP',
maskedHeadersTip: 'مقدارهای هدر به خاطر امنیت مخفی شده‌اند. تغییرات مقادیر واقعی را به‌روزرسانی خواهد کرد.',
},
delete: 'حذف سرور MCP',
deleteConfirmTitle: 'آیا مایل به حذف {mcp} هستید؟',
@ -234,6 +244,7 @@ const translation = {
publishTip: 'برنامه منتشر نشده است. لطفاً ابتدا برنامه را منتشر کنید.',
},
},
allTools: 'همه ابزارها',
}
export default translation

View File

@ -87,7 +87,6 @@ const translation = {
},
disconnect: 'قطع',
jumpToNode: 'پرش به این گره',
parallelRun: 'اجرای موازی',
addParallelNode: 'افزودن گره موازی',
parallel: 'موازی',
branch: 'شاخه',
@ -216,6 +215,8 @@ const translation = {
back: 'بازگشت',
iteration: 'تکرار',
loop: 'حلقه',
reRun: 'دوباره اجرا کنید',
preparingDataSource: 'آماده سازی منبع داده',
},
tabs: {
'tools': 'ابزارها',
@ -234,6 +235,8 @@ const translation = {
'searchBlock': 'گره جستجو',
'addAll': 'همه را اضافه کنید',
'allAdded': 'همه اضافه شده است',
'sources': 'منابع',
'searchDataSource': 'منبع داده جستجو',
},
blocks: {
'start': 'شروع',
@ -258,6 +261,8 @@ const translation = {
'loop-start': 'شروع حلقه',
'loop-end': 'خروج از حلقه',
'loop': 'حلقه',
'datasource': 'منبع داده',
'knowledge-index': 'پایگاه دانش',
},
blocksAbout: {
'start': 'پارامترهای اولیه برای راه‌اندازی جریان کار را تعریف کنید',
@ -280,6 +285,8 @@ const translation = {
'agent': 'فراخوانی مدل های زبان بزرگ برای پاسخ به سوالات یا پردازش زبان طبیعی',
'loop-end': 'معادل "شکستن". این گره هیچ مورد پیکربندی ندارد. هنگامی که بدنه حلقه به این گره می‌رسد، حلقه متوقف می‌شود.',
'loop': 'یک حلقه منطقی را اجرا کنید تا زمانی که شرایط خاتمه برآورده شود یا حداکثر تعداد حلقه به پایان برسد.',
'knowledge-index': 'پایگاه دانش درباره',
'datasource': 'منبع داده درباره',
},
operator: {
zoomIn: 'بزرگ‌نمایی',
@ -380,6 +387,7 @@ const translation = {
input: 'مقدار ورودی',
variable: 'از متغیر استفاده کن',
},
inputVars: 'متغیرهای ورودی',
},
start: {
required: 'الزامی',
@ -468,6 +476,12 @@ const translation = {
fieldNamePlaceholder: 'نام میدان',
generationTip: 'شما می‌توانید از زبان طبیعی برای ایجاد سریع یک طرح‌واره JSON استفاده کنید.',
},
reasoningFormat: {
separated: 'تگ‌های تفکر جداگانه',
title: 'فعال‌سازی جداسازی برچسب‌های استدلال',
tagged: 'به فکر برچسب‌ها باشید',
tooltip: 'محتوا را از تگ‌های تفکر استخراج کرده و در فیلد reasoning_content ذخیره کنید.',
},
},
knowledgeRetrieval: {
queryVariable: 'متغیر جستجو',
@ -908,6 +922,27 @@ const translation = {
breakCondition: 'شرط خاتمه حلقه',
breakConditionTip: 'فقط متغیرهای داخل حلقه‌ها با شرایط خاتمه و متغیرهای گفتگو می‌توانند مورد ارجاع قرار گیرند.',
},
dataSource: {
supportedFileFormatsPlaceholder: 'پسوند فایل، e.g. doc',
add: 'منبع داده را اضافه کنید',
supportedFileFormats: 'فرمت های فایل پشتیبانی شده',
},
knowledgeBase: {
chunkStructureTip: {
learnMore: 'بیشتر بدانید',
title: 'لطفا یک ساختار تکه ای را انتخاب کنید',
message: 'پایگاه دانش Dify از سه ساختار تکه ای پشتیبانی می کند: عمومی، والد-فرزند و پرسش و پاسخ. هر پایگاه دانش فقط می تواند یک ساختار داشته باشد. خروجی گره قبلی باید با ساختار تکه انتخاب شده هماهنگ باشد. توجه داشته باشید که انتخاب ساختار تکه بندی بر روش های شاخص موجود تأثیر می گذارد.',
},
chunkStructure: 'ساختار تکه',
retrievalSettingIsRequired: 'تنظیمات بازیابی مورد نیاز است',
indexMethodIsRequired: 'روش شاخص مورد نیاز است',
changeChunkStructure: 'تغییر ساختار تکه',
aboutRetrieval: 'درباره روش بازیابی.',
chunkIsRequired: 'ساختار تکه ای مورد نیاز است',
chooseChunkStructure: 'یک ساختار تکه ای را انتخاب کنید',
chunksInput: 'تکه‌ها',
chunksInputTip: 'متغیر ورودی گره پایگاه دانش چانک‌ها است. نوع متغیر یک شیء با یک طرح JSON خاص است که باید با ساختار چانک انتخاب شده سازگار باشد.',
},
},
tracing: {
stopBy: 'متوقف شده توسط {{user}}',
@ -978,6 +1013,10 @@ const translation = {
clearNode: 'کش متغیر کش شده را پاک کنید',
emptyTip: 'پس از عبور از یک گره روی بوم یا اجرای گره به صورت مرحله‌ای، می‌توانید مقدار فعلی متغیر گره را در بازرسی متغیر مشاهده کنید.',
resetConversationVar: 'متغیر گفتگو را به مقدار پیش‌فرض بازنشانی کنید',
export: 'صادرات',
exportToolTip: 'اکسپورت متغیر به عنوان فایل',
largeData: 'داده های بزرگ، پیش نمایش فقط خواندنی صادرات برای مشاهده همه.',
largeDataNoExport: 'داده های بزرگ - فقط پیش نمایش جزئی',
},
settingsTab: 'تنظیمات',
lastRunTab: 'آخرین اجرا',
@ -996,6 +1035,10 @@ const translation = {
copyLastRunError: 'نتوانستم ورودی‌های آخرین اجرای را کپی کنم',
lastOutput: 'آخرین خروجی',
},
sidebar: {
exportWarning: 'صادرات نسخه ذخیره شده فعلی',
exportWarningDesc: 'این نسخه فعلی ذخیره شده از کار خود را صادر خواهد کرد. اگر تغییرات غیرذخیره شده‌ای در ویرایشگر دارید، لطفاً ابتدا از گزینه صادرات در بوم کار برای ذخیره آنها استفاده کنید.',
},
}
export default translation

View File

@ -281,7 +281,7 @@ const translation = {
'addModalTitle': 'Add Input Field',
'editModalTitle': 'Edit Input Field',
'description': 'Setting for variable {{varName}}',
'fieldType': 'Field type',
'fieldType': 'Field Type',
'string': 'Short Text',
'text-input': 'Short Text',
'paragraph': 'Paragraph',
@ -289,7 +289,7 @@ const translation = {
'number': 'Number',
'notSet': 'Not set, try typing {{input}} in the prefix prompt',
'stringTitle': 'Form text box options',
'maxLength': 'Max length',
'maxLength': 'Max Length',
'options': 'Options',
'addOption': 'Add option',
'apiBasedVar': 'API-based Variable',
@ -338,6 +338,19 @@ const translation = {
'checkbox': 'Checkbox',
'jsonSchema': 'Schéma JSON',
'json': 'Code JSON',
'unit': 'Unité',
'placeholder': 'Espace réservé',
'startChecked': 'Démarrer vérifié',
'displayName': 'Nom daffichage',
'startSelectedOption': 'Démarrer loption sélectionnée',
'uploadMethod': 'Méthode de téléchargement',
'showAllSettings': 'Afficher tous les paramètres',
'defaultValuePlaceholder': 'Entrez la valeur par défaut pour pré-remplir le champ',
'placeholderPlaceholder': 'Saisissez le texte à afficher lorsque le champ est vide',
'tooltips': 'Infobulles',
'tooltipsPlaceholder': 'Entrez le texte utile affiché lorsque vous passez la souris sur létiquette',
'unitPlaceholder': 'Affichage des unités après les nombres, par exemple les jetons',
'noDefaultSelected': 'Ne sélectionnez pas',
},
vision: {
name: 'Vision',

View File

@ -80,6 +80,7 @@ const translation = {
optional: 'Optionnel',
advancedShortDescription: 'Workflow amélioré pour conversations multi-tours',
dropDSLToCreateApp: 'Déposez le fichier DSL ici pour créer une application',
import: 'Importation',
},
editApp: 'Modifier les informations',
editAppTitle: 'Modifier les informations de l\'application',
@ -316,6 +317,10 @@ const translation = {
noMatchingCommands: 'Aucune commande correspondante na été trouvée',
tryDifferentSearch: 'Essayez un autre terme de recherche',
slashHint: 'Tapez / pour voir toutes les commandes disponibles',
pressEscToClose: 'Appuyez sur Échap pour fermer',
tips: 'Appuyez sur ↑↓ pour naviguer',
startTyping: 'Commencez à taper pour rechercher',
selectToNavigate: 'Sélectionnez pour naviguer',
},
}

View File

@ -93,6 +93,7 @@ const translation = {
apiRateLimitTooltip: 'La limite de taux de l\'API s\'applique à toutes les demandes effectuées via l\'API Dify, y compris la génération de texte, les conversations de chat, les exécutions de flux de travail et le traitement de documents.',
documents: '{{count,number}} Documents de connaissance',
documentsRequestQuotaTooltip: 'Spécifie le nombre total d\'actions qu\'un espace de travail peut effectuer par minute dans la base de connaissances, y compris la création, la suppression, les mises à jour de jeux de données, le téléchargement de documents, les modifications, l\'archivage et les requêtes de la base de connaissances. Ce paramètre est utilisé pour évaluer les performances des requêtes de la base de connaissances. Par exemple, si un utilisateur de Sandbox effectue 10 tests de validité consécutifs en une minute, son espace de travail sera temporairement restreint dans l\'exécution des actions suivantes pendant la minute suivante : création, suppression, mises à jour de jeux de données, et téléchargements ou modifications de documents.',
startBuilding: 'Commencez à construire',
},
plans: {
sandbox: {

View File

@ -491,7 +491,17 @@ const translation = {
unAuthorized: 'Non autorisé',
specifyModelCredentialTip: 'Utilisez un identifiant de modèle configuré.',
providerManagedTip: 'La configuration actuelle est hébergée par le fournisseur.',
customModelCredentials: 'Informations didentification du modèle personnalisé',
manageCredentials: 'Gérer les informations didentification',
modelCredential: 'Références du modèle',
addModel: 'Ajouter un modèle',
addNewModelCredential: 'Ajouter de nouvelles informations didentification de modèle',
selectModelCredential: 'Sélectionnez les informations didentification dun modèle',
customModelCredentialsDeleteTip: 'Les informations didentification sont en cours dutilisation et ne peuvent pas être supprimées',
removeModel: 'Supprimer le modèle',
editModelCredential: 'Modifier les informations didentification du modèle',
},
parametersInvalidRemoved: 'Certains paramètres sont invalides et ont été supprimés.',
},
dataSource: {
add: 'Ajouter une source de données',
@ -590,6 +600,7 @@ const translation = {
viewDoc: 'Voir la documentation',
relatedApp: 'applications liées',
noRelatedApp: 'Pas dapplications liées',
pipeline: 'Pipeline',
},
voiceInput: {
speaking: 'Parle maintenant...',
@ -743,6 +754,15 @@ const translation = {
deleteTitle: 'Supprimer l\'avatar',
deleteDescription: 'Êtes-vous sûr de vouloir supprimer votre photo de profil ? Votre compte utilisera l\'avatar par défaut.',
},
feedback: {
content: 'Contenu des retours',
title: 'Fournir des retours',
placeholder: 'Veuillez décrire ce qui n\'a pas fonctionné ou comment nous pourrions nous améliorer...',
subtitle: 'Veuillez nous dire ce qui n\'a pas fonctionné avec cette réponse.',
},
label: {
optional: '(facultatif)',
},
}
export default translation

View File

@ -89,6 +89,7 @@ const translation = {
configureWatercrawl: 'Configurer Watercrawl',
waterCrawlNotConfigured: 'Watercrawl n\'est pas configuré',
configureFirecrawl: 'Configurer Firecrawl',
running: 'Course',
},
cancel: 'Annuler',
},
@ -174,6 +175,7 @@ const translation = {
previewChunkTip: 'Cliquez sur le bouton « Preview Chunk » sur la gauche pour charger laperçu',
parentChildChunkDelimiterTip: 'Un délimiteur est le caractère utilisé pour séparer le texte. \\n est recommandé pour diviser les blocs parents en petits blocs enfants. Vous pouvez également utiliser des délimiteurs spéciaux définis par vous-même.',
generalTip: 'Mode général de segmentation du texte, les morceaux récupérés et rappelés sont les mêmes.',
qaTip: 'Lorsque vous utilisez des données de questions-réponses structurées, vous pouvez créer des documents qui associent des questions et des réponses. Ces documents sont indexés en fonction de la partie question, ce qui permet au système de récupérer des réponses pertinentes en fonction de la similarité des requêtes.',
},
stepThree: {
creationTitle: '🎉 Connaissance créée',

View File

@ -100,6 +100,9 @@ const translation = {
upload_file: 'Télécharger le fichier',
notion: 'Synchroniser le formulaire depuis Notion',
github: 'Synchroniser à partir de Github',
local_file: 'Fichier local',
online_document: 'Document en ligne',
website_crawl: 'Exploration du site Web',
},
type: {
book: 'Livre',
@ -337,6 +340,7 @@ const translation = {
hierarchical: 'Parent-enfant',
pause: 'Pause',
parentMaxTokens: 'Parent',
waiting: 'En attente d\'incorporation...',
},
segment: {
paragraphs: 'Paragraphes',

View File

@ -0,0 +1,154 @@
const translation = {
creation: {
createFromScratch: {
title: 'Pipeline de connaissances vide',
description: 'Créez un pipeline personnalisé à partir de zéro avec un contrôle total sur le traitement et la structure des données.',
},
caution: 'Prudence',
createKnowledge: 'Créer des connaissances',
successTip: 'Création réussie dune base de connaissances',
backToKnowledge: 'Retour à la page Connaissances',
importDSL: 'Importation à partir dun fichier DSL',
errorTip: 'Échec de la création dune base de connaissances',
},
templates: {
customized: 'Personnalisé',
},
operations: {
preview: 'Aperçu',
process: 'Processus',
convert: 'Convertir',
exportPipeline: 'Pipeline dexportation',
choose: 'Choisir',
details: 'Détails',
saveAndProcess: 'Enregistrer et traiter',
editInfo: 'Modifier les infos',
useTemplate: 'Utiliser ce pipeline de connaissances',
dataSource: 'Source des données',
backToDataSource: 'Retour à la source de données',
},
deletePipeline: {
title: 'Êtes-vous sûr de supprimer ce modèle de pipeline ?',
content: 'La suppression du modèle de pipeline est irréversible.',
},
publishPipeline: {
success: {
message: 'Pipeline de connaissances publié',
},
error: {
message: 'Échec de la publication du pipeline de connaissances',
},
},
publishTemplate: {
success: {
learnMore: 'Pour en savoir plus',
tip: 'Vous pouvez utiliser ce modèle sur la page de création.',
message: 'Modèle de pipeline publié',
},
error: {
message: 'Échec de la publication du modèle de pipeline',
},
},
exportDSL: {
errorTip: 'Echec de lexportation du DSL du pipeline',
successTip: 'Pipeline dexportation DSL réussi',
},
details: {
structure: 'Structure',
structureTooltip: 'La structure par blocs détermine la façon dont les documents sont divisés et indexés (en proposant les modes Général, Parent-Enfant et Q&R) et est unique à chaque base de connaissances.',
},
testRun: {
steps: {
dataSource: 'Source des données',
documentProcessing: 'Traitement des documents',
},
dataSource: {
localFiles: 'Fichiers locaux',
},
notion: {
title: 'Choisissez les pages Notion',
docTitle: 'Docs Notion',
},
title: 'Série dessai',
tooltip: 'En mode de test, un seul document peut être importé à la fois pour faciliter le débogage et lobservation.',
},
inputFieldPanel: {
uniqueInputs: {
title: 'Entrées uniques pour chaque entrée',
tooltip: 'Les entrées uniques ne sont accessibles quà la source de données sélectionnée et à ses nœuds en aval. Les utilisateurs nauront pas besoin de le remplir lorsquils choisiront dautres sources de données. Seuls les champs de saisie référencés par les variables de source de données apparaîtront dans la première étape (Source de données). Tous les autres champs seront affichés à la deuxième étape (Traiter les documents).',
},
globalInputs: {
title: 'Entrées globales pour toutes les entrées',
tooltip: 'Les entrées globales sont partagées entre tous les nœuds. Les utilisateurs devront les remplir lors de la sélection dune source de données. Par exemple, des champs tels que le délimiteur et la longueur maximale des morceaux peuvent être appliqués uniformément à plusieurs sources de données. Seuls les champs de saisie référencés par les variables de source de données apparaissent dans la première étape (Source de données). Tous les autres champs saffichent à la deuxième étape (Traiter les documents).',
},
preview: {
stepTwoTitle: 'Documents de processus',
stepOneTitle: 'Source des données',
},
error: {
variableDuplicate: 'Le nom de la variable existe déjà. Veuillez choisir un autre nom.',
},
editInputField: 'Modifier le champ de saisie',
title: 'Champs de saisie utilisateur',
addInputField: 'Ajouter un champ de saisie',
description: 'Les champs de saisie utilisateur sont utilisés pour définir et collecter les variables requises pendant le processus dexécution du pipeline. Les utilisateurs peuvent personnaliser le type de champ et configurer de manière flexible la valeur dentrée pour répondre aux besoins des différentes sources de données ou étapes de traitement des documents.',
},
addDocuments: {
steps: {
processDocuments: 'Documents de processus',
processingDocuments: 'Traitement des documents',
chooseDatasource: 'Choisissez une source de données',
},
stepOne: {
preview: 'Aperçu',
},
stepTwo: {
previewChunks: 'Prévisualiser les morceaux',
chunkSettings: 'Paramètres de bloc',
},
stepThree: {
learnMore: 'Pour en savoir plus',
},
characters: 'caractères',
title: 'Ajouter des documents',
backToDataSource: 'Source des données',
},
documentSettings: {
title: 'Paramètres du document',
},
onlineDocument: {},
onlineDrive: {
breadcrumbs: {
searchPlaceholder: 'Rechercher des fichiers...',
allBuckets: 'Tous les compartiments de stockage dans le cloud',
allFiles: 'Tous les fichiers',
},
notSupportedFileType: 'Ce type de fichier nest pas pris en charge',
emptySearchResult: 'Aucun objet na été trouvé',
emptyFolder: 'Ce dossier est vide',
resetKeywords: 'Réinitialiser les mots-clés',
},
credentialSelector: {},
conversion: {
confirm: {
title: 'Confirmation',
content: 'Cette action est permanente. Vous ne pourrez pas revenir à la méthode précédente. Veuillez confirmer la conversion.',
},
title: 'Convertir vers le pipeline de connaissances',
warning: 'Cette action ne peut pas être annulée.',
successMessage: 'Conversion réussie du jeu de données en pipeline',
errorMessage: 'Échec de la conversion du jeu de données en pipeline',
descriptionChunk2: '— une approche plus ouverte et plus flexible avec un accès aux plugins de notre Marketplace. Cela appliquera la nouvelle méthode de traitement à tous les documents futurs.',
descriptionChunk1: 'Vous pouvez désormais convertir votre base de connaissances existante pour utiliser le pipeline de connaissances pour le traitement des documents',
},
knowledgePermissions: 'Autorisations',
editPipelineInfo: 'Modifier les informations sur le pipeline',
knowledgeNameAndIconPlaceholder: 'Entrez le nom de la base de connaissances',
pipelineNameAndIcon: 'Nom et icône du pipeline',
knowledgeDescription: 'Description des connaissances',
knowledgeNameAndIcon: 'Nom et icône de la connaissance',
inputField: 'Champ de saisie',
knowledgeDescriptionPlaceholder: 'Décrivez le contenu de cette base de connaissances. Une description détaillée permet à lIA daccéder plus précisément au contenu de lensemble de données. Sil est vide, Dify utilisera la stratégie daccès par défaut. (Facultatif)',
}
export default translation

View File

@ -37,6 +37,14 @@ const translation = {
upgradeHighQualityTip: 'Une fois la mise à niveau vers le mode Haute Qualité, il nest pas possible de revenir au mode Économique',
helpText: 'Apprenez à rédiger une bonne description de jeu de données.',
searchModel: 'Rechercher un modèle',
chunkStructure: {
learnMore: 'Pour en savoir plus',
title: 'Structure de morceaux',
description: 'sur la structure des morceaux.',
},
numberOfKeywords: 'Nombre de mots-clés',
onSearchResults: 'Aucun membre ne correspond à votre recherche.\nRéessayez votre recherche.',
nameAndIcon: 'Nom et icône',
},
}

View File

@ -42,6 +42,10 @@ const translation = {
},
change: 'Changer',
changeRetrievalMethod: 'Changer la méthode de récupération',
keyword_search: {
title: 'Index inversé',
description: 'Lindice inversé est une structure utilisée pour une récupération efficace. Organisé par termes, chaque terme pointe vers des documents ou des pages web qui le contiennent.',
},
},
docsFailedNotice: 'Les documents n\'ont pas pu être indexés',
retry: 'Réessayer',
@ -149,6 +153,8 @@ const translation = {
chunkingMode: {
general: 'Généralités',
parentChild: 'Parent-enfant',
graph: 'Graphique',
qa: 'Q&R',
},
parentMode: {
paragraph: 'Paragraphe',
@ -217,6 +223,9 @@ const translation = {
chooseTime: 'Choisissez un moment...',
},
embeddingModelNotAvailable: 'Le modèle d\'embedding n\'est pas disponible.',
updated: 'Actualisé',
createFromPipeline: 'Créer à partir du pipeline de connaissances',
externalKnowledgeBase: 'Base de connaissances externe',
}
export default translation

View File

@ -1,4 +1,8 @@
const translation = {
sidebar: {
collapseSidebar: 'Réduire la barre latérale',
expandSidebar: 'Développer la barre latérale',
},
}
export default translation

View File

@ -55,6 +55,7 @@ const translation = {
passwordInvalid: 'Le mot de passe doit contenir des lettres et des chiffres, et la longueur doit être supérieure à 8.',
passwordLengthInValid: 'Le mot de passe doit comporter au moins 8 caractères.',
registrationNotAllowed: 'Compte introuvable. Veuillez contacter ladministrateur système pour vous inscrire.',
invalidEmailOrPassword: 'Adresse e-mail ou mot de passe invalide.',
},
license: {
tip: 'Avant de commencer Dify Community Edition, lisez le GitHub',
@ -110,6 +111,15 @@ const translation = {
disabled: 'L\'authentification de l\'application web est désactivée. Veuillez contacter l\'administrateur du système pour l\'activer. Vous pouvez essayer d\'utiliser l\'application directement.',
login: 'Connexion',
},
signup: {
signUp: 'S\'inscrire',
noAccount: 'Vous n\'avez pas de compte ?',
welcome: '👋 Bienvenue ! Veuillez remplir les détails pour commencer.',
signIn: 'Se connecter',
haveAccount: 'Vous avez déjà un compte ?',
verifyMail: 'Continuez avec le code de vérification',
createAccount: 'Créez votre compte',
},
}
export default translation

View File

@ -0,0 +1,38 @@
const translation = {
common: {
publishAsPipeline: {
description: 'Description des connaissances',
name: 'Nom et icône du pipeline',
namePlaceholder: 'Entrez le nom de ce pipeline de connaissances. (Obligatoire)',
descriptionPlaceholder: 'Entrez la description de ce pipeline de connaissances. (Facultatif)',
},
processing: 'Traitement',
testRun: 'Série dessai',
confirmPublish: 'Confirmer la publication',
publishAs: 'Publier en tant que pipeline de connaissances',
goToAddDocuments: 'Aller à ajouter des documents',
reRun: 'Relancer',
confirmPublishContent: 'Une fois le pipeline de connaissances publié avec succès, la structure de blocs de cette base de connaissances ne peut pas être modifiée. Êtes-vous sûr de vouloir le publier ?',
preparingDataSource: 'Préparation de la source de données',
},
inputField: {
manage: 'Gérer',
create: 'Créer un champ de saisie utilisateur',
},
publishToast: {
title: 'Ce pipeline na pas encore été publié',
desc: 'Lorsque le pipeline nest pas publié, vous pouvez modifier la structure des blocs dans le nœud de la base de connaissances, et lorchestration et les modifications du pipeline seront automatiquement enregistrées en tant que brouillon.',
},
result: {
resultPreview: {
loading: 'Traitement... Veuillez patienter',
viewDetails: 'Voir les détails',
error: 'Une erreur sest produite lors de lexécution',
},
},
ragToolSuggestions: {
title: 'Suggestions pour RAG',
},
}
export default translation

View File

@ -17,6 +17,7 @@ const translation = {
medical: 'Médical',
other: 'Autre',
utilities: 'Utilitaires',
rag: 'CHIFFON',
},
searchTags: 'Mots-clés de recherche',
allTags: 'Tous les mots-clés',

View File

@ -6,6 +6,7 @@ const translation = {
tools: 'Outils',
bundles: 'Paquets',
all: 'Tout',
datasources: 'Sources des données',
},
categorySingle: {
extension: 'Extension',
@ -13,6 +14,7 @@ const translation = {
model: 'Modèle',
agent: 'Stratégie dagent',
bundle: 'Paquet',
datasource: 'Source des données',
},
list: {
source: {
@ -47,23 +49,29 @@ const translation = {
toolSelector: {
uninstalledLink: 'Gérer dans les plugins',
title: 'Ajouter un outil',
uninstalledContent: 'Ce plugin est installé à partir du référentiel local/GitHub. Veuillez utiliser après linstallation.',
uninstalledContent:
'Ce plugin est installé à partir du référentiel local/GitHub. Veuillez utiliser après linstallation.',
unsupportedTitle: 'Action non soutenue',
descriptionLabel: 'Description de loutil',
placeholder: 'Sélectionnez un outil...',
params: 'CONFIGURATION DE RAISONNEMENT',
unsupportedContent: 'La version du plugin installée ne fournit pas cette action.',
unsupportedContent:
'La version du plugin installée ne fournit pas cette action.',
auto: 'Auto',
descriptionPlaceholder: 'Brève description de lobjectif de loutil, par exemple, obtenir la température dun endroit spécifique.',
descriptionPlaceholder:
'Brève description de lobjectif de loutil, par exemple, obtenir la température dun endroit spécifique.',
unsupportedContent2: 'Cliquez pour changer de version.',
uninstalledTitle: 'Outil non installé',
empty: 'Cliquez sur le bouton « + » pour ajouter des outils. Vous pouvez ajouter plusieurs outils.',
empty:
'Cliquez sur le bouton « + » pour ajouter des outils. Vous pouvez ajouter plusieurs outils.',
toolLabel: 'Outil',
settings: 'PARAMÈTRES UTILISATEUR',
paramsTip2: 'Lorsque « Auto » est désactivé, la valeur par défaut est utilisée.',
paramsTip2:
'Lorsque « Auto » est désactivé, la valeur par défaut est utilisée.',
paramsTip1: 'Contrôle les paramètres dinférence LLM.',
toolSetting: 'Paramètres de l\'outil',
unsupportedMCPTool: 'La version actuelle du plugin de stratégie d\'agent sélectionné ne prend pas en charge les outils MCP.',
unsupportedMCPTool:
'La version actuelle du plugin de stratégie d\'agent sélectionné ne prend pas en charge les outils MCP.',
},
modelNum: '{{num}} MODÈLES INCLUS',
endpointDeleteTip: 'Supprimer le point de terminaison',
@ -74,16 +82,19 @@ const translation = {
configureTool: 'Configurer loutil',
endpointDeleteContent: 'Souhaitez-vous supprimer {{name}} ?',
disabled: 'Handicapé',
endpointsTip: 'Ce plug-in fournit des fonctionnalités spécifiques via des points de terminaison, et vous pouvez configurer plusieurs ensembles de points de terminaison pour lespace de travail actuel.',
endpointsTip:
'Ce plug-in fournit des fonctionnalités spécifiques via des points de terminaison, et vous pouvez configurer plusieurs ensembles de points de terminaison pour lespace de travail actuel.',
configureModel: 'Configurer le modèle',
configureApp: 'Configurer lapplication',
endpointsEmpty: 'Cliquez sur le bouton « + » pour ajouter un point de terminaison',
endpointsEmpty:
'Cliquez sur le bouton « + » pour ajouter un point de terminaison',
actionNum: '{{num}} {{action}} INCLUS',
endpointDisableContent: 'Souhaitez-vous désactiver {{name}} ?',
endpointDisableTip: 'Désactiver le point de terminaison',
endpointModalTitle: 'Configurer le point de terminaison',
serviceOk: 'Service OK',
endpointModalDesc: 'Une fois configuré, les fonctionnalités fournies par le plugin via les points de terminaison de lAPI peuvent être utilisées.',
endpointModalDesc:
'Une fois configuré, les fonctionnalités fournies par le plugin via les points de terminaison de lAPI peuvent être utilisées.',
deprecation: {
reason: {
ownershipTransferred: 'propriété transférée',
@ -91,8 +102,10 @@ const translation = {
noMaintainer: 'aucun mainteneur',
},
noReason: 'Ce plugin a été abandonné et ne sera plus mis à jour.',
onlyReason: 'Ce plugin a été déprécié en raison de {{deprecatedReason}} et ne sera plus mis à jour.',
fullMessage: 'Ce plugin a été déprécié en raison de {{deprecatedReason}}, et ne sera plus mis à jour. Veuillez utiliser <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink> à la place.',
onlyReason:
'Ce plugin a été déprécié en raison de {{deprecatedReason}} et ne sera plus mis à jour.',
fullMessage:
'Ce plugin a été déprécié en raison de {{deprecatedReason}}, et ne sera plus mis à jour. Veuillez utiliser <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink> à la place.',
},
},
debugInfo: {
@ -131,13 +144,15 @@ const translation = {
uploadingPackage: 'Téléchargement de {{packageName}}...',
readyToInstallPackage: 'Sur le point dinstaller le plugin suivant',
back: 'Précédent',
fromTrustSource: 'Assurez-vous de ninstaller que des plugins provenant dune <trustSource>source fiable</trustSource>.',
fromTrustSource:
'Assurez-vous de ninstaller que des plugins provenant dune <trustSource>source fiable</trustSource>.',
close: 'Fermer',
installing: 'Installation...',
pluginLoadErrorDesc: 'Ce plugin ne sera pas installé',
cancel: 'Annuler',
installFailed: 'Échec de linstallation',
readyToInstallPackages: 'Sur le point dinstaller les plugins {{num}} suivants',
readyToInstallPackages:
'Sur le point dinstaller les plugins {{num}} suivants',
install: 'Installer',
uploadFailed: 'Échec du téléchargement',
installComplete: 'Installation terminée',
@ -157,7 +172,8 @@ const translation = {
selectPackage: 'Sélectionnez le forfait',
selectVersion: 'Sélectionner la version',
uploadFailed: 'Échec du téléchargement',
installNote: 'Assurez-vous de ninstaller que des plugins provenant dune source fiable.',
installNote:
'Assurez-vous de ninstaller que des plugins provenant dune source fiable.',
selectVersionPlaceholder: 'Veuillez sélectionner une version',
installedSuccessfully: 'Installation réussie',
updatePlugin: 'Mettre à jour le plugin à partir de GitHub',
@ -173,9 +189,12 @@ const translation = {
successfulTitle: 'Installation réussie',
},
error: {
noReleasesFound: 'Aucune version na été trouvée. Vérifiez le référentiel GitHub ou lURL dentrée.',
inValidGitHubUrl: 'URL GitHub non valide. Entrez une URL valide au format : https://github.com/owner/repo',
fetchReleasesError: 'Impossible de récupérer les versions. Veuillez réessayer plus tard.',
noReleasesFound:
'Aucune version na été trouvée. Vérifiez le référentiel GitHub ou lURL dentrée.',
inValidGitHubUrl:
'URL GitHub non valide. Entrez une URL valide au format : https://github.com/owner/repo',
fetchReleasesError:
'Impossible de récupérer les versions. Veuillez réessayer plus tard.',
},
marketplace: {
sortOption: {
@ -197,9 +216,12 @@ const translation = {
verifiedTip: 'Vérifié par Dify',
},
task: {
installError: '{{errorLength}} les plugins nont pas pu être installés, cliquez pour voir',
installingWithSuccess: 'Installation des plugins {{installingLength}}, succès de {{successLength}}.',
installingWithError: 'Installation des plugins {{installingLength}}, succès de {{successLength}}, échec de {{errorLength}}',
installError:
'{{errorLength}} les plugins nont pas pu être installés, cliquez pour voir',
installingWithSuccess:
'Installation des plugins {{installingLength}}, succès de {{successLength}}.',
installingWithError:
'Installation des plugins {{installingLength}}, succès de {{successLength}}, échec de {{errorLength}}',
installedError: '{{errorLength}} les plugins nont pas pu être installés',
clearAll: 'Effacer tout',
installing: 'Installation des plugins {{installingLength}}, 0 fait.',
@ -221,7 +243,8 @@ const translation = {
metadata: {
title: 'Plugins',
},
difyVersionNotCompatible: 'La version actuelle de Dify n\'est pas compatible avec ce plugin, veuillez mettre à niveau vers la version minimale requise : {{minimalDifyVersion}}',
difyVersionNotCompatible:
'La version actuelle de Dify n\'est pas compatible avec ce plugin, veuillez mettre à niveau vers la version minimale requise : {{minimalDifyVersion}}',
requestAPlugin: 'Demander un plugin',
publishPlugins: 'Publier des plugins',
auth: {
@ -241,14 +264,21 @@ const translation = {
useOAuth: 'Utilisez OAuth',
oauthClientSettings: 'Paramètres du client OAuth',
useOAuthAuth: 'Utilisez l\'autorisation OAuth',
useApiAuthDesc: 'Après avoir configuré les identifiants, tous les membres de l\'espace de travail peuvent utiliser cet outil lors de l\'orchestration des applications.',
clientInfo: 'Comme aucun secret client du système n\'a été trouvé pour ce fournisseur d\'outils, une configuration manuelle est requise. Pour redirect_uri, veuillez utiliser',
useApiAuthDesc:
'Après avoir configuré les identifiants, tous les membres de l\'espace de travail peuvent utiliser cet outil lors de l\'orchestration des applications.',
clientInfo:
'Comme aucun secret client du système n\'a été trouvé pour ce fournisseur d\'outils, une configuration manuelle est requise. Pour redirect_uri, veuillez utiliser',
setDefault: 'Définir comme par défaut',
authorization: 'Autorisation',
useApi: 'Utilisez la clé API',
customCredentialUnavailable: 'Les identifiants personnalisés ne sont actuellement pas disponibles.',
credentialUnavailable: 'Les informations d\'identification ne sont actuellement pas disponibles. Veuillez contacter l\'administrateur.',
customCredentialUnavailable:
'Les identifiants personnalisés ne sont actuellement pas disponibles.',
credentialUnavailable:
'Les informations d\'identification ne sont actuellement pas disponibles. Veuillez contacter l\'administrateur.',
unavailable: 'Non disponible',
credentialUnavailableInButton: 'Identifiant indisponible',
connectedWorkspace: 'Espace de travail connecté',
emptyAuth: 'Veuillez configurer lauthentification',
},
deprecated: 'Obsolète',
autoUpdate: {
@ -258,9 +288,11 @@ const translation = {
name: 'désactivé',
},
fixOnly: {
selectedDescription: 'Mise à jour automatique uniquement pour les versions de correctif',
selectedDescription:
'Mise à jour automatique uniquement pour les versions de correctif',
name: 'Réparer seulement',
description: 'Mise à jour automatique uniquement pour les versions de correctif (par exemple, 1.0.1 → 1.0.2). Les changements de version mineure ne déclencheront pas de mises à jour.',
description:
'Mise à jour automatique uniquement pour les versions de correctif (par exemple, 1.0.1 → 1.0.2). Les changements de version mineure ne déclencheront pas de mises à jour.',
},
latest: {
name: 'Dernier',
@ -274,8 +306,10 @@ const translation = {
partial: 'Seulement sélectionné',
},
upgradeModePlaceholder: {
partial: 'Seuls les plugins sélectionnés se mettront à jour automatiquement. Aucun plugin n\'est actuellement sélectionné, donc aucun plugin ne se mettra à jour automatiquement.',
exclude: 'Les plugins sélectionnés ne se mettront pas à jour automatiquement.',
partial:
'Seuls les plugins sélectionnés se mettront à jour automatiquement. Aucun plugin n\'est actuellement sélectionné, donc aucun plugin ne se mettra à jour automatiquement.',
exclude:
'Les plugins sélectionnés ne se mettront pas à jour automatiquement.',
},
operation: {
clearAll: 'Tout effacer',
@ -285,7 +319,8 @@ const translation = {
title: 'Baisse de version du plugin',
exclude: 'Exclure de la mise à jour automatique',
downgrade: 'Dégradez de toute façon',
description: 'La mise à jour automatique est actuellement activée pour ce plugin. Le fait de rétrograder la version peut entraîner la perte de vos modifications lors de la prochaine mise à jour automatique.',
description:
'La mise à jour automatique est actuellement activée pour ce plugin. Le fait de rétrograder la version peut entraîner la perte de vos modifications lors de la prochaine mise à jour automatique.',
},
noPluginPlaceholder: {
noInstalled: 'Aucun plugin installé',
@ -294,11 +329,14 @@ const translation = {
updateTime: 'Temps de mise à jour',
specifyPluginsToUpdate: 'Spécifiez les plugins à mettre à jour',
updateTimeTitle: 'Temps de mise à jour',
changeTimezone: 'Pour changer de fuseau horaire, allez dans <setTimezone>Paramètres</setTimezone>',
changeTimezone:
'Pour changer de fuseau horaire, allez dans <setTimezone>Paramètres</setTimezone>',
automaticUpdates: 'Mises à jour automatiques',
updateSettings: 'Mettre à jour les paramètres',
excludeUpdate: 'Les {{num}} plugins suivants ne se mettront pas à jour automatiquement',
partialUPdate: 'Seuls les {{num}} plugins suivants se mettront à jour automatiquement',
excludeUpdate:
'Les {{num}} plugins suivants ne se mettront pas à jour automatiquement',
partialUPdate:
'Seuls les {{num}} plugins suivants se mettront à jour automatiquement',
nextUpdateTime: 'Prochaine mise à jour automatique : {{time}}',
},
}

View File

@ -193,6 +193,16 @@ const translation = {
confirm: 'Ajouter & Authoriser',
sseReadTimeout: 'Délai d\'attente de lecture SSE',
timeout: 'Délai d\'attente',
timeoutPlaceholder: 'trente',
headerValue: 'Valeur d\'en-tête',
headerKey: 'Nom de l\'en-tête',
noHeaders: 'Aucun en-tête personnalisé configuré',
headers: 'En-têtes',
headerKeyPlaceholder: 'par exemple, Autorisation',
headerValuePlaceholder: 'par exemple, Jeton d\'accès123',
headersTip: 'En-têtes HTTP supplémentaires à envoyer avec les requêtes au serveur MCP',
addHeader: 'Ajouter un en-tête',
maskedHeadersTip: 'Les valeurs d\'en-tête sont masquées pour des raisons de sécurité. Les modifications mettront à jour les valeurs réelles.',
},
delete: 'Supprimer le Serveur MCP',
deleteConfirmTitle: 'Souhaitez-vous supprimer {mcp}?',
@ -234,6 +244,7 @@ const translation = {
publishTip: 'Application non publiée. Merci de publier l\'application en premier.',
},
},
allTools: 'Tous les outils',
}
export default translation

View File

@ -85,7 +85,6 @@ const translation = {
limit: 'Le parallélisme est limité aux branches {{num}}.',
depthLimit: 'Limite de couches dimbrication parallèle de {{num}} couches',
},
parallelRun: 'Exécution parallèle',
disconnect: 'Déconnecter',
jumpToNode: 'Aller à ce nœud',
addParallelNode: 'Ajouter un nœud parallèle',
@ -216,6 +215,8 @@ const translation = {
back: 'Retour',
iteration: 'Itération',
loop: 'Boucle',
reRun: 'Relancer',
preparingDataSource: 'Préparation de la source de données',
},
tabs: {
'tools': 'Outils',
@ -234,6 +235,8 @@ const translation = {
'searchBlock': 'Nœud de recherche',
'addAll': 'Ajouter tout',
'allAdded': 'Tout ajouté',
'sources': 'Sources',
'searchDataSource': 'Source de données de recherche',
},
blocks: {
'start': 'Début',
@ -258,6 +261,8 @@ const translation = {
'loop-end': 'Sortir de la boucle',
'loop': 'Boucle',
'loop-start': 'Début de boucle',
'knowledge-index': 'Base de connaissances',
'datasource': 'Source des données',
},
blocksAbout: {
'start': 'Définir les paramètres initiaux pour lancer un flux de travail',
@ -280,6 +285,8 @@ const translation = {
'agent': 'Appel de grands modèles de langage pour répondre à des questions ou traiter le langage naturel',
'loop': 'Exécutez une boucle de logique jusqu\'à ce que la condition de terminaison soit remplie ou que le nombre maximum de boucles soit atteint.',
'loop-end': 'Équivalent à "break". Ce nœud n\'a pas d\'éléments de configuration. Lorsque le corps de la boucle atteint ce nœud, la boucle se termine.',
'datasource': 'Source de données À propos',
'knowledge-index': 'Base de connaissances À propos',
},
operator: {
zoomIn: 'Zoomer',
@ -380,6 +387,7 @@ const translation = {
input: 'Valeur d\'entrée',
variable: 'Utilisez une variable',
},
inputVars: 'Variables dentrée',
},
start: {
required: 'requis',
@ -468,6 +476,12 @@ const translation = {
generateJsonSchema: 'Générer un schéma JSON',
resultTip: 'Voici le résultat généré. Si vous n\'êtes pas satisfait, vous pouvez revenir en arrière et modifier votre demande.',
},
reasoningFormat: {
title: 'Activer la séparation des balises de raisonnement',
tagged: 'Gardez les étiquettes de pensée',
separated: 'Séparer les balises de réflexion',
tooltip: 'Extraire le contenu des balises think et le stocker dans le champ reasoning_content.',
},
},
knowledgeRetrieval: {
queryVariable: 'Variable de requête',
@ -908,6 +922,27 @@ const translation = {
loopVariables: 'Variables de boucle',
deleteTitle: 'Supprimer le nœud de boucle ?',
},
dataSource: {
supportedFileFormatsPlaceholder: 'Extension de fichier, e.g. doc',
add: 'Ajouter une source de données',
supportedFileFormats: 'Formats de fichiers pris en charge',
},
knowledgeBase: {
chunkStructureTip: {
learnMore: 'Pour en savoir plus',
title: 'Veuillez choisir une structure de morceaux',
message: 'La base de connaissances Dify prend en charge trois structures de segmentation : Général, Parent-enfant et Q&R. Chaque base de connaissances ne peut avoir quune seule structure. La sortie du nœud précédent doit saligner sur la structure de blocs sélectionnée. Notez que le choix de la structure de segmentation affecte les méthodes dindex disponibles.',
},
chunkStructure: 'Structure de morceaux',
chunkIsRequired: 'Une structure de morceaux est requise',
chooseChunkStructure: 'Choisir une structure de blocs',
aboutRetrieval: 'À propos de la méthode de récupération.',
changeChunkStructure: 'Modifier la structure des morceaux',
indexMethodIsRequired: 'La méthode dindexation est requise',
retrievalSettingIsRequired: 'Le paramètre de récupération est requis',
chunksInput: 'Morceaux',
chunksInputTip: 'La variable d\'entrée du nœud de la base de connaissances est Chunks. Le type de variable est un objet avec un schéma JSON spécifique qui doit être cohérent avec la structure de morceau sélectionnée.',
},
},
tracing: {
stopBy: 'Arrêté par {{user}}',
@ -978,6 +1013,10 @@ const translation = {
edited: 'Édité',
resetConversationVar: 'Réinitialiser la variable de conversation à la valeur par défaut',
emptyTip: 'Après avoir dessiné un nœud sur le canevas ou exécuté un nœud étape par étape, vous pouvez voir la valeur actuelle de la variable du nœud dans l\'Inspecteur de Variables.',
export: 'exportation',
exportToolTip: 'Exporter la variable en tant que fichier',
largeData: 'Données volumineuses, aperçu en lecture seule. Exporter pour tout afficher.',
largeDataNoExport: 'Données volumineuses - aperçu partiel uniquement',
},
settingsTab: 'Paramètres',
lastRunTab: 'Dernière Exécution',
@ -996,6 +1035,10 @@ const translation = {
copyLastRunError: 'Échec de la copie des entrées de la dernière exécution',
lastOutput: 'Dernière sortie',
},
sidebar: {
exportWarning: 'Exporter la version enregistrée actuelle',
exportWarningDesc: 'Cela exportera la version actuelle enregistrée de votre flux de travail. Si vous avez des modifications non enregistrées dans l\'éditeur, veuillez d\'abord les enregistrer en utilisant l\'option d\'exportation dans le canevas du flux de travail.',
},
}
export default translation

View File

@ -362,6 +362,19 @@ const translation = {
'optional': 'वैकल्पिक',
'json': 'JSON कोड',
'checkbox': 'चेकबॉक्स',
'unit': 'इकाई',
'tooltips': 'टूलटिप्स',
'uploadMethod': 'अपलोड विधि',
'startChecked': 'प्रारंभ की जांच की गई',
'placeholder': 'प्लेसहोल्डर',
'startSelectedOption': 'चुने हुए विकल्प को शुरू करें',
'showAllSettings': 'सभी सेटिंग्स दिखाएँ',
'displayName': 'प्रदर्शन नाम',
'noDefaultSelected': 'चुनें मत',
'tooltipsPlaceholder': 'लेबल पर होवर करते समय दिखाई देने वाला सहायक पाठ दर्ज करें',
'unitPlaceholder': 'संख्याओं के बाद इकाइयों को प्रदर्शित करें, जैसे कि टोकन',
'placeholderPlaceholder': 'जब फ़ील्ड खाली हो तो दिखाने के लिए पाठ दर्ज करें',
'defaultValuePlaceholder': 'फ़ील्ड को पूर्व-जनित करने के लिए डिफ़ॉल्ट मान दर्ज करें',
},
vision: {
name: 'विजन',

View File

@ -80,6 +80,7 @@ const translation = {
noTemplateFoundTip: 'विभिन्न कीवर्ड का उपयोग करके खोजने का प्रयास करें।',
workflowUserDescription: 'ड्रैग-एंड-ड्रॉप सरलता के साथ स्वायत्त AI वर्कफ़्लो का दृश्य निर्माण करें।',
dropDSLToCreateApp: 'यहाँ DSL फ़ाइल ड्रॉप करें ताकि ऐप बनाया जा सके',
import: 'आयात',
},
editApp: 'जानकारी संपादित करें',
editAppTitle: 'ऐप जानकारी संपादित करें',
@ -316,6 +317,10 @@ const translation = {
tryDifferentSearch: 'एक अलग खोज शब्द आजमाएँ',
noMatchingCommands: 'कोई मिलती-जुलती कमांड्स नहीं मिलीं',
slashHint: 'सभी उपलब्ध कमांड देखने के लिए टाइप करें /',
pressEscToClose: 'बंद करने के लिए ESC दबाएं',
startTyping: 'खोजने के लिए टाइप करना शुरू करें',
selectToNavigate: 'नेविगेट करने के लिए चुनें',
tips: 'नेविगेट करने के लिए ↑↓ दबाएँ',
},
}

View File

@ -101,6 +101,7 @@ const translation = {
apiRateLimitTooltip: 'Dify API के माध्यम से की गई सभी अनुरोधों पर API दर सीमा लागू होती है, जिसमें टेक्स्ट जनरेशन, चैट वार्तालाप, कार्यप्रवाह निष्पादन और दस्तावेज़ प्रसंस्करण शामिल हैं।',
teamMember_one: '{{count,number}} टीम सदस्य',
documentsRequestQuotaTooltip: 'यह ज्ञान आधार में एक कार्यक्षेत्र द्वारा प्रति मिनट किए जा सकने वाले कुल कार्यों की संख्या को निर्दिष्ट करता है, जिसमें डेटासेट बनाना, हटाना, अपडेट करना, दस्तावेज़ अपलोड करना, संशोधन करना, संग्रहित करना और ज्ञान आधार अनुरोध शामिल हैं। इस मीट्रिक का उपयोग ज्ञान आधार अनुरोधों के प्रदर्शन का मूल्यांकन करने के लिए किया जाता है। उदाहरण के लिए, यदि एक सैंडबॉक्स उपयोगकर्ता एक मिनट के भीतर 10 लगातार हिट परीक्षण करता है, तो उनके कार्यक्षेत्र को अगले मिनट के लिए निम्नलिखित कार्यों को करने से अस्थायी रूप से प्रतिबंधित किया जाएगा: डेटासेट बनाना, हटाना, अपडेट करना और दस्तावेज़ अपलोड या संशोधन करना।',
startBuilding: 'बनाना शुरू करें',
},
plans: {
sandbox: {
@ -126,6 +127,15 @@ const translation = {
'बड़े पैमाने पर मिशन-क्रिटिकल सिस्टम के लिए पूर्ण क्षमताएं और समर्थन प्राप्त करें।',
includesTitle: 'टीम योजना में सब कुछ, साथ में:',
features: {
4: 'SSO',
6: 'उन्नत सुरक्षा और नियंत्रण',
1: 'Commercial License Authorization',
8: 'प्रोफेशनल तकनीकी समर्थन',
0: 'उद्योग स्तर के बड़े पैमाने पर वितरण समाधान',
3: 'अनेक कार्यक्षेत्र और उद्यम प्रबंधक',
2: 'विशेष उद्यम सुविधाएँ',
7: 'डिफी द्वारा आधिकारिक रूप से अपडेट और रखरखाव',
5: 'डिफाई पार्टनर्स द्वारा बातचीत किए गए एसएलए',
},
price: 'कस्टम',
btnText: 'बिक्री से संपर्क करें',
@ -134,6 +144,9 @@ const translation = {
},
community: {
features: {
1: 'एकल कार्यक्षेत्र',
2: 'डिफी ओपन सोर्स लाइसेंस के अनुपालन में',
0: 'सभी मुख्य सुविधाएं सार्वजनिक संग्रह के तहत जारी की गई हैं।',
},
description: 'व्यक्तिगत उपयोगकर्ताओं, छोटे टीमों, या गैर-व्यावसायिक परियोजनाओं के लिए',
for: 'व्यक्तिगत उपयोगकर्ताओं, छोटे टीमों, या गैर-व्यावसायिक परियोजनाओं के लिए',
@ -144,6 +157,10 @@ const translation = {
},
premium: {
features: {
1: 'एकल कार्यक्षेत्र',
3: 'प्राथमिकता ईमेल और चैट समर्थन',
2: 'वेब ऐप लोगो और ब्रांडिंग कस्टमाइजेशन',
0: 'विभिन्न क्लाउड प्रदाताओं द्वारा आत्म-प्रबंधित विश्वसनीयता',
},
priceTip: 'क्लाउड मार्केटप्लेस के आधार पर',
name: 'प्रीमियम',

View File

@ -510,7 +510,17 @@ const translation = {
specifyModelCredential: 'मॉडल की क्रेडेंशियल निर्दिष्ट करें',
specifyModelCredentialTip: 'कॉन्फ़िगर की गई मॉडल क्रेडेंशियल का उपयोग करें।',
providerManagedTip: 'वर्तमान कॉन्फ़िगरेशन प्रदाता द्वारा होस्ट किया गया है।',
selectModelCredential: 'एक मॉडल क्रेडेंशियल चुनें',
addModel: 'मॉडल जोड़ें',
removeModel: 'मॉडल हटाएं',
customModelCredentialsDeleteTip: 'क्रेडेंशियल उपयोग में है और इसे हटाया नहीं जा सकता',
modelCredential: 'मॉडल क्रेडेंशियल',
addNewModelCredential: 'नई मॉडल क्रेडेंशियल जोड़ें',
manageCredentials: 'क्रेडेंशियल्स प्रबंधित करें',
customModelCredentials: 'कस्टम मॉडल क्रेडेंशियल्स',
editModelCredential: 'मॉडल की क्रेडेंशियल संपादित करें',
},
parametersInvalidRemoved: 'कुछ पैरामीटर अमान्य हैं और हटा दिए गए हैं',
},
dataSource: {
add: 'डेटा स्रोत जोड़ें',
@ -611,6 +621,7 @@ const translation = {
viewDoc: 'दस्तावेज़ देखें',
relatedApp: 'संबंधित ऐप्स',
noRelatedApp: 'कोई लिंक नहीं किए गए ऐप्स',
pipeline: 'पाइपलाइन',
},
voiceInput: {
speaking: 'अब बोलें...',
@ -764,6 +775,15 @@ const translation = {
deleteTitle: 'अवतार हटाएँ',
deleteDescription: 'क्या आप सुनिश्चित हैं कि आप अपनी प्रोफ़ाइल तस्वीर को हटाना चाहते हैं? आपका खाता डिफ़ॉल्ट प्रारंभिक अवतार का उपयोग करेगा।',
},
feedback: {
content: 'प्रतिक्रिया सामग्री',
title: 'प्रतिक्रिया प्रदान करें',
subtitle: 'कृपया हमें बताएं कि इस प्रतिक्रिया में क्या गलत हुआ',
placeholder: 'कृपया बताएं कि क्या गलत हुआ या हम कैसे सुधार कर सकते हैं...',
},
label: {
optional: '(अनिवार्य नहीं)',
},
}
export default translation

View File

@ -96,6 +96,7 @@ const translation = {
waterCrawlNotConfiguredDescription: 'इसे उपयोग करने के लिए वॉटरक्रॉल को एपीआई कुंजी के साथ कॉन्फ़िगर करें।',
configureJinaReader: 'जिना रीडर कॉन्फ़िगर करें',
configureWatercrawl: 'वाटरक्रॉल कॉन्फ़िगर करें',
running: 'दौड़ना',
},
cancel: 'रद्द करना',
},
@ -193,6 +194,7 @@ const translation = {
parentChild: 'माता-पिता का बच्चा',
parentChildTip: 'पैरेंट-चाइल्ड मोड का उपयोग करते समय, चाइल्ड-चंक का उपयोग पुनर्प्राप्ति के लिए किया जाता है और पैरेंट-चंक का उपयोग संदर्भ के रूप में रिकॉल के लिए किया जाता है।',
paragraphTip: 'यह मोड पाठ को सीमांकक और अधिकतम खंड लंबाई के आधार पर पैराग्राफ में विभाजित करता है, पुनर्प्राप्ति के लिए मूल खंड के रूप में विभाजित पाठ का उपयोग करता है।',
qaTip: 'संरचित प्रश्नोत्तर डेटा का उपयोग करते समय, आप प्रश्नों को उत्तरों के साथ जोड़ने वाले दस्तावेज़ बना सकते हैं। ये दस्तावेज़ प्रश्न भाग के आधार पर अनुक्रमित होते हैं, जिससे प्रणाली क्वेरी समानता के आधार पर संबंधित उत्तरों को पुनः प्राप्त कर सकती है।',
},
stepThree: {
creationTitle: '🎉 ज्ञान बनाया गया',

View File

@ -100,6 +100,9 @@ const translation = {
upload_file: 'फाइल अपलोड करें',
notion: 'नोशन से सिंक करें',
github: 'गिटहब से सिंक करें',
local_file: 'स्थानीय फ़ाइल',
online_document: 'ऑनलाइन दस्तावेज़',
website_crawl: 'वेबसाइट क्रॉल',
},
type: {
book: 'पुस्तक',
@ -337,6 +340,7 @@ const translation = {
pause: 'रुकना',
hierarchical: 'माता-पिता का बच्चा',
childMaxTokens: 'बच्चा',
waiting: 'इनपुट की प्रतीक्षा कर रहा हूं...',
},
segment: {
paragraphs: 'पैराग्राफ',

View File

@ -0,0 +1,154 @@
const translation = {
creation: {
createFromScratch: {
title: 'खाली ज्ञान पाइपलाइन',
description: 'शुद्ध रूप से डेटा प्रोसेसिंग और ढांचे पर पूर्ण नियंत्रण के साथ एक कस्टम पाइपलाइन बनाएँ।',
},
backToKnowledge: 'ज्ञान की ओर वापस',
createKnowledge: 'ज्ञान उत्पन्न करें',
caution: 'सावधानी',
importDSL: 'एक DSL फ़ाइल से आयात करें',
errorTip: 'ज्ञान आधार बनाने में विफल',
successTip: 'सफलता से एक ज्ञान आधार बनाया गया',
},
templates: {
customized: 'कस्टमाइज़ किया गया',
},
operations: {
dataSource: 'डेटा स्रोत',
backToDataSource: 'डेटा स्रोत पर वापस',
choose: 'चुनें',
saveAndProcess: 'सहेजें और प्रक्रिया करें',
convert: 'रूपांतरित करें',
useTemplate: 'इस ज्ञान पाइपलाइन का उपयोग करें',
editInfo: 'जानकारी संपादित करें',
exportPipeline: 'निर्यात पाइपलाइन',
details: 'विवरण',
preview: 'पूर्वावलोकन',
process: 'प्रक्रिया',
},
deletePipeline: {
title: 'क्या आप इस पाइपलाइन टेम्पलेट को हटाने के लिए निश्चित हैं?',
content: 'पाइपलाइन टेम्पलेट को हटाना वापस नहीं किया जा सकता।',
},
publishPipeline: {
success: {
message: 'ज्ञान पाइपलाइन प्रकाशित',
},
error: {
message: 'ज्ञान पाइपलाइन प्रकाशित करने में विफल रहा',
},
},
publishTemplate: {
success: {
learnMore: 'और जानें',
tip: 'आप इस टेम्पलेट का उपयोग निर्माण पृष्ठ पर कर सकते हैं।',
message: 'पाइपलाइन टेम्पलेट प्रकाशित',
},
error: {
message: 'पाइपलाइन टेम्पलेट को प्रकाशित करने में असफल हुआ',
},
},
exportDSL: {
errorTip: 'पाइपलाइन DSL निर्यात करने में विफल',
successTip: 'निर्यात पाइपलाइन DSL सफलतापूर्वक',
},
details: {
structure: 'संरचना',
structureTooltip: 'चंक संरचना यह निर्धारित करती है कि दस्तावेज कैसे विभाजित और अनुक्रमित होते हैं—सामान्य, माता-पिता- बच्चे, और प्रश्नोत्तर मोड प्रदान करते हुए—और यह प्रत्येक ज्ञान आधार के लिए अद्वितीय होती है।',
},
testRun: {
steps: {
dataSource: 'डेटा स्रोत',
documentProcessing: 'दस्तावेज़ प्रसंस्करण',
},
dataSource: {
localFiles: 'स्थानीय फ़ाइलें',
},
notion: {
docTitle: 'नोटियन दस्तावेज़',
title: 'नोटियन पृष्ठों का चयन करें',
},
title: 'परीक्षण चलाना',
tooltip: 'परीक्षण रन मोड में, एक समय में केवल एक दस्तावेज़ को आयात करने की अनुमति है ताकि डिबगिंग और अवलोकन को आसान बनाया जा सके।',
},
inputFieldPanel: {
uniqueInputs: {
title: 'प्रत्येक प्रवेश के लिए अद्वितीय इनपुट',
tooltip: 'असाधारण इनपुट केवल चयनित डेटा स्रोत और इसके डाउनस्ट्रीम नोड्स के लिए सुलभ हैं। उपयोगकर्ताओं को अन्य डेटा स्रोत चुनते समय इसे भरने की आवश्यकता नहीं होगी। केवल उन इनपुट फ़ील्ड्स जो डेटा स्रोत वेरिएबल द्वारा संदर्भित हैं, पहले चरण (डेटा स्रोत) में दिखाई देंगे। सभी अन्य फ़ील्ड दूसरे चरण (डॉक्यूमेंट्स प्रक्रिया) में दिखाई देंगी।',
},
globalInputs: {
title: 'सभी प्रवेशों के लिए वैश्विक इनपुट',
tooltip: 'वैश्विक इनपुट सभी नोड्स में साझा किए जाते हैं। उपयोगकर्ताओं को किसी भी डेटा स्रोत को चुनते समय इन्हें भरना होगा। उदाहरण के लिए, विभाजक और अधिकतम खंड की लंबाई जैसे फ़ील्ड को कई डेटा स्रोतों में समान रूप से लागू किया जा सकता है। केवल इनपुट फ़ील्ड जो डेटा स्रोत परिवर्तनीयों द्वारा संदर्भित होते हैं, पहले चरण (डेटा स्रोत) में दिखाई देते हैं। सभी अन्य फ़ील्ड दूसरे चरण (प्रक्रिया दस्तावेज़) में दिखाई देते हैं।',
},
preview: {
stepOneTitle: 'डेटा स्रोत',
stepTwoTitle: 'दस्तावेज़ संसाधित करें',
},
error: {
variableDuplicate: 'चर नाम पहले से मौजूद है। कृपया एक अलग नाम चुनें।',
},
addInputField: 'इनपुट फ़ील्ड जोड़ें',
editInputField: 'इनपुट फ़ील्ड संपादित करें',
title: 'उपयोगकर्ता इनपुट फ़ील्ड्स',
description: 'उपयोगकर्ता इनपुट फ़ील्ड्स का उपयोग पाईपलाइन निष्पादन प्रक्रिया के दौरान आवश्यक वेरिएबल्स को परिभाषित और इकट्ठा करने के लिए करते हैं। उपयोगकर्ता फ़ील्ड प्रकार को कस्टमाइज़ कर सकते हैं और विभिन्न डेटा स्रोतों या दस्तावेज़ प्रसंस्करण चरणों की आवश्यकताओं को पूरा करने के लिए इनपुट मान को लचीले ढंग से कॉन्फ़िगर कर सकते हैं।',
},
addDocuments: {
steps: {
chooseDatasource: 'डेटा स्रोत चुनें',
processDocuments: 'दस्तावेज़ संसाधित करें',
processingDocuments: 'दस्तावेज़ संसाधित करना',
},
stepOne: {
preview: 'पूर्वावलोकन',
},
stepTwo: {
previewChunks: 'पूर्वावलोकन खंड',
chunkSettings: 'चंक सेटिंग्स',
},
stepThree: {
learnMore: 'और अधिक सीखें',
},
backToDataSource: 'डेटा स्रोत',
characters: 'पात्र',
title: 'दस्तावेज़ जोड़ें',
},
documentSettings: {
title: 'डॉक्यूमेंट सेटिंग्स',
},
onlineDocument: {},
onlineDrive: {
breadcrumbs: {
allFiles: 'सभी फ़ाइलें',
searchPlaceholder: 'फाइलें खोजें...',
allBuckets: 'सभी क्लाउड स्टोरेज बकेट्स',
},
resetKeywords: 'कीवर्ड रीसेट करें',
emptyFolder: 'यह फ़ोल्डर खाली है',
notSupportedFileType: 'यह फ़ाइल प्रकार समर्थित नहीं है',
emptySearchResult: 'कोई सामान नहीं मिला',
},
credentialSelector: {},
conversion: {
confirm: {
title: 'पुष्टि',
content: 'यह कार्रवाई स्थायी है। आप पिछले तरीके पर वापस नहीं जा पाएंगे। कृपया परिवर्तन की पुष्टि करें।',
},
title: 'ज्ञान पाइपलाइन में परिवर्तित करें',
warning: 'यह क्रिया पूर्ववत नहीं की जा सकती।',
descriptionChunk1: 'आप अब अपने मौजूदा ज्ञान आधार को दस्तावेज़ प्रसंस्करण के लिए ज्ञान पाइपलाइन में बदल सकते हैं',
errorMessage: 'डेटासेट को पाइपलाइन में परिवर्तित करने में विफल रहा',
successMessage: 'डेटासेट को एक पाइपलाइन में सफलतापूर्वक रूपांतरित किया गया है',
descriptionChunk2: '— एक अधिक खुला और लचीला दृष्टिकोण जो हमारे मार्केटप्लेस से प्लगइन्स तक पहुंच प्रदान करता है। यह नए प्रसंस्करण पद्धति को सभी भविष्य के दस्तावेजों पर लागू करेगा।',
},
knowledgePermissions: 'अनुमतियाँ',
knowledgeNameAndIcon: 'ज्ञान का नाम और आइकन',
knowledgeNameAndIconPlaceholder: 'कृपया ज्ञान बेस का नाम दर्ज करें',
knowledgeDescription: 'ज्ञान का वर्णन',
pipelineNameAndIcon: 'पाइपलाइन का नाम और आइकन',
inputField: 'इनपुट फ़ील्ड',
editPipelineInfo: 'पाइपलाइन जानकारी संपादित करें',
knowledgeDescriptionPlaceholder: 'इस ज्ञान आधार में क्या है इसका वर्णन करें। एक विस्तृत विवरण एआई को डेटा सेट की सामग्री को अधिक सटीकता से एक्सेस करने की अनुमति देता है। यदि खाली है, तो डिफी डिफ़ॉल्ट हिट रणनीति का उपयोग करेगा। (वैकल्पिक)',
}
export default translation

View File

@ -42,6 +42,14 @@ const translation = {
helpText: 'एक अच्छा डेटासेट विवरण लिखना सीखें।',
upgradeHighQualityTip: 'एक बार उच्च गुणवत्ता मोड में अपग्रेड करने के बाद, किफायती मोड में वापस जाना उपलब्ध नहीं है',
searchModel: 'मॉडल खोजें',
chunkStructure: {
learnMore: 'और अधिक सीखें',
title: 'खंड संरचना',
description: 'चंक संरचना के बारे में।',
},
nameAndIcon: 'नाम और आइकन',
numberOfKeywords: 'कीवर्ड की संख्या',
onSearchResults: 'कोई सदस्य आपकी खोज क्वेरी से मेल नहीं खाता। अपनी खोज को फिर से प्रयास करें।',
},
}

View File

@ -49,6 +49,10 @@ const translation = {
},
change: 'बदलें',
changeRetrievalMethod: 'पुनर्प्राप्ति विधि बदलें',
keyword_search: {
title: 'इनवर्टेड अनुक्रमणिका',
description: 'इनवर्टेड इंडेक्स एक संरचना है जो कुशल पुनर्प्राप्ति के लिए उपयोग की जाती है। यह शर्तों द्वारा व्यवस्थित होती है, प्रत्येक शर्त उन दस्तावेजों या वेब पृष्ठों की ओर इशारा करती है जिनमें यह मौजूद होती है।',
},
},
docsFailedNotice: 'दस्तावेज़ों को अनुक्रमित करने में विफल',
retry: 'पुनः प्रयास करें',
@ -156,6 +160,8 @@ const translation = {
chunkingMode: {
parentChild: 'माता-पिता का बच्चा',
general: 'सामान्य',
graph: 'ग्राफ',
qa: 'प्रश्न और उत्तर',
},
parentMode: {
fullDoc: 'पूर्ण-दस्तावेज़',
@ -224,6 +230,9 @@ const translation = {
metadata: 'मेटाडेटा',
},
embeddingModelNotAvailable: 'एम्बेडिंग मॉडल उपलब्ध नहीं है।',
updated: 'अपडेट किया गया',
externalKnowledgeBase: 'बाहरी ज्ञान आधार',
createFromPipeline: 'ज्ञान पाइपलाइन से बनाएं',
}
export default translation

View File

@ -1,4 +1,8 @@
const translation = {
sidebar: {
collapseSidebar: 'साइडबार को बंद करें',
expandSidebar: 'साइडबार विस्तार करें',
},
}
export default translation

View File

@ -60,6 +60,7 @@ const translation = {
passwordInvalid:
'पासवर्ड में अक्षर और अंक होने चाहिए, और लंबाई 8 से अधिक होनी चाहिए',
registrationNotAllowed: 'खाता नहीं मिला. रजिस्टर करने के लिए कृपया सिस्टम एडमिन से संपर्क करें।',
invalidEmailOrPassword: 'अमान्य ईमेल या पासवर्ड।',
},
license: {
tip: 'Dify Community Edition शुरू करने से पहले, GitHub पर',
@ -115,6 +116,15 @@ const translation = {
disabled: 'वेब ऐप प्रमाणीकरण अक्षम है। कृपया इसे सक्षम करने के लिए सिस्टम प्रशासक से संपर्क करें। आप सीधे ऐप का उपयोग करने की कोशिश कर सकते हैं।',
login: 'लॉगइन',
},
signup: {
signIn: 'साइन इन करें',
noAccount: 'क्या आपके पास खाता नहीं है?',
signUp: 'साइन अप करें',
verifyMail: 'प्रमाणन कोड के साथ जारी रखें',
createAccount: 'अपना खाता बनाएँ',
welcome: '👋 स्वागत है! कृपया शुरू करने के लिए विवरण भरें।',
haveAccount: 'क्या आपका पहले से एक खाता है?',
},
}
export default translation

View File

@ -0,0 +1,38 @@
const translation = {
common: {
publishAsPipeline: {
name: 'पाइपलाइन का नाम और आइकन',
description: 'ज्ञान का वर्णन',
namePlaceholder: 'कृपया इस ज्ञान पाइपलाइन का नाम दर्ज करें। (आवश्यक)',
descriptionPlaceholder: 'कृपया इस ज्ञान पाइपलाइन का वर्णन दर्ज करें। (वैकल्पिक)',
},
testRun: 'परीक्षण चलाना',
preparingDataSource: 'डेटा स्रोत की तैयारी करना',
reRun: 'फिर से चलाएँ',
confirmPublish: 'प्रकाशित करने की पुष्टि करें',
publishAs: 'ज्ञान पाइपलाइन के रूप में प्रकाशित करें',
processing: 'प्रसंस्करण',
goToAddDocuments: 'दस्तावेज़ जोड़ने के लिए जाएं',
confirmPublishContent: 'ज्ञान पाइपलाइन को सफलतापूर्वक प्रकाशित करने के बाद, इस ज्ञान आधार की टुकड़ा संरचना को संशोधित नहीं किया जा सकता। क्या आप निश्चित हैं कि आप इसे प्रकाशित करना चाहते हैं?',
},
inputField: {
create: 'उपयोगकर्ता इनपुट क्षेत्र बनाएं',
manage: 'प्रबंधित करें',
},
publishToast: {
title: 'यह पाइपलाइन अभी तक प्रकाशित नहीं हुई है',
desc: 'जब पाइपलाइन प्रकाशित नहीं होती है, तो आप ज्ञान बेस नोड में हिस्सा संरचना को संशोधित कर सकते हैं, और पाइपलाइन संचालन और परिवर्तनों को स्वचालित रूप से मसौदे के रूप में सहेजा जाएगा।',
},
result: {
resultPreview: {
viewDetails: 'विवरण देखें',
error: 'कार्यवाही के दौरान त्रुटि हुई',
loading: 'प्रसंस्करण हो रहा है... कृपया प्रतीक्षा करें',
},
},
ragToolSuggestions: {
title: 'आरएजी के लिए सुझाव',
},
}
export default translation

View File

@ -17,6 +17,7 @@ const translation = {
other: 'अन्य',
medical: 'चिकित्सा',
finance: 'वित्त',
rag: 'राग',
},
searchTags: 'खोज टैग',
allTags: 'सभी टैग',

View File

@ -6,6 +6,7 @@ const translation = {
extensions: 'एक्सटेंशन्स',
tools: 'उपकरण',
agents: 'एजेंट रणनीतियाँ',
datasources: 'डेटा स्रोत',
},
categorySingle: {
extension: 'विस्तार',
@ -13,6 +14,7 @@ const translation = {
tool: 'उपकरण',
agent: 'एजेंट रणनीति',
model: 'मॉडल',
datasource: 'डेटा स्रोत',
},
list: {
source: {
@ -49,24 +51,31 @@ const translation = {
auto: 'स्वचालित',
uninstalledLink: 'प्लगइन्स में प्रबंधित करें',
unsupportedTitle: 'असमर्थित क्रिया',
unsupportedContent: 'स्थापित प्लगइन संस्करण यह क्रिया प्रदान नहीं करता है।',
unsupportedContent:
'स्थापित प्लगइन संस्करण यह क्रिया प्रदान नहीं करता है।',
descriptionLabel: 'उपकरण का विवरण',
unsupportedContent2: 'संस्करण बदलने के लिए क्लिक करें।',
placeholder: 'एक उपकरण चुनें...',
title: 'उपकरण जोड़ें',
toolLabel: 'उपकरण',
params: 'कारण निर्धारण कॉन्फ़िग',
empty: 'उपकरण जोड़ने के लिए \'+\' बटन पर क्लिक करें। आप कई उपकरण जोड़ सकते हैं।',
empty:
'उपकरण जोड़ने के लिए \'+\' बटन पर क्लिक करें। आप कई उपकरण जोड़ सकते हैं।',
settings: 'उपयोगकर्ता सेटिंग्स',
uninstalledContent: 'यह प्लगइन स्थानीय/गिटहब रिपॉजिटरी से स्थापित किया गया है। कृपया स्थापना के बाद उपयोग करें।',
paramsTip2: 'जब \'स्वचालित\' बंद होता है, तो डिफ़ॉल्ट मान का उपयोग किया जाता है।',
descriptionPlaceholder: 'उपकरण के उद्देश्य का संक्षिप्त विवरण, जैसे, किसी विशेष स्थान के लिए तापमान प्राप्त करना।',
uninstalledContent:
'यह प्लगइन स्थानीय/गिटहब रिपॉजिटरी से स्थापित किया गया है। कृपया स्थापना के बाद उपयोग करें।',
paramsTip2:
'जब \'स्वचालित\' बंद होता है, तो डिफ़ॉल्ट मान का उपयोग किया जाता है।',
descriptionPlaceholder:
'उपकरण के उद्देश्य का संक्षिप्त विवरण, जैसे, किसी विशेष स्थान के लिए तापमान प्राप्त करना।',
paramsTip1: 'एलएलएम अनुमान पैरामीटर को नियंत्रित करता है।',
toolSetting: 'टूल सेटिंग्स',
unsupportedMCPTool: 'वर्तमान में चयनित एजेंट रणनीति प्लगइन संस्करण MCP टूल का समर्थन नहीं करता है।',
unsupportedMCPTool:
'वर्तमान में चयनित एजेंट रणनीति प्लगइन संस्करण MCP टूल का समर्थन नहीं करता है।',
},
switchVersion: 'स्विच संस्करण',
endpointModalDesc: 'एक बार कॉन्फ़िगर होने के बाद, प्लगइन द्वारा API एंडपॉइंट्स के माध्यम से प्रदान की गई सुविधाओं का उपयोग किया जा सकता है।',
endpointModalDesc:
'एक बार कॉन्फ़िगर होने के बाद, प्लगइन द्वारा API एंडपॉइंट्स के माध्यम से प्रदान की गई सुविधाओं का उपयोग किया जा सकता है।',
actionNum: '{{num}} {{action}} शामिल है',
endpointDeleteTip: 'एंडपॉइंट हटाएं',
endpointsDocLink: 'दस्तावेज़ देखें',
@ -83,7 +92,8 @@ const translation = {
endpointsEmpty: 'एक एंडपॉइंट जोड़ने के लिए \'+\' बटन पर क्लिक करें',
endpointModalTitle: 'एंडपॉइंट सेटअप करें',
strategyNum: '{{num}} {{रणनीति}} शामिल',
endpointsTip: 'यह प्लगइन एंडपॉइंट्स के माध्यम से विशिष्ट कार्यक्षमताएँ प्रदान करता है, और आप वर्तमान कार्यक्षेत्र के लिए कई एंडपॉइंट सेट कॉन्फ़िगर कर सकते हैं।',
endpointsTip:
'यह प्लगइन एंडपॉइंट्स के माध्यम से विशिष्ट कार्यक्षमताएँ प्रदान करता है, और आप वर्तमान कार्यक्षेत्र के लिए कई एंडपॉइंट सेट कॉन्फ़िगर कर सकते हैं।',
deprecation: {
reason: {
noMaintainer: 'कोई देखभाल करने वाला नहीं',
@ -91,8 +101,10 @@ const translation = {
businessAdjustments: 'व्यवसाय समायोजन',
},
noReason: 'यह प्लगइन अप्रचलित हो गया है और इसे अब अपडेट नहीं किया जाएगा।',
onlyReason: 'इस प्लगइन को {{deprecatedReason}} के कारण अमान्य कर दिया गया है और इसे अब अपडेट नहीं किया जाएगा।',
fullMessage: 'इस प्लगइन को {{deprecatedReason}} के कारण अमान्य कर दिया गया है, और इसे अब अपडेट नहीं किया जाएगा। कृपया इसके बजाय <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink> का उपयोग करें।',
onlyReason:
'इस प्लगइन को {{deprecatedReason}} के कारण अमान्य कर दिया गया है और इसे अब अपडेट नहीं किया जाएगा।',
fullMessage:
'इस प्लगइन को {{deprecatedReason}} के कारण अमान्य कर दिया गया है, और इसे अब अपडेट नहीं किया जाएगा। कृपया इसके बजाय <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink> का उपयोग करें।',
},
},
debugInfo: {
@ -140,14 +152,16 @@ const translation = {
uploadingPackage: '{{packageName}} अपलोड हो रहा है...',
installing: 'स्थापित कर रहा है...',
installedSuccessfully: 'स्थापना सफल',
dropPluginToInstall: 'यहां प्लगइन पैकेज ड्रॉप करें ताकि इसे स्थापित किया जा सके',
dropPluginToInstall:
'यहां प्लगइन पैकेज ड्रॉप करें ताकि इसे स्थापित किया जा सके',
readyToInstallPackage: 'निम्नलिखित प्लगइन स्थापित करने वाले हैं',
pluginLoadError: 'प्लगइन लोड त्रुटि',
installFailed: 'स्थापना विफल हो गई',
readyToInstall: 'निम्नलिखित प्लगइन स्थापित करने वाले हैं',
installFailedDesc: 'प्लगइन स्थापित करने में विफल रहा।',
installedSuccessfullyDesc: 'प्लगइन सफलतापूर्वक स्थापित किया गया है।',
fromTrustSource: 'कृपया सुनिश्चित करें कि आप केवल एक <trustSource>विश्वसनीय स्रोत</trustSource> से प्लगइन्स स्थापित करें।',
fromTrustSource:
'कृपया सुनिश्चित करें कि आप केवल एक <trustSource>विश्वसनीय स्रोत</trustSource> से प्लगइन्स स्थापित करें।',
installWarning: 'इस प्लगइन को स्थापित करने की अनुमति नहीं है।',
},
installFromGitHub: {
@ -158,7 +172,8 @@ const translation = {
updatePlugin: 'गिटहब से प्लगइन अपडेट करें',
installPlugin: 'GitHub से प्लगइन स्थापित करें',
selectPackagePlaceholder: 'कृपया एक पैकेज चुनें',
installNote: 'कृपया सुनिश्चित करें कि आप केवल एक विश्वसनीय स्रोत से प्लगइन्स स्थापित करें।',
installNote:
'कृपया सुनिश्चित करें कि आप केवल एक विश्वसनीय स्रोत से प्लगइन्स स्थापित करें।',
installedSuccessfully: 'स्थापना सफल',
installFailed: 'स्थापना विफल हो गई',
uploadFailed: 'अपलोड विफल',
@ -173,9 +188,12 @@ const translation = {
usedInApps: '{{num}} ऐप्स में उपयोग किया गया',
},
error: {
inValidGitHubUrl: 'अमान्य GitHub URL। कृपया निम्नलिखित प्रारूप में एक मान्य URL दर्ज करें: https://github.com/owner/repo',
noReleasesFound: 'कोई रिलीज़ नहीं मिली। कृपया GitHub रिपॉजिटरी या इनपुट URL की जांच करें।',
fetchReleasesError: 'रिलीज़ प्राप्त करने में असमर्थ। कृपया बाद में फिर से प्रयास करें।',
inValidGitHubUrl:
'अमान्य GitHub URL। कृपया निम्नलिखित प्रारूप में एक मान्य URL दर्ज करें: https://github.com/owner/repo',
noReleasesFound:
'कोई रिलीज़ नहीं मिली। कृपया GitHub रिपॉजिटरी या इनपुट URL की जांच करें।',
fetchReleasesError:
'रिलीज़ प्राप्त करने में असमर्थ। कृपया बाद में फिर से प्रयास करें।',
},
marketplace: {
sortOption: {
@ -199,10 +217,13 @@ const translation = {
task: {
clearAll: 'सभी साफ करें',
installing: '{{installingLength}} प्लगइन्स स्थापित कर रहे हैं, 0 पूरा हुआ।',
installError: '{{errorLength}} प्लगइन्स स्थापित करने में विफल रहे, देखने के लिए क्लिक करें',
installError:
'{{errorLength}} प्लगइन्स स्थापित करने में विफल रहे, देखने के लिए क्लिक करें',
installedError: '{{errorLength}} प्लगइन्स स्थापित करने में विफल रहे',
installingWithError: '{{installingLength}} प्लगइन्स स्थापित कर रहे हैं, {{successLength}} सफल, {{errorLength}} विफल',
installingWithSuccess: '{{installingLength}} प्लगइन्स स्थापित कर रहे हैं, {{successLength}} सफल',
installingWithError:
'{{installingLength}} प्लगइन्स स्थापित कर रहे हैं, {{successLength}} सफल, {{errorLength}} विफल',
installingWithSuccess:
'{{installingLength}} प्लगइन्स स्थापित कर रहे हैं, {{successLength}} सफल।',
},
installFrom: 'से इंस्टॉल करें',
fromMarketplace: 'मार्केटप्लेस से',
@ -221,7 +242,8 @@ const translation = {
metadata: {
title: 'प्लगइन्स',
},
difyVersionNotCompatible: 'वर्तमान डिफाई संस्करण इस प्लगइन के साथ संगत नहीं है, कृपया आवश्यक न्यूनतम संस्करण में अपग्रेड करें: {{minimalDifyVersion}}',
difyVersionNotCompatible:
'वर्तमान डिफाई संस्करण इस प्लगइन के साथ संगत नहीं है, कृपया आवश्यक न्यूनतम संस्करण में अपग्रेड करें: {{minimalDifyVersion}}',
requestAPlugin: 'एक प्लगइन का अनुरोध करें',
publishPlugins: 'प्लगइन प्रकाशित करें',
auth: {
@ -244,11 +266,18 @@ const translation = {
useApiAuth: 'एपीआई कुंजी प्राधिकरण कॉन्फ़िगरेशन',
oauthClientSettings: 'OAuth क्लाइंट सेटिंग्स',
authorization: 'अधिकार',
useApiAuthDesc: 'क्रेडेंशियल्स कॉन्फ़िगर करने के बाद, कार्यक्षेत्र के सभी सदस्यों को एप्लिकेशन को व्यवस्थित करते समय इस उपकरण का उपयोग करने की अनुमति होती है।',
clientInfo: 'चूंकि इस टूल प्रदाता के लिए कोई सिस्टम क्लाइंट रहस्य नहीं पाए गए हैं, इसलिए इसे मैन्युअल रूप से सेटअप करना आवश्यक है, कृपया redirect_uri का उपयोग करें',
useApiAuthDesc:
'क्रेडेंशियल्स कॉन्फ़िगर करने के बाद, कार्यक्षेत्र के सभी सदस्यों को एप्लिकेशन को व्यवस्थित करते समय इस उपकरण का उपयोग करने की अनुमति होती है।',
clientInfo:
'चूंकि इस टूल प्रदाता के लिए कोई सिस्टम क्लाइंट रहस्य नहीं पाए गए हैं, इसलिए इसे मैन्युअल रूप से सेटअप करना आवश्यक है, कृपया redirect_uri का उपयोग करें',
unavailable: 'अप्राप्त',
customCredentialUnavailable: 'कस्टम क्रेडेंशियल वर्तमान में उपलब्ध नहीं हैं',
credentialUnavailable: 'वर्तमान में क्रेडेंशियल्स उपलब्ध नहीं हैं। कृपया प्रशासन से संपर्क करें।',
customCredentialUnavailable:
'कस्टम क्रेडेंशियल वर्तमान में उपलब्ध नहीं हैं',
credentialUnavailable:
'वर्तमान में क्रेडेंशियल्स उपलब्ध नहीं हैं। कृपया प्रशासन से संपर्क करें।',
credentialUnavailableInButton: 'प्रमाण पत्र उपलब्ध नहीं है',
connectedWorkspace: 'संयुक्त कार्यक्षेत्र',
emptyAuth: 'कृपया प्रमाणीकरण कॉन्फ़िगर करें',
},
deprecated: 'अनुशंसित नहीं',
autoUpdate: {
@ -260,7 +289,8 @@ const translation = {
fixOnly: {
name: 'केवल ठीक करें',
selectedDescription: 'केवल पैच संस्करणों के लिए स्वचालित अपडेट',
description: 'केवल पैच संस्करणों के लिए स्वचालित अद्यतन (जैसे, 1.0.1 → 1.0.2)। छोटा संस्करण परिवर्तन अद्यतन को ट्रिगर नहीं करेगा।',
description:
'केवल पैच संस्करणों के लिए स्वचालित अद्यतन (जैसे, 1.0.1 → 1.0.2)। छोटा संस्करण परिवर्तन अद्यतन को ट्रिगर नहीं करेगा।',
},
latest: {
name: 'नवीनतम',
@ -274,7 +304,8 @@ const translation = {
exclude: 'चुने हुए को बाहर करें',
},
upgradeModePlaceholder: {
partial: 'केवल चयनित प्लगइन्स स्वतः अपडेट होंगे। वर्तमान में कोई प्लगइन चयनित नहीं है, इसलिए कोई प्लगइन स्वतः अपडेट नहीं होगा।',
partial:
'केवल चयनित प्लगइन्स स्वतः अपडेट होंगे। वर्तमान में कोई प्लगइन चयनित नहीं है, इसलिए कोई प्लगइन स्वतः अपडेट नहीं होगा।',
exclude: 'चुने हुए प्लगइन्स अपने आप अपडेट नहीं होंगे',
},
operation: {
@ -285,7 +316,8 @@ const translation = {
downgrade: 'फिर भी डाउनग्रेड करें',
title: 'प्लगइन डाउनग्रेड',
exclude: 'स्वतः अपडेट से बाहर करें',
description: 'इस प्लगइन के लिए ऑटो-अपडेट वर्तमान में सक्षम है। संस्करण को डाउनग्रेड करने से आपके परिवर्तनों को अगली स्वचालित अद्यतन के दौरान ओवरराइट किया जा सकता है।',
description:
'इस प्लगइन के लिए ऑटो-अपडेट वर्तमान में सक्षम है। संस्करण को डाउनग्रेड करने से आपके परिवर्तनों को अगली स्वचालित अद्यतन के दौरान ओवरराइट किया जा सकता है।',
},
noPluginPlaceholder: {
noFound: 'कोई प्लगइन्स नहीं मिले',
@ -294,12 +326,15 @@ const translation = {
updateTimeTitle: 'अद्यतन समय',
updateSettings: 'सेटिंग्स अपडेट करें',
automaticUpdates: 'स्वचालित अपडेट',
partialUPdate: 'केवल निम्नलिखित {{num}} प्लगइन्स स्वचालित रूप से अपडेट होंगे',
partialUPdate:
'केवल निम्नलिखित {{num}} प्लगइन्स स्वचालित रूप से अपडेट होंगे',
nextUpdateTime: 'अगली ऑटो-अपडेट: {{time}}',
updateTime: 'अद्यतन समय',
specifyPluginsToUpdate: 'अपडेट करने के लिए प्लगइन्स निर्दिष्ट करें',
changeTimezone: 'समय क्षेत्र बदलने के लिए, <setTimezone>सेटिंग्स</setTimezone> पर जाएं',
excludeUpdate: 'निम्नलिखित {{num}} प्लगइन्स स्वचालित रूप से अपडेट नहीं होंगे',
changeTimezone:
'समय क्षेत्र बदलने के लिए, <setTimezone>सेटिंग्स</setTimezone> पर जाएं',
excludeUpdate:
'निम्नलिखित {{num}} प्लगइन्स स्वचालित रूप से अपडेट नहीं होंगे',
},
}

View File

@ -198,6 +198,16 @@ const translation = {
confirm: 'जोड़ें और अधिकृत करें',
timeout: 'टाइमआउट',
sseReadTimeout: 'एसएसई पढ़ने का टाइमआउट',
headerKey: 'हेडर नाम',
headers: 'हेडर',
headerValue: 'हेडर मान',
timeoutPlaceholder: 'तीस',
headerValuePlaceholder: 'उदाहरण के लिए, बियरर टोकन123',
addHeader: 'हेडर जोड़ें',
headerKeyPlaceholder: 'उदाहरण के लिए, प्राधिकरण',
noHeaders: 'कोई कस्टम हेडर कॉन्फ़िगर नहीं किए गए हैं',
maskedHeadersTip: 'सुरक्षा के लिए हेडर मानों को छिपाया गया है। परिवर्तन वास्तविक मानों को अपडेट करेगा।',
headersTip: 'MCP सर्वर अनुरोधों के साथ भेजने के लिए अतिरिक्त HTTP हेडर्स',
},
delete: 'MCP सर्वर हटाएँ',
deleteConfirmTitle: '{mcp} हटाना चाहते हैं?',
@ -239,6 +249,7 @@ const translation = {
publishTip: 'ऐप प्रकाशित नहीं हुआ। कृपया पहले ऐप प्रकाशित करें।',
},
},
allTools: 'सभी उपकरण',
}
export default translation

View File

@ -89,7 +89,6 @@ const translation = {
depthLimit: '{{num}} परतों की समानांतर नेस्टिंग परत सीमा',
},
disconnect: 'अलग करना',
parallelRun: 'समानांतर रन',
jumpToNode: 'इस नोड पर जाएं',
addParallelNode: 'समानांतर नोड जोड़ें',
parallel: 'समानांतर',
@ -219,6 +218,8 @@ const translation = {
back: 'वापस',
iteration: 'पुनरावृत्ति',
loop: 'लूप',
reRun: 'फिर से चलाएँ',
preparingDataSource: 'डेटा स्रोत की तैयारी करना',
},
tabs: {
'tools': 'टूल्स',
@ -237,6 +238,8 @@ const translation = {
'blocks': 'नोड्स',
'addAll': 'सभी जोड़ें',
'allAdded': 'सभी जोड़े गए',
'sources': 'स्रोत',
'searchDataSource': 'डेटा स्रोत की खोज करें',
},
blocks: {
'start': 'प्रारंभ',
@ -261,6 +264,8 @@ const translation = {
'loop-end': 'लूप से बाहर निकलें',
'loop': 'लूप',
'loop-start': 'लूप प्रारंभ',
'knowledge-index': 'ज्ञान आधार',
'datasource': 'डेटा स्रोत',
},
blocksAbout: {
'start': 'वर्कफ़्लो लॉन्च करने के लिए प्रारंभिक पैरामीटर को परिभाषित करें',
@ -291,6 +296,8 @@ const translation = {
'agent': 'प्रश्नों का उत्तर देने या प्राकृतिक भाषा को संसाधित करने के लिए बड़े भाषा मॉडलों को आमंत्रित करना',
'loop': 'एक लूप को निष्पादित करें जब तक समाप्ति की शर्त पूरी न हो जाए या अधिकतम लूप संख्या प्राप्त न हो जाए।',
'loop-end': '"ब्रेक" के समान। इस नोड में कोई विन्यास आइटम नहीं हैं। जब लूप का शरीर इस नोड पर पहुँचता है, तो लूप समाप्त होता है।',
'knowledge-index': 'ज्ञान आधार के बारे में',
'datasource': 'डेटा स्रोत के बारे में',
},
operator: {
zoomIn: 'ज़ूम इन',
@ -392,6 +399,7 @@ const translation = {
input: 'इनपुट मान',
variable: 'चर का प्रयोग करें',
},
inputVars: 'इनपुट चर',
},
start: {
required: 'आवश्यक',
@ -481,6 +489,12 @@ const translation = {
required: 'आवश्यक',
addChildField: 'बच्चे का क्षेत्र जोड़ें',
},
reasoningFormat: {
title: 'कारण संबंध टैग विभाजन सक्षम करें',
separated: 'अलग सोच टैग',
tagged: 'टैग्स के बारे में सोचते रहें',
tooltip: 'थिंक टैग से सामग्री निकाले और इसे reasoning_content क्षेत्र में संग्रहित करें।',
},
},
knowledgeRetrieval: {
queryVariable: 'प्रश्न वेरिएबल',
@ -928,6 +942,27 @@ const translation = {
loopVariables: 'लूप वेरियेबल्स',
breakConditionTip: 'सिर्फ उन चर को संदर्भित किया जा सकता है जो लूप के भीतर हैं जिनमें समाप्ति की शर्तें और बातचीत के चर हैं।',
},
dataSource: {
supportedFileFormats: 'समर्थित फ़ाइल प्रारूप',
add: 'डेटा स्रोत जोड़ें',
supportedFileFormatsPlaceholder: 'फाइल एक्सटेंशन, जैसे कि doc',
},
knowledgeBase: {
chunkStructureTip: {
learnMore: 'और अधिक सीखें',
title: 'कृपया एक भाग संरचना चुनें',
message: 'Dify ज्ञान आधार तीन चंकिंग संरचनाओं का समर्थन करता है: सामान्य, माता-पिता-बच्चे, और प्रश्नोत्तर। प्रत्येक ज्ञान आधार केवल एक संरचना रख सकता है। पूर्ववर्ती नोड से आउटपुट को चयनित चंक संरचना के साथ मेल खाना चाहिए। ध्यान दें कि चंकिंग संरचना का चुनाव उपलब्ध अनुक्रमण विधियों को प्रभावित करता है।',
},
chunkStructure: 'खंड संरचना',
chunkIsRequired: 'चंक संरचना आवश्यक है',
indexMethodIsRequired: 'सूची विधि आवश्यक है',
retrievalSettingIsRequired: 'पुनप्राप्ति सेटिंग आवश्यक है',
changeChunkStructure: 'चंक संरचना बदलें',
aboutRetrieval: 'पुनर्प्राप्ति विधि के बारे में।',
chooseChunkStructure: 'एक चंक संरचना चुनें',
chunksInput: 'टुकड़े',
chunksInputTip: 'ज्ञान आधार नोड का इनपुट वेरिएबल चंक्स है। वेरिएबल प्रकार एक ऑब्जेक्ट है जिसमें एक विशेष JSON स्कीमा है जो चयनित चंक संरचना के साथ सुसंगत होना चाहिए।',
},
},
tracing: {
stopBy: '{{user}} द्वारा रोका गया',
@ -998,6 +1033,10 @@ const translation = {
clearNode: 'कैश की गई वैरिएबल को साफ करें',
resetConversationVar: 'संवाद चर को डिफ़ॉल्ट मान पर रीसेट करें',
emptyTip: 'कैनवास पर एक नोड पर कदम रखने के बाद या चरण दर चरण एक नोड चलाने के बाद, आप वेरिएबल इंस्पेक्ट में नोड वेरिएबल का वर्तमान मान देख सकते हैं।',
export: 'निर्यात',
exportToolTip: 'फ़ाइल के रूप में निर्यात चर',
largeDataNoExport: 'विशाल डेटा - केवल आंशिक पूर्वावलोकन',
largeData: 'बड़ा डाटा, केवल पढ़ने के लिए पूर्वावलोकन। सभी देखने के लिए निर्यात करें।',
},
settingsTab: 'सेटिंग्स',
lastRunTab: 'अंतिम रन',
@ -1016,6 +1055,10 @@ const translation = {
copyLastRunError: 'अंतिम रन इनपुट को कॉपी करने में विफल',
lastOutput: 'अंतिम आउटपुट',
},
sidebar: {
exportWarning: 'वर्तमान सहेजी गई संस्करण निर्यात करें',
exportWarningDesc: 'यह आपके कार्यप्रवाह का वर्तमान सहेजा हुआ संस्करण निर्यात करेगा। यदि आपके संपादक में कोई असहेजा किए गए परिवर्तन हैं, तो कृपया पहले उन्हें सहेजें, कार्यप्रवाह कैनवास में निर्यात विकल्प का उपयोग करके।',
},
}
export default translation

View File

@ -0,0 +1,97 @@
const translation = {
noData: {
title: 'Tidak ada anotasi',
description: 'Anda dapat mengedit anotasi selama penelusuran kesalahan aplikasi atau mengimpor anotasi secara massal di sini untuk respons berkualitas tinggi.',
},
table: {
header: {
answer: 'Jawaban',
question: 'pertanyaan',
createdAt: 'dibuat di',
hits: 'Kecocokan',
addAnnotation: 'Tambahkan Anotasi',
bulkImport: 'Impor Massal',
clearAllConfirm: 'Menghapus semua anotasi?',
bulkExport: 'Ekspor Massal',
clearAll: 'Hapus Semua',
actions: 'Tindakan',
},
},
editModal: {
answerPlaceholder: 'Ketik jawaban Anda di sini',
removeThisCache: 'Hapus Anotasi ini',
title: 'Edit Balas Anotasi',
yourAnswer: 'Jawaban Anda',
queryName: 'Kueri Pengguna',
queryPlaceholder: 'Ketik kueri Anda di sini',
yourQuery: 'Pertanyaan Anda',
createdAt: 'Dibuat di',
answerName: 'Bot Pendongeng',
},
addModal: {
answerName: 'Jawaban',
title: 'Tambahkan Anotasi Balasan',
queryName: 'Pertanyaan',
createNext: 'Tambahkan respons beranotasi lainnya',
queryPlaceholder: 'Ketik kueri di sini',
answerPlaceholder: 'Ketik jawaban di sini',
},
batchModal: {
ok: 'OKE',
content: 'puas',
error: 'Kesalahan Impor',
runError: 'Menjalankan batch gagal',
run: 'Jalankan Batch',
cancel: 'Membatalkan',
title: 'Impor Massal',
browse: 'Telusuri',
template: 'Unduh templat di sini',
tip: 'File CSV harus sesuai dengan struktur berikut:',
answer: 'Jawaban',
contentTitle: 'konten potongan',
processing: 'Dalam pemrosesan batch',
completed: 'Impor selesai',
csvUploadTitle: 'Seret dan lepas file CSV Anda di sini, atau',
question: 'pertanyaan',
},
list: {
delete: {
title: 'Apakah Anda yakin Hapus?',
},
},
batchAction: {
selected: 'Dipilih',
delete: 'Menghapus',
cancel: 'Membatalkan',
},
errorMessage: {
queryRequired: 'Pertanyaan diperlukan',
answerRequired: 'Jawaban diperlukan',
},
viewModal: {
hit: 'Kecocokan',
hitHistory: 'Riwayat Kecocokan',
noHitHistory: 'Tidak ada riwayat kecocokan',
annotatedResponse: 'Balas Anotasi',
hits: 'Kecocokan',
},
hitHistoryTable: {
response: 'Jawaban',
match: 'Kecocokan',
query: 'Kueri',
source: 'Sumber',
time: 'Waktu',
score: 'Skor',
},
initSetup: {
confirmBtn: 'Simpan & Aktifkan',
configTitle: 'Pengaturan Balasan Anotasi',
title: 'Pengaturan Awal Balasan Anotasi',
configConfirmBtn: 'Simpan',
},
title: 'Anotasi',
name: 'Balas Anotasi',
embeddingModelSwitchTip: 'Model vektorisasi teks anotasi, model switching akan disematkan kembali, menghasilkan biaya tambahan.',
}
export default translation

85
web/i18n/id-ID/app-api.ts Normal file
View File

@ -0,0 +1,85 @@
const translation = {
merMaid: {
rerender: 'Ulangi Render Ulang',
},
apiKeyModal: {
lastUsed: 'TERAKHIR DIGUNAKAN',
secretKey: 'Kunci Rahasia',
apiSecretKey: 'Kunci rahasia API',
created: 'DIBUAT',
apiSecretKeyTips: 'Untuk mencegah penyalahgunaan API, lindungi Kunci API Anda. Hindari menggunakannya sebagai teks biasa dalam kode front-end. :)',
generateTips: 'Simpan kunci ini di tempat yang aman dan mudah diakses.',
createNewSecretKey: 'Membuat kunci Rahasia baru',
},
actionMsg: {
deleteConfirmTips: 'Tindakan ini tidak dapat dibatalkan.',
ok: 'OKE',
deleteConfirmTitle: 'Hapus kunci rahasia ini?',
},
completionMode: {
createCompletionApi: 'Membuat Pesan Penyelesaian',
messageIDTip: 'ID Pesan',
messageFeedbackApi: 'Umpan balik pesan (mis. spam, tidak relevan, pujian)',
ratingTip: '(mis. suka/tidak suka), null berarti membatalkan penilaian',
parametersApi: 'Dapatkan informasi parameter aplikasi',
parametersApiTip: 'Ambil parameter Input yang dikonfigurasi, termasuk nama variabel, nama bidang, jenis, dan nilai default. Biasanya digunakan untuk menampilkan bidang ini dalam formulir atau mengisi nilai default setelah klien dimuat.',
info: 'Untuk pembuatan teks berkualitas tinggi, seperti artikel, ringkasan, dan terjemahan, gunakan API pesan penyelesaian dengan input pengguna. Pembuatan teks bergantung pada parameter model dan templat prompt yang ditetapkan di Dify Prompt Engineering.',
createCompletionApiTip: 'Buat Pesan Penyelesaian untuk mendukung mode tanya jawab.',
title: 'API Aplikasi Penyelesaian',
blocking: 'Jenis pemblokiran, menunggu eksekusi selesai dan mengembalikan hasil. (Permintaan dapat terganggu jika prosesnya panjang)',
streaming: 'streaming kembali. Implementasi pengembalian streaming berdasarkan SSE (Server-Sent Events).',
inputsTips: '(Opsional) Berikan bidang input pengguna sebagai pasangan kunci-nilai, sesuai dengan variabel di Prompt Eng. Kunci adalah nama variabel, Nilai adalah nilai parameter. Jika jenis bidang adalah Pilih, Nilai yang dikirimkan harus menjadi salah satu pilihan prasetel.',
messageFeedbackApiTip: 'Beri peringkat pesan yang diterima atas nama pengguna akhir yang suka atau tidak suka. Data ini terlihat di halaman Log & Anotasi dan digunakan untuk penyempurnaan model di masa mendatang.',
queryTips: 'Konten teks input pengguna.',
},
chatMode: {
messageFeedbackApiTip: 'Beri peringkat pesan yang diterima atas nama pengguna akhir yang suka atau tidak suka. Data ini terlihat di halaman Log & Anotasi dan digunakan untuk penyempurnaan model di masa mendatang.',
conversationRenamingApiTip: 'Ganti nama percakapan; Nama ditampilkan di antarmuka klien multi-sesi.',
conversationRenamingNameTip: 'Nama baru',
chatMsgHistoryFirstId: 'ID rekaman obrolan pertama di halaman saat ini. Defaultnya tidak ada.',
conversationsListApiTip: 'Mendapatkan daftar sesi pengguna saat ini. Secara default, 20 sesi terakhir ditampilkan.',
title: 'API Aplikasi Obrolan',
chatMsgHistoryApi: 'Mendapatkan pesan riwayat obrolan',
blocking: 'Jenis pemblokiran, menunggu eksekusi selesai dan mengembalikan hasil. (Permintaan dapat terganggu jika prosesnya panjang)',
createChatApi: 'Buat pesan obrolan',
info: 'Untuk aplikasi percakapan serbaguna yang menggunakan format Tanya Jawab, panggil API pesan obrolan untuk memulai dialog. Pertahankan percakapan yang sedang berlangsung dengan meneruskan conversation_id yang dikembalikan. Parameter respons dan templat bergantung pada pengaturan Dify Prompt Eng.',
conversationIdTip: '(Opsional) ID Percakapan: kosongkan untuk percakapan pertama kali; Teruskan conversation_id dari konteks untuk melanjutkan dialog.',
queryTips: 'Konten input/pertanyaan pengguna',
conversationsListLimitTip: 'Berapa banyak obrolan yang dikembalikan dalam satu permintaan',
chatMsgHistoryLimit: 'Berapa banyak obrolan yang dikembalikan dalam satu permintaan',
conversationsListFirstIdTip: 'ID rekaman terakhir di halaman saat ini, default tidak ada.',
messageFeedbackApi: 'Umpan balik pengguna terminal pesan (mis. spam, tidak relevan, pujian)',
parametersApi: 'Dapatkan informasi parameter aplikasi',
streaming: 'streaming kembali. Implementasi pengembalian streaming berdasarkan SSE (Server-Sent Events).',
inputsTips: '(Opsional) Berikan bidang input pengguna sebagai pasangan kunci-nilai, sesuai dengan variabel di Prompt Eng. Kunci adalah nama variabel, Nilai adalah nilai parameter. Jika jenis bidang adalah Pilih, Nilai yang dikirimkan harus menjadi salah satu pilihan prasetel.',
parametersApiTip: 'Ambil parameter Input yang dikonfigurasi, termasuk nama variabel, nama bidang, jenis, dan nilai default. Biasanya digunakan untuk menampilkan bidang ini dalam formulir atau mengisi nilai default setelah klien dimuat.',
chatMsgHistoryConversationIdTip: 'ID Percakapan',
messageIDTip: 'ID Pesan',
createChatApiTip: 'Buat pesan percakapan baru atau lanjutkan dialog yang ada.',
chatMsgHistoryApiTip: 'Halaman pertama mengembalikan bilah \'batas\' terbaru, yang dalam urutan terbalik.',
conversationsListApi: 'Dapatkan daftar percakapan',
ratingTip: '(mis. suka/tidak suka), null berarti membatalkan penilaian',
conversationRenamingApi: 'Penggantian nama percakapan',
},
develop: {
query: 'Kueri',
toc: 'Isi',
pathParams: 'Parameter Jalur',
requestBody: 'Isi Permintaan',
},
apiServer: 'Server API',
copied: 'Disalin',
copy: 'Salin',
ok: 'OK',
regenerate: 'Hasilkan Ulang',
status: 'Status',
never: 'Tidak pernah',
playing: 'Sedang Memutar',
play: 'Putar',
disabled: 'Dinonaktifkan',
apiKey: 'Kunci API',
pause: 'Jeda',
loading: 'Memuat...',
}
export default translation

546
web/i18n/id-ID/app-debug.ts Normal file
View File

@ -0,0 +1,546 @@
const translation = {
pageTitle: {
line1: 'CEPAT',
line2: 'Teknik',
},
promptMode: {
advancedWarning: {
ok: 'OKE',
description: 'Dalam Mode Pakar, Anda dapat mengedit seluruh PROMPT.',
learnMore: 'Pelajari lebih lanjut',
title: 'Anda telah beralih ke Mode Pakar, dan setelah Anda memodifikasi PROMPT, Anda TIDAK DAPAT kembali ke mode dasar.',
},
operation: {
addMessage: 'Tambahkan Pesan',
},
contextMissing: 'Komponen konteks terlewatkan, efektivitas prompt mungkin tidak baik.',
switchBack: 'Beralih kembali',
simple: 'Beralih ke Mode Pakar untuk mengedit seluruh PROMPT',
advanced: 'Mode Ahli',
},
operation: {
applyConfig: 'Menerbitkan',
automatic: 'Menghasilkan',
addFeature: 'Tambahkan Fitur',
cancelDisagree: 'Batalkan ketidaksukaan',
stopResponding: 'Berhenti merespons',
disagree: 'tidak suka',
debugConfig: 'Awakutu',
agree: 'suka',
userAction: 'Pengguna',
cancelAgree: 'Batalkan seperti',
resetConfig: 'Reset',
},
notSetAPIKey: {
title: 'Kunci penyedia LLM belum diatur',
description: 'Kunci penyedia LLM belum diatur, dan perlu diatur sebelum debugging.',
settingBtn: 'Buka pengaturan',
trailFinished: 'Jejak selesai',
},
trailUseGPT4Info: {
description: 'Gunakan gpt-4, silakan atur Kunci API.',
title: 'Tidak mendukung gpt-4 sekarang',
},
feature: {
groupChat: {
title: 'Peningkatan obrolan',
description: 'Menambahkan pengaturan pra-percakapan untuk aplikasi dapat meningkatkan pengalaman pengguna.',
},
groupExperience: {
title: 'Pengalaman meningkatkan',
},
conversationOpener: {
description: 'Dalam aplikasi obrolan, kalimat pertama yang AI secara aktif berbicara kepada pengguna biasanya digunakan sebagai sambutan.',
title: 'Pembuka Percakapan',
},
suggestedQuestionsAfterAnswer: {
description: 'Menyiapkan saran pertanyaan berikutnya dapat memberi pengguna obrolan yang lebih baik.',
title: 'Tindak lanjut',
tryToAsk: 'Cobalah untuk bertanya',
resDes: '3 saran untuk pertanyaan pengguna berikutnya.',
},
moreLikeThis: {
tip: 'Menggunakan fitur ini akan dikenakan overhead token tambahan',
description: 'Buat beberapa teks sekaligus, lalu edit dan lanjutkan membuat',
title: 'Lebih seperti ini',
generateNumTip: 'Jumlah setiap kali yang dihasilkan',
},
speechToText: {
resDes: 'Input suara diaktifkan',
title: 'Ucapan ke Teks',
description: 'Input suara dapat digunakan dalam obrolan.',
},
textToSpeech: {
resDes: 'Teks ke Audio diaktifkan',
title: 'Teks ke Ucapan',
description: 'Pesan percakapan dapat diubah menjadi ucapan.',
},
citation: {
description: 'Tampilkan dokumen sumber dan bagian atribut dari konten yang dihasilkan.',
title: 'Kutipan dan Atribusi',
resDes: 'Kutipan dan Atribusi diaktifkan',
},
annotation: {
scoreThreshold: {
accurateMatch: 'Kecocokan yang Akurat',
title: 'Ambang Skor',
description: 'Digunakan untuk menetapkan ambang batas kesamaan untuk balasan anotasi.',
easyMatch: 'Pencocokan Mudah',
},
matchVariable: {
choosePlaceholder: 'Pilih variabel pencocokan',
title: 'Cocokkan Variabel',
},
add: 'Menambahkan anotasi',
cached: 'Beranotasi',
description: 'Anda dapat menambahkan respons berkualitas tinggi secara manual ke cache untuk pencocokan prioritas dengan pertanyaan pengguna serupa.',
edit: 'Edit anotasi',
resDes: 'Respons Anotasi diaktifkan',
cacheManagement: 'Anotasi',
remove: 'Buka',
title: 'Balas Anotasi',
removeConfirm: 'Hapus anotasi ini ?',
},
dataSet: {
queryVariable: {
choosePlaceholder: 'Pilih variabel kueri',
tip: 'Variabel ini akan digunakan sebagai input kueri untuk pengambilan konteks, mendapatkan informasi konteks yang terkait dengan input variabel ini.',
unableToQueryDataSet: 'Tidak dapat mengkueri Pengetahuan',
title: 'Variabel kueri',
noVar: 'Non-variabel',
unableToQueryDataSetTip: 'Tidak dapat berhasil mengkueri Pengetahuan, silakan pilih variabel kueri konteks di bagian konteks.',
contextVarNotEmpty: 'Variabel kueri konteks tidak dapat kosong',
deleteContextVarTip: 'Variabel ini telah ditetapkan sebagai variabel kueri konteks, dan menghapusnya akan berdampak pada penggunaan normal Pengetahuan. Jika Anda masih perlu menghapusnya, silakan pilih kembali di bagian konteks.',
ok: 'OKE',
noVarTip: 'silakan buat variabel di bawah bagian Variabel',
},
notSupportSelectMulti: 'Saat ini hanya mendukung satu Pengetahuan',
textBlocks: 'Blok Teks',
selectTitle: 'Pilih referensi Pengetahuan',
words: 'Kata',
toCreate: 'Pergi ke membuat',
noDataSet: 'Tidak ada Pengetahuan yang ditemukan',
noData: 'Anda dapat mengimpor Pengetahuan sebagai konteks',
title: 'Pengetahuan',
selected: 'Pengetahuan yang dipilih',
},
tools: {
modal: {
toolType: {
title: 'Jenis Alat',
placeholder: 'Silakan pilih jenis alat',
},
name: {
title: 'Nama',
placeholder: 'Silakan masukkan nama',
},
variableName: {
placeholder: 'Silakan masukkan nama variabel',
title: 'Nama Variabel',
},
title: 'Alat',
},
tips: 'Alat menyediakan metode panggilan API standar, mengambil input atau variabel pengguna sebagai parameter permintaan untuk mengkueri data eksternal sebagai konteks.',
title: 'Perkakas',
},
conversationHistory: {
editModal: {
assistantPrefix: 'Awalan asisten',
userPrefix: 'Awalan pengguna',
title: 'Mengedit Nama Peran Percakapan',
},
description: 'Menetapkan nama awalan untuk peran percakapan',
title: 'Riwayat Percakapan',
learnMore: 'Pelajari lebih lanjut',
},
toolbox: {
title: 'TOOLBOX',
},
moderation: {
modal: {
provider: {
openaiTip: {
suffix: '.',
prefix: 'OpenAI Moderation memerlukan kunci OpenAI API yang dikonfigurasi di',
},
title: 'Penyedia',
keywords: 'Kata kunci',
openai: 'Moderasi OpenAI',
},
keywords: {
line: 'Garis',
placeholder: 'Satu per baris, dipisahkan oleh jeda baris',
tip: 'Satu per baris, dipisahkan oleh jeda baris. Hingga 100 karakter per baris.',
},
content: {
preset: 'Balasan yang telah ditetapkan sebelumnya',
input: 'Konten INPUT Moderatif',
output: 'Konten OUTPUT Moderatif',
errorMessage: 'Balasan prasetel tidak boleh kosong',
condition: 'Konten INPUT dan OUTPUT moderat mengaktifkan setidaknya satu',
placeholder: 'Konten balasan preset di sini',
supportMarkdown: 'Penurunan harga didukung',
fromApi: 'Balasan prasetel dikembalikan oleh API',
},
openaiNotConfig: {
after: '',
before: 'OpenAI Moderation memerlukan kunci OpenAI API yang dikonfigurasi di',
},
title: 'Setelan moderasi konten',
},
title: 'Moderasi konten',
outputEnabled: 'HASIL',
contentEnableLabel: 'Moderasi konten diaktifkan',
inputEnabled: 'MASUKAN',
allEnabled: 'MASUKAN & KELUARAN',
description: 'Amankan output model dengan menggunakan API moderasi atau mempertahankan daftar kata yang sensitif.',
},
fileUpload: {
title: 'Unggah File',
supportedTypes: 'Jenis File Dukungan',
numberLimit: 'Upload maksimal',
modalTitle: 'Pengaturan Unggahan File',
description: 'Kotak input obrolan memungkinkan pengunggahan gambar, dokumen, dan file lainnya.',
},
imageUpload: {
supportedTypes: 'Jenis File Dukungan',
description: 'Izinkan mengunggah gambar.',
modalTitle: 'Pengaturan Unggahan Gambar',
numberLimit: 'Upload maksimal',
title: 'Unggah Gambar',
},
bar: {
empty: 'Aktifkan fitur untuk meningkatkan pengalaman pengguna aplikasi web',
enableText: 'Fitur Diaktifkan',
manage: 'Urus',
},
documentUpload: {
title: 'Surat',
description: 'Aktifkan Dokumen akan memungkinkan model untuk mengambil dokumen dan menjawab pertanyaan tentangnya.',
},
audioUpload: {
title: 'Audio',
description: 'Aktifkan Audio akan memungkinkan model untuk memproses file audio untuk transkripsi dan analisis.',
},
},
codegen: {
title: 'Pembuat Kode',
noDataLine2: 'Pratinjau kode akan ditampilkan di sini.',
apply: 'Berlaku',
instruction: 'Peraturan',
description: 'Pembuat Kode menggunakan model yang dikonfigurasi untuk menghasilkan kode berkualitas tinggi berdasarkan instruksi Anda. Harap berikan instruksi yang jelas dan terperinci.',
loading: 'Menghasilkan kode...',
overwriteConfirmMessage: 'Tindakan ini akan menimpa kode yang ada. Apakah Anda ingin melanjutkan?',
generate: 'Menghasilkan',
generatedCodeTitle: 'Kode yang Dihasilkan',
overwriteConfirmTitle: 'Menimpa kode yang ada?',
resTitle: 'Kode yang Dihasilkan',
instructionPlaceholder: 'Masukkan deskripsi terperinci tentang kode yang ingin Anda hasilkan.',
applyChanges: 'Terapkan Perubahan',
noDataLine1: 'Jelaskan kasus penggunaan Anda di sebelah kiri,',
},
generate: {
template: {
pythonDebugger: {
name: 'Debugger Python',
instruction: 'Bot yang dapat menghasilkan dan men-debug kode Anda berdasarkan instruksi Anda',
},
translation: {
name: 'Terjemahan',
instruction: 'Penerjemah yang dapat menerjemahkan berbagai bahasa',
},
professionalAnalyst: {
name: 'Analis profesional',
instruction: 'Ekstrak wawasan, identifikasi risiko, dan suling informasi penting dari laporan panjang ke dalam satu memo',
},
excelFormulaExpert: {
name: 'Pakar rumus Excel',
instruction: 'Chatbot yang dapat membantu pengguna pemula memahami, menggunakan, dan membuat rumus Excel berdasarkan instruksi pengguna',
},
travelPlanning: {
name: 'Perencanaan perjalanan',
instruction: 'Asisten Perencanaan Perjalanan adalah alat cerdas yang dirancang untuk membantu pengguna merencanakan perjalanan mereka dengan mudah',
},
SQLSorcerer: {
instruction: 'Mengubah bahasa sehari-hari menjadi kueri SQL',
name: 'Penyihir SQL',
},
GitGud: {
instruction: 'Hasilkan perintah Git yang sesuai berdasarkan tindakan kontrol versi yang dijelaskan pengguna',
name: 'Git gud',
},
meetingTakeaways: {
name: 'Kesimpulan rapat',
instruction: 'Suling rapat menjadi ringkasan ringkas termasuk topik diskusi, poin penting, dan item tindakan',
},
writingsPolisher: {
name: 'Menulis pemoles',
instruction: 'Gunakan teknik copyediting canggih untuk meningkatkan tulisan Anda',
},
},
overwriteMessage: 'Menerapkan prompt ini akan mengganti konfigurasi yang ada.',
title: 'Prompt Generator',
tryIt: 'Cobalah',
idealOutputPlaceholder: 'Jelaskan format respons ideal Anda, panjang, nada, dan persyaratan konten...',
resTitle: 'Prompt yang Dihasilkan',
overwriteTitle: 'Ganti konfigurasi yang ada?',
optional: 'Fakultatif',
instruction: 'Peraturan',
versions: 'Versi',
to: 'ke',
press: 'Peras',
latest: 'Terbaru',
version: 'Versi',
generate: 'Menghasilkan',
loading: 'Mengatur aplikasi untuk Anda...',
optimizePromptTooltip: 'Optimalkan di Prompt Generator',
apply: 'Berlaku',
instructionPlaceHolderLine3: 'Nadanya terlalu keras, tolong buat lebih ramah.',
optimizationNote: 'Catatan Pengoptimalan',
dismiss: 'Mengabaikan',
description: 'Prompt Generator menggunakan model yang dikonfigurasi untuk mengoptimalkan prompt untuk kualitas yang lebih tinggi dan struktur yang lebih baik. Silakan tulis instruksi yang jelas dan terperinci.',
idealOutput: 'Keluaran Ideal',
codeGenInstructionPlaceHolderLine: 'Semakin detail umpan balik, seperti jenis data input dan output serta bagaimana variabel diproses, semakin akurat pembuatan kode.',
newNoDataLine1: 'Tulis instruksi di kolom kiri, dan klik Hasilkan untuk melihat respons.',
instructionPlaceHolderTitle: 'Jelaskan bagaimana Anda ingin meningkatkan Prompt ini. Misalnya:',
instructionPlaceHolderLine1: 'Buat output lebih ringkas, pertahankan poin-poin inti.',
insertContext: 'Sisipkan konteks',
instructionPlaceHolderLine2: 'Format keluarannya salah, harap ikuti format JSON dengan ketat.',
},
resetConfig: {
title: 'Mengonfirmasi reset?',
message: 'Atur ulang membuang perubahan, memulihkan konfigurasi terakhir yang diterbitkan.',
},
errorMessage: {
queryRequired: 'Teks permintaan diperlukan.',
waitForImgUpload: 'Silakan tunggu gambar diunggah',
notSelectModel: 'Silakan pilih model',
waitForResponse: 'Harap tunggu hingga respons terhadap pesan sebelumnya selesai.',
waitForBatchResponse: 'Harap tunggu hingga respons terhadap tugas batch selesai.',
waitForFileUpload: 'Harap tunggu file/file diunggah',
},
warningMessage: {
timeoutExceeded: 'Hasil tidak ditampilkan karena batas waktu. Silakan lihat log untuk mengumpulkan hasil lengkap.',
},
variableTable: {
action: 'Tindakan',
typeString: 'String',
optional: 'Fakultatif',
typeSelect: 'Pilih',
type: 'Jenis Masukan',
key: 'Kunci Variabel',
name: 'Nama Bidang Input Pengguna',
},
varKeyError: {},
otherError: {
queryNoBeEmpty: 'Kueri harus diatur dalam prompt',
historyNoBeEmpty: 'Riwayat percakapan harus diatur dalam prompt',
promptNoBeEmpty: 'Prompt tidak bisa kosong',
},
variableConfig: {
'file': {
image: {
name: 'Citra',
},
audio: {
name: 'Audio',
},
document: {
name: 'Dokumen',
},
video: {
name: 'Video',
},
custom: {
name: 'Jenis file lainnya',
description: 'Tentukan jenis file lainnya.',
createPlaceholder: ' Ekstensi file, misalnya .doc',
},
supportFileTypes: 'Jenis File Dukungan',
},
'errorMsg': {
atLeastOneOption: 'Setidaknya satu opsi diperlukan',
labelNameRequired: 'Nama label diperlukan',
optionRepeat: 'Memiliki opsi pengulangan',
varNameCanBeRepeat: 'Nama variabel tidak dapat diulang',
},
'string': 'Teks Singkat',
'single-file': 'File Tunggal',
'labelName': 'Nama Label',
'number': 'Angka',
'json': 'Kode JSON',
'optional': 'fakultatif',
'addOption': 'Tambahkan opsi',
'checkbox': 'Kotak centang',
'hide': 'Menyembunyikan',
'required': 'Diperlukan',
'maxLength': 'Panjang maks',
'select': 'Pilih',
'paragraph': 'Paragraf',
'options': 'Pilihan',
'apiBasedVar': 'Variabel berbasis API',
'varName': 'Nama Variabel',
'editModalTitle': 'Edit Bidang Input',
'multi-files': 'Daftar File',
'text-input': 'Teks Singkat',
'content': 'Puas',
'inputPlaceholder': 'Silakan masukkan',
'selectDefaultValue': 'Pilih nilai default',
'fieldType': 'Jenis bidang',
'addModalTitle': 'Tambahkan Bidang Input',
'stringTitle': 'Opsi kotak teks formulir',
'jsonSchema': 'Skema JSON',
'noDefaultValue': 'Tidak ada nilai default',
'defaultValue': 'Nilai default',
'localUpload': 'Unggahan Lokal',
'maxNumberOfUploads': 'Jumlah upload maksimal',
'both': 'Keduanya',
'uploadFileTypes': 'Unggah Jenis File',
'unit': 'Satuan',
'startChecked': 'Mulai diperiksa',
'placeholder': 'Placeholder',
'uploadMethod': 'Metode Unggah',
'noDefaultSelected': 'Jangan pilih',
'defaultValuePlaceholder': 'Masukkan nilai default untuk mengisi kolom sebelumnya',
'showAllSettings': 'Tampilkan Semua Pengaturan',
'tooltips': 'Tooltip',
'displayName': 'Nama Tampilan',
'tooltipsPlaceholder': 'Masukkan teks bermanfaat yang ditampilkan saat mengarahkan kursor ke label',
'startSelectedOption': 'Mulai opsi yang dipilih',
'unitPlaceholder': 'Tampilkan unit setelah angka, misalnya token',
'placeholderPlaceholder': 'Masukkan teks untuk ditampilkan saat bidang kosong',
},
vision: {
visionSettings: {
both: 'Keduanya',
high: 'Tinggi',
uploadMethod: 'Metode Unggah',
title: 'Pengaturan Penglihatan',
localUpload: 'Unggahan Lokal',
low: 'Rendah',
uploadLimit: 'Batas Unggahan',
resolution: 'Resolusi',
url: 'URL',
},
settings: 'Pengaturan',
description: 'Aktifkan Penglihatan akan memungkinkan model untuk mengambil gambar dan menjawab pertanyaan tentangnya.',
onlySupportVisionModelTip: 'Hanya mendukung model penglihatan',
name: 'Penglihatan',
},
voice: {
voiceSettings: {
autoPlayEnabled: 'Di atas',
voice: 'Suara',
language: 'Bahasa',
title: 'Pengaturan Suara',
autoPlay: 'Putar Otomatis',
autoPlayDisabled: 'Dinonaktifkan',
resolutionTooltip: 'Bahasa pendukung suara text-to-speech。',
},
settings: 'Pengaturan',
defaultDisplay: 'Suara Default',
description: 'Pengaturan suara teks ke ucapan',
name: 'Suara',
},
openingStatement: {
openingQuestion: 'Pertanyaan Pembuka',
add: 'Tambah',
writeOpener: 'Edit pembuka',
title: 'Pembuka Percakapan',
noDataPlaceHolder: 'Memulai percakapan dengan pengguna dapat membantu AI menjalin hubungan yang lebih dekat dengan mereka dalam aplikasi percakapan.',
tooShort: 'Setidaknya 20 kata prompt awal diperlukan untuk menghasilkan pidato pembuka untuk percakapan.',
},
modelConfig: {
modeType: {
completion: 'Lengkap',
chat: 'Mengobrol',
},
title: 'Model dan Parameter',
model: 'Pola',
setTone: 'Atur nada respons',
},
inputs: {
queryPlaceholder: 'Silakan masukkan teks permintaan.',
run: 'Jalankan',
completionVarTip: 'Isi nilai variabel, yang akan secara otomatis diganti dengan kata-kata prompt setiap kali pertanyaan diajukan.',
noVar: 'Isi nilai variabel, yang akan secara otomatis diganti dalam kata prompt setiap kali sesi baru dimulai.',
noPrompt: 'Coba tulis beberapa prompt dalam input pra-prompt',
previewTitle: 'Pratinjau prompt',
userInputField: 'Bidang Input Pengguna',
queryTitle: 'Kueri konten',
title: 'Debug & Pratinjau',
chatVarTip: 'Isi nilai variabel, yang akan secara otomatis diganti dalam kata prompt setiap kali sesi baru dimulai',
},
datasetConfig: {
retrieveOneWay: {
title: 'Pengambilan N-ke-1',
description: 'Berdasarkan maksud pengguna dan deskripsi Pengetahuan, Agen secara mandiri memilih Pengetahuan terbaik untuk kueri. Terbaik untuk aplikasi dengan Pengetahuan yang berbeda dan terbatas.',
},
retrieveMultiWay: {
title: 'Pengambilan multi-jalur',
description: 'Berdasarkan maksud pengguna, kueri di semua Pengetahuan, mengambil teks yang relevan dari berbagai sumber, dan memilih hasil terbaik yang cocok dengan kueri pengguna setelah peringkat ulang.',
},
rerankModelRequired: 'Model Rerank yang dikonfigurasi diperlukan',
top_k: 'K Teratas',
score_threshold: 'Ambang Skor',
settingTitle: 'Pengaturan pengambilan',
score_thresholdTip: 'Digunakan untuk mengatur ambang kesamaan untuk pemfilteran potongan.',
retrieveChangeTip: 'Memodifikasi mode indeks dan mode pengambilan dapat memengaruhi aplikasi yang terkait dengan Pengetahuan ini.',
embeddingModelRequired: 'Model Penyematan yang dikonfigurasi diperlukan',
params: 'Parameter',
top_kTip: 'Digunakan untuk memfilter potongan yang paling mirip dengan pertanyaan pengguna. Sistem juga akan secara dinamis menyesuaikan nilai Top K, sesuai dengan max_tokens model yang dipilih.',
knowledgeTip: 'Klik tombol " " untuk menambahkan pengetahuan',
},
assistantType: {
chatAssistant: {
description: 'Membuat asisten berbasis obrolan menggunakan Model Bahasa Besar',
name: 'Asisten Dasar',
},
agentAssistant: {
description: 'Bangun Agen cerdas yang dapat secara mandiri memilih alat untuk menyelesaikan tugas',
name: 'Asisten Agen',
},
name: 'Jenis Asisten',
},
agent: {
agentModeType: {
ReACT: 'Bereaksi',
functionCall: 'Fungsi Panggilan',
},
setting: {
maximumIterations: {
name: 'Iterasi Maksimum',
description: 'Membatasi jumlah iterasi yang dapat dijalankan oleh asisten agen',
},
description: 'Pengaturan Asisten Agen memungkinkan pengaturan mode agen dan fitur lanjutan seperti perintah bawaan, hanya tersedia dalam jenis Agen.',
name: 'Pengaturan Agen',
},
tools: {
enabled: 'Diaktifkan',
name: 'Perkakas',
description: 'Menggunakan alat dapat memperluas kemampuan LLM, seperti mencari di internet atau melakukan perhitungan ilmiah',
},
agentModeDes: 'Mengatur jenis mode inferensi untuk agen',
firstPrompt: 'Prompt Pertama',
buildInPrompt: 'Perintah Bawaan',
agentMode: 'Mode Agen',
nextIteration: 'Iterasi Berikutnya',
promptPlaceholder: 'Tulis prompt Anda di sini',
},
orchestrate: 'Mengatur',
chatSubTitle: 'Peraturan',
variableTitle: 'Variabel',
variableTip: 'Pengguna mengisi variabel dalam formulir, secara otomatis mengganti variabel dalam perintah.',
formattingChangedText: 'Memodifikasi pemformatan akan mengatur ulang area debug, apakah Anda yakin?',
completionSubTitle: 'Prompt Awalan',
debugAsMultipleModel: 'Debug sebagai Beberapa Model',
publishAs: 'Publikasikan sebagai',
autoAddVar: 'Variabel yang tidak ditentukan direferensikan dalam pra-prompt, apakah Anda ingin menambahkannya dalam formulir input pengguna?',
debugAsSingleModel: 'Debug sebagai Model Tunggal',
formattingChangedTitle: 'Pemformatan diubah',
duplicateModel: 'Duplikat',
result: 'Teks Keluaran',
noResult: 'Output akan ditampilkan di sini.',
}
export default translation

96
web/i18n/id-ID/app-log.ts Normal file
View File

@ -0,0 +1,96 @@
const translation = {
table: {
header: {
output: 'Hasil',
version: 'VERSI',
time: 'Waktu yang dibuat',
messageCount: 'Jumlah Pesan',
summary: 'Ringkasan',
adminRate: 'Tingkat Admin',
user: 'Pengguna Akhir atau Akun',
startTime: 'WAKTU MULAI',
updatedTime: 'Waktu yang diperbarui',
tokens: 'TOKEN',
endUser: 'Pengguna Akhir atau Akun',
userRate: 'Tarif Pengguna',
input: 'Masukan',
status: 'KEADAAN',
runtime: 'WAKTU BERJALAN',
},
pagination: {
previous: 'Sebelumnya',
next: 'Selanjutnya',
},
empty: {
element: {
title: 'Apakah ada yang ada di sana?',
},
noChat: 'Belum ada percakapan',
noOutput: 'Tidak ada keluaran',
},
},
detail: {
timeConsuming: 'Memakan waktu',
operation: {
dislike: 'tidak suka',
like: 'suka',
addAnnotation: 'Tambahkan Anotasi',
editAnnotation: 'Edit Anotasi',
annotationPlaceholder: 'Masukkan jawaban yang diharapkan yang Anda inginkan untuk dibalas AI, yang dapat digunakan untuk penyempurnaan model dan peningkatan berkelanjutan kualitas pembuatan teks di masa mendatang.',
},
time: 'Waktu',
loading: 'Loading',
variables: 'Variabel',
tokenCost: 'Token yang dibelanjakan',
modelParams: 'Parameter model',
conversationId: 'ID Percakapan',
promptTemplate: 'Templat Prompt',
second: 's',
promptTemplateBeforeChat: 'Templat Prompt Sebelum Obrolan · Sebagai Pesan Sistem',
uploadImages: 'Gambar yang Diunggah',
},
filter: {
period: {
today: 'Hari Ini',
last4weeks: '4 minggu terakhir',
quarterToDate: 'Kuartal hingga saat ini',
last7days: '7 Hari Terakhir',
monthToDate: 'Bulan hingga saat ini',
last3months: '3 bulan terakhir',
yearToDate: 'Tahun hingga saat ini',
allTime: 'Sepanjang masa',
last12months: '12 bulan terakhir',
},
annotation: {
all: 'Semua',
not_annotated: 'Tidak Beranotasi',
},
ascending: 'Naik',
descending: 'Turun',
sortBy: 'Urutkan berdasarkan',
},
runDetail: {
fileListDetail: 'Detail',
workflowTitle: 'Log Detail',
title: 'Log Percakapan',
fileListLabel: 'Rincian File',
},
agentLogDetail: {
iterations: 'Iterasi',
finalProcessing: 'Pemrosesan Akhir',
iteration: 'Iterasi',
toolUsed: 'Alat yang Digunakan',
agentMode: 'Mode Agen',
},
title: 'Log',
description: 'Log mencatat status berjalan aplikasi, termasuk input pengguna dan balasan AI.',
dateFormat: 'MM / DD / YYYY',
agentLog: 'Log Agen',
viewLog: 'Lihat Log',
dateTimeFormat: 'MM/DD/YYYY hh:mm:ss A',
promptLog: 'Prompt Log',
workflowSubtitle: 'Log mencatat pengoperasian Automate.',
workflowTitle: 'Log Alur Kerja',
}
export default translation

Some files were not shown because too many files have changed in this diff Show More