From 8d1ff757997708eda2a6c0a36c8d6ed67239608c Mon Sep 17 00:00:00 2001 From: Ram Gopal Srikar Katakam <44802869+RamGopalSrikar@users.noreply.github.com> Date: Fri, 5 Jun 2026 10:33:39 -0400 Subject: [PATCH] fix(i18n): translate QA-identified missing strings for 1.10.0 (#13503) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(i18n): translate missing frontend strings found in QA - API Keys page: replace hardcoded "Never" with t("settings.apiKeys.never") - New Flow screen: migrate all WELCOME_* string constants in flow-builder-welcome.tsx to t() calls; remove string constants from flow-builder-welcome.constants.ts (keep WELCOME_MAX_INPUT_LENGTH) - Get Started sidebar card: add useTranslation and replace 5 hardcoded strings (All Set, Get started, Star repo, Join the community, Create a flow) with existing sidebar.* i18n keys - en.json: add settings.apiKeys.never + 10 flowBuilderWelcome.* keys - All non-English locale files (ja, fr, es, de, pt, zh-Hans) updated via GP upload/download * fix(i18n): translate additional QA-identified untranslated strings - Translate canvas assistant banner ("Try the new Langflow Assistant!", "New" pill) - Translate search placeholder flow type name (was showing raw "flows"/"mcp" in mixed-language) - Translate UNNAMED tool badge in ToolsComponent and ToolsTable - Extract all 61 flow default descriptions to i18n keys (flow.defaultDescription.0-60) so new flows get a localized random description instead of always English - Fix backend ja.json: "Vector Store RAG" → "ベクターストア RAG" for consistency with the frontend welcome screen translation - Run GP upload+download to populate fr, ja, es, de, pt, zh-Hans locales * [autofix.ci] apply automated fixes * fix(i18n): fix CI failures — Biome import order and updated test constants - Fix Biome import sort in flow-builder-welcome.tsx (lucide-react after react) - Update flow-builder-welcome test to use inline English strings instead of importing the deleted WELCOME_* constants from flow-builder-welcome.constants * fix(i18n): truncate long checklist labels with tooltip in get-started sidebar Long translations (e.g. Japanese) were wrapping to two lines in the narrow sidebar. Now each label truncates with ellipsis and shows the full text in a tooltip on hover. Icons also get shrink-0 to stay fixed-size. * [autofix.ci] apply automated fixes * fix(i18n): align assistant banner translation with panel title in ja, es, pt GP inconsistently kept "Assistant" in English in the banner string while translating it natively in the panel title. Patched directly: - ja: "Assistant" → "アシスタント" - es: "Assistant" → "Asistente" - pt: "Assistant" → "Assistente" fr, de, zh-Hans were already consistent. --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- src/backend/base/langflow/locales/ja.json | 2 +- .../CanvasControls.tsx | 4 +- .../__tests__/flow-builder-welcome.test.tsx | 13 +- .../flow-builder-welcome.constants.ts | 15 --- .../flow-builder-welcome.tsx | 39 +++--- .../components/get-started-progress.tsx | 70 ++++++---- .../components/ToolsComponent/index.tsx | 5 +- src/frontend/src/flow_constants.tsx | 71 +--------- src/frontend/src/locales/de.json | 123 ++++++++++++++--- src/frontend/src/locales/en.json | 80 ++++++++++- src/frontend/src/locales/es.json | 125 +++++++++++++++--- src/frontend/src/locales/fr.json | 121 ++++++++++++++--- src/frontend/src/locales/ja.json | 125 +++++++++++++++--- src/frontend/src/locales/pt.json | 125 +++++++++++++++--- src/frontend/src/locales/zh-Hans.json | 123 ++++++++++++++--- .../components/toolsTable/index.tsx | 7 +- .../MainPage/components/header/index.tsx | 4 +- .../components/LastUsedAtCellRender/index.tsx | 5 +- src/frontend/src/utils/reactflowUtils.ts | 2 +- 19 files changed, 782 insertions(+), 277 deletions(-) diff --git a/src/backend/base/langflow/locales/ja.json b/src/backend/base/langflow/locales/ja.json index ed89ca89c5..d835207057 100644 --- a/src/backend/base/langflow/locales/ja.json +++ b/src/backend/base/langflow/locales/ja.json @@ -6797,7 +6797,7 @@ "starter_flows.twitter_thread_generator.description": "このプロンプトベースのフローを使用すれば、構造化された入力データを、ブランドのトーンや技術的な正確性を保ちつつ、魅力的なTwitterスレッドに変換できます。", "starter_flows.twitter_thread_generator.name": "Twitterスレッド生成ツール", "starter_flows.vector_store_rag.description": "リトリーバル・オーグメンテッド・ジェネレーション(RAG)を使用して、チャットコンテキスト用のデータを読み込みます。", - "starter_flows.vector_store_rag.name": "Vector Store RAG", + "starter_flows.vector_store_rag.name": "ベクターストア RAG", "starter_flows.youtube_analysis.description": "「 YouTube 」の分析フローは、動画のコメントや文字起こしデータを抽出し、感情の傾向やコンテンツのテーマを分析します。", "starter_flows.youtube_analysis.name": "YouTube 分析", "template_notes.basic_prompt_chaining.b5fcc15e": "# 📖 README\nこのフローでは、3つのプロンプトと3つの言語モデルを連結する方法を示しています。\n各プロンプトは、前の出力を処理するように特別に設計されており、LLMへの各呼び出しは前の結果に基づいて行われます\n\n\n## 前提条件\n\n* [ OpenAI APIキー]( https://platform.openai.com/ )\n\n## クイックスタート\n\n1. APIの認証情報を用いて**モデルプロバイダー**を設定してください。\n2 フローを実行するには、**Playground**を開いてください。 入力例を以下に示します。その他の提案については、以下に挙げます。\n\n 「技術に詳しくないユーザーでも暗号資産への投資を容易に行える、安全で使いやすい分散型金融( DeFi )プラットフォームへの需要が高まっている。」\n\n 「分散型ワークフォースにおけるリモートコラボレーションやバーチャルチームビルディングのための、没入型拡張現実(AR)体験の人気が高まっている。」\n\n 「都市居住者が限られたスペースで効率的に食料を自給できる、スマートで IoT-enabled な都市農業ソリューションの市場が拡大している。」\n\n 「サステナビリティ、ボディポジティブ、そして個人のスタイルの好みを考慮した、AIを活用したパーソナルスタイリングおよびショッピングアシスタントへの需要が高まりつつある。」\n\n", diff --git a/src/frontend/src/components/core/canvasControlsComponent/CanvasControls.tsx b/src/frontend/src/components/core/canvasControlsComponent/CanvasControls.tsx index 41de655c54..340e9e83a8 100644 --- a/src/frontend/src/components/core/canvasControlsComponent/CanvasControls.tsx +++ b/src/frontend/src/components/core/canvasControlsComponent/CanvasControls.tsx @@ -170,7 +170,7 @@ const CanvasControls = ({ name="Sparkles" className="h-2.5 w-2.5" /> - New + {t("assistant.newPill")} )} - Try the new Langflow Assistant! + {t("assistant.tryAssistant")} )} diff --git a/src/frontend/src/components/core/parameterRenderComponent/components/ToolsComponent/index.tsx b/src/frontend/src/components/core/parameterRenderComponent/components/ToolsComponent/index.tsx index 3a594c84b9..569c5a84d9 100644 --- a/src/frontend/src/components/core/parameterRenderComponent/components/ToolsComponent/index.tsx +++ b/src/frontend/src/components/core/parameterRenderComponent/components/ToolsComponent/index.tsx @@ -125,7 +125,10 @@ export default function ToolsComponent({ data-testid={testIdCase(`tool_${action.name}`)} > - {action.name.toUpperCase()} + {(action.name === "unnamed" + ? t("common.unnamed") + : action.name + ).toUpperCase()} ))} diff --git a/src/frontend/src/flow_constants.tsx b/src/frontend/src/flow_constants.tsx index 1e2280ab9f..fca41c53fb 100644 --- a/src/frontend/src/flow_constants.tsx +++ b/src/frontend/src/flow_constants.tsx @@ -1,70 +1,11 @@ /** - * Default description for the flow - * @constant + * i18n keys for random default flow descriptions. + * Strings live in locales/en.json under flow.defaultDescription.* */ -export const DESCRIPTIONS: string[] = [ - "Chain the Words, Master Language!", - "Language Architect at Work!", - "Empowering Language Engineering.", - "Craft Language Connections Here.", - "Create, Connect, Converse.", - "Smart Chains, Smarter Conversations.", - "Bridging Prompts for Brilliance.", - "Language Models, Unleashed.", - "Your Hub for Text Generation.", - "Promptly Ingenious!", - "Building Linguistic Labyrinths.", - "Create, Chain, Communicate.", - "Connect the Dots, Craft Language.", - "Interactive Language Weaving.", - "Generate, Innovate, Communicate.", - "Conversation Catalyst Engine.", - "Language Chainlink Master.", - "Design Dialogues with Langflow.", - "Nurture NLP Nodes Here.", - "Conversational Cartography Unlocked.", - "Design, Develop, Dialogize.", - "Unleashing Linguistic Creativity.", - "Graph Your Way to Great Conversations.", - "The Power of Language at Your Fingertips.", - "Sculpting Language with Precision.", - "Where Language Meets Logic.", - "Building Intelligent Interactions.", - "Your Passport to Linguistic Landscapes.", - "Create, Curate, Communicate with Langflow.", - "Flow into the Future of Language.", - "Mapping Meaningful Conversations.", - "Unravel the Art of Articulation.", - "Language Engineering Excellence.", - "Navigate the Networks of Conversation.", - "Crafting Conversations, One Node at a Time.", - "The Pinnacle of Prompt Generation.", - "Language Models, Mapped and Mastered.", - "Powerful Prompts, Perfectly Positioned.", - "Innovation in Interaction with Langflow.", - "Your Toolkit for Text Generation.", - "Unfolding Linguistic Possibilities.", - "Building Powerful Solutions with Language Models.", - "Uncover Business Opportunities with NLP.", - "Harness the Power of Conversational AI.", - "Transform Your Business with Smart Dialogues.", - "Craft Meaningful Interactions, Generate Value.", - "Unleashing Business Potential through Language Engineering.", - "Empowering Enterprises with Intelligent Interactions.", - "Driving Innovation in Business Communication.", - "Catalyzing Business Growth through Conversational AI.", - "Text Generation Meets Business Transformation.", - "Navigate the Linguistic Landscape, Discover Opportunities.", - "Create Powerful Connections, Boost Business Value.", - "Empowering Communication, Enabling Opportunities.", - "Advanced NLP for Groundbreaking Business Solutions.", - "Innovation in Interaction, Revolution in Revenue.", - "Maximize Impact with Intelligent Conversations.", - "Beyond Text Generation - Unleashing Business Opportunities.", - "Unlock the Power of AI in Your Business Conversations.", - "Crafting Dialogues that Drive Business Success.", - "Engineered for Excellence, Built for Business.", -]; +export const DESCRIPTIONS: string[] = Array.from( + { length: 61 }, + (_, i) => `flow.defaultDescription.${i}`, +); /** * Adjectives for the name of the flow diff --git a/src/frontend/src/locales/de.json b/src/frontend/src/locales/de.json index 65441147af..ce75655c5a 100644 --- a/src/frontend/src/locales/de.json +++ b/src/frontend/src/locales/de.json @@ -69,6 +69,7 @@ "assistant.maxSessionsTooltip": "Die maximale Anzahl von {{max}} -Sitzungen wurde erreicht. Löschen Sie eine Sitzung, um eine neue zu erstellen.", "assistant.messageCounts": "{{count}} Nachrichten", "assistant.newConversation": "Neue Konversation", + "assistant.newPill": "Neu", "assistant.newSession": "Neue Sitzung", "assistant.noModels": "Es sind keine Modelle konfiguriert", "assistant.noModelsConfigured": "Es ist kein Modellanbieter konfiguriert", @@ -136,6 +137,7 @@ "assistant.thinking.6": "Einen Moment bitte...", "assistant.thinking.7": "Beinahe geschafft ...", "assistant.title": "Langflow-Assistent", + "assistant.tryAssistant": "Probieren Sie den neuen Langflow-Assistenten aus!", "assistant.user": "Benutzer", "assistant.viewCode": "Code anzeigen", "assistant.welcomeText": "So kann ich Ihnen helfen", @@ -266,6 +268,7 @@ "common.optional": "optionaler", "common.retry": "Wiederholen", "common.show": "Einblenden", + "common.unnamed": "nicht benannt", "common.userProfileAlt": "Benutzer", "component.openTable": "Tisch reservieren", "component.receivingInput": "Eingaben entgegennehmen", @@ -300,6 +303,7 @@ "deleteModal.noteFolderContents": "sowie alle damit verbundenen Abläufe und Komponenten", "deleteModal.noteMessageHistory": "und den Nachrichtenverlauf", "deleteModal.title": "Löschen", + "deployments.actionsForDeployment": "Aktionen für „ {{name}} “", "deployments.addEnvironment": "Umgebung hinzufügen", "deployments.addFirstEnvironment": "Fügen Sie Ihre erste Umgebung hinzu, um mit der Bereitstellung Ihrer Flows zu beginnen.", "deployments.addManuallyInConnection": "Fügen Sie sie manuell im Verbindungsformular hinzu.", @@ -313,7 +317,6 @@ "deployments.agentNameFormatError": "Der Name des Agenten muss mit einem Buchstaben beginnen.", "deployments.agentTypeDescription": "Dialogagent mit Chat-Oberfläche und Tool-Aufruf", "deployments.agentTypeLabel": "Servicemitarbeiter", - "deployments.mcpTypeLabel": "MCP-Server", "deployments.ariaDeploymentType": "Bereitstellungstyp", "deployments.ariaExistingEnvironments": "Vorhandene Umgebungen", "deployments.ariaSendMessage": "Nachricht senden", @@ -330,7 +333,8 @@ "deployments.cancel": "Abbrechen", "deployments.cancelButton": "Abbrechen", "deployments.cannotAutoDetectEnvVars": "Umgebungsvariablen konnten nicht automatisch erkannt werden", - "deployments.changeFlow": "Flow wechseln", + "deployments.changeFlow": "Änderungsablauf", + "deployments.chooseDeployedVersion": "Bereitgestellte Version auswählen", "deployments.chooseExistingEnvironment": "Vorhandene Umgebung auswählen", "deployments.chooseProviderDesc": "Wählen Sie eine Anbieterumgebung für die Bereitstellung aus oder erstellen Sie eine neue Bereitstellung von Grund auf.", "deployments.chooseType": "Typ auswählen", @@ -360,22 +364,24 @@ "deployments.createNewDeploymentTitle": "Neue Bereitstellung erstellen", "deployments.createVersionFromDraftError": "Das Erstellen einer Version aus dem Entwurf ist fehlgeschlagen", "deployments.current": "Aktuell", + "deployments.currentDeploymentTarget": "Aktuelles Einsatzziel", "deployments.delete": "Löschen", "deployments.deleteDeploymentConfirm": "Löschen Sie die Bereitstellungs {{name}} en in Langflow und Watsonx Orchestrate endgültig.", "deployments.deploy": "Bereitstellung", "deployments.deployFromDraft": "Stellen Sie diesen Ablauf bereit, indem Sie aus dem aktuellen Entwurf eine Version erstellen", "deployments.deployed": "Bereitgestellt", "deployments.deployedToDraft": "Als Entwurf unter {{providerName}} veröffentlicht", + "deployments.deployedVersion": "Bereitgestellte Version", "deployments.deploying": "Wird implementiert ...", "deployments.deployingDescription": "Ihre Bereitstellung wird gerade eingerichtet. Das dauert in der Regel ein paar Sekunden.", "deployments.deployingTitle": "Wird implementiert ...", + "deployments.deployment": "Bereitstellung", "deployments.deploymentLabel": "Bereitstellung", "deployments.deploymentLive": "Ihre Bereitstellung ist live und einsatzbereit.", "deployments.deploymentLiveNamed": "\"{{name}}\" ist online und einsatzbereit.", "deployments.deploymentSuccessful": "Bereitstellung erfolgreich", "deployments.deploymentType": "Bereitstellungstyp", "deployments.deploymentTypeLabel": "{{type}} Bereitstellung", - "deployments.deployment": "Bereitstellung", "deployments.deploymentsOnProvider": "Bereitstellungen auf {{name}} für diesen Ablauf.", "deployments.descriptionLabel": "Beschreibung", "deployments.detachFlow": "Fluss trennen", @@ -400,14 +406,15 @@ "deployments.failedToCreateProviderAccount": "Das Erstellen des Anbieterkontos ist fehlgeschlagen", "deployments.failedToLoadDetails": "Die Bereitstellungsdetails konnten nicht geladen werden", "deployments.failedToLoadFlows": "Die angehängten Abläufe konnten nicht geladen werden", + "deployments.failedToPrepareDeployment": "Die Bereitstellung konnte nicht vorbereitet werden", "deployments.failedToUpdate": "Die Aktualisierung der Bereitstellung ist fehlgeschlagen", "deployments.failedToUpdateDeployment": "Die Aktualisierung der Bereitstellung ist fehlgeschlagen", - "deployments.failedToPrepareDeployment": "Die Bereitstellung konnte nicht vorbereitet werden", "deployments.failedToUpdateEnvironment": "Die Aktualisierung der Umgebung ist fehlgeschlagen", "deployments.fieldApiKey": "API-Schlüssel", "deployments.fieldName": "Ihren Namen", "deployments.fieldServiceInstanceUrl": "Service-Instanz URL", "deployments.flow": "Fluss", + "deployments.flowVersion": "Flow-Version", "deployments.flows": "Flüsse", "deployments.globalVariables": "Globale Variablen", "deployments.hideApiKey": "API-Schlüssel ausblenden", @@ -425,12 +432,15 @@ "deployments.loadingModels": "Modelle werden geladen...", "deployments.loadingVersions": "Versionen werden geladen...", "deployments.manyVersions": "{{count}} Versionen", + "deployments.mcpTypeLabel": "MCP", + "deployments.nameRequired": "Der Name ist erforderlich.", "deployments.new": "Neu", "deployments.newConnections": "Neue Verbindungen", "deployments.newDeployment": "Neue Bereitstellung", "deployments.newDeploymentOnProvider": "Neue Bereitstellung auf {{name}}", "deployments.newEnvironment": "Neue Umgebung", "deployments.next": "Weiter", + "deployments.noChangesToSave": "Keine Änderungen zum Speichern", "deployments.noConnectionsDescription": "Erstellen Sie eine Verbindung, um diesem Ablauf Anmeldedaten zuzuweisen.", "deployments.noConnectionsMatch": "Es wurden keine Treffer für „ \"{{query}}\" “ gefunden", "deployments.noConnectionsYet": "Noch keine Verbindungen", @@ -457,16 +467,16 @@ "deployments.removed": "Entfernt", "deployments.removedCount": "{{count}} entfernt", "deployments.removing": "entfernen", + "deployments.replaceVersionNotice": "Sie sind dabei, die bereits bereitgestellte Version {{current}} durch die aktuelle Version {{next}} zu ersetzen.", + "deployments.replaceVersionWithVersion": "Ersetze {{current}} durch {{next}}", "deployments.review": "Prüfen", "deployments.reviewAndConfirm": "Überprüfen & Bestätigen", "deployments.reviewDetails": "Überprüfen Sie die Details Ihrer Bereitstellung, bevor Sie diese erstellen.", "deployments.reviewUpdate": "Aktualisierung der Rezension", - "deployments.reviewUpdateDescription": "Prüfen Sie, welche bereitgestellte Version aktualisiert wird.", - "deployments.chooseDeployedVersion": "Bereitgestellte Version auswählen", - "deployments.selectDeployedToolToReplace": "Wählen Sie aus, welches bereitgestellte Tool ersetzt werden soll", - "deployments.willBeReplaced": "Wird ersetzt", + "deployments.reviewUpdateDescription": "Überprüfen Sie, welche bereitgestellte Version aktualisiert wird.", "deployments.saveButton": "Speichern", "deployments.saving": "Wird gesichert ...", + "deployments.selectDeployedToolToReplace": "Wählen Sie das zu ersetzende bereitgestellte Tool aus", "deployments.selectDeployment": "Bereitstellung auswählen", "deployments.selectDeploymentDescription": "Wählen Sie eine Bereitstellung aus, die Sie aktualisieren möchten, oder erstellen Sie eine neue.", "deployments.selectFlow": "Wählen Sie einen Ablauf aus, um die Versionen anzuzeigen", @@ -475,8 +485,12 @@ "deployments.selectOrCreateConnection": "Verbindung auswählen oder neu erstellen", "deployments.selectProvider": "Provider auswählen", "deployments.selectVersion": "Wählen Sie eine Version aus, die dieser Bereitstellung zugeordnet werden soll", + "deployments.selectVersionToReplace": "Wählen Sie die zu ersetzende Version aus", + "deployments.selectedDeployedVersionWillUpdate": "Die ausgewählte, bereits bereitgestellte Version wird auf die aktuelle Flow- {{next}} aktualisiert.", + "deployments.selectedTarget": "Ausgewähltes Ziel", "deployments.setupNewDeployment": "Eine neue Bereitstellung von Grund auf einrichten", "deployments.showApiKey": "API-Schlüssel anzeigen", + "deployments.singleAttachmentTarget": "Es steht nur die bereits eingesetzte Version zum Austausch zur Verfügung", "deployments.skip": "Überspringen", "deployments.stepFlows": "Abläufe", "deployments.stepOf": "Schritt {{current}} von {{total}}", @@ -495,16 +509,6 @@ "deployments.updateButton": "Aktualisieren!", "deployments.updateDeployment": "Aktualisierung bereitstellen", "deployments.updateDeploymentDescription": "Wählen Sie aus, welche bereitgestellte Flow-Version durch die aktuelle Flow-Version ersetzt werden soll.", - "deployments.selectedTarget": "Ausgewähltes Ziel", - "deployments.flowVersion": "Flow-Version", - "deployments.replaceVersionNotice": "Sie sind dabei, die bereitgestellte Version {{current}} durch die aktuelle Flow-Version {{next}} zu ersetzen.", - "deployments.selectVersionToReplace": "Version zum Ersetzen auswählen", - "deployments.selectedDeployedVersionWillUpdate": "Die ausgewählte bereitgestellte Version wird auf die aktuelle Flow-Version {{next}} aktualisiert.", - "deployments.currentDeploymentTarget": "Aktuelles Bereitstellungsziel", - "deployments.deployedVersion": "Bereitgestellte Version", - "deployments.willBeReplacedByVersion": "Wird durch {{next}} ersetzt", - "deployments.replaceVersionWithVersion": "{{current}} durch {{next}} ersetzen", - "deployments.singleAttachmentTarget": "Nur eine bereitgestellte Version steht zum Ersetzen zur Verfügung", "deployments.updatedDesc": "\"{{name}}\" wurde aktualisiert.", "deployments.updatedTitle": "Bereitstellung aktualisiert", "deployments.updating": "Aktualisierung wird durchgeführt ...", @@ -513,6 +517,8 @@ "deployments.variablesAutoDetected_one": "{{count}} Variable, die automatisch aus der ausgewählten Flow-Version ermittelt wird.", "deployments.variablesAutoDetected_other": "{{count}} Variablen, die automatisch aus der ausgewählten Flow-Version erkannt wurden.", "deployments.versionCreated": "Erstellt: {{date}}", + "deployments.willBeReplaced": "Wird ersetzt", + "deployments.willBeReplacedByVersion": "Wird ersetzt durch {{next}}", "deployments.wxoAlreadyHaveAccount": "Haben Sie bereits ein Konto?", "deployments.wxoConfigureCredentials": "Konfigurieren Sie unten Ihre Anmeldedaten für „ watsonx Orchestrate “. Neu bei „ wxO? “", "deployments.wxoFindCredentials": "Finden Sie Ihre Zugangsdaten", @@ -588,7 +594,6 @@ "errors.failedToExportVersion": "Der Export der Version ist fehlgeschlagen", "errors.failedToFetchRunStatus": "Der Ausführungsstatus konnte nicht abgerufen werden", "errors.failedToLoadDeployment": "Die Bereitstellungsdetails konnten nicht geladen werden", - "errors.noProviderSnapshotFoundOnSelectedDeployment": "Für diesen Flow wurde in der ausgewählten Bereitstellung kein Provider-Snapshot gefunden.", "errors.failedToLoadModels": "Modelle konnten nicht geladen werden", "errors.failedToRestoreVersion": "Die Wiederherstellung der Version ist fehlgeschlagen", "errors.failedToSaveFlow": "Das Speichern des Ablaufs ist fehlgeschlagen", @@ -614,6 +619,7 @@ "errors.noItemsSelected": "Es wurden keine Artikel ausgewählt", "errors.noKeyCombinationRecorded": "Es wurde keine Tastenkombination gespeichert.", "errors.noModelsToRefresh": "Es sind keine Modellkomponenten zu aktualisieren", + "errors.noProviderSnapshotFoundOnSelectedDeployment": "Für diesen Ablauf wurde in der ausgewählten Bereitstellung kein Anbieter-Snapshot gefunden.", "errors.noResponseBody": "Kein Antworttext", "errors.parameterNotFound": "Parameter in der Vorlage nicht gefunden", "errors.passwordMismatch": "Kennwörter stimmen nicht überein", @@ -708,6 +714,67 @@ "flow.buildStatus": "Erstellen, um den Status zu überprüfen.", "flow.buildSuccess": "Erfolgreich erstellt ✨", "flow.characterLimitReached": "Zeichenlimit erreicht", + "flow.defaultDescription.0": "Verbinde die Wörter, meistere die Sprache!", + "flow.defaultDescription.1": "Der Spracharchitekt bei der Arbeit!", + "flow.defaultDescription.10": "Sprachliche Labyrinthe erschaffen.", + "flow.defaultDescription.11": "Gestalten, verknüpfen, kommunizieren.", + "flow.defaultDescription.12": "Verbinde die Punkte, gestalte Sprache.", + "flow.defaultDescription.13": "Interaktives Sprachgewebe.", + "flow.defaultDescription.14": "Entwickeln, innovieren, kommunizieren.", + "flow.defaultDescription.15": "Konversations-Katalysator-Engine.", + "flow.defaultDescription.16": "Sprache: Chainlink Master.", + "flow.defaultDescription.17": "Designgespräche mit Langflow.", + "flow.defaultDescription.18": "Pflegen Sie hier Ihre NLP-Knoten.", + "flow.defaultDescription.19": "Konversationskartografie – jetzt verfügbar.", + "flow.defaultDescription.2": "Sprachtechnik voranbringen.", + "flow.defaultDescription.20": "Entwerfen, entwickeln, dialogisieren.", + "flow.defaultDescription.21": "Sprachliche Kreativität entfesseln.", + "flow.defaultDescription.22": "Mit Grafiken zu spannenden Gesprächen.", + "flow.defaultDescription.23": "Die Kraft der Sprache – immer griffbereit.", + "flow.defaultDescription.24": "Sprache mit Präzision formen.", + "flow.defaultDescription.25": "Wo Sprache auf Logik trifft.", + "flow.defaultDescription.26": "Intelligente Interaktionen gestalten.", + "flow.defaultDescription.27": "Ihr Schlüssel zu sprachlichen Welten.", + "flow.defaultDescription.28": "Erstellen, kuratieren, kommunizieren – mit Langflow.", + "flow.defaultDescription.29": "Tauchen Sie ein in die Zukunft der Sprache.", + "flow.defaultDescription.3": "Schaffen Sie hier sprachliche Verbindungen.", + "flow.defaultDescription.30": "Bedeutungsvolle Gespräche abbilden.", + "flow.defaultDescription.31": "Entdecken Sie die Kunst der Artikulation.", + "flow.defaultDescription.32": "Sprachtechnische Exzellenz.", + "flow.defaultDescription.33": "Entdecke die Netzwerke der Kommunikation.", + "flow.defaultDescription.34": "Gespräche gestalten, Schritt für Schritt.", + "flow.defaultDescription.35": "Der Inbegriff der Prompt-Generierung.", + "flow.defaultDescription.36": "Sprachmodelle – erfasst und gemeistert.", + "flow.defaultDescription.37": "Wirkungsvolle Aufforderungen, perfekt platziert.", + "flow.defaultDescription.38": "Innovation im Zusammenspiel mit Langflow.", + "flow.defaultDescription.39": "Ihr Werkzeugkasten für die Textgenerierung.", + "flow.defaultDescription.4": "Gestalten, Vernetzen, Austauschen.", + "flow.defaultDescription.40": "Sprachliche Möglichkeiten erschließen.", + "flow.defaultDescription.41": "Leistungsstarke Lösungen mit Sprachmodellen entwickeln.", + "flow.defaultDescription.42": "Entdecken Sie neue Geschäftsmöglichkeiten mit NLP.", + "flow.defaultDescription.43": "Nutzen Sie die Leistungsfähigkeit von „ Conversational AI “.", + "flow.defaultDescription.44": "Verändern Sie Ihr Unternehmen mit intelligenten Dialogen.", + "flow.defaultDescription.45": "Schaffen Sie sinnvolle Interaktionen, schaffen Sie Mehrwert.", + "flow.defaultDescription.46": "Geschäftspotenziale durch Sprachtechnologie erschließen.", + "flow.defaultDescription.47": "Unternehmen durch intelligente Interaktionen stärken.", + "flow.defaultDescription.48": "Innovation in der Geschäftskommunikation vorantreiben.", + "flow.defaultDescription.49": "Conversational AI als Motor für Unternehmenswachstum.", + "flow.defaultDescription.5": "Intelligente Ketten, intelligentere Gespräche.", + "flow.defaultDescription.50": "Textgenerierung trifft auf geschäftliche Transformation.", + "flow.defaultDescription.51": "Entdecken Sie die sprachliche Vielfalt und nutzen Sie neue Chancen.", + "flow.defaultDescription.52": "Starke Verbindungen schaffen, den Unternehmenswert steigern.", + "flow.defaultDescription.53": "Kommunikation stärken, Chancen eröffnen.", + "flow.defaultDescription.54": "Fortgeschrittenes NLP für bahnbrechende „ Business Solutions “.", + "flow.defaultDescription.55": "Innovation in der Interaktion, Revolution bei den Einnahmen.", + "flow.defaultDescription.56": "Maximieren Sie die Wirkung durch intelligente Gespräche.", + "flow.defaultDescription.57": "Mehr als nur Textgenerierung – neue Geschäftsmöglichkeiten erschließen.", + "flow.defaultDescription.58": "Nutzen Sie das Potenzial der KI in Ihren geschäftlichen Gesprächen.", + "flow.defaultDescription.59": "Dialoge gestalten, die den Geschäftserfolg vorantreiben.", + "flow.defaultDescription.6": "Impulse für Brillanz.", + "flow.defaultDescription.60": "Entwickelt für Spitzenleistungen, gebaut für den geschäftlichen Einsatz.", + "flow.defaultDescription.7": "Sprachmodelle – voll ausgeschöpft.", + "flow.defaultDescription.8": "Deine Anlaufstelle für die Texterstellung.", + "flow.defaultDescription.9": "Einfach genial!", "flow.defaultName": "Neuer Ablauf", "flow.deletedSuccessfully": "Die ausgewählten Elemente wurden erfolgreich gelöscht", "flow.descriptionLabel": "Beschreibung", @@ -764,6 +831,16 @@ "flowBuild.runningFlow": "Laufströmung", "flowBuild.runningNode": "{{id}} ausführen", "flowBuild.stop": "Stoppen", + "flowBuilderWelcome.browseMoreLabel": "Mehr entdecken...", + "flowBuilderWelcome.configureModelProviders": "Modellanbieter konfigurieren", + "flowBuilderWelcome.noProviderDescription": "Fügen Sie einen Modellanbieter hinzu, um Ihren Ablauf mit KI zu beschreiben, oder wählen Sie unten eine Vorlage aus, um sofort loszulegen.", + "flowBuilderWelcome.orTemplateLabel": "Oder beginnen Sie mit einer Vorlage:", + "flowBuilderWelcome.sendLabel": "Senden", + "flowBuilderWelcome.simpleAgentLabel": "Einfacher Agent", + "flowBuilderWelcome.textareaPlaceholder": "Beschreibe deinen Arbeitsablauf...", + "flowBuilderWelcome.title": "Was möchtest du bauen?", + "flowBuilderWelcome.titleNoProvider": "Lassen Sie uns zunächst alles vorbereiten", + "flowBuilderWelcome.vectorStoreRagLabel": "Vektor-Speicher RAG", "flowVersion.captureStateDescription": "Den aktuellen Zustand als Wiederherstellungspunkt speichern", "flowVersion.currentLabel": "Aktuell", "flowVersion.dataCannotBeRendered": "Die Daten dieser Version konnten nicht für die Vorschau dargestellt werden", @@ -1040,6 +1117,9 @@ "loading.loading": "Ladevorgang läuft...", "mainPage.delete": "Löschen", "mainPage.editedAgo": "Bearbeitet vor {{time}}", + "mainPage.flowType.components": "Komponenten von", + "mainPage.flowType.flows": "Flüsse", + "mainPage.flowType.mcp": "MCP", "mainPage.flowsDeletedSuccess": "Flows wurden erfolgreich gelöscht", "mainPage.flowsDownloadedSuccess": "Die Flows wurden erfolgreich heruntergeladen", "mainPage.mcpServer": "MCP-Server", @@ -1081,8 +1161,6 @@ "mcp.modal.descriptionFlow": "MCP-Server hinzufügen und speichern. Server verwalten in", "mcp.modal.descriptionFlowLink": "Einstellungen", "mcp.modal.descriptionSettings": "Fügen Sie MCP-Server hinzu und speichern Sie sie, um sie in Ihren Abläufen zu verwenden.", - "mcp.modal.lockedTitle": "MCP-Serververwaltung ist gesperrt", - "mcp.modal.lockedDescription": "Kontaktiere einen Administrator, um externe MCP-Server zu verwalten.", "mcp.modal.errorDuplicateEnvKeys": "In den Umgebungsvariablen wurden doppelte Schlüssel gefunden.", "mcp.modal.errorDuplicateHeaders": "In den Kopfzeilen wurden doppelte Schlüssel gefunden.", "mcp.modal.errorFailedAdd": "Das Hinzufügen des MCP-Servers ist fehlgeschlagen.", @@ -1098,6 +1176,8 @@ "mcp.modal.fieldStreamableUrl": "Streamable HTTP /SSE URL", "mcp.modal.jsonPlaceholder": "Füge die JSON-Konfiguration ein, um den Server hinzuzufügen", "mcp.modal.jsonTabLabel": "JSON-Konfiguration einfügen", + "mcp.modal.lockedDescription": "Wenden Sie sich an einen Administrator, um externe MCP-Server zu verwalten.", + "mcp.modal.lockedTitle": "Die MCP-Serververwaltung ist gesperrt", "mcp.modal.placeholderArgument": "Geben Sie ein Argument ein...", "mcp.modal.placeholderCommand": "Befehl eingeben...", "mcp.modal.placeholderHttpName": "Ihren Namen", @@ -1496,6 +1576,7 @@ "settings.apiKeys.columnLastUsed": "Letzte Verwendung", "settings.apiKeys.columnName": "Ihren Namen", "settings.apiKeys.columnTotalUses": "Gesamtanzahl der Verwendungen", + "settings.apiKeys.never": "Niemals", "settings.apiKeysTitle": "Langflow-API-Schlüssel", "settings.apiPageParagraph": "Ihre geheimen Langflow-API-Schlüssel sind unten aufgeführt. Geben Sie Ihren API-Schlüssel nicht an andere weiter und machen Sie ihn nicht im Browser oder in anderem clientseitigen Code sichtbar.", "settings.confirmPasswordPlaceholder": "Bestätigungskennwort", diff --git a/src/frontend/src/locales/en.json b/src/frontend/src/locales/en.json index 9b347cb7ba..c5250fdd57 100644 --- a/src/frontend/src/locales/en.json +++ b/src/frontend/src/locales/en.json @@ -291,6 +291,7 @@ "settings.apiKeys.columnLastUsed": "Last Used", "settings.apiKeys.columnExpires": "Expires", "settings.apiKeys.columnTotalUses": "Total Uses", + "settings.apiKeys.never": "Never", "apiKey.expirationDate": "Expiration date", "apiKey.neverExpires": "This key never expires", "apiKey.expiry.1week": "1 week from today", @@ -691,6 +692,9 @@ "mainPage.newFlow": "New Flow", "mainPage.delete": "Delete", "mainPage.searchPlaceholder": "Search {{flowType}}...", + "mainPage.flowType.flows": "flows", + "mainPage.flowType.components": "components", + "mainPage.flowType.mcp": "MCP", "mainPage.editedAgo": "Edited {{time}} ago", "mainPage.timeElapsed.lessThanMinute": "less than a minute", "mainPage.timeElapsed.year_one": "{{count}} year", @@ -1578,8 +1582,11 @@ "common.langflowLogoDark": "Langflow Logo Dark", "common.userProfileAlt": "User", "common.optional": "optional", + "common.unnamed": "unnamed", "assistant.noModels": "No models configured", "assistant.welcomeText": "Here's how I can help", + "assistant.tryAssistant": "Try the new Langflow Assistant!", + "assistant.newPill": "New", "assistant.suggestion.build-agents": "Build agents and other components", "assistant.suggestion.answer-questions": "Answer questions about Langflow", "apiModal.uploadFilesStep": "Upload files to the server", @@ -1885,6 +1892,16 @@ "flowBuild.retry": "Retry", "flowBuild.dismiss": "Dismiss", "flowBuild.stop": "Stop", + "flowBuilderWelcome.title": "What do you want to build?", + "flowBuilderWelcome.titleNoProvider": "Let us set things up first", + "flowBuilderWelcome.textareaPlaceholder": "Describe your flow...", + "flowBuilderWelcome.sendLabel": "Send", + "flowBuilderWelcome.orTemplateLabel": "Or start from a template:", + "flowBuilderWelcome.simpleAgentLabel": "Simple Agent", + "flowBuilderWelcome.vectorStoreRagLabel": "Vector Store RAG", + "flowBuilderWelcome.browseMoreLabel": "Browse more...", + "flowBuilderWelcome.noProviderDescription": "Add a model provider to describe your flow with AI, or pick a template below to get going right away.", + "flowBuilderWelcome.configureModelProviders": "Configure Model Providers", "fileManager.typeNotSupported": "Type not supported by component", "assistant.componentReady": "Component ready", "assistant.working": "Working...", @@ -1982,5 +1999,66 @@ "deployments.noProviderSnapshot": "No provider snapshot was found for this flow on the selected deployment.", "flowBuild.runningNode": "Running {{id}}", "common.hide": "Hide", - "common.show": "Show" + "common.show": "Show", + "flow.defaultDescription.0": "Chain the Words, Master Language!", + "flow.defaultDescription.1": "Language Architect at Work!", + "flow.defaultDescription.2": "Empowering Language Engineering.", + "flow.defaultDescription.3": "Craft Language Connections Here.", + "flow.defaultDescription.4": "Create, Connect, Converse.", + "flow.defaultDescription.5": "Smart Chains, Smarter Conversations.", + "flow.defaultDescription.6": "Bridging Prompts for Brilliance.", + "flow.defaultDescription.7": "Language Models, Unleashed.", + "flow.defaultDescription.8": "Your Hub for Text Generation.", + "flow.defaultDescription.9": "Promptly Ingenious!", + "flow.defaultDescription.10": "Building Linguistic Labyrinths.", + "flow.defaultDescription.11": "Create, Chain, Communicate.", + "flow.defaultDescription.12": "Connect the Dots, Craft Language.", + "flow.defaultDescription.13": "Interactive Language Weaving.", + "flow.defaultDescription.14": "Generate, Innovate, Communicate.", + "flow.defaultDescription.15": "Conversation Catalyst Engine.", + "flow.defaultDescription.16": "Language Chainlink Master.", + "flow.defaultDescription.17": "Design Dialogues with Langflow.", + "flow.defaultDescription.18": "Nurture NLP Nodes Here.", + "flow.defaultDescription.19": "Conversational Cartography Unlocked.", + "flow.defaultDescription.20": "Design, Develop, Dialogize.", + "flow.defaultDescription.21": "Unleashing Linguistic Creativity.", + "flow.defaultDescription.22": "Graph Your Way to Great Conversations.", + "flow.defaultDescription.23": "The Power of Language at Your Fingertips.", + "flow.defaultDescription.24": "Sculpting Language with Precision.", + "flow.defaultDescription.25": "Where Language Meets Logic.", + "flow.defaultDescription.26": "Building Intelligent Interactions.", + "flow.defaultDescription.27": "Your Passport to Linguistic Landscapes.", + "flow.defaultDescription.28": "Create, Curate, Communicate with Langflow.", + "flow.defaultDescription.29": "Flow into the Future of Language.", + "flow.defaultDescription.30": "Mapping Meaningful Conversations.", + "flow.defaultDescription.31": "Unravel the Art of Articulation.", + "flow.defaultDescription.32": "Language Engineering Excellence.", + "flow.defaultDescription.33": "Navigate the Networks of Conversation.", + "flow.defaultDescription.34": "Crafting Conversations, One Node at a Time.", + "flow.defaultDescription.35": "The Pinnacle of Prompt Generation.", + "flow.defaultDescription.36": "Language Models, Mapped and Mastered.", + "flow.defaultDescription.37": "Powerful Prompts, Perfectly Positioned.", + "flow.defaultDescription.38": "Innovation in Interaction with Langflow.", + "flow.defaultDescription.39": "Your Toolkit for Text Generation.", + "flow.defaultDescription.40": "Unfolding Linguistic Possibilities.", + "flow.defaultDescription.41": "Building Powerful Solutions with Language Models.", + "flow.defaultDescription.42": "Uncover Business Opportunities with NLP.", + "flow.defaultDescription.43": "Harness the Power of Conversational AI.", + "flow.defaultDescription.44": "Transform Your Business with Smart Dialogues.", + "flow.defaultDescription.45": "Craft Meaningful Interactions, Generate Value.", + "flow.defaultDescription.46": "Unleashing Business Potential through Language Engineering.", + "flow.defaultDescription.47": "Empowering Enterprises with Intelligent Interactions.", + "flow.defaultDescription.48": "Driving Innovation in Business Communication.", + "flow.defaultDescription.49": "Catalyzing Business Growth through Conversational AI.", + "flow.defaultDescription.50": "Text Generation Meets Business Transformation.", + "flow.defaultDescription.51": "Navigate the Linguistic Landscape, Discover Opportunities.", + "flow.defaultDescription.52": "Create Powerful Connections, Boost Business Value.", + "flow.defaultDescription.53": "Empowering Communication, Enabling Opportunities.", + "flow.defaultDescription.54": "Advanced NLP for Groundbreaking Business Solutions.", + "flow.defaultDescription.55": "Innovation in Interaction, Revolution in Revenue.", + "flow.defaultDescription.56": "Maximize Impact with Intelligent Conversations.", + "flow.defaultDescription.57": "Beyond Text Generation - Unleashing Business Opportunities.", + "flow.defaultDescription.58": "Unlock the Power of AI in Your Business Conversations.", + "flow.defaultDescription.59": "Crafting Dialogues that Drive Business Success.", + "flow.defaultDescription.60": "Engineered for Excellence, Built for Business." } diff --git a/src/frontend/src/locales/es.json b/src/frontend/src/locales/es.json index 6315b566ba..212ebfc34d 100644 --- a/src/frontend/src/locales/es.json +++ b/src/frontend/src/locales/es.json @@ -69,6 +69,7 @@ "assistant.maxSessionsTooltip": "Se ha alcanzado el límite de sesiones de {{max}}. Elimina una sesión para crear una nueva.", "assistant.messageCounts": "{{count}} mensajes", "assistant.newConversation": "Nueva conversación", + "assistant.newPill": "Nuevo", "assistant.newSession": "Sesión nueva", "assistant.noModels": "No hay modelos configurados", "assistant.noModelsConfigured": "No hay ningún proveedor de modelos configurado", @@ -136,6 +137,7 @@ "assistant.thinking.6": "Un momento...", "assistant.thinking.7": "Ya casi estamos terminando...", "assistant.title": "Asistente de Langflow", + "assistant.tryAssistant": "¡Prueba el nuevo Langflow Asistente!", "assistant.user": "Usuario", "assistant.viewCode": "Ver código", "assistant.welcomeText": "Así es como puedo ayudarte", @@ -266,6 +268,7 @@ "common.optional": "opcional", "common.retry": "Reintento", "common.show": "Mostrar", + "common.unnamed": "sin nombre", "common.userProfileAlt": "Usuario", "component.openTable": "Mesa libre", "component.receivingInput": "Recibir información", @@ -300,6 +303,7 @@ "deleteModal.noteFolderContents": "y todos los flujos y componentes asociados", "deleteModal.noteMessageHistory": "y su historial de mensajes", "deleteModal.title": "Suprimir", + "deployments.actionsForDeployment": "Acciones para « {{name}} »", "deployments.addEnvironment": "Añadir entorno", "deployments.addFirstEnvironment": "Añade tu primer entorno para empezar a implementar tus flujos.", "deployments.addManuallyInConnection": "Añádelos manualmente en el formulario de conexión.", @@ -313,7 +317,6 @@ "deployments.agentNameFormatError": "El nombre del agente debe comenzar con una letra.", "deployments.agentTypeDescription": "Agente conversacional con interfaz de chat y función de llamada", "deployments.agentTypeLabel": "Agente", - "deployments.mcpTypeLabel": "Servidor MCP", "deployments.ariaDeploymentType": "Tipo de despliegue", "deployments.ariaExistingEnvironments": "Entornos existentes", "deployments.ariaSendMessage": "Enviar mensaje", @@ -330,7 +333,8 @@ "deployments.cancel": "Cancelar", "deployments.cancelButton": "Cancelar", "deployments.cannotAutoDetectEnvVars": "No se han podido detectar automáticamente las variables de entorno", - "deployments.changeFlow": "Cambiar flujo", + "deployments.changeFlow": "Flujo de cambios", + "deployments.chooseDeployedVersion": "Selecciona la versión implementada", "deployments.chooseExistingEnvironment": "Seleccionar un entorno existente", "deployments.chooseProviderDesc": "Elige un entorno de proveedor en el que realizar la implementación o crea una nueva implementación desde cero.", "deployments.chooseType": "Elegir tipo", @@ -360,22 +364,24 @@ "deployments.createNewDeploymentTitle": "Crear una nueva implementación", "deployments.createVersionFromDraftError": "No se ha podido crear la versión a partir del borrador", "deployments.current": "Actual", + "deployments.currentDeploymentTarget": "Objetivo de implementación actual", "deployments.delete": "Suprimir", "deployments.deleteDeploymentConfirm": "Elimina definitivamente la implementación {{name}} en Langflow y Watsonx Orchestrate.", "deployments.deploy": "Desplegar", "deployments.deployFromDraft": "Implementa este flujo creando una versión a partir del borrador actual", "deployments.deployed": "Desplegado", "deployments.deployedToDraft": "Publicado en {{providerName}} como borrador", + "deployments.deployedVersion": "Versión implementada", "deployments.deploying": "Desplegando...", "deployments.deployingDescription": "Se está preparando su implementación. Esto suele tardar unos segundos.", "deployments.deployingTitle": "Desplegando...", + "deployments.deployment": "virtual", "deployments.deploymentLabel": "virtual", "deployments.deploymentLive": "Tu implementación ya está activa y lista para usar.", "deployments.deploymentLiveNamed": "\"{{name}}\" ya está disponible y listo para usar.", "deployments.deploymentSuccessful": "La implementación se ha realizado correctamente", "deployments.deploymentType": "Tipo de despliegue", "deployments.deploymentTypeLabel": "{{type}} implementación", - "deployments.deployment": "Implementación", "deployments.deploymentsOnProvider": "Implementaciones en {{name}} para este flujo.", "deployments.descriptionLabel": "Descripción", "deployments.detachFlow": "Separar flujo", @@ -400,14 +406,15 @@ "deployments.failedToCreateProviderAccount": "No se ha podido crear la cuenta de proveedor", "deployments.failedToLoadDetails": "No se han podido cargar los detalles de la implementación", "deployments.failedToLoadFlows": "No se han podido cargar los flujos adjuntos", + "deployments.failedToPrepareDeployment": "No se ha podido preparar la implementación", "deployments.failedToUpdate": "No se ha podido actualizar la implementación", "deployments.failedToUpdateDeployment": "No se ha podido actualizar la implementación", - "deployments.failedToPrepareDeployment": "No se ha podido preparar la implementación", "deployments.failedToUpdateEnvironment": "No se ha podido actualizar el entorno", "deployments.fieldApiKey": "Clave de API", "deployments.fieldName": "Nombre", "deployments.fieldServiceInstanceUrl": "URL de la instancia de servicio", "deployments.flow": "flujo", + "deployments.flowVersion": "Versión de Flow", "deployments.flows": "flujos", "deployments.globalVariables": "Variables globales", "deployments.hideApiKey": "Ocultar clave API", @@ -425,12 +432,15 @@ "deployments.loadingModels": "Cargando modelos...", "deployments.loadingVersions": "Cargando versiones...", "deployments.manyVersions": "{{count}} versiones", + "deployments.mcpTypeLabel": "MCP", + "deployments.nameRequired": "Es necesario el nombre.", "deployments.new": "Nuevo", "deployments.newConnections": "Conexiones nuevas", "deployments.newDeployment": "Nuevo despliegue", "deployments.newDeploymentOnProvider": "Nueva implementación en {{name}}", "deployments.newEnvironment": "Nuevo entorno", "deployments.next": "Siguiente", + "deployments.noChangesToSave": "No hay cambios que guardar", "deployments.noConnectionsDescription": "Crea una conexión para asociar credenciales a este flujo.", "deployments.noConnectionsMatch": "No se han encontrado resultados para « \"{{query}}\" »", "deployments.noConnectionsYet": "Aún no hay conexiones", @@ -457,16 +467,16 @@ "deployments.removed": "Eliminado", "deployments.removedCount": "{{count}} eliminado", "deployments.removing": "eliminación", + "deployments.replaceVersionNotice": "Estás a punto de sustituir la dirección {{current}}, que ya está en funcionamiento, por la nueva {{next}}.", + "deployments.replaceVersionWithVersion": "Sustituye {{current}} por {{next}}", "deployments.review": "Revisar", "deployments.reviewAndConfirm": "Revisar y confirmar", "deployments.reviewDetails": "Revisa los detalles de la implementación antes de crearla.", "deployments.reviewUpdate": "Actualización de la reseña", - "deployments.reviewUpdateDescription": "Revisa qué versión implementada se actualizará.", - "deployments.chooseDeployedVersion": "Elegir versión implementada", - "deployments.selectDeployedToolToReplace": "Selecciona qué herramienta implementada reemplazar", - "deployments.willBeReplaced": "Se reemplazará", + "deployments.reviewUpdateDescription": "Comprueba qué versión implementada se va a actualizar.", "deployments.saveButton": "Guardar", "deployments.saving": "Guardando...", + "deployments.selectDeployedToolToReplace": "Selecciona qué herramienta implementada deseas sustituir", "deployments.selectDeployment": "Seleccionar despliegue", "deployments.selectDeploymentDescription": "Selecciona una implementación para actualizarla o crea una nueva.", "deployments.selectFlow": "Selecciona un flujo para ver las versiones", @@ -475,8 +485,12 @@ "deployments.selectOrCreateConnection": "Seleccionar o crear una nueva conexión", "deployments.selectProvider": "Seleccionar proveedor", "deployments.selectVersion": "Selecciona una versión para adjuntarla a esta implementación", + "deployments.selectVersionToReplace": "Selecciona la versión que deseas sustituir", + "deployments.selectedDeployedVersionWillUpdate": "La versión implementada seleccionada se actualizará a la versión actual: {{next}}.", + "deployments.selectedTarget": "Objetivo seleccionado", "deployments.setupNewDeployment": "Configurar una nueva implementación desde cero", "deployments.showApiKey": "Mostrar clave API", + "deployments.singleAttachmentTarget": "Solo hay disponible una versión implementada para la sustitución", "deployments.skip": "Omitir", "deployments.stepFlows": "Flujos", "deployments.stepOf": "Paso {{current}} de {{total}}", @@ -494,17 +508,7 @@ "deployments.updateAction": "Actualizar", "deployments.updateButton": "Actualizar", "deployments.updateDeployment": "Actualización de la implementación", - "deployments.updateDeploymentDescription": "Elige qué versión desplegada del flujo debe reemplazarse por la versión actual del flujo.", - "deployments.selectedTarget": "Destino seleccionado", - "deployments.flowVersion": "Versión del flujo", - "deployments.replaceVersionNotice": "Estás a punto de reemplazar la versión desplegada {{current}} por la versión actual del flujo {{next}}.", - "deployments.selectVersionToReplace": "Selecciona la versión que se reemplazará", - "deployments.selectedDeployedVersionWillUpdate": "La versión desplegada seleccionada se actualizará a la versión actual del flujo {{next}}.", - "deployments.currentDeploymentTarget": "Destino actual de la implementación", - "deployments.deployedVersion": "Versión desplegada", - "deployments.willBeReplacedByVersion": "Será reemplazada por {{next}}", - "deployments.replaceVersionWithVersion": "Reemplazar {{current}} por {{next}}", - "deployments.singleAttachmentTarget": "Solo hay una versión desplegada disponible para reemplazar", + "deployments.updateDeploymentDescription": "Selecciona qué versión del flujo implementada debe sustituirse por la versión actual del flujo.", "deployments.updatedDesc": "\"{{name}}\" se ha actualizado.", "deployments.updatedTitle": "Actualización de la implementación", "deployments.updating": "Actualizando...", @@ -513,6 +517,8 @@ "deployments.variablesAutoDetected_one": "{{count}} variable detectada automáticamente a partir de la versión de flujo seleccionada.", "deployments.variablesAutoDetected_other": "{{count}} variables detectadas automáticamente a partir de la versión del flujo seleccionada.", "deployments.versionCreated": "Creado: {{date}}", + "deployments.willBeReplaced": "Se sustituirá", + "deployments.willBeReplacedByVersion": "Será sustituido por {{next}}", "deployments.wxoAlreadyHaveAccount": "¿Ya tienes una cuenta?", "deployments.wxoConfigureCredentials": "Configura a continuación tus credenciales de watsonx Orchestrate. ¿Eres nuevo en wxO??", "deployments.wxoFindCredentials": "Busca tus credenciales", @@ -588,7 +594,6 @@ "errors.failedToExportVersion": "Error al exportar la versión", "errors.failedToFetchRunStatus": "No se ha podido obtener el estado de la ejecución", "errors.failedToLoadDeployment": "No se han podido cargar los detalles de la implementación", - "errors.noProviderSnapshotFoundOnSelectedDeployment": "No se encontró ninguna instantánea del proveedor para este flujo en la implementación seleccionada.", "errors.failedToLoadModels": "No se han podido cargar los modelos", "errors.failedToRestoreVersion": "No se ha podido restaurar la versión", "errors.failedToSaveFlow": "No se ha podido guardar el flujo", @@ -614,6 +619,7 @@ "errors.noItemsSelected": "No hay artículos seleccionados", "errors.noKeyCombinationRecorded": "No hay ninguna combinación de teclas registrada.", "errors.noModelsToRefresh": "No hay componentes del modelo que actualizar", + "errors.noProviderSnapshotFoundOnSelectedDeployment": "No se ha encontrado ninguna instantánea del proveedor para este flujo en la implementación seleccionada.", "errors.noResponseBody": "No hay cuerpo de respuesta", "errors.parameterNotFound": "Parámetro no encontrado en la plantilla", "errors.passwordMismatch": "Las contraseñas no coinciden", @@ -708,6 +714,67 @@ "flow.buildStatus": "Compilar para comprobar el estado.", "flow.buildSuccess": "Creado con éxito ✨", "flow.characterLimitReached": "Se ha alcanzado el límite de caracteres", + "flow.defaultDescription.0": "¡Une las palabras, domina el idioma!", + "flow.defaultDescription.1": "¡Un arquitecto lingüístico en acción!", + "flow.defaultDescription.10": "Construyendo laberintos lingüísticos.", + "flow.defaultDescription.11": "Crear, conectar, comunicar.", + "flow.defaultDescription.12": "Une los puntos, crea lenguaje.", + "flow.defaultDescription.13": "Tejido lingüístico interactivo.", + "flow.defaultDescription.14": "Crear, innovar, comunicar.", + "flow.defaultDescription.15": "Motor de dinamización de conversaciones.", + "flow.defaultDescription.16": "Idioma: Chainlink Master.", + "flow.defaultDescription.17": "Diálogos sobre diseño con Langflow.", + "flow.defaultDescription.18": "Desarrolla aquí los nodos de PNL.", + "flow.defaultDescription.19": "La cartografía conversacional al alcance de todos.", + "flow.defaultDescription.2": "Impulsando la ingeniería lingüística.", + "flow.defaultDescription.20": "Diseñar, desarrollar, dialogar.", + "flow.defaultDescription.21": "Dando rienda suelta a la creatividad lingüística.", + "flow.defaultDescription.22": "Crea gráficos para entablar conversaciones interesantes.", + "flow.defaultDescription.23": "El poder del lenguaje al alcance de tu mano.", + "flow.defaultDescription.24": "Esculpiendo el lenguaje con precisión.", + "flow.defaultDescription.25": "Donde el lenguaje se une a la lógica.", + "flow.defaultDescription.26": "Creando interacciones inteligentes.", + "flow.defaultDescription.27": "Tu pasaporte a los paisajes lingüísticos.", + "flow.defaultDescription.28": "Crea, selecciona y comunica con Langflow.", + "flow.defaultDescription.29": "Sumérgete en el futuro de los idiomas.", + "flow.defaultDescription.3": "Crea aquí conexiones lingüísticas.", + "flow.defaultDescription.30": "Trazar un mapa de conversaciones significativas.", + "flow.defaultDescription.31": "Descubre el arte de la articulación.", + "flow.defaultDescription.32": "Excelencia en ingeniería lingüística.", + "flow.defaultDescription.33": "Navega por las redes de conversación.", + "flow.defaultDescription.34": "Creando conversaciones, paso a paso.", + "flow.defaultDescription.35": "Lo último en generación de respuestas.", + "flow.defaultDescription.36": "Modelos lingüísticos: analizados y dominados.", + "flow.defaultDescription.37": "Mensajes impactantes, perfectamente situados.", + "flow.defaultDescription.38": "Innovación en la interacción con Langflow.", + "flow.defaultDescription.39": "Tu kit de herramientas para la generación de texto.", + "flow.defaultDescription.4": "Crear, conectar, conversar.", + "flow.defaultDescription.40": "Explorando las posibilidades lingüísticas.", + "flow.defaultDescription.41": "Creación de soluciones potentes con modelos de lenguaje.", + "flow.defaultDescription.42": "Descubre oportunidades de negocio con el PLN.", + "flow.defaultDescription.43": "Aprovecha todo el potencial de Conversational AI.", + "flow.defaultDescription.44": "Transforma tu negocio con Smart Dialogues.", + "flow.defaultDescription.45": "Crea interacciones significativas, genera valor.", + "flow.defaultDescription.46": "Potenciar el potencial empresarial mediante la ingeniería lingüística.", + "flow.defaultDescription.47": "Potenciamos a las empresas mediante interacciones inteligentes.", + "flow.defaultDescription.48": "Impulsando la innovación en la comunicación empresarial.", + "flow.defaultDescription.49": "Impulsar el crecimiento empresarial a través de Conversational AI.", + "flow.defaultDescription.5": "Cadenas inteligentes, conversaciones aún más inteligentes.", + "flow.defaultDescription.50": "La generación de texto se une a la transformación empresarial.", + "flow.defaultDescription.51": "Explora el panorama lingüístico, descubre nuevas oportunidades.", + "flow.defaultDescription.52": "Crea vínculos sólidos, potencia el valor de tu negocio.", + "flow.defaultDescription.53": "Fomentando la comunicación, creando oportunidades.", + "flow.defaultDescription.54": "PNL avanzada para un « Business Solutions » revolucionario.", + "flow.defaultDescription.55": "Innovación en la interacción, revolución en los ingresos.", + "flow.defaultDescription.56": "Maximiza el impacto con conversaciones inteligentes.", + "flow.defaultDescription.57": "Más allá de la generación de texto: nuevas oportunidades de negocio.", + "flow.defaultDescription.58": "Aprovecha todo el potencial de la IA en tus conversaciones de negocios.", + "flow.defaultDescription.59": "Creamos diálogos que impulsan el éxito empresarial.", + "flow.defaultDescription.6": "Ideas para dar rienda suelta a la creatividad.", + "flow.defaultDescription.60": "Diseñado para la excelencia, creado para los negocios.", + "flow.defaultDescription.7": "Modelos de lenguaje: todo su potencial.", + "flow.defaultDescription.8": "Tu centro de referencia para la generación de textos.", + "flow.defaultDescription.9": "¡Ingenioso y rápido!", "flow.defaultName": "Nuevo flujo", "flow.deletedSuccessfully": "Los elementos seleccionados se han eliminado correctamente", "flow.descriptionLabel": "Descripción", @@ -764,6 +831,16 @@ "flowBuild.runningFlow": "Ejecutando flujo", "flowBuild.runningNode": "Ejecutando « {{id}} »", "flowBuild.stop": "Detener", + "flowBuilderWelcome.browseMoreLabel": "Ver más...", + "flowBuilderWelcome.configureModelProviders": "Configurar proveedores de modelos", + "flowBuilderWelcome.noProviderDescription": "Añade un proveedor de modelos para describir tu flujo con IA, o elige una de las plantillas que aparecen a continuación para empezar de inmediato.", + "flowBuilderWelcome.orTemplateLabel": "O empieza con una plantilla:", + "flowBuilderWelcome.sendLabel": "Enviar", + "flowBuilderWelcome.simpleAgentLabel": "Agente simple", + "flowBuilderWelcome.textareaPlaceholder": "Describe tu proceso...", + "flowBuilderWelcome.title": "¿Qué quieres construir?", + "flowBuilderWelcome.titleNoProvider": "Empecemos por prepararlo todo", + "flowBuilderWelcome.vectorStoreRagLabel": "Almacén vectorial RAG", "flowVersion.captureStateDescription": "Guardar el estado actual como punto de restauración", "flowVersion.currentLabel": "Actual", "flowVersion.dataCannotBeRendered": "No se han podido mostrar los datos de esta versión en la vista previa", @@ -1040,6 +1117,9 @@ "loading.loading": "Cargando...", "mainPage.delete": "Suprimir", "mainPage.editedAgo": "Editado hace un {{time}}", + "mainPage.flowType.components": "componentes", + "mainPage.flowType.flows": "flujos", + "mainPage.flowType.mcp": "MCP", "mainPage.flowsDeletedSuccess": "Los flujos se han eliminado correctamente", "mainPage.flowsDownloadedSuccess": "Los flujos se han descargado correctamente", "mainPage.mcpServer": "Servidor MCP", @@ -1081,8 +1161,6 @@ "mcp.modal.descriptionFlow": "Añadir y guardar servidores MCP. Gestionar servidores en", "mcp.modal.descriptionFlowLink": "configuración", "mcp.modal.descriptionSettings": "Añade y guarda servidores MCP para utilizarlos en todos tus flujos.", - "mcp.modal.lockedTitle": "La gestión de servidores MCP está bloqueada", - "mcp.modal.lockedDescription": "Contacta con un administrador para gestionar servidores MCP externos.", "mcp.modal.errorDuplicateEnvKeys": "Se han encontrado claves duplicadas en las variables de entorno.", "mcp.modal.errorDuplicateHeaders": "Se han encontrado claves duplicadas en los encabezados.", "mcp.modal.errorFailedAdd": "No se ha podido añadir el servidor MCP.", @@ -1098,6 +1176,8 @@ "mcp.modal.fieldStreamableUrl": "Streamable HTTP /SSE URL", "mcp.modal.jsonPlaceholder": "Pega la configuración JSON para añadir el servidor", "mcp.modal.jsonTabLabel": "Pega la configuración JSON", + "mcp.modal.lockedDescription": "Póngase en contacto con un administrador para gestionar servidores MCP externos.", + "mcp.modal.lockedTitle": "La gestión del servidor MCP está bloqueada", "mcp.modal.placeholderArgument": "Escribe un argumento...", "mcp.modal.placeholderCommand": "Escribe el comando...", "mcp.modal.placeholderHttpName": "Nombre", @@ -1496,6 +1576,7 @@ "settings.apiKeys.columnLastUsed": "Utilizado por última vez", "settings.apiKeys.columnName": "Nombre", "settings.apiKeys.columnTotalUses": "Total de usos", + "settings.apiKeys.never": "Nunca", "settings.apiKeysTitle": "Claves API de Langflow", "settings.apiPageParagraph": "A continuación se muestran tus claves API secretas de Langflow. No compartas tu clave API con otras personas ni la expongas en el navegador o en otro código del lado del cliente.", "settings.confirmPasswordPlaceholder": "Confirmar contraseña", diff --git a/src/frontend/src/locales/fr.json b/src/frontend/src/locales/fr.json index 3b0a5978c9..bf3fdacbc1 100644 --- a/src/frontend/src/locales/fr.json +++ b/src/frontend/src/locales/fr.json @@ -69,6 +69,7 @@ "assistant.maxSessionsTooltip": "Le nombre maximal de sessions d' {{max}} s a été atteint. Supprimez une session pour en créer une nouvelle.", "assistant.messageCounts": "{{count}} messages", "assistant.newConversation": "Nouvelle conversation", + "assistant.newPill": "Nouveau", "assistant.newSession": "Nouvelle session", "assistant.noModels": "Aucun modèle configuré", "assistant.noModelsConfigured": "Aucun fournisseur de modèles n'est configuré", @@ -136,6 +137,7 @@ "assistant.thinking.6": "Un instant...", "assistant.thinking.7": "L'opération est presque terminée...", "assistant.title": "Assistant Langflow", + "assistant.tryAssistant": "Essayez le nouvel assistant Langflow!", "assistant.user": "Utilisateur", "assistant.viewCode": "Afficher le code", "assistant.welcomeText": "Voici comment je peux vous aider", @@ -266,6 +268,7 @@ "common.optional": "facultatif", "common.retry": "Réessayer", "common.show": "Afficher", + "common.unnamed": "sans nom", "common.userProfileAlt": "Utilisateur", "component.openTable": "Table ouverte", "component.receivingInput": "Recevoir des informations", @@ -300,6 +303,7 @@ "deleteModal.noteFolderContents": "ainsi que tous les flux et composants associés", "deleteModal.noteMessageHistory": "et l'historique de ses messages", "deleteModal.title": "Supprimer", + "deployments.actionsForDeployment": "Actions pour l' {{name}}", "deployments.addEnvironment": "Ajouter un environnement", "deployments.addFirstEnvironment": "Ajoutez votre premier environnement pour commencer à déployer vos flux.", "deployments.addManuallyInConnection": "Ajoutez-les manuellement dans le formulaire de connexion.", @@ -313,7 +317,6 @@ "deployments.agentNameFormatError": "Le nom de l'agent doit commencer par une lettre.", "deployments.agentTypeDescription": "Agent conversationnel doté d'une interface de chat et d'une fonctionnalité d'appel d'outils", "deployments.agentTypeLabel": "Agent", - "deployments.mcpTypeLabel": "Serveur MCP", "deployments.ariaDeploymentType": "Type de déploiement", "deployments.ariaExistingEnvironments": "Environnements existants", "deployments.ariaSendMessage": "Envoyer un message", @@ -331,6 +334,7 @@ "deployments.cancelButton": "Annuler", "deployments.cannotAutoDetectEnvVars": "Impossible de détecter automatiquement les variables d'environnement", "deployments.changeFlow": "Modifier le flux", + "deployments.chooseDeployedVersion": "Choisissez la version déployée", "deployments.chooseExistingEnvironment": "Choisir un environnement existant", "deployments.chooseProviderDesc": "Choisissez un environnement de fournisseur dans lequel effectuer le déploiement, ou créez un nouveau déploiement à partir de zéro.", "deployments.chooseType": "Sélectionnez le type", @@ -360,22 +364,24 @@ "deployments.createNewDeploymentTitle": "Créer un nouveau déploiement", "deployments.createVersionFromDraftError": "Impossible de créer une version à partir du brouillon", "deployments.current": "En cours", + "deployments.currentDeploymentTarget": "Objectif de déploiement actuel", "deployments.delete": "Supprimer", "deployments.deleteDeploymentConfirm": "Supprimez définitivement l' {{name}} de déploiement dans Langflow et Watsonx Orchestrate.", "deployments.deploy": "Déployer", "deployments.deployFromDraft": "Déployez ce flux en créant une version à partir du brouillon actuel", "deployments.deployed": "Déployé", "deployments.deployedToDraft": "Publié sur {{providerName}} en version préliminaire", + "deployments.deployedVersion": "Version déployée", "deployments.deploying": "Déploiement en cours...", "deployments.deployingDescription": "Votre déploiement est en cours de configuration. Cela ne prend généralement que quelques secondes.", "deployments.deployingTitle": "Déploiement en cours...", + "deployments.deployment": "Déploiement", "deployments.deploymentLabel": "Déploiement", "deployments.deploymentLive": "Votre déploiement est opérationnel et prêt à l'emploi.", "deployments.deploymentLiveNamed": "\"{{name}}\" est en ligne et prêt à l'emploi.", "deployments.deploymentSuccessful": "Déploiement réussi", "deployments.deploymentType": "Type de déploiement", "deployments.deploymentTypeLabel": "{{type}} déploiement", - "deployments.deployment": "Déploiement", "deployments.deploymentsOnProvider": "Déploiements sur {{name}} pour ce flux.", "deployments.descriptionLabel": "Descriptif", "deployments.detachFlow": "Déconnecter le flux", @@ -400,14 +406,15 @@ "deployments.failedToCreateProviderAccount": "Échec de la création du compte fournisseur", "deployments.failedToLoadDetails": "Impossible de charger les détails du déploiement", "deployments.failedToLoadFlows": "Échec du chargement des flux joints", + "deployments.failedToPrepareDeployment": "Échec de la préparation du déploiement", "deployments.failedToUpdate": "Échec de la mise à jour du déploiement", "deployments.failedToUpdateDeployment": "Échec de la mise à jour du déploiement", - "deployments.failedToPrepareDeployment": "Échec de la préparation du déploiement", "deployments.failedToUpdateEnvironment": "Échec de la mise à jour de l'environnement", "deployments.fieldApiKey": "Clé d'API", "deployments.fieldName": "Nom", "deployments.fieldServiceInstanceUrl": "URL de l'instance de service", "deployments.flow": "flux", + "deployments.flowVersion": "Version Flow", "deployments.flows": "flux", "deployments.globalVariables": "Variables globales", "deployments.hideApiKey": "Masquer la clé API", @@ -425,12 +432,15 @@ "deployments.loadingModels": "Chargement des modèles...", "deployments.loadingVersions": "Chargement des versions...", "deployments.manyVersions": "{{count}} versions", + "deployments.mcpTypeLabel": "MCP", + "deployments.nameRequired": "Le nom est obligatoire.", "deployments.new": "Nouveau", "deployments.newConnections": "Nouvelles connexions", "deployments.newDeployment": "Nouveau déploiement", "deployments.newDeploymentOnProvider": "Nouveau déploiement sur {{name}}", "deployments.newEnvironment": "Nouvel environnement", "deployments.next": "Suivant", + "deployments.noChangesToSave": "Aucune modification à enregistrer", "deployments.noConnectionsDescription": "Créez une connexion pour associer des identifiants à ce flux.", "deployments.noConnectionsMatch": "Aucun résultat ne correspond à « \"{{query}}\" »", "deployments.noConnectionsYet": "Aucune connexion pour l'instant", @@ -457,16 +467,16 @@ "deployments.removed": "Supprimé", "deployments.removedCount": "{{count}} supprimé", "deployments.removing": "suppression", + "deployments.replaceVersionNotice": "Vous êtes sur le point de remplacer l' {{current}} déjà déployée par la version actuelle {{next}}.", + "deployments.replaceVersionWithVersion": "Remplacez {{current}} par {{next}}", "deployments.review": "Réviser", "deployments.reviewAndConfirm": "Vérifier et confirmer", "deployments.reviewDetails": "Vérifiez les détails de votre déploiement avant de le créer.", "deployments.reviewUpdate": "Mise à jour de l'avis", "deployments.reviewUpdateDescription": "Vérifiez quelle version déployée sera mise à jour.", - "deployments.chooseDeployedVersion": "Choisir la version déployée", - "deployments.selectDeployedToolToReplace": "Sélectionnez l’outil déployé à remplacer", - "deployments.willBeReplaced": "Sera remplacé", "deployments.saveButton": "Sauvegarder", "deployments.saving": "Sauvegarde en cours...", + "deployments.selectDeployedToolToReplace": "Sélectionnez l'outil déployé à remplacer", "deployments.selectDeployment": "Sélectionner un déploiement", "deployments.selectDeploymentDescription": "Sélectionnez un déploiement à mettre à jour ou créez-en un nouveau.", "deployments.selectFlow": "Sélectionnez un flux pour afficher les versions", @@ -475,8 +485,12 @@ "deployments.selectOrCreateConnection": "Sélectionner ou créer une nouvelle connexion", "deployments.selectProvider": "Sélectionner un fournisseur", "deployments.selectVersion": "Sélectionnez une version à associer à ce déploiement", + "deployments.selectVersionToReplace": "Sélectionnez la version à remplacer", + "deployments.selectedDeployedVersionWillUpdate": "La version déployée sélectionnée sera mise à jour avec la dernière version d' {{next}}.", + "deployments.selectedTarget": "Cible sélectionnée", "deployments.setupNewDeployment": "Configurer un nouveau déploiement à partir de zéro", "deployments.showApiKey": "Afficher la clé API", + "deployments.singleAttachmentTarget": "Seule la version déployée est disponible pour le remplacement", "deployments.skip": "Sauter", "deployments.stepFlows": "Flux", "deployments.stepOf": "Étape {{current}} de {{total}}", @@ -494,17 +508,7 @@ "deployments.updateAction": "Mettre à jour", "deployments.updateButton": "Mettre à jour", "deployments.updateDeployment": "Déploiement de la mise à jour", - "deployments.updateDeploymentDescription": "Choisissez la version déployée du flux qui doit être remplacée par la version actuelle du flux.", - "deployments.selectedTarget": "Cible sélectionnée", - "deployments.flowVersion": "Version du flux", - "deployments.replaceVersionNotice": "Vous êtes sur le point de remplacer la version déployée {{current}} par la version actuelle du flux {{next}}.", - "deployments.selectVersionToReplace": "Sélectionnez la version à remplacer", - "deployments.selectedDeployedVersionWillUpdate": "La version déployée sélectionnée sera mise à jour vers la version actuelle du flux {{next}}.", - "deployments.currentDeploymentTarget": "Cible actuelle du déploiement", - "deployments.deployedVersion": "Version déployée", - "deployments.willBeReplacedByVersion": "Sera remplacée par {{next}}", - "deployments.replaceVersionWithVersion": "Remplacer {{current}} par {{next}}", - "deployments.singleAttachmentTarget": "Une seule version déployée est disponible pour le remplacement", + "deployments.updateDeploymentDescription": "Sélectionnez la version du flux déjà déployée que vous souhaitez remplacer par la version actuelle.", "deployments.updatedDesc": "\"{{name}}\" a été mis à jour.", "deployments.updatedTitle": "Mise à jour du déploiement", "deployments.updating": "Mise à jour en cours...", @@ -513,6 +517,8 @@ "deployments.variablesAutoDetected_one": "{{count}} variable détectée automatiquement à partir de la version du flux sélectionnée.", "deployments.variablesAutoDetected_other": "{{count}} variables détectées automatiquement à partir de la version du flux sélectionnée.", "deployments.versionCreated": "Date de création : {{date}}", + "deployments.willBeReplaced": "Sera remplacé", + "deployments.willBeReplacedByVersion": "Sera remplacé par {{next}}", "deployments.wxoAlreadyHaveAccount": "Vous avez déjà un compte?", "deployments.wxoConfigureCredentials": "Configurez ci-dessous vos identifiants pour watsonx Orchestrate. Vous découvrez wxO??", "deployments.wxoFindCredentials": "Retrouvez vos identifiants", @@ -588,7 +594,6 @@ "errors.failedToExportVersion": "Échec de l'exportation de la version", "errors.failedToFetchRunStatus": "Impossible de récupérer l'état d'exécution", "errors.failedToLoadDeployment": "Échec du chargement des détails du déploiement", - "errors.noProviderSnapshotFoundOnSelectedDeployment": "Aucun instantané de fournisseur n’a été trouvé pour ce flux dans le déploiement sélectionné.", "errors.failedToLoadModels": "Échec du chargement des modèles", "errors.failedToRestoreVersion": "Échec de la restauration de la version", "errors.failedToSaveFlow": "Échec de l'enregistrement du flux", @@ -614,6 +619,7 @@ "errors.noItemsSelected": "Aucun article sélectionné", "errors.noKeyCombinationRecorded": "Aucune combinaison de touches n'a été enregistrée.", "errors.noModelsToRefresh": "Aucun composant du modèle à actualiser", + "errors.noProviderSnapshotFoundOnSelectedDeployment": "Aucun instantané de fournisseur n'a été trouvé pour ce flux dans le déploiement sélectionné.", "errors.noResponseBody": "Pas de corps de réponse", "errors.parameterNotFound": "Paramètre introuvable dans le modèle", "errors.passwordMismatch": "Les mots de passe ne correspondent pas", @@ -708,6 +714,67 @@ "flow.buildStatus": "Compiler pour vérifier l'état.", "flow.buildSuccess": "Réussite ✨", "flow.characterLimitReached": "Limite de caractères atteinte", + "flow.defaultDescription.0": "Enchaîne les mots, maîtrise la langue!", + "flow.defaultDescription.1": "Un architecte linguistique à l'œuvre!", + "flow.defaultDescription.10": "Construire des labyrinthes linguistiques.", + "flow.defaultDescription.11": "Créer, relier, communiquer.", + "flow.defaultDescription.12": "Relier les points, façonner le langage.", + "flow.defaultDescription.13": "Tissage interactif de langues.", + "flow.defaultDescription.14": "Créer, innover, communiquer.", + "flow.defaultDescription.15": "Moteur de stimulation de la conversation.", + "flow.defaultDescription.16": "Maître de la chaîne linguistique.", + "flow.defaultDescription.17": "Dialogues sur le design avec Langflow.", + "flow.defaultDescription.18": "Développez vos compétences en PNL ici.", + "flow.defaultDescription.19": "La cartographie conversationnelle dévoilée.", + "flow.defaultDescription.2": "Faire progresser l'ingénierie linguistique.", + "flow.defaultDescription.20": "Concevoir, développer, dialoguer.", + "flow.defaultDescription.21": "Libérer la créativité linguistique.", + "flow.defaultDescription.22": "Créez des graphiques pour animer vos conversations.", + "flow.defaultDescription.23": "Le pouvoir des mots à portée de main.", + "flow.defaultDescription.24": "Façonner la langue avec précision.", + "flow.defaultDescription.25": "Quand le langage rencontre la logique.", + "flow.defaultDescription.26": "Construire des interactions intelligentes.", + "flow.defaultDescription.27": "Votre passeport pour les paysages linguistiques.", + "flow.defaultDescription.28": "Créez, organisez et communiquez avec Langflow.", + "flow.defaultDescription.29": "Plongez dans l'avenir des langues.", + "flow.defaultDescription.3": "Créez ici des liens linguistiques.", + "flow.defaultDescription.30": "Cartographier les conversations enrichissantes.", + "flow.defaultDescription.31": "Découvrez l'art de l'articulation.", + "flow.defaultDescription.32": "L'excellence en ingénierie linguistique.", + "flow.defaultDescription.33": "Explorez les réseaux de conversation.", + "flow.defaultDescription.34": "Tisser des liens, pas à pas.", + "flow.defaultDescription.35": "Le summum de la génération instantanée.", + "flow.defaultDescription.36": "Modèles linguistiques : cartographiés et maîtrisés.", + "flow.defaultDescription.37": "Des messages percutants, parfaitement placés.", + "flow.defaultDescription.38": "L'innovation au service de l'interaction avec Langflow.", + "flow.defaultDescription.39": "Votre boîte à outils pour la génération de texte.", + "flow.defaultDescription.4": "Créer, se connecter, échanger.", + "flow.defaultDescription.40": "Explorer les possibilités linguistiques.", + "flow.defaultDescription.41": "Développer des solutions performantes grâce aux modèles linguistiques.", + "flow.defaultDescription.42": "Découvrez de nouvelles opportunités commerciales grâce à la PNL.", + "flow.defaultDescription.43": "Exploitez toute la puissance d' Conversational AI", + "flow.defaultDescription.44": "Transformez votre entreprise grâce aux dialogues intelligents.", + "flow.defaultDescription.45": "Créez des interactions enrichissantes, générez de la valeur.", + "flow.defaultDescription.46": "Libérer le potentiel des entreprises grâce à l'ingénierie linguistique.", + "flow.defaultDescription.47": "Donner les moyens aux entreprises grâce à des interactions intelligentes.", + "flow.defaultDescription.48": "Faire progresser l'innovation dans la communication d'entreprise.", + "flow.defaultDescription.49": "Stimuler la croissance des entreprises grâce à l' Conversational AI", + "flow.defaultDescription.5": "Des chaînes intelligentes, des conversations encore plus intelligentes.", + "flow.defaultDescription.50": "La génération de texte au service de la transformation des entreprises.", + "flow.defaultDescription.51": "Explorez le paysage linguistique, découvrez de nouvelles opportunités.", + "flow.defaultDescription.52": "Créez des liens solides, renforcez la valeur de votre entreprise.", + "flow.defaultDescription.53": "Renforcer la communication, créer des opportunités.", + "flow.defaultDescription.54": "PNL avancée pour une « Business Solutions » révolutionnaire.", + "flow.defaultDescription.55": "Innovation dans l'interaction, révolution dans les revenus.", + "flow.defaultDescription.56": "Optimisez votre impact grâce à des conversations intelligentes.", + "flow.defaultDescription.57": "Au-delà de la génération de texte : exploiter de nouvelles opportunités commerciales.", + "flow.defaultDescription.58": "Libérez le potentiel de l'IA dans vos échanges professionnels.", + "flow.defaultDescription.59": "Concevoir des dialogues qui favorisent la réussite commerciale.", + "flow.defaultDescription.6": "Des suggestions pour stimuler la créativité.", + "flow.defaultDescription.60": "Conçu pour l'excellence, pensé pour les entreprises.", + "flow.defaultDescription.7": "Les modèles linguistiques : tout leur potentiel.", + "flow.defaultDescription.8": "Votre plateforme dédiée à la génération de texte.", + "flow.defaultDescription.9": "Une idée géniale, et ça en un clin d'œil!", "flow.defaultName": "Nouveau flux", "flow.deletedSuccessfully": "Les éléments sélectionnés ont été supprimés avec succès", "flow.descriptionLabel": "Descriptif", @@ -764,6 +831,16 @@ "flowBuild.runningFlow": "Flux en cours d'exécution", "flowBuild.runningNode": "Course d' {{id}}", "flowBuild.stop": "Arrêter", + "flowBuilderWelcome.browseMoreLabel": "En savoir plus...", + "flowBuilderWelcome.configureModelProviders": "Configurer les fournisseurs de modèles", + "flowBuilderWelcome.noProviderDescription": "Ajoutez un fournisseur de modèles pour décrire votre flux à l'aide de l'IA, ou choisissez un modèle ci-dessous pour vous lancer immédiatement.", + "flowBuilderWelcome.orTemplateLabel": "Ou partez d'un modèle :", + "flowBuilderWelcome.sendLabel": "Envoyer", + "flowBuilderWelcome.simpleAgentLabel": "Agent simple", + "flowBuilderWelcome.textareaPlaceholder": "Décrivez votre processus...", + "flowBuilderWelcome.title": "Qu'est-ce que tu veux construire?", + "flowBuilderWelcome.titleNoProvider": "Commençons par mettre les choses en place", + "flowBuilderWelcome.vectorStoreRagLabel": "Magasin de vecteurs RAG", "flowVersion.captureStateDescription": "Enregistrer l'état actuel comme point de restauration", "flowVersion.currentLabel": "En cours", "flowVersion.dataCannotBeRendered": "Les données de cette version n'ont pas pu être affichées en aperçu", @@ -1040,6 +1117,9 @@ "loading.loading": "Chargement en cours...", "mainPage.delete": "Supprimer", "mainPage.editedAgo": "Modifié il y a {{time}}", + "mainPage.flowType.components": "composants", + "mainPage.flowType.flows": "flux", + "mainPage.flowType.mcp": "MCP", "mainPage.flowsDeletedSuccess": "Les flux ont été supprimés avec succès", "mainPage.flowsDownloadedSuccess": "Les flux ont été téléchargés avec succès", "mainPage.mcpServer": "Serveur MCP", @@ -1081,8 +1161,6 @@ "mcp.modal.descriptionFlow": "Ajouter et enregistrer des serveurs MCP. Gérer les serveurs dans", "mcp.modal.descriptionFlowLink": "paramètres", "mcp.modal.descriptionSettings": "Ajoutez et enregistrez des serveurs MCP pour les utiliser dans tous vos flux.", - "mcp.modal.lockedTitle": "La gestion des serveurs MCP est verrouillée", - "mcp.modal.lockedDescription": "Contactez un administrateur pour gérer les serveurs MCP externes.", "mcp.modal.errorDuplicateEnvKeys": "Des clés en double ont été détectées dans les variables d'environnement.", "mcp.modal.errorDuplicateHeaders": "Des clés en double ont été détectées dans les en-têtes.", "mcp.modal.errorFailedAdd": "Échec de l'ajout du serveur MCP.", @@ -1098,6 +1176,8 @@ "mcp.modal.fieldStreamableUrl": "Streamable HTTP /SSE URL", "mcp.modal.jsonPlaceholder": "Collez la configuration JSON pour ajouter un serveur", "mcp.modal.jsonTabLabel": "Coller la configuration JSON", + "mcp.modal.lockedDescription": "Contactez un administrateur pour gérer les serveurs MCP externes.", + "mcp.modal.lockedTitle": "La gestion du serveur MCP est verrouillée", "mcp.modal.placeholderArgument": "Entrez un argument...", "mcp.modal.placeholderCommand": "Tapez une commande...", "mcp.modal.placeholderHttpName": "Nom", @@ -1496,6 +1576,7 @@ "settings.apiKeys.columnLastUsed": "Dernière utilisation", "settings.apiKeys.columnName": "Nom", "settings.apiKeys.columnTotalUses": "Nombre total d'utilisations", + "settings.apiKeys.never": "Jamais", "settings.apiKeysTitle": "Clés API Langflow", "settings.apiPageParagraph": "Vos clés API Langflow confidentielles sont répertoriées ci-dessous. Ne communiquez pas votre clé API à des tiers et ne la divulguez pas dans le navigateur ou dans tout autre code côté client.", "settings.confirmPasswordPlaceholder": "Confirmer le mot de passe", diff --git a/src/frontend/src/locales/ja.json b/src/frontend/src/locales/ja.json index a99cc11613..10750a82cb 100644 --- a/src/frontend/src/locales/ja.json +++ b/src/frontend/src/locales/ja.json @@ -69,6 +69,7 @@ "assistant.maxSessionsTooltip": "{{max}} セッションの上限に達しました。 セッションを削除して、新しいセッションを作成します。", "assistant.messageCounts": "{{count}} メッセージ", "assistant.newConversation": "新規会話", + "assistant.newPill": "新規", "assistant.newSession": "新規セッション", "assistant.noModels": "設定済みのモデルはありません", "assistant.noModelsConfigured": "モデルプロバイダーが設定されていません", @@ -136,6 +137,7 @@ "assistant.thinking.6": "ちょっと待って……", "assistant.thinking.7": "まもなく完了します...", "assistant.title": "Langflow アシスタント", + "assistant.tryAssistant": "新しいLangflow アシスタントをお試しください!", "assistant.user": "ユーザー", "assistant.viewCode": "コードの表示", "assistant.welcomeText": "私がお手伝いできることは以下の通りです", @@ -266,6 +268,7 @@ "common.optional": "オプション", "common.retry": "再試行", "common.show": "表示", + "common.unnamed": "無題", "common.userProfileAlt": "ユーザー", "component.openTable": "オープンテーブル", "component.receivingInput": "入力の受け付け", @@ -300,6 +303,7 @@ "deleteModal.noteFolderContents": "および関連するすべてのフローとコンポーネント", "deleteModal.noteMessageHistory": "およびそのメッセージ履歴", "deleteModal.title": "削除", + "deployments.actionsForDeployment": "{{name}} 向けのアクション", "deployments.addEnvironment": "環境を追加", "deployments.addFirstEnvironment": "フローのデプロイを開始するために、最初の環境を追加してください。", "deployments.addManuallyInConnection": "接続フォームに手動で追加してください。", @@ -313,7 +317,6 @@ "deployments.agentNameFormatError": "エージェント名は文字で始まる必要があります。", "deployments.agentTypeDescription": "チャットインターフェースとツール呼び出し機能を備えた対話型エージェント", "deployments.agentTypeLabel": "エージェント", - "deployments.mcpTypeLabel": "MCP サーバー", "deployments.ariaDeploymentType": "デプロイメント・タイプ", "deployments.ariaExistingEnvironments": "既存の環境", "deployments.ariaSendMessage": "メッセージの送信", @@ -330,7 +333,8 @@ "deployments.cancel": "キャンセル", "deployments.cancelButton": "キャンセル", "deployments.cannotAutoDetectEnvVars": "環境変数を自動検出できませんでした", - "deployments.changeFlow": "フローを変更", + "deployments.changeFlow": "変更履歴", + "deployments.chooseDeployedVersion": "デプロイ済みのバージョンを選択してください", "deployments.chooseExistingEnvironment": "既存の環境を選択する", "deployments.chooseProviderDesc": "デプロイ先のプロバイダー環境を選択するか、新しいデプロイメントを最初から作成します。", "deployments.chooseType": "タイプを選択", @@ -360,22 +364,24 @@ "deployments.createNewDeploymentTitle": "新しいデプロイメントを作成する", "deployments.createVersionFromDraftError": "下書きからバージョンを作成できませんでした", "deployments.current": "現在", + "deployments.currentDeploymentTarget": "現在の展開先", "deployments.delete": "削除", "deployments.deleteDeploymentConfirm": "Langflowおよび Watsonx Orchestrateから、デプロイメント「 {{name}} 」を完全に削除します。", "deployments.deploy": "デプロイ", "deployments.deployFromDraft": "現在の下書きからバージョンを作成して、このフローをデプロイします", "deployments.deployed": "デプロイ済み", "deployments.deployedToDraft": "{{providerName}} に下書きとして公開", + "deployments.deployedVersion": "展開済みバージョン", "deployments.deploying": "デプロイしています...", "deployments.deployingDescription": "デプロイメントのプロビジョニングが実行されています。 通常、数秒かかります。", "deployments.deployingTitle": "デプロイしています...", + "deployments.deployment": "デプロイメント", "deployments.deploymentLabel": "デプロイメント", "deployments.deploymentLive": "デプロイが完了し、ご利用いただける状態になりました。", "deployments.deploymentLiveNamed": "\"{{name}}\" 公開され、ご利用いただける状態です。", "deployments.deploymentSuccessful": "デプロイに成功しました", "deployments.deploymentType": "デプロイメント・タイプ", "deployments.deploymentTypeLabel": "{{type}} 展開", - "deployments.deployment": "デプロイ", "deployments.deploymentsOnProvider": "このフローの {{name}} へのデプロイ", "deployments.descriptionLabel": "説明", "deployments.detachFlow": "フローを切り離す", @@ -400,14 +406,15 @@ "deployments.failedToCreateProviderAccount": "プロバイダーアカウントの作成に失敗しました", "deployments.failedToLoadDetails": "デプロイメントの詳細を読み込めませんでした", "deployments.failedToLoadFlows": "添付されたフローを読み込めませんでした", + "deployments.failedToPrepareDeployment": "デプロイの準備に失敗しました", "deployments.failedToUpdate": "デプロイメントの更新に失敗しました", "deployments.failedToUpdateDeployment": "デプロイメントの更新に失敗しました", - "deployments.failedToPrepareDeployment": "デプロイの準備に失敗しました", "deployments.failedToUpdateEnvironment": "環境の更新に失敗しました", "deployments.fieldApiKey": "API キー", "deployments.fieldName": "名前", "deployments.fieldServiceInstanceUrl": "サービス・インスタンスURL", "deployments.flow": "フロー", + "deployments.flowVersion": "Flow バージョン", "deployments.flows": "フロー", "deployments.globalVariables": "グローバル変数", "deployments.hideApiKey": "APIキーを非表示にする", @@ -425,12 +432,15 @@ "deployments.loadingModels": "モデルを読み込んでいます...", "deployments.loadingVersions": "バージョンを読み込み中...", "deployments.manyVersions": "{{count}} バージョン", + "deployments.mcpTypeLabel": "MCP", + "deployments.nameRequired": "名前は必須です。", "deployments.new": "新規", "deployments.newConnections": "新しい接続", "deployments.newDeployment": "新規デプロイメント", "deployments.newDeploymentOnProvider": "{{name}} への新規デプロイ", "deployments.newEnvironment": "新規環境", "deployments.next": "次へ", + "deployments.noChangesToSave": "保存する変更はありません", "deployments.noConnectionsDescription": "このフローに認証情報を紐付けるために接続を作成します。", "deployments.noConnectionsMatch": "\"{{query}}\" に一致する接続はありません", "deployments.noConnectionsYet": "まだ接続されていません", @@ -457,16 +467,16 @@ "deployments.removed": "削除済み", "deployments.removedCount": "{{count}} 削除されました", "deployments.removing": "削除", + "deployments.replaceVersionNotice": "現在、デプロイ済みの {{current}} を、最新の {{next}} に置き換えようとしています。", + "deployments.replaceVersionWithVersion": "{{current}} を {{next}} に置き換えてください", "deployments.review": "レビュー", "deployments.reviewAndConfirm": "確認・承認", "deployments.reviewDetails": "作成する前に、デプロイの詳細を確認してください。", "deployments.reviewUpdate": "レビューの更新", - "deployments.reviewUpdateDescription": "更新されるデプロイ済みバージョンを確認します。", - "deployments.chooseDeployedVersion": "デプロイ済みバージョンを選択", - "deployments.selectDeployedToolToReplace": "置き換えるデプロイ済みツールを選択してください", - "deployments.willBeReplaced": "置き換えられます", + "deployments.reviewUpdateDescription": "どのデプロイ済みバージョンが更新されるかを確認してください。", "deployments.saveButton": "保存", "deployments.saving": "保存中...", + "deployments.selectDeployedToolToReplace": "置き換えるデプロイ済みのツールを選択してください", "deployments.selectDeployment": "展開を選択", "deployments.selectDeploymentDescription": "更新するデプロイメントを選択するか、新しいデプロイメントを作成してください。", "deployments.selectFlow": "フローを選択してバージョンを確認する", @@ -475,8 +485,12 @@ "deployments.selectOrCreateConnection": "接続を選択するか、新しい接続を作成してください", "deployments.selectProvider": "プロバイダーの選択", "deployments.selectVersion": "このデプロイメントに添付するバージョンを選択してください", + "deployments.selectVersionToReplace": "置き換えるバージョンを選択してください", + "deployments.selectedDeployedVersionWillUpdate": "選択されたデプロイ済みバージョンは、最新のフロー {{next}} に更新されます。", + "deployments.selectedTarget": "選択されたターゲット", "deployments.setupNewDeployment": "新しいデプロイメントをゼロから設定する", "deployments.showApiKey": "APIキーを表示", + "deployments.singleAttachmentTarget": "置き換え可能なのは、デプロイ済みのバージョンのみです", "deployments.skip": "スキップ", "deployments.stepFlows": "フロー", "deployments.stepOf": "{{total}} のステップ {{current}}", @@ -494,17 +508,7 @@ "deployments.updateAction": "更新", "deployments.updateButton": "更新", "deployments.updateDeployment": "デプロイメントの更新", - "deployments.updateDeploymentDescription": "現在のフローバージョンで置き換えるデプロイ済みフローバージョンを選択してください。", - "deployments.selectedTarget": "選択中の対象", - "deployments.flowVersion": "フローバージョン", - "deployments.replaceVersionNotice": "デプロイ済みバージョン {{current}} を現在のフローバージョン {{next}} に置き換えようとしています。", - "deployments.selectVersionToReplace": "置き換えるバージョンを選択", - "deployments.selectedDeployedVersionWillUpdate": "選択したデプロイ済みバージョンは現在のフローバージョン {{next}} に更新されます。", - "deployments.currentDeploymentTarget": "現在のデプロイ対象", - "deployments.deployedVersion": "デプロイ済みバージョン", - "deployments.willBeReplacedByVersion": "{{next}} に置き換えられます", - "deployments.replaceVersionWithVersion": "{{current}} を {{next}} に置き換える", - "deployments.singleAttachmentTarget": "置き換え可能なデプロイ済みバージョンは 1 つだけです", + "deployments.updateDeploymentDescription": "現在のフローバージョンで置き換える対象となる、デプロイ済みのフローバージョンを選択してください。", "deployments.updatedDesc": "\"{{name}}\" 更新されました。", "deployments.updatedTitle": "デプロイメントが更新されました", "deployments.updating": "更新中...", @@ -513,6 +517,8 @@ "deployments.variablesAutoDetected_one": "{{count}} 選択されたフローのバージョンから変数が自動検出されます。", "deployments.variablesAutoDetected_other": "{{count}} 選択したフローのバージョンから自動的に検出された変数。", "deployments.versionCreated": "作成日: {{date}}", + "deployments.willBeReplaced": "置き換えられます", + "deployments.willBeReplacedByVersion": "{{next}} に置き換えられます", "deployments.wxoAlreadyHaveAccount": "すでにアカウントをお持ちですか?", "deployments.wxoConfigureCredentials": "以下で watsonx Orchestrate の認証情報を設定してください。 wxO? を初めてご利用の方へ", "deployments.wxoFindCredentials": "認証情報を確認する", @@ -588,7 +594,6 @@ "errors.failedToExportVersion": "バージョンのエクスポートに失敗しました", "errors.failedToFetchRunStatus": "実行ステータスの取得に失敗しました", "errors.failedToLoadDeployment": "デプロイメントの詳細を読み込めませんでした", - "errors.noProviderSnapshotFoundOnSelectedDeployment": "選択したデプロイメントで、このフローのプロバイダースナップショットが見つかりませんでした。", "errors.failedToLoadModels": "モデルの読み込みに失敗しました", "errors.failedToRestoreVersion": "バージョンの復元に失敗しました", "errors.failedToSaveFlow": "フローの保存に失敗しました", @@ -614,6 +619,7 @@ "errors.noItemsSelected": "選択されたアイテムはありません", "errors.noKeyCombinationRecorded": "登録されているキーの組み合わせはありません。", "errors.noModelsToRefresh": "更新するモデルコンポーネントはありません", + "errors.noProviderSnapshotFoundOnSelectedDeployment": "選択したデプロイメントでは、このフローに対応するプロバイダーのスナップショットが見つかりませんでした。", "errors.noResponseBody": "レスポンス本文なし", "errors.parameterNotFound": "テンプレートにそのパラメータが見つかりません", "errors.passwordMismatch": "パスワードが一致しません", @@ -708,6 +714,67 @@ "flow.buildStatus": "ステータスを確認するためにビルドする。", "flow.buildSuccess": "無事に完成しました ✨", "flow.characterLimitReached": "文字数制限に達しました", + "flow.defaultDescription.0": "言葉を繋げて、言語をマスターしよう!", + "flow.defaultDescription.1": "言語アーキテクトの活躍!", + "flow.defaultDescription.10": "言語の迷宮を築く。", + "flow.defaultDescription.11": "創造、連携、発信。", + "flow.defaultDescription.12": "点をつなぎ、言葉を紡ぐ。", + "flow.defaultDescription.13": "インタラクティブな言語の織り込み。", + "flow.defaultDescription.14": "創造、革新、発信。", + "flow.defaultDescription.15": "会話促進エンジン。", + "flow.defaultDescription.16": "言語:Chainlink Master。", + "flow.defaultDescription.17": "Langflowとのデザイン・ダイアログ。", + "flow.defaultDescription.18": "ここでNLPノードを育成しましょう。", + "flow.defaultDescription.19": "会話型地図作成の真髄。", + "flow.defaultDescription.2": "言語工学の進化を推進する。", + "flow.defaultDescription.20": "デザイン、開発、対話。", + "flow.defaultDescription.21": "言語の創造性を解き放つ。", + "flow.defaultDescription.22": "グラフを活用して、素晴らしい会話を実現しましょう。", + "flow.defaultDescription.23": "指先ひとつで、言葉の力を。", + "flow.defaultDescription.24": "言葉をかたちづくる、その精緻さ。", + "flow.defaultDescription.25": "言語と論理の交差点。", + "flow.defaultDescription.26": "インテリジェントな対話の実現。", + "flow.defaultDescription.27": "言語の風景へのパスポート。", + "flow.defaultDescription.28": "Langflowで、コンテンツを作成・キュレーション・発信しましょう。", + "flow.defaultDescription.29": "言語の未来へと流れ込もう。", + "flow.defaultDescription.3": "ここで言語のつながりを築きましょう。", + "flow.defaultDescription.30": "有意義な対話を可視化する。", + "flow.defaultDescription.31": "発音の技術を解き明かす。", + "flow.defaultDescription.32": "言語工学の卓越性。", + "flow.defaultDescription.33": "会話のネットワークを巡る。", + "flow.defaultDescription.34": "一つひとつのつながりを大切に、対話を紡いでいく。", + "flow.defaultDescription.35": "プロンプト生成の最高峰。", + "flow.defaultDescription.36": "言語モデルを網羅し、習得する。", + "flow.defaultDescription.37": "効果的なプロンプトを、最適な場所に配置。", + "flow.defaultDescription.38": "Langflowを活用したインタラクションの革新。", + "flow.defaultDescription.39": "テキスト生成のためのツールキット。", + "flow.defaultDescription.4": "「創造、つながり、対話」。", + "flow.defaultDescription.40": "言語の可能性を広げる。", + "flow.defaultDescription.41": "言語モデルを活用した強力なソリューションの構築。", + "flow.defaultDescription.42": "NLPでビジネスチャンスを開拓しましょう。", + "flow.defaultDescription.43": "Conversational AI の力を活用しましょう。", + "flow.defaultDescription.44": "スマートな対話でビジネスを変革しましょう。", + "flow.defaultDescription.45": "有意義な交流を築き、価値を創出する。", + "flow.defaultDescription.46": "言語工学を通じてビジネスの可能性を解き放つ。", + "flow.defaultDescription.47": "インテリジェントな対話で企業の可能性を広げる。", + "flow.defaultDescription.48": "ビジネスコミュニケーションの革新を推進する。", + "flow.defaultDescription.49": "Conversational AI によるビジネス成長の促進。", + "flow.defaultDescription.5": "スマートチェーン、よりスマートな対話。", + "flow.defaultDescription.50": "テキスト生成とビジネス変革の融合。", + "flow.defaultDescription.51": "言語の風景を巡り、新たな可能性を発見しよう。", + "flow.defaultDescription.52": "強力なつながりを築き、ビジネスの価値を高めましょう。", + "flow.defaultDescription.53": "コミュニケーションを活性化し、新たな可能性を切り拓く。", + "flow.defaultDescription.54": "画期的な Business Solutions のための高度なNLP。", + "flow.defaultDescription.55": "インタラクションの革新、収益の革命。", + "flow.defaultDescription.56": "知的な対話で効果を最大化しましょう。", + "flow.defaultDescription.57": "テキスト生成を超えて ― ビジネスチャンスの開拓。", + "flow.defaultDescription.58": "ビジネスでの会話にAIの力を解き放ちましょう。", + "flow.defaultDescription.59": "ビジネスの成功を導く対話の構築。", + "flow.defaultDescription.6": "閃きをつなぐヒント。", + "flow.defaultDescription.60": "卓越性を追求し、ビジネス向けに設計・製造されています。", + "flow.defaultDescription.7": "言語モデルの可能性を解き放つ。", + "flow.defaultDescription.8": "テキスト生成の拠点。", + "flow.defaultDescription.9": "即座に、そして独創的!", "flow.defaultName": "新しい流れ", "flow.deletedSuccessfully": "選択した項目が正常に削除されました", "flow.descriptionLabel": "説明", @@ -764,6 +831,16 @@ "flowBuild.runningFlow": "フローを実行しています", "flowBuild.runningNode": "{{id}} を実行中", "flowBuild.stop": "停止", + "flowBuilderWelcome.browseMoreLabel": "もっと見る...", + "flowBuilderWelcome.configureModelProviders": "モデルプロバイダーの設定", + "flowBuilderWelcome.noProviderDescription": "AI を使ったワークフローを記述するためのモデルプロバイダーを追加するか、以下のテンプレートから選択して、すぐに始めましょう。", + "flowBuilderWelcome.orTemplateLabel": "または、テンプレートから始めることもできます:", + "flowBuilderWelcome.sendLabel": "送信", + "flowBuilderWelcome.simpleAgentLabel": "シンプルエージェント", + "flowBuilderWelcome.textareaPlaceholder": "作業の流れを説明してください…", + "flowBuilderWelcome.title": "何を作りたいですか?", + "flowBuilderWelcome.titleNoProvider": "まずは準備をしましょう", + "flowBuilderWelcome.vectorStoreRagLabel": "ベクターストア RAG", "flowVersion.captureStateDescription": "現在の状態を復元ポイントとして保存する", "flowVersion.currentLabel": "現在", "flowVersion.dataCannotBeRendered": "このバージョンのデータはプレビュー用に表示できませんでした", @@ -1040,6 +1117,9 @@ "loading.loading": "ロード中...", "mainPage.delete": "削除", "mainPage.editedAgo": "{{time}} 前に編集されました", + "mainPage.flowType.components": "コンポーネント", + "mainPage.flowType.flows": "フロー", + "mainPage.flowType.mcp": "MCP", "mainPage.flowsDeletedSuccess": "フローが正常に削除されました", "mainPage.flowsDownloadedSuccess": "データのダウンロードが完了しました", "mainPage.mcpServer": "MCPサーバー", @@ -1081,8 +1161,6 @@ "mcp.modal.descriptionFlow": "MCPサーバーを追加して保存します。 サーバーを管理する", "mcp.modal.descriptionFlowLink": "設定", "mcp.modal.descriptionSettings": "フロー間で共有するMCPサーバーを追加して保存します。", - "mcp.modal.lockedTitle": "MCPサーバー管理はロックされています", - "mcp.modal.lockedDescription": "外部MCPサーバーを管理するには管理者に連絡してください。", "mcp.modal.errorDuplicateEnvKeys": "環境変数に重複するキーが見つかりました。", "mcp.modal.errorDuplicateHeaders": "ヘッダーに重複するキーが見つかりました。", "mcp.modal.errorFailedAdd": "MCPサーバーの追加に失敗しました。", @@ -1098,6 +1176,8 @@ "mcp.modal.fieldStreamableUrl": "Streamable HTTP /SSE URL", "mcp.modal.jsonPlaceholder": "サーバーを追加するには、JSON設定を貼り付けてください", "mcp.modal.jsonTabLabel": "JSON設定を貼り付ける", + "mcp.modal.lockedDescription": "外部のMCPサーバーを管理するには、管理者にお問い合わせください。", + "mcp.modal.lockedTitle": "MCPサーバーの管理がロックされています", "mcp.modal.placeholderArgument": "引数を入力してください...", "mcp.modal.placeholderCommand": "コマンドを入力してください...", "mcp.modal.placeholderHttpName": "名前", @@ -1496,6 +1576,7 @@ "settings.apiKeys.columnLastUsed": "最終使用", "settings.apiKeys.columnName": "名前", "settings.apiKeys.columnTotalUses": "総使用回数", + "settings.apiKeys.never": "なし", "settings.apiKeysTitle": "Langflow APIキー", "settings.apiPageParagraph": "秘密のLangflow APIキーは以下の通りです。 APIキーを他人と共有したり、ブラウザやその他のクライアントサイドのコード内で公開したりしないでください。", "settings.confirmPasswordPlaceholder": "パスワードの確認", diff --git a/src/frontend/src/locales/pt.json b/src/frontend/src/locales/pt.json index 65df929906..55b8addc56 100644 --- a/src/frontend/src/locales/pt.json +++ b/src/frontend/src/locales/pt.json @@ -69,6 +69,7 @@ "assistant.maxSessionsTooltip": "Atingido o limite máximo de {{max}} sessões. Exclua uma sessão para criar uma nova.", "assistant.messageCounts": "{{count}} mensagens", "assistant.newConversation": "Nova conversa", + "assistant.newPill": "Novo", "assistant.newSession": "Nova sessão", "assistant.noModels": "Nenhum modelo configurado", "assistant.noModelsConfigured": "Nenhum provedor de modelo configurado", @@ -136,6 +137,7 @@ "assistant.thinking.6": "Só um instante...", "assistant.thinking.7": "Quase lá...", "assistant.title": "Assistente Langflow", + "assistant.tryAssistant": "Experimente o novo Langflow Assistente!", "assistant.user": "Usuário", "assistant.viewCode": "Visualizar código", "assistant.welcomeText": "Veja como posso ajudar", @@ -266,6 +268,7 @@ "common.optional": "opcional", "common.retry": "Tentar novamente", "common.show": "Mostrar", + "common.unnamed": "sem nome", "common.userProfileAlt": "Usuário", "component.openTable": "Mesa aberta", "component.receivingInput": "Recebendo informações", @@ -300,6 +303,7 @@ "deleteModal.noteFolderContents": "e todos os fluxos e componentes associados", "deleteModal.noteMessageHistory": "e seu histórico de mensagens", "deleteModal.title": "Excluir", + "deployments.actionsForDeployment": "Ações para o site {{name}}", "deployments.addEnvironment": "Incluir ambiente", "deployments.addFirstEnvironment": "Adicione seu primeiro ambiente para começar a implantar seus fluxos.", "deployments.addManuallyInConnection": "Adicione-os manualmente no formulário de conexão.", @@ -313,7 +317,6 @@ "deployments.agentNameFormatError": "O nome do agente deve começar com uma letra.", "deployments.agentTypeDescription": "Agente conversacional com interface de chat e função de chamada", "deployments.agentTypeLabel": "Agente", - "deployments.mcpTypeLabel": "Servidor MCP", "deployments.ariaDeploymentType": "Tipo de implementação", "deployments.ariaExistingEnvironments": "Ambientes existentes", "deployments.ariaSendMessage": "Enviar mensagem", @@ -330,7 +333,8 @@ "deployments.cancel": "Cancelar", "deployments.cancelButton": "Cancelar", "deployments.cannotAutoDetectEnvVars": "Não foi possível detectar automaticamente as variáveis de ambiente", - "deployments.changeFlow": "Alterar fluxo", + "deployments.changeFlow": "Fluxo de alterações", + "deployments.chooseDeployedVersion": "Escolha a versão implantada", "deployments.chooseExistingEnvironment": "Escolha um ambiente existente", "deployments.chooseProviderDesc": "Escolha um ambiente de provedor para a implantação ou crie uma nova implantação do zero.", "deployments.chooseType": "Escolha o tipo", @@ -360,22 +364,24 @@ "deployments.createNewDeploymentTitle": "Criar nova implantação", "deployments.createVersionFromDraftError": "Não foi possível criar uma versão a partir do rascunho", "deployments.current": "Atual", + "deployments.currentDeploymentTarget": "Meta atual de implantação", "deployments.delete": "Excluir", "deployments.deleteDeploymentConfirm": "Exclua definitivamente a implantação {{name}} no Langflow e Watsonx no Orchestrate.", "deployments.deploy": "Implementar", "deployments.deployFromDraft": "Implemente este fluxo criando uma versão a partir do rascunho atual", "deployments.deployed": "Implementado", "deployments.deployedToDraft": "Publicado em {{providerName}} como rascunho", + "deployments.deployedVersion": "Versão implantada", "deployments.deploying": "Implementando...", "deployments.deployingDescription": "Sua implantação está sendo configurada. Isso geralmente leva alguns segundos.", "deployments.deployingTitle": "Implementando...", + "deployments.deployment": "Implementação", "deployments.deploymentLabel": "Implementação", "deployments.deploymentLive": "Sua implantação já está ativa e pronta para uso.", "deployments.deploymentLiveNamed": "\"{{name}}\" já está no ar e pronto para uso.", "deployments.deploymentSuccessful": "Implantação bem-sucedida", "deployments.deploymentType": "Tipo de implementação", "deployments.deploymentTypeLabel": "{{type}} implantação", - "deployments.deployment": "Implantação", "deployments.deploymentsOnProvider": "Implantações no {{name}} para este fluxo.", "deployments.descriptionLabel": "Descrição", "deployments.detachFlow": "Desligar o fluxo", @@ -400,14 +406,15 @@ "deployments.failedToCreateProviderAccount": "Falha ao criar a conta do provedor", "deployments.failedToLoadDetails": "Não foi possível carregar os detalhes da implantação", "deployments.failedToLoadFlows": "Não foi possível carregar os fluxos anexados", + "deployments.failedToPrepareDeployment": "Falha na preparação da implantação", "deployments.failedToUpdate": "Falha na atualização da implantação", "deployments.failedToUpdateDeployment": "Falha na atualização da implantação", - "deployments.failedToPrepareDeployment": "Falha ao preparar a implantação", "deployments.failedToUpdateEnvironment": "Falha ao atualizar o ambiente", "deployments.fieldApiKey": "Chave de API", "deployments.fieldName": "Nome", "deployments.fieldServiceInstanceUrl": "URL da instância de serviço", "deployments.flow": "fluxo", + "deployments.flowVersion": "Versão do Flow", "deployments.flows": "fluxos", "deployments.globalVariables": "Variáveis globais", "deployments.hideApiKey": "Ocultar chave da API", @@ -425,12 +432,15 @@ "deployments.loadingModels": "Carregando modelos...", "deployments.loadingVersions": "Carregando versões...", "deployments.manyVersions": "{{count}} versões", + "deployments.mcpTypeLabel": "MCP", + "deployments.nameRequired": "O nome é necessário.", "deployments.new": "Novo", "deployments.newConnections": "Novas conexões", "deployments.newDeployment": "Nova implementação", "deployments.newDeploymentOnProvider": "Nova implantação em {{name}}", "deployments.newEnvironment": "Novo ambiente", "deployments.next": "Avançar", + "deployments.noChangesToSave": "Não há alterações para salvar", "deployments.noConnectionsDescription": "Crie uma conexão para associar credenciais a este fluxo.", "deployments.noConnectionsMatch": "Não foram encontradas conexões correspondentes a \"{{query}}\"", "deployments.noConnectionsYet": "Ainda não há conexões", @@ -457,16 +467,16 @@ "deployments.removed": "Removido", "deployments.removedCount": "{{count}} removido", "deployments.removing": "removendo", + "deployments.replaceVersionNotice": "Você está prestes a substituir o endereço {{current}}, que já está em uso, pelo endereço atual {{next}}.", + "deployments.replaceVersionWithVersion": "Substitua {{current}} por {{next}}", "deployments.review": "Revisão", "deployments.reviewAndConfirm": "Revisar e confirmar", "deployments.reviewDetails": "Verifique os detalhes da implantação antes de criar.", "deployments.reviewUpdate": "Atualização da avaliação", - "deployments.reviewUpdateDescription": "Revise qual versão implantada será atualizada.", - "deployments.chooseDeployedVersion": "Escolher versão implantada", - "deployments.selectDeployedToolToReplace": "Selecione qual ferramenta implantada substituir", - "deployments.willBeReplaced": "Será substituída", + "deployments.reviewUpdateDescription": "Verifique qual versão implantada será atualizada.", "deployments.saveButton": "Salvar", "deployments.saving": "Salvando...", + "deployments.selectDeployedToolToReplace": "Selecione qual ferramenta implantada deseja substituir", "deployments.selectDeployment": "Selecionar implementação", "deployments.selectDeploymentDescription": "Selecione uma implantação para atualizar ou crie uma nova.", "deployments.selectFlow": "Selecione um fluxo para ver as versões", @@ -475,8 +485,12 @@ "deployments.selectOrCreateConnection": "Selecionar ou criar uma nova conexão", "deployments.selectProvider": "Selecione o provedor", "deployments.selectVersion": "Selecione uma versão para associar a esta implantação", + "deployments.selectVersionToReplace": "Selecione a versão a ser substituída", + "deployments.selectedDeployedVersionWillUpdate": "A versão implantada selecionada será atualizada para a versão atual {{next}}.", + "deployments.selectedTarget": "Alvo selecionado", "deployments.setupNewDeployment": "Configurar uma nova implantação do zero", "deployments.showApiKey": "Mostrar chave da API", + "deployments.singleAttachmentTarget": "Apenas a versão implantada está disponível para substituição", "deployments.skip": "Ignorar", "deployments.stepFlows": "Fluxos", "deployments.stepOf": "Etapa {{current}} de {{total}}", @@ -494,17 +508,7 @@ "deployments.updateAction": "Atualizar", "deployments.updateButton": "Atualizar", "deployments.updateDeployment": "Atualização da implantação", - "deployments.updateDeploymentDescription": "Escolha qual versão implantada do fluxo deve ser substituída pela versão atual do fluxo.", - "deployments.selectedTarget": "Destino selecionado", - "deployments.flowVersion": "Versão do fluxo", - "deployments.replaceVersionNotice": "Você está prestes a substituir a versão implantada {{current}} pela versão atual do fluxo {{next}}.", - "deployments.selectVersionToReplace": "Selecione a versão a ser substituída", - "deployments.selectedDeployedVersionWillUpdate": "A versão implantada selecionada será atualizada para a versão atual do fluxo {{next}}.", - "deployments.currentDeploymentTarget": "Destino atual da implantação", - "deployments.deployedVersion": "Versão implantada", - "deployments.willBeReplacedByVersion": "Será substituída por {{next}}", - "deployments.replaceVersionWithVersion": "Substituir {{current}} por {{next}}", - "deployments.singleAttachmentTarget": "Apenas uma versão implantada disponível para substituição", + "deployments.updateDeploymentDescription": "Escolha qual versão do fluxo implantada deve ser substituída pela versão atual do fluxo.", "deployments.updatedDesc": "\"{{name}}\" foi atualizado.", "deployments.updatedTitle": "Implantação atualizada", "deployments.updating": "Atualizando...", @@ -513,6 +517,8 @@ "deployments.variablesAutoDetected_one": "{{count}} variável detectada automaticamente a partir da versão do fluxo selecionada.", "deployments.variablesAutoDetected_other": "{{count}} variáveis detectadas automaticamente a partir da versão do fluxo selecionada.", "deployments.versionCreated": "Criado: {{date}}", + "deployments.willBeReplaced": "Será substituído", + "deployments.willBeReplacedByVersion": "Será substituído por {{next}}", "deployments.wxoAlreadyHaveAccount": "Já tem uma conta?", "deployments.wxoConfigureCredentials": "Configure suas credenciais do watsonx Orchestrate abaixo. É novo no site wxO??", "deployments.wxoFindCredentials": "Encontre suas credenciais", @@ -588,7 +594,6 @@ "errors.failedToExportVersion": "Falha na exportação da versão", "errors.failedToFetchRunStatus": "Não foi possível obter o status da execução", "errors.failedToLoadDeployment": "Não foi possível carregar os detalhes da implantação", - "errors.noProviderSnapshotFoundOnSelectedDeployment": "Nenhum snapshot do provedor foi encontrado para este fluxo na implantação selecionada.", "errors.failedToLoadModels": "Falha ao carregar os modelos", "errors.failedToRestoreVersion": "Falha ao restaurar a versão", "errors.failedToSaveFlow": "Falha ao salvar o fluxo", @@ -614,6 +619,7 @@ "errors.noItemsSelected": "Nenhum item selecionado", "errors.noKeyCombinationRecorded": "Nenhuma combinação de teclas foi registrada.", "errors.noModelsToRefresh": "Não há componentes do modelo para atualizar", + "errors.noProviderSnapshotFoundOnSelectedDeployment": "Não foi encontrado nenhum instantâneo do provedor para este fluxo na implantação selecionada.", "errors.noResponseBody": "Sem corpo da resposta", "errors.parameterNotFound": "Parâmetro não encontrado no modelo", "errors.passwordMismatch": "As senhas não correspondem", @@ -708,6 +714,67 @@ "flow.buildStatus": "Compilar para verificar o status.", "flow.buildSuccess": "Construído com sucesso ✨", "flow.characterLimitReached": "Limite de caracteres atingido", + "flow.defaultDescription.0": "Junte as palavras, domine a língua!", + "flow.defaultDescription.1": "O arquiteto de idiomas em ação!", + "flow.defaultDescription.10": "Construindo labirintos linguísticos.", + "flow.defaultDescription.11": "Criar, conectar, comunicar.", + "flow.defaultDescription.12": "Junte os pontos, crie a linguagem.", + "flow.defaultDescription.13": "Tecelagem Interativa de Línguas.", + "flow.defaultDescription.14": "Criar, inovar, comunicar.", + "flow.defaultDescription.15": "Mecanismo de Estímulo à Conversação.", + "flow.defaultDescription.16": "Linguagem Chainlink Master.", + "flow.defaultDescription.17": "Diálogos sobre design com a Langflow.", + "flow.defaultDescription.18": "Cultive os nós de PNL aqui.", + "flow.defaultDescription.19": "Cartografia conversacional: o segredo revelado.", + "flow.defaultDescription.2": "Impulsionando a engenharia da linguagem.", + "flow.defaultDescription.20": "Projetar, desenvolver, dialogar.", + "flow.defaultDescription.21": "Liberando a criatividade linguística.", + "flow.defaultDescription.22": "Use gráficos para ter ótimas conversas.", + "flow.defaultDescription.23": "O poder da linguagem ao seu alcance.", + "flow.defaultDescription.24": "Esculpindo a linguagem com precisão.", + "flow.defaultDescription.25": "Onde a linguagem se encontra com a lógica.", + "flow.defaultDescription.26": "Criando interações inteligentes.", + "flow.defaultDescription.27": "Seu passaporte para as paisagens linguísticas.", + "flow.defaultDescription.28": "Crie, organize e comunique-se com o Langflow.", + "flow.defaultDescription.29": "Mergulhe no futuro da linguagem.", + "flow.defaultDescription.3": "Crie conexões linguísticas aqui.", + "flow.defaultDescription.30": "Mapeando conversas significativas.", + "flow.defaultDescription.31": "Descubra a arte da articulação.", + "flow.defaultDescription.32": "Excelência em Engenharia Linguística.", + "flow.defaultDescription.33": "Navegue pelas redes de conversação.", + "flow.defaultDescription.34": "Construindo conversas, um nó de cada vez.", + "flow.defaultDescription.35": "O que há de melhor em geração de prompts.", + "flow.defaultDescription.36": "Modelos de linguagem: mapeados e dominados.", + "flow.defaultDescription.37": "Mensagens impactantes, na posição certa.", + "flow.defaultDescription.38": "Inovação na interação com o Langflow.", + "flow.defaultDescription.39": "Seu kit de ferramentas para geração de texto.", + "flow.defaultDescription.4": "Crie, conecte-se, converse.", + "flow.defaultDescription.40": "Desdobrando possibilidades linguísticas.", + "flow.defaultDescription.41": "Criando soluções poderosas com modelos de linguagem.", + "flow.defaultDescription.42": "Descubra oportunidades de negócios com a PNL.", + "flow.defaultDescription.43": "Aproveite todo o potencial do Conversational AI.", + "flow.defaultDescription.44": "Transforme sua empresa com diálogos inteligentes.", + "flow.defaultDescription.45": "Crie interações significativas, gere valor.", + "flow.defaultDescription.46": "Liberando o potencial empresarial por meio da engenharia de linguagem.", + "flow.defaultDescription.47": "Capacitando empresas por meio de interações inteligentes.", + "flow.defaultDescription.48": "Impulsionando a inovação na comunicação empresarial.", + "flow.defaultDescription.49": "Impulsionando o crescimento dos negócios por meio do \" Conversational AI \".", + "flow.defaultDescription.5": "Cadeias inteligentes, conversas ainda mais inteligentes.", + "flow.defaultDescription.50": "A geração de texto e a transformação empresarial.", + "flow.defaultDescription.51": "Explore o panorama linguístico, descubra oportunidades.", + "flow.defaultDescription.52": "Crie conexões sólidas, aumente o valor do negócio.", + "flow.defaultDescription.53": "Fortalecendo a comunicação, criando oportunidades.", + "flow.defaultDescription.54": "PNL avançada para um \" Business Solutions \" inovador.", + "flow.defaultDescription.55": "Inovação na interação, revolução na receita.", + "flow.defaultDescription.56": "Maximize o impacto com conversas inteligentes.", + "flow.defaultDescription.57": "Além da geração de texto — Explorando oportunidades de negócios.", + "flow.defaultDescription.58": "Descubra o poder da IA nas suas conversas de negócios.", + "flow.defaultDescription.59": "Criando diálogos que impulsionam o sucesso empresarial.", + "flow.defaultDescription.6": "Inspirações para a excelência.", + "flow.defaultDescription.60": "Projetado para a excelência, feito para os negócios.", + "flow.defaultDescription.7": "Modelos de linguagem, em ação.", + "flow.defaultDescription.8": "Seu centro de geração de texto.", + "flow.defaultDescription.9": "Ingenioso na hora certa!", "flow.defaultName": "Novo fluxo", "flow.deletedSuccessfully": "Os itens selecionados foram excluídos com sucesso", "flow.descriptionLabel": "Descrição", @@ -764,6 +831,16 @@ "flowBuild.runningFlow": "Executando o fluxo", "flowBuild.runningNode": "Correr {{id}}", "flowBuild.stop": "Parar", + "flowBuilderWelcome.browseMoreLabel": "Veja mais...", + "flowBuilderWelcome.configureModelProviders": "Configurar provedores de modelos", + "flowBuilderWelcome.noProviderDescription": "Adicione um provedor de modelo para descrever seu fluxo com IA ou escolha um modelo abaixo para começar imediatamente.", + "flowBuilderWelcome.orTemplateLabel": "Ou comece com um modelo:", + "flowBuilderWelcome.sendLabel": "Enviar", + "flowBuilderWelcome.simpleAgentLabel": "Agente Simples", + "flowBuilderWelcome.textareaPlaceholder": "Descreva o seu fluxo...", + "flowBuilderWelcome.title": "O que você quer construir?", + "flowBuilderWelcome.titleNoProvider": "Vamos começar por preparar tudo", + "flowBuilderWelcome.vectorStoreRagLabel": "Vector Store RAG", "flowVersion.captureStateDescription": "Salve o estado atual como um ponto de restauração", "flowVersion.currentLabel": "Atual", "flowVersion.dataCannotBeRendered": "Não foi possível exibir os dados desta versão na visualização", @@ -1040,6 +1117,9 @@ "loading.loading": "Carregando...", "mainPage.delete": "Excluir", "mainPage.editedAgo": "Editado há {{time}}", + "mainPage.flowType.components": "Componentes do", + "mainPage.flowType.flows": "fluxos", + "mainPage.flowType.mcp": "MCP", "mainPage.flowsDeletedSuccess": "Fluxos excluídos com sucesso", "mainPage.flowsDownloadedSuccess": "Fluxos baixados com sucesso", "mainPage.mcpServer": "Servidor MCP", @@ -1081,8 +1161,6 @@ "mcp.modal.descriptionFlow": "Adicione e salve servidores MCP. Gerenciar servidores em", "mcp.modal.descriptionFlowLink": "configurações", "mcp.modal.descriptionSettings": "Adicione e salve servidores MCP para usar em todos os seus fluxos.", - "mcp.modal.lockedTitle": "O gerenciamento de servidores MCP está bloqueado", - "mcp.modal.lockedDescription": "Entre em contato com um administrador para gerenciar servidores MCP externos.", "mcp.modal.errorDuplicateEnvKeys": "Foram encontradas chaves duplicadas nas variáveis de ambiente.", "mcp.modal.errorDuplicateHeaders": "Foram encontradas chaves duplicadas nos cabeçalhos.", "mcp.modal.errorFailedAdd": "Não foi possível adicionar o servidor MCP.", @@ -1098,6 +1176,8 @@ "mcp.modal.fieldStreamableUrl": "Streamable HTTP /SSE URL", "mcp.modal.jsonPlaceholder": "Cole a configuração JSON para adicionar o servidor", "mcp.modal.jsonTabLabel": "Cole a configuração JSON", + "mcp.modal.lockedDescription": "Entre em contato com um administrador para gerenciar servidores MCP externos.", + "mcp.modal.lockedTitle": "O gerenciamento do servidor MCP está bloqueado", "mcp.modal.placeholderArgument": "Digite o argumento...", "mcp.modal.placeholderCommand": "Digite o comando...", "mcp.modal.placeholderHttpName": "Nome", @@ -1496,6 +1576,7 @@ "settings.apiKeys.columnLastUsed": "Última Utilização", "settings.apiKeys.columnName": "Nome", "settings.apiKeys.columnTotalUses": "Total de utilizações", + "settings.apiKeys.never": "Nunca", "settings.apiKeysTitle": "Chaves de API do Langflow", "settings.apiPageParagraph": "Suas chaves secretas da API do Langflow estão listadas abaixo. Não compartilhe sua chave de API com outras pessoas nem a exponha no navegador ou em outro código do lado do cliente.", "settings.confirmPasswordPlaceholder": "Confirmar senha", diff --git a/src/frontend/src/locales/zh-Hans.json b/src/frontend/src/locales/zh-Hans.json index 653c8386df..bf30d8a2be 100644 --- a/src/frontend/src/locales/zh-Hans.json +++ b/src/frontend/src/locales/zh-Hans.json @@ -69,6 +69,7 @@ "assistant.maxSessionsTooltip": "已达到 {{max}} 会话的上限。 删除当前会话以创建新会话。", "assistant.messageCounts": "{{count}} msgs", "assistant.newConversation": "新建对话", + "assistant.newPill": "新", "assistant.newSession": "新建会话", "assistant.noModels": "未配置任何模型", "assistant.noModelsConfigured": "未配置模型提供程序", @@ -136,6 +137,7 @@ "assistant.thinking.6": "请稍等……", "assistant.thinking.7": "即将完成...", "assistant.title": "Langflow 助手", + "assistant.tryAssistant": "快来试试全新的 Langflow 助手吧!", "assistant.user": "用户", "assistant.viewCode": "查看代码", "assistant.welcomeText": "以下是我能提供的帮助", @@ -266,6 +268,7 @@ "common.optional": "可选", "common.retry": "重试", "common.show": "显示", + "common.unnamed": "未命名", "common.userProfileAlt": "用户", "component.openTable": "开放餐桌", "component.receivingInput": "接收输入", @@ -300,6 +303,7 @@ "deleteModal.noteFolderContents": "以及所有相关的流程和组件", "deleteModal.noteMessageHistory": "及其消息记录", "deleteModal.title": "删除", + "deployments.actionsForDeployment": "{{name}} 的操作", "deployments.addEnvironment": "添加环境", "deployments.addFirstEnvironment": "添加您的第一个环境,开始部署流程。", "deployments.addManuallyInConnection": "请在连接表单中手动添加它们。", @@ -313,7 +317,6 @@ "deployments.agentNameFormatError": "代理名称必须以字母开头。", "deployments.agentTypeDescription": "具备聊天界面和工具调用功能的对话式机器人", "deployments.agentTypeLabel": "代理程序", - "deployments.mcpTypeLabel": "MCP 服务器", "deployments.ariaDeploymentType": "部署类型", "deployments.ariaExistingEnvironments": "现有环境", "deployments.ariaSendMessage": "发送消息", @@ -331,6 +334,7 @@ "deployments.cancelButton": "取消", "deployments.cannotAutoDetectEnvVars": "无法自动检测环境变量", "deployments.changeFlow": "变更流程", + "deployments.chooseDeployedVersion": "选择已部署的版本", "deployments.chooseExistingEnvironment": "选择现有环境", "deployments.chooseProviderDesc": "选择一个要部署到的提供商环境,或者从头开始创建一个新的部署。", "deployments.chooseType": "选择类型", @@ -360,22 +364,24 @@ "deployments.createNewDeploymentTitle": "创建新部署", "deployments.createVersionFromDraftError": "无法从草稿创建版本", "deployments.current": "当前", + "deployments.currentDeploymentTarget": "当前部署目标", "deployments.delete": "删除", "deployments.deleteDeploymentConfirm": "在 Langflow 和 Watsonx Orchestrate 中永久删除部署 {{name}}。", "deployments.deploy": "部署", "deployments.deployFromDraft": "通过从当前草稿创建版本来部署此流程", "deployments.deployed": "已部署", "deployments.deployedToDraft": "已作为草稿发布到 {{providerName}}", + "deployments.deployedVersion": "已部署版本", "deployments.deploying": "正在部署...", "deployments.deployingDescription": "您的部署正在进行配置。 这通常只需几秒钟。", "deployments.deployingTitle": "正在部署...", + "deployments.deployment": "部署", "deployments.deploymentLabel": "部署", "deployments.deploymentLive": "您的部署已上线并可供使用。", "deployments.deploymentLiveNamed": "\"{{name}}\" 现已上线,随时可用。", "deployments.deploymentSuccessful": "部署成功", "deployments.deploymentType": "部署类型", "deployments.deploymentTypeLabel": "{{type}} 部署", - "deployments.deployment": "部署", "deployments.deploymentsOnProvider": "此流程在 {{name}} 上的部署。", "deployments.descriptionLabel": "描述", "deployments.detachFlow": "分离流", @@ -400,14 +406,15 @@ "deployments.failedToCreateProviderAccount": "无法创建提供商账户", "deployments.failedToLoadDetails": "无法加载部署详情", "deployments.failedToLoadFlows": "无法加载附加的流程", + "deployments.failedToPrepareDeployment": "部署准备失败", "deployments.failedToUpdate": "部署更新失败", "deployments.failedToUpdateDeployment": "部署更新失败", - "deployments.failedToPrepareDeployment": "准备部署失败", "deployments.failedToUpdateEnvironment": "无法更新环境", "deployments.fieldApiKey": "API 密钥", "deployments.fieldName": "名称", "deployments.fieldServiceInstanceUrl": "服务实例 URL", "deployments.flow": "流", + "deployments.flowVersion": "Flow 版本", "deployments.flows": "流", "deployments.globalVariables": "全局变量", "deployments.hideApiKey": "隐藏 API 密钥", @@ -425,12 +432,15 @@ "deployments.loadingModels": "正在加载模型...", "deployments.loadingVersions": "正在加载版本...", "deployments.manyVersions": "{{count}} 版本", + "deployments.mcpTypeLabel": "MCP", + "deployments.nameRequired": "名称是必填字段。", "deployments.new": "新", "deployments.newConnections": "新连接", "deployments.newDeployment": "新建部署", "deployments.newDeploymentOnProvider": "{{name}} 上的新部署", "deployments.newEnvironment": "新建环境", "deployments.next": "下一步", + "deployments.noChangesToSave": "没有需要保存的更改", "deployments.noConnectionsDescription": "创建连接,将凭据关联到此流程。", "deployments.noConnectionsMatch": "没有符合条件的连接: \"{{query}}\"", "deployments.noConnectionsYet": "尚未建立连接", @@ -457,16 +467,16 @@ "deployments.removed": "已移除", "deployments.removedCount": "{{count}} 已删除", "deployments.removing": "移除", + "deployments.replaceVersionNotice": "您即将用当前版本的 {{next}} 替换已部署的 {{current}}。", + "deployments.replaceVersionWithVersion": "将 {{current}} 替换为 {{next}}", "deployments.review": "复审", "deployments.reviewAndConfirm": "查看并确认", "deployments.reviewDetails": "创建前请检查您的部署详情。", "deployments.reviewUpdate": "评论更新", - "deployments.reviewUpdateDescription": "检查将被更新的已部署版本。", - "deployments.chooseDeployedVersion": "选择已部署版本", - "deployments.selectDeployedToolToReplace": "选择要替换的已部署工具", - "deployments.willBeReplaced": "将被替换", + "deployments.reviewUpdateDescription": "请确认将更新哪个已部署版本。", "deployments.saveButton": "保存", "deployments.saving": "正在保存...", + "deployments.selectDeployedToolToReplace": "选择要替换的已部署工具", "deployments.selectDeployment": "选择部署", "deployments.selectDeploymentDescription": "选择一个部署进行更新,或创建一个新的部署。", "deployments.selectFlow": "选择一个流程以查看版本", @@ -475,8 +485,12 @@ "deployments.selectOrCreateConnection": "选择或创建新连接", "deployments.selectProvider": "选择提供者", "deployments.selectVersion": "选择要附加到此部署的版本", + "deployments.selectVersionToReplace": "选择要替换的版本", + "deployments.selectedDeployedVersionWillUpdate": "所选的已部署版本将更新至当前流程 {{next}}。", + "deployments.selectedTarget": "已选目标", "deployments.setupNewDeployment": "从头开始设置一个新的部署", "deployments.showApiKey": "显示 API 密钥", + "deployments.singleAttachmentTarget": "仅提供已部署版本用于替换", "deployments.skip": "跳过", "deployments.stepFlows": "流", "deployments.stepOf": "步骤 {{current}} ,来自 {{total}}", @@ -494,17 +508,7 @@ "deployments.updateAction": "更新", "deployments.updateButton": "更新", "deployments.updateDeployment": "更新部署", - "deployments.updateDeploymentDescription": "选择应由当前流程版本替换的已部署流程版本。", - "deployments.selectedTarget": "已选目标", - "deployments.flowVersion": "流程版本", - "deployments.replaceVersionNotice": "你即将用当前流程版本 {{next}} 替换已部署版本 {{current}}。", - "deployments.selectVersionToReplace": "选择要替换的版本", - "deployments.selectedDeployedVersionWillUpdate": "所选已部署版本将更新为当前流程版本 {{next}}。", - "deployments.currentDeploymentTarget": "当前部署目标", - "deployments.deployedVersion": "已部署版本", - "deployments.willBeReplacedByVersion": "将被 {{next}} 替换", - "deployments.replaceVersionWithVersion": "用 {{next}} 替换 {{current}}", - "deployments.singleAttachmentTarget": "仅有一个可替换的已部署版本", + "deployments.updateDeploymentDescription": "请选择要被当前流程版本替换的已部署流程版本。", "deployments.updatedDesc": "\"{{name}}\" 已更新。", "deployments.updatedTitle": "部署已更新", "deployments.updating": "正在更新...", @@ -513,6 +517,8 @@ "deployments.variablesAutoDetected_one": "{{count}} 该变量已根据所选流程版本自动检测。", "deployments.variablesAutoDetected_other": "{{count}} 从所选流程版本中自动检测到的变量。", "deployments.versionCreated": "创建时间:{{date}}", + "deployments.willBeReplaced": "将被替换", + "deployments.willBeReplacedByVersion": "将被 {{next}} 取代", "deployments.wxoAlreadyHaveAccount": "已有账户?", "deployments.wxoConfigureCredentials": "请在下方配置您的 watsonx Orchestrate 凭据。 初次访问 wxO?", "deployments.wxoFindCredentials": "查找您的凭据", @@ -588,7 +594,6 @@ "errors.failedToExportVersion": "导出版本失败", "errors.failedToFetchRunStatus": "无法获取运行状态", "errors.failedToLoadDeployment": "无法加载部署详情", - "errors.noProviderSnapshotFoundOnSelectedDeployment": "在所选部署中未找到此流程的提供方快照。", "errors.failedToLoadModels": "无法加载模型", "errors.failedToRestoreVersion": "无法恢复版本", "errors.failedToSaveFlow": "无法保存流程", @@ -614,6 +619,7 @@ "errors.noItemsSelected": "未选择任何项目", "errors.noKeyCombinationRecorded": "未记录任何键盘快捷键。", "errors.noModelsToRefresh": "没有需要刷新的模型组件", + "errors.noProviderSnapshotFoundOnSelectedDeployment": "在所选部署中未找到此流的提供商快照。", "errors.noResponseBody": "没有响应正文", "errors.parameterNotFound": "模板中未找到该参数", "errors.passwordMismatch": "密码不匹配", @@ -708,6 +714,67 @@ "flow.buildStatus": "构建以验证状态。", "flow.buildSuccess": "已成功构建 ✨", "flow.characterLimitReached": "已达到字符限制", + "flow.defaultDescription.0": "串联词语,掌握语言!", + "flow.defaultDescription.1": "语言架构师在行动!", + "flow.defaultDescription.10": "构建语言迷宫。", + "flow.defaultDescription.11": "创造、串联、沟通。", + "flow.defaultDescription.12": "连点成线,构筑语言。", + "flow.defaultDescription.13": "互动语言编织。", + "flow.defaultDescription.14": "创造、创新、沟通。", + "flow.defaultDescription.15": "对话催化引擎。", + "flow.defaultDescription.16": "语言:Chainlink Master。", + "flow.defaultDescription.17": "与Langflow的设计对话。", + "flow.defaultDescription.18": "在此培育 NLP 节点。", + "flow.defaultDescription.19": "解锁对话式制图。", + "flow.defaultDescription.2": "推动语言工程的发展。", + "flow.defaultDescription.20": "设计、开发、对话。", + "flow.defaultDescription.21": "释放语言创造力。", + "flow.defaultDescription.22": "用图表开启精彩对话。", + "flow.defaultDescription.23": "语言的力量,尽在指尖。", + "flow.defaultDescription.24": "精准雕琢语言。", + "flow.defaultDescription.25": "语言与逻辑的交汇之处。", + "flow.defaultDescription.26": "构建智能交互。", + "flow.defaultDescription.27": "通往语言世界的通行证。", + "flow.defaultDescription.28": "使用 Langflow 进行创作、整理和沟通。", + "flow.defaultDescription.29": "畅游语言的未来。", + "flow.defaultDescription.3": "在此建立语言联系。", + "flow.defaultDescription.30": "绘制有意义的对话。", + "flow.defaultDescription.31": "领略发音的艺术。", + "flow.defaultDescription.32": "卓越的语言工程。", + "flow.defaultDescription.33": "穿梭于对话网络之中。", + "flow.defaultDescription.34": "一步一个脚印,编织对话。", + "flow.defaultDescription.35": "生成式文本的巅峰之作。", + "flow.defaultDescription.36": "语言模型,精准映射,尽在掌握。", + "flow.defaultDescription.37": "强力提示,精准定位。", + "flow.defaultDescription.38": "与Langflow互动中的创新。", + "flow.defaultDescription.39": "您的文本生成工具包。", + "flow.defaultDescription.4": "创造、连接、交流。", + "flow.defaultDescription.40": "探索语言的无限可能。", + "flow.defaultDescription.41": "利用语言模型构建强大的解决方案。", + "flow.defaultDescription.42": "利用自然语言处理(NLP)发掘商业机遇。", + "flow.defaultDescription.43": "发挥 Conversational AI 的强大功能。", + "flow.defaultDescription.44": "借助智能对话,重塑您的业务。", + "flow.defaultDescription.45": "打造有意义的互动,创造价值。", + "flow.defaultDescription.46": "通过语言工程释放商业潜力。", + "flow.defaultDescription.47": "通过智能交互赋能企业。", + "flow.defaultDescription.48": "推动商业沟通的创新。", + "flow.defaultDescription.49": "借助 Conversational AI 推动业务增长。", + "flow.defaultDescription.5": "智能链,更智能的对话。", + "flow.defaultDescription.50": "文本生成与业务转型的结合。", + "flow.defaultDescription.51": "探索语言世界,发掘机遇。", + "flow.defaultDescription.52": "建立强有力的联系,提升商业价值。", + "flow.defaultDescription.53": "促进沟通,创造机遇。", + "flow.defaultDescription.54": "用于突破性 Business Solutions 的高级自然语言处理。", + "flow.defaultDescription.55": "交互创新,收益革命。", + "flow.defaultDescription.56": "通过智能对话,实现最大影响力。", + "flow.defaultDescription.57": "超越文本生成——释放商业机遇。", + "flow.defaultDescription.58": "在商务对话中释放人工智能的强大力量。", + "flow.defaultDescription.59": "打造推动业务成功的对话。", + "flow.defaultDescription.6": "搭建通往卓越的桥梁。", + "flow.defaultDescription.60": "匠心打造,卓越品质;专为商业而生。", + "flow.defaultDescription.7": "语言模型,尽情释放。", + "flow.defaultDescription.8": "您的文本生成中心。", + "flow.defaultDescription.9": "机智又迅速!", "flow.defaultName": "新流程", "flow.deletedSuccessfully": "已成功删除所选项目", "flow.descriptionLabel": "描述", @@ -764,6 +831,16 @@ "flowBuild.runningFlow": "正在运行工作流程", "flowBuild.runningNode": "运行 {{id}}", "flowBuild.stop": "停止", + "flowBuilderWelcome.browseMoreLabel": "浏览更多...", + "flowBuilderWelcome.configureModelProviders": "配置模型提供程序", + "flowBuilderWelcome.noProviderDescription": "添加一个模型提供商,用 AI 描述您的流程,或者从下面的模板中选择一个,立即开始。", + "flowBuilderWelcome.orTemplateLabel": "或者从模板开始:", + "flowBuilderWelcome.sendLabel": "发送", + "flowBuilderWelcome.simpleAgentLabel": "简单代理", + "flowBuilderWelcome.textareaPlaceholder": "请描述你的工作流程……", + "flowBuilderWelcome.title": "你想打造什么?", + "flowBuilderWelcome.titleNoProvider": "我们先来做些准备工作", + "flowBuilderWelcome.vectorStoreRagLabel": "向量存储 RAG", "flowVersion.captureStateDescription": "将当前状态保存为还原点", "flowVersion.currentLabel": "当前", "flowVersion.dataCannotBeRendered": "无法渲染此版本的数据以供预览", @@ -1040,6 +1117,9 @@ "loading.loading": "正在加载...", "mainPage.delete": "删除", "mainPage.editedAgo": "{{time}} 前编辑", + "mainPage.flowType.components": "组件", + "mainPage.flowType.flows": "流", + "mainPage.flowType.mcp": "MCP", "mainPage.flowsDeletedSuccess": "流程已成功删除", "mainPage.flowsDownloadedSuccess": "流程已成功下载", "mainPage.mcpServer": "MCP 服务器", @@ -1081,8 +1161,6 @@ "mcp.modal.descriptionFlow": "添加并保存 MCP 服务器。 在", "mcp.modal.descriptionFlowLink": "设置", "mcp.modal.descriptionSettings": "添加并保存 MCP 服务器,以便在各个流程中使用。", - "mcp.modal.lockedTitle": "MCP 服务器管理已锁定", - "mcp.modal.lockedDescription": "请联系管理员以管理外部 MCP 服务器。", "mcp.modal.errorDuplicateEnvKeys": "在环境变量中发现了重复的键。", "mcp.modal.errorDuplicateHeaders": "在标题中发现了重复的键。", "mcp.modal.errorFailedAdd": "无法添加 MCP 服务器。", @@ -1098,6 +1176,8 @@ "mcp.modal.fieldStreamableUrl": "Streamable HTTP /SSE URL", "mcp.modal.jsonPlaceholder": "粘贴 JSON 配置以添加服务器", "mcp.modal.jsonTabLabel": "粘贴 JSON 配置", + "mcp.modal.lockedDescription": "请联系管理员以管理外部 MCP 服务器。", + "mcp.modal.lockedTitle": "MCP 服务器管理已被锁定", "mcp.modal.placeholderArgument": "输入参数...", "mcp.modal.placeholderCommand": "请输入命令...", "mcp.modal.placeholderHttpName": "名称", @@ -1496,6 +1576,7 @@ "settings.apiKeys.columnLastUsed": "最近使用", "settings.apiKeys.columnName": "名称", "settings.apiKeys.columnTotalUses": "总使用次数", + "settings.apiKeys.never": "从不", "settings.apiKeysTitle": "Langflow API 密钥", "settings.apiPageParagraph": "您的 Langflow 私有 API 密钥如下所示。 请勿将您的 API 密钥分享给他人,也不要在浏览器或其他客户端代码中暴露该密钥。", "settings.confirmPasswordPlaceholder": "确认密码", diff --git a/src/frontend/src/modals/toolsModal/components/toolsTable/index.tsx b/src/frontend/src/modals/toolsModal/components/toolsTable/index.tsx index 93bba9c967..2b6b8c6bee 100644 --- a/src/frontend/src/modals/toolsModal/components/toolsTable/index.tsx +++ b/src/frontend/src/modals/toolsModal/components/toolsTable/index.tsx @@ -226,7 +226,12 @@ export default function ToolsTable({ "uppercase", ]) : isAction - ? sanitizeMcpName(params.data.display_name, 46).toUpperCase() + ? (() => { + const raw = sanitizeMcpName(params.data.display_name, 46); + return ( + raw === "unnamed" ? t("common.unnamed") : raw + ).toUpperCase(); + })() : parseString(params.data.tags.join(", "), [ "snake_case", "uppercase", diff --git a/src/frontend/src/pages/MainPage/components/header/index.tsx b/src/frontend/src/pages/MainPage/components/header/index.tsx index f1de36f383..c7946599d4 100644 --- a/src/frontend/src/pages/MainPage/components/header/index.tsx +++ b/src/frontend/src/pages/MainPage/components/header/index.tsx @@ -197,7 +197,9 @@ const HeaderComponent = ({ icon="Search" data-testid="search-store-input" type="text" - placeholder={t("mainPage.searchPlaceholder", { flowType })} + placeholder={t("mainPage.searchPlaceholder", { + flowType: t(`mainPage.flowType.${flowType}`), + })} className="mr-2 !text-mmd" inputClassName="!text-mmd" value={debouncedSearch} diff --git a/src/frontend/src/pages/SettingsPage/pages/ApiKeysPage/components/LastUsedAtCellRender/index.tsx b/src/frontend/src/pages/SettingsPage/pages/ApiKeysPage/components/LastUsedAtCellRender/index.tsx index 8415b52f4f..539c8fa43e 100644 --- a/src/frontend/src/pages/SettingsPage/pages/ApiKeysPage/components/LastUsedAtCellRender/index.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/ApiKeysPage/components/LastUsedAtCellRender/index.tsx @@ -1,9 +1,12 @@ import type { CustomCellRendererProps } from "ag-grid-react"; +import { useTranslation } from "react-i18next"; import DateReader from "@/components/core/dateReaderComponent"; export default function LastUsedAtCellRender({ value, }: CustomCellRendererProps) { + const { t } = useTranslation(); + if (value && typeof value === "string" && value.includes("T")) { return (