From c8cf5e5d2e480a3f1c468ed67d8cc17f96822a0e Mon Sep 17 00:00:00 2001 From: Ashish Gupta Date: Sun, 8 Jun 2025 15:15:26 +0530 Subject: [PATCH] * fix the lineage upstream having additional nodes * restrict the config value for negative number from lineage page and global setting config * added playwrigth for lineage page config (cherry picked from commit 0890791758b9d1860b87469678575f94712e8d15) --- .../e2e/Flow/LineageSettings.spec.ts | 73 +++++++++- .../ui/playwright/e2e/Pages/Lineage.spec.ts | 8 ++ .../resources/ui/playwright/utils/lineage.ts | 31 ++++ .../EntityLineage/LineageConfigModal.test.tsx | 135 +++++++++++++++++- .../EntityLineage/LineageConfigModal.tsx | 52 +++---- .../resources/ui/src/constants/constants.ts | 4 + .../ui/src/locale/languages/de-de.json | 4 +- .../ui/src/locale/languages/en-us.json | 4 +- .../ui/src/locale/languages/es-es.json | 4 +- .../ui/src/locale/languages/fr-fr.json | 4 +- .../ui/src/locale/languages/gl-es.json | 4 +- .../ui/src/locale/languages/he-he.json | 4 +- .../ui/src/locale/languages/ja-jp.json | 4 +- .../ui/src/locale/languages/ko-kr.json | 4 +- .../ui/src/locale/languages/mr-in.json | 4 +- .../ui/src/locale/languages/nl-nl.json | 4 +- .../ui/src/locale/languages/pr-pr.json | 4 +- .../ui/src/locale/languages/pt-br.json | 6 +- .../ui/src/locale/languages/pt-pt.json | 4 +- .../ui/src/locale/languages/ru-ru.json | 4 +- .../ui/src/locale/languages/th-th.json | 4 +- .../ui/src/locale/languages/tr-tr.json | 4 +- .../ui/src/locale/languages/zh-cn.json | 4 +- .../LineageConfigPage/LineageConfigPage.tsx | 26 ++-- .../main/resources/ui/src/rest/lineageAPI.ts | 4 +- 25 files changed, 304 insertions(+), 99 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/LineageSettings.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/LineageSettings.spec.ts index 3a7c707cad4..2f2aa8ec12b 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/LineageSettings.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/LineageSettings.spec.ts @@ -18,7 +18,12 @@ import { MlModelClass } from '../../support/entity/MlModelClass'; import { SearchIndexClass } from '../../support/entity/SearchIndexClass'; import { TableClass } from '../../support/entity/TableClass'; import { TopicClass } from '../../support/entity/TopicClass'; -import { createNewPage, getApiContext } from '../../utils/common'; +import { + createNewPage, + getApiContext, + redirectToHomePage, + toastNotification, +} from '../../utils/common'; import { addPipelineBetweenNodes, fillLineageConfigForm, @@ -59,7 +64,34 @@ test.describe('Lineage Settings Tests', () => { await addPipelineBetweenNodes(page, mlModel, searchIndex); await test.step( - 'Update global lineage config and verify lineage', + 'Lineage config should throw error if upstream depth is less than 0', + async () => { + await settingClick(page, GlobalSettingOptions.LINEAGE_CONFIG); + + await page.getByTestId('field-upstream').fill('-1'); + await page.getByTestId('field-downstream').fill('-1'); + await page.getByTestId('save-button').click(); + + await expect( + page.getByText('Upstream Depth size cannot be less than 0') + ).toBeVisible(); + await expect( + page.getByText('Downstream Depth size cannot be less than 0') + ).toBeVisible(); + + await page.getByTestId('field-upstream').fill('0'); + await page.getByTestId('field-downstream').fill('0'); + + const saveRes = page.waitForResponse('/api/v1/system/settings'); + await page.getByTestId('save-button').click(); + await saveRes; + + await toastNotification(page, /Lineage Config updated successfully/); + } + ); + + await test.step( + 'Update global lineage config and verify lineage for column layer', async () => { await settingClick(page, GlobalSettingOptions.LINEAGE_CONFIG); await fillLineageConfigForm(page, { @@ -86,9 +118,46 @@ test.describe('Lineage Settings Tests', () => { } ); + await test.step( + 'Update global lineage config and verify lineage for entity layer', + async () => { + await settingClick(page, GlobalSettingOptions.LINEAGE_CONFIG); + await fillLineageConfigForm(page, { + upstreamDepth: 1, + downstreamDepth: 1, + layer: 'Entity Lineage', + }); + + await dashboard.visitEntityPage(page); + await visitLineageTab(page); + + await verifyNodePresent(page, dashboard); + await verifyNodePresent(page, mlModel); + await verifyNodePresent(page, topic); + + const tableNode = page.locator( + `[data-testid="lineage-node-${get( + table, + 'entityResponseData.fullyQualifiedName' + )}"]` + ); + + const searchIndexNode = page.locator( + `[data-testid="lineage-node-${get( + searchIndex, + 'entityResponseData.fullyQualifiedName' + )}"]` + ); + + await expect(tableNode).not.toBeVisible(); + await expect(searchIndexNode).not.toBeVisible(); + } + ); + await test.step( 'Verify Upstream and Downstream expand collapse buttons', async () => { + await redirectToHomePage(page); await dashboard.visitEntityPage(page); await visitLineageTab(page); const closeIcon = page.getByTestId('entity-panel-close-icon'); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Lineage.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Lineage.spec.ts index 57e0ac490cc..451fd3060b0 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Lineage.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Lineage.spec.ts @@ -44,6 +44,7 @@ import { verifyColumnLineageInCSV, verifyExportLineageCSV, verifyExportLineagePNG, + verifyLineageConfig, verifyNodePresent, visitLineageTab, } from '../../utils/lineage'; @@ -159,6 +160,13 @@ for (const EntityClass of entities) { } } ); + + await test.step('Verify Lineage Config', async () => { + await redirectToHomePage(page); + await currentEntity.visitEntityPage(page); + await visitLineageTab(page); + await verifyLineageConfig(page); + }); } finally { await cleanup(); } diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/lineage.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/lineage.ts index d7f3f24035e..cb548b7a159 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/lineage.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/lineage.ts @@ -703,3 +703,34 @@ export const verifyColumnLineageInCSV = async ( expect(matchingRow).toBeDefined(); // Ensure a matching row exists }; + +export const verifyLineageConfig = async (page: Page) => { + await page.click('[data-testid="lineage-config"]'); + await page.waitForSelector('.ant-modal-content', { + state: 'visible', + }); + + await page.getByTestId('field-upstream').fill('-1'); + await page.getByTestId('field-downstream').fill('-1'); + await page.getByTestId('field-nodes-per-layer').fill('3'); + + await page.getByText('OK').click(); + + await expect( + page.getByText('Upstream Depth size cannot be less than 0') + ).toBeVisible(); + await expect( + page.getByText('Downstream Depth size cannot be less than 0') + ).toBeVisible(); + await expect( + page.getByText('Nodes Per Layer size cannot be less than 5') + ).toBeVisible(); + + await page.getByTestId('field-upstream').fill('0'); + await page.getByTestId('field-downstream').fill('0'); + await page.getByTestId('field-nodes-per-layer').fill('5'); + + const saveRes = page.waitForResponse('/api/v1/lineage/getLineage?**'); + await page.getByText('OK').click(); + await saveRes; +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/LineageConfigModal.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/LineageConfigModal.test.tsx index b7a3e84f554..f911a6c0843 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/LineageConfigModal.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/LineageConfigModal.test.tsx @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { fireEvent, render, screen } from '@testing-library/react'; +import { fireEvent, render, screen, waitFor } from '@testing-library/react'; import React from 'react'; import LineageConfigModal from './LineageConfigModal'; @@ -63,4 +63,137 @@ describe('LineageConfigModal', () => { expect(onCancel).toHaveBeenCalledTimes(1); }); + + it('calls onSave with updated values when form is submitted', async () => { + render( + + ); + + const fieldUpstream = await screen.findByTestId('field-upstream'); + const fieldDownstream = await screen.findByTestId('field-downstream'); + const fieldNodesPerLayer = await screen.findByTestId( + 'field-nodes-per-layer' + ); + + // Update values + fireEvent.change(fieldUpstream, { target: { value: '5' } }); + fireEvent.change(fieldDownstream, { target: { value: '6' } }); + fireEvent.change(fieldNodesPerLayer, { target: { value: '7' } }); + + // Submit form + fireEvent.click(screen.getByRole('button', { name: 'OK' })); + + await waitFor(() => { + expect(onSave).toHaveBeenCalledWith({ + upstreamDepth: 5, + downstreamDepth: 6, + nodesPerLayer: 7, + }); + }); + }); + + it('validates minimum value for upstream depth', async () => { + render( + + ); + + const fieldUpstream = await screen.findByTestId('field-upstream'); + + // Try to set negative value + fireEvent.change(fieldUpstream, { target: { value: '-1' } }); + + // Submit form + fireEvent.click(screen.getByRole('button', { name: 'OK' })); + + await waitFor(() => { + expect(onSave).not.toHaveBeenCalled(); + }); + }); + + it('validates minimum value for downstream depth', async () => { + render( + + ); + + const fieldDownstream = await screen.findByTestId('field-downstream'); + + // Try to set negative value + fireEvent.change(fieldDownstream, { target: { value: '-1' } }); + + // Submit form + fireEvent.click(screen.getByRole('button', { name: 'OK' })); + + await waitFor(() => { + expect(onSave).not.toHaveBeenCalled(); + }); + }); + + it('validates minimum value for nodes per layer', async () => { + render( + + ); + + const fieldNodesPerLayer = await screen.findByTestId( + 'field-nodes-per-layer' + ); + + // Try to set value less than minimum (5) + fireEvent.change(fieldNodesPerLayer, { target: { value: '4' } }); + + // Submit form + fireEvent.click(screen.getByRole('button', { name: 'OK' })); + + await waitFor(() => { + expect(onSave).not.toHaveBeenCalled(); + }); + }); + + it('validates required fields', async () => { + render( + + ); + + const fieldUpstream = await screen.findByTestId('field-upstream'); + const fieldDownstream = await screen.findByTestId('field-downstream'); + const fieldNodesPerLayer = await screen.findByTestId( + 'field-nodes-per-layer' + ); + + // Clear all fields + fireEvent.change(fieldUpstream, { target: { value: '' } }); + fireEvent.change(fieldDownstream, { target: { value: '' } }); + fireEvent.change(fieldNodesPerLayer, { target: { value: '' } }); + + // Submit form + fireEvent.click(screen.getByRole('button', { name: 'OK' })); + + await waitFor(() => { + expect(onSave).not.toHaveBeenCalled(); + }); + }); }); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/LineageConfigModal.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/LineageConfigModal.tsx index 61711687de3..1737afd3338 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/LineageConfigModal.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/LineageConfigModal.tsx @@ -10,19 +10,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { Form, Input, Modal } from 'antd'; +import { Form, InputNumber, Modal } from 'antd'; import React from 'react'; import { useTranslation } from 'react-i18next'; -import { - LineageConfig, - LineageConfigModalProps, -} from './EntityLineage.interface'; - -type LineageConfigFormFields = { - upstreamDepth: number; - downstreamDepth: number; - nodesPerLayer: number; -}; +import { VALIDATION_MESSAGES } from '../../../constants/constants'; +import { LineageConfigModalProps } from './EntityLineage.interface'; const LineageConfigModal: React.FC = ({ visible, @@ -33,15 +25,6 @@ const LineageConfigModal: React.FC = ({ const { t } = useTranslation(); const [form] = Form.useForm(); - const handleSave = (values: LineageConfigFormFields) => { - const updatedConfig: LineageConfig = { - upstreamDepth: Number(values.upstreamDepth), - downstreamDepth: Number(values.downstreamDepth), - nodesPerLayer: Number(values.nodesPerLayer), - }; - onSave(updatedConfig); - }; - return ( = ({ form={form} initialValues={config} layout="vertical" - onFinish={handleSave}> + validateMessages={VALIDATION_MESSAGES} + onFinish={onSave}> - + = ({ rules={[ { required: true, - message: t('message.downstream-depth-message'), + }, + { + type: 'number', + min: 0, }, ]} tooltip={t('message.downstream-depth-tooltip')}> - + = ({ rules={[ { required: true, - message: t('message.nodes-per-layer-message'), + }, + { + type: 'number', + min: 5, }, ]} tooltip={t('message.nodes-per-layer-tooltip')}> - + diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts b/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts index 029825f462d..aff2a90a61c 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts +++ b/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts @@ -366,6 +366,10 @@ export const VALIDATION_MESSAGES = { min: '${min}', max: '${max}', }), + min: i18n.t('message.entity-size-less-than', { + entity: '${label}', + min: '${min}', + }), }, }; diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json index 970a1b008d3..c11f3976e4f 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "Die Domäne {{name}} enthält keine Assets, die zum Datenprodukt hinzugefügt werden können.", "domain-type-guide": "Es gibt drei Arten von Domänen: Aggregierte, Verbraucherzentrierte und Quellbezogene.", "domains-not-configured": "Domänen sind nicht konfiguriert.", - "downstream-depth-message": "Bitte wählen Sie einen Wert für die nachgelagerte Tiefe aus.", "downstream-depth-tooltip": "Zeigen Sie bis zu 3 Knoten der nachgelagerten Verbindungslinie an, um das Ziel (Kinderebenen) zu identifizieren.", "drag-and-drop-files-here": "Dateien hierher ziehen und ablegen", "drag-and-drop-or-browse-csv-files-here": "Ziehen und ablegen oder <0>{{text}} CSV-Datei hier auswählen", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} erfolgreich wiederhergestellt.", "entity-saved-successfully": "{{entity}} erfolgreich gespeichert", "entity-size-in-between": "{{entity}} Größe muss zwischen {{min}} und {{max}} liegen.", + "entity-size-less-than": "Die Größe von {{entity}} darf nicht kleiner sein als {{min}}", "entity-size-must-be-between-2-and-64": "{{entity}} Größe muss zwischen 2 und 64 liegen.", "entity-transfer-confirmation-message": "Um fortzufahren, bestätigen Sie, dass Sie verstehen, dass sich der Status von <0>{{from}} ändern wird zu", "entity-transfer-message": "Klicken Sie auf Bestätigen, wenn Sie {{entity}} von <0>{{from}} unter <0>{{to}} {{entity}} verschieben möchten.", @@ -1939,7 +1939,6 @@ "no-users": "Es gibt keine Benutzer {{text}}", "no-version-type-available": "Keine {{type}}-Version verfügbar", "no-widgets-to-add": "Keine neuen Widgets zum Hinzufügen verfügbar.", - "nodes-per-layer-message": "Bitte geben Sie einen Wert für Knoten pro Ebene ein", "nodes-per-layer-tooltip": "Wählen Sie aus, wie viele Knoten pro Ebene angezeigt werden sollen. Wenn die vorhandenen Knoten die definierte Anzahl von Knoten überschreiten, wird eine Paginierung angezeigt.", "not-followed-anything": "Du hast noch nichts abonniert.", "notification-description": "Richten Sie Benachrichtigungen ein, um Echtzeit-Updates und zeitnahe Alarme zu erhalten.", @@ -2143,7 +2142,6 @@ "update-tag-message": "Anfrage zur Aktualisierung der Tags für", "updating-existing-not-possible-can-add-new-values": "Die Aktualisierung bestehender Werte ist nicht möglich, nur das Hinzufügen neuer Werte ist erlaubt.", "upload-file": "Datei hochladen", - "upstream-depth-message": "Bitte wählen Sie einen Wert für die Upstream-Tiefe aus", "upstream-depth-tooltip": "Zeigen Sie bis zu 3 Knoten der Upstream-Lineage an, um die Quelle (Elternebenen) zu identifizieren.", "usage-ingestion-description": "Die Nutzungsinhalation kann nach Einrichtung einer Metadateninhalation konfiguriert und bereitgestellt werden. Der Nutzungsinhalationsworkflow erhält die Abfrageprotokolle und Details zur Tabellenerstellung aus der zugrunde liegenden Datenbank und gibt sie an OpenMetadata weiter. Metadaten und Nutzung können nur eine Pipeline für einen Datenbankdienst haben. Legen Sie die Dauer des Abfrageprotokolls (in Tagen), den Speicherort der Staging-Datei und das Ergebnislimit fest, um zu beginnen.", "use-fqn-for-filtering-message": "Das Regex wird auf den vollständig qualifizierten Namen angewendet (z. B. service_name.db_name.schema_name.table_name) anstelle des Rohnamens (z. B. table_name).", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json index 7369a33524b..a225a008ae9 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "Domain {{name}} doesn't have any assets to add to the Data Product", "domain-type-guide": "There are three types of domains: Aggregate, Consumer-aligned and Source-aligned.", "domains-not-configured": "Domains are not configured", - "downstream-depth-message": "Please select a value for downstream depth", "downstream-depth-tooltip": "Display up to 3 nodes of downstream lineage to identify the target (child levels).", "drag-and-drop-files-here": "Drag & drop files here", "drag-and-drop-or-browse-csv-files-here": "Drag & Drop or <0>{{text}} CSV file here", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} restored successfully", "entity-saved-successfully": "{{entity}} saved successfully", "entity-size-in-between": "{{entity}} size must be between {{min}} and {{max}}", + "entity-size-less-than": "{{entity}} size cannot be less than {{min}}", "entity-size-must-be-between-2-and-64": "{{entity}} size must be between 2 and 64", "entity-transfer-confirmation-message": "To proceed, confirm that you understand the status of <0>{{from}} will change to", "entity-transfer-message": "Click on Confirm if you’d like to move <0>{{from}} {{entity}} under <0>{{to}} {{entity}}.", @@ -1939,7 +1939,6 @@ "no-users": "There are no users {{text}}", "no-version-type-available": "No {{type}} version available", "no-widgets-to-add": "No new widgets to add", - "nodes-per-layer-message": "Please enter a value for nodes per layer", "nodes-per-layer-tooltip": "Choose to display 'n' number of nodes per layer. If the existing nodes exceed the defined number of nodes, then pagination will be shown.", "not-followed-anything": "Start Exploring! and Follow the Data Assets that interests you.", "notification-description": "Set up notifications to received real-time updates and timely alerts.", @@ -2143,7 +2142,6 @@ "update-tag-message": "Request to update tags for", "updating-existing-not-possible-can-add-new-values": "Updating existing values is not possible, only the addition of new values is allowed.", "upload-file": "Upload File", - "upstream-depth-message": "Please select a value for upstream depth", "upstream-depth-tooltip": "Display up to 3 nodes of upstream lineage to identify the source (parent levels).", "usage-ingestion-description": "Usage ingestion can be configured and deployed after a metadata ingestion has been set up. The usage ingestion workflow obtains the query log and table creation details from the underlying database and feeds it to OpenMetadata. Metadata and usage can have only one pipeline for a database service. Define the Query Log Duration (in days), Stage File Location, and Result Limit to start.", "use-fqn-for-filtering-message": "Regex will be applied on fully qualified name (e.g service_name.db_name.schema_name.table_name) instead of raw name (e.g. table_name).", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json index ca057b6bbb5..457cc06e6bb 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "El dominio {{name}} no tiene activos para agregar al Producto de Datos.", "domain-type-guide": "There are three types of domains: Aggregate, Consumer-aligned and Source-aligned.", "domains-not-configured": "Los dominios no están configurados", - "downstream-depth-message": "Por favor seleccione un valor para la profundidad del linaje", "downstream-depth-tooltip": "Muestre hasta 3 nodos de linaje para identificar el objetivo (niveles descendientes).", "drag-and-drop-files-here": "Arrastre y suelte archivos aquí", "drag-and-drop-or-browse-csv-files-here": "Arrastre y suelte o <0>{{text}} archivo CSV aquí", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} restaurado exitosamente", "entity-saved-successfully": "{{entity}} guardado exitosamente", "entity-size-in-between": "El tamaño de {{entity}} debe estar entre {{min}} y {{max}}", + "entity-size-less-than": "El tamaño de {{entity}} no puede ser menor que {{min}}", "entity-size-must-be-between-2-and-64": "El tamaño de {{entity}} debe estar entre 2 y 64", "entity-transfer-confirmation-message": "Para continuar, confirma que entiendes que el estado de <0>{{from}} cambiará a", "entity-transfer-message": "Haga clic en Confirmar si desea mover <0>{{from}} {{entity}} debajo de <0>{{to}} {{entity}}.", @@ -1939,7 +1939,6 @@ "no-users": "No hay usuarios {{text}}", "no-version-type-available": "No hay versiones de {{type}} disponibles", "no-widgets-to-add": "No hay nuevos widgets para agregar", - "nodes-per-layer-message": "Por favor, ingresa un valor para nodos por capa", "nodes-per-layer-tooltip": "Elige mostrar 'n' número de nodos por capa. Si los nodos existentes superan el número definido de nodos, se mostrará la paginación.", "not-followed-anything": "Todavía no has seguido nada.", "notification-description": "Configura notificaciones para recibir actualizaciones en tiempo real y alertas oportunas.", @@ -2143,7 +2142,6 @@ "update-tag-message": "Solicitud para actualizar etiquetas de", "updating-existing-not-possible-can-add-new-values": "No es posible actualizar valores existentes, solo se permite la adición de nuevos valores.", "upload-file": "Upload File", - "upstream-depth-message": "Seleccione un valor para la profundidad ascendente", "upstream-depth-tooltip": "Muestra hasta 3 nodos de la línea ascendente para identificar la fuente (niveles padre).", "usage-ingestion-description": "La ingesta de uso se puede configurar e implementar después de que se haya establecido una ingesta de metadatos. El flujo de trabajo de ingesta de uso obtiene el registro de consultas y los detalles de creación de tablas de la base de datos subyacente y los alimenta a OpenMetadata. Los metadatos y el uso solo pueden tener un flujo de trabajo para un servicio de base de datos. Defina la duración del registro de consultas (en días), la ubicación del archivo de etapa y el límite de resultados para comenzar.", "use-fqn-for-filtering-message": "Se aplicará Regex en el nombre completamente calificado (p. ej., service_name.db_name.schema_name.table_name) en lugar del nombre sin procesar (p. ej., table_name).", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json index eddbce7fc78..c1aea221e7b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "Le domaine {{name}} ne possède aucun actif à ajouter au Data Product", "domain-type-guide": "There are three types of domains: Aggregate, Consumer-aligned and Source-aligned.", "domains-not-configured": "Les domaines ne sont pas configurés", - "downstream-depth-message": "Merci de sélectionner une valeur pour la profondeur aval", "downstream-depth-tooltip": "Afficher jusqu'à 3 nœuds de lignée descendante pour identifier la cible (niveaux enfants).", "drag-and-drop-files-here": "Glisser et déposer les fichiers ici", "drag-and-drop-or-browse-csv-files-here": "Glisser et déposer ou <0>{{text}} fichier CSV ici", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} restauré avec succès", "entity-saved-successfully": "{{entity}} sauvegardé avec succès", "entity-size-in-between": "{{entity}} taille doit être de {{min}} et {{max}}", + "entity-size-less-than": "La taille de {{entity}} ne peut pas être inférieure à {{min}}", "entity-size-must-be-between-2-and-64": "{{entity}} taille doit être comprise entre 2 et 64", "entity-transfer-confirmation-message": "Pour continuer, confirmez que vous comprenez que le statut de <0>{{from}} changera en", "entity-transfer-message": "Cliquer sur Confirmer si vous souhaitez déplacer <0>{{from}} {{entity}} sous <0>{{to}} {{entity}}.", @@ -1939,7 +1939,6 @@ "no-users": "Il n'y a aucun utilisateur {{text}}", "no-version-type-available": "Aucun type de {{type}} version disponible", "no-widgets-to-add": "Aucun nouveau widget à ajouter", - "nodes-per-layer-message": "Veuillez entrer une valeur pour le nombre de nœuds par couche", "nodes-per-layer-tooltip": "Choisissez d'afficher 'n' nombre de nœuds par couche. Si les nœuds existants dépassent le nombre défini de nœuds, une pagination sera affichée.", "not-followed-anything": "Vous n'avez encore rien suivi.", "notification-description": "Paramétrez les notifications pour recevoir des mises à jour en temps réel ansi que des alertes.", @@ -2143,7 +2142,6 @@ "update-tag-message": "Demander la mise à jour des tags pour", "updating-existing-not-possible-can-add-new-values": "Mettre à jour les valeurs actuelles n'est pas possible, seul l'ajout de nouvelles valeurs et permis.", "upload-file": "Télécharger Fichier", - "upstream-depth-message": "Merci de sélectionner une valeur pour la profondeur amont", "upstream-depth-tooltip": "Afficher jusqu'à 3 nœuds de lignée en amont pour identifier la source (niveaux parentaux).", "usage-ingestion-description": "L'ingestion d'utilisation peut être configurée et déployée après qu'une ingestion de métadonnées a été configurée. Le flux de travail d'ingestion d'utilisation obtient le journal de requêtes et les détails de création de table à partir de la base de données sous-jacente et les transmet à OpenMetadata. Les métadonnées et l'utilisation ne peuvent avoir qu'un seul pipeline pour un service de base de données. Définissez la durée du journal de requêtes (en jours), l'emplacement du fichier de scène et la limite de résultat pour démarrer.", "use-fqn-for-filtering-message": "Le Regex sera appliqué sur le nom entièrement qualifié (par exemple service_name.db_name.schema_name.table_name) au lieu du nom brut (par exemple table_name).", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json index e16cdef1b5c..0738876ae2e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "O dominio {{name}} non ten activos para engadir ao Produto de Datos", "domain-type-guide": "Hai tres tipos de dominios: Agregados, Alineados ao Consumidor e Alineados á Fonte.", "domains-not-configured": "Os dominios non están configurados", - "downstream-depth-message": "Por favor, selecciona un valor para a profundidade descendente", "downstream-depth-tooltip": "Mostra ata 3 nós de liñaxe descendente para identificar o destino (niveis fillo).", "drag-and-drop-files-here": "Arrastra e solta ficheiros aquí", "drag-and-drop-or-browse-csv-files-here": "Arrastra e solta ou <0>{{text}} ficheiro CSV aquí", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} restaurado correctamente", "entity-saved-successfully": "{{entity}} gardado correctamente", "entity-size-in-between": "O tamaño de {{entity}} debe estar entre {{min}} e {{max}}", + "entity-size-less-than": "O tamaño de {{entity}} non pode ser menor que {{min}}", "entity-size-must-be-between-2-and-64": "O tamaño de {{entity}} debe estar entre 2 e 64", "entity-transfer-confirmation-message": "Para continuar, confirma que entendes que o estado de <0>{{from}} cambiará a", "entity-transfer-message": "Fai clic en Confirmar se desexas mover <0>{{from}} {{entity}} baixo <0>{{to}} {{entity}}.", @@ -1939,7 +1939,6 @@ "no-users": "Non hai usuarios {{text}}", "no-version-type-available": "Non hai versións de {{type}} dispoñibles", "no-widgets-to-add": "Non hai novos widgets para engadir", - "nodes-per-layer-message": "Por favor, introduce un valor para nós por capa", "nodes-per-layer-tooltip": "Escolle mostrar 'n' número de nós por capa. Se os nós existentes superan o número definido de nós, mostrarase a paginación.", "not-followed-anything": "Comeza a explorar! E segue os Activos de Datos que che interesen.", "notification-description": "Configura notificacións para recibir actualizacións en tempo real e alertas oportunas.", @@ -2143,7 +2142,6 @@ "update-tag-message": "Solicitude de actualización de etiquetas para", "updating-existing-not-possible-can-add-new-values": "Non é posible actualizar valores existentes, só se permite engadir novos valores.", "upload-file": "Cargar ficheiro", - "upstream-depth-message": "Por favor, selecciona un valor para a profundidade ascendente", "upstream-depth-tooltip": "Mostra ata 3 nodos de liñaxe ascendente para identificar a orixe (niveis superiores).", "usage-ingestion-description": "A inxestión de uso pódese configurar e despregar despois de configurar a inxestión de metadatos. O fluxo de traballo de inxestión de uso obtén os rexistros de consultas e os detalles de creación de táboas da base de datos subxacente e alímentaos a OpenMetadata. Os metadatos e o uso só poden ter un pipeline por servizo de base de datos. Define a Duración do Rexistro de Consultas (en días), a Localización do Ficheiro de Etapa e o Límite de Resultados para comezar.", "use-fqn-for-filtering-message": "Aplicarase un patrón regex no nome completamente cualificado (por exemplo, service_name.db_name.schema_name.table_name) en lugar do nome en bruto (por exemplo, table_name).", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json index f6001b0f815..18bb69bf57c 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "הדומיין {{name}} אין לו נכסים להוספה למוצר הנתונים", "domain-type-guide": "There are three types of domains: Aggregate, Consumer-aligned and Source-aligned.", "domains-not-configured": "הדומיינים אינם מוגדרים", - "downstream-depth-message": "אנא בחר ערך לעומק אחרי", "downstream-depth-tooltip": "מציג עד ל-3 צמתים של לוקייניאג' מטה כדי לזהות את היעד (רמות הילדים).", "drag-and-drop-files-here": "גרור ושחרר קבצים לכאן", "drag-and-drop-or-browse-csv-files-here": "גרור ושחרר או <0>{{text}} קובץ CSV לכאן", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} שוחזרה בהצלחה", "entity-saved-successfully": "{{entity}} נשמרה בהצלחה", "entity-size-in-between": "{{entity}} יכול להיות בגודל בין {{min}} ל-{{max}}", + "entity-size-less-than": "גודל ה-{{entity}} לא יכול להיות קטן מ-{{min}}", "entity-size-must-be-between-2-and-64": "{{entity}} יכול להיות בגודל בין 2 ל-64", "entity-transfer-confirmation-message": "כדי להמשיך, אשר שאתה מבין שהמצב של <0>{{from}} ישתנה ל", "entity-transfer-message": "לחץ על אישור אם ברצונך להעביר <0>{{from}} {{entity}} מתחת ל-<0>{{to}} {{entity}}.", @@ -1939,7 +1939,6 @@ "no-users": "אין משתמשים {{text}}", "no-version-type-available": "לא קיימת גרסה של {{type}}", "no-widgets-to-add": "אין ווידג'טים חדשים להוספה", - "nodes-per-layer-message": "יש להזין ערך עבור כמות הצמתים לשכבה", "nodes-per-layer-tooltip": "בחר להציג 'n' מספר צמתים לכל שכבה. אם מספר הצמתים הקיימים חורג מהמספר שהוגדר, יוצגו אפשרויות פגינציה.", "not-followed-anything": "אתה לא עוקב אחרי כלום עדיין.", "notification-description": "Set up notifications to received real-time updates and timely alerts.", @@ -2143,7 +2142,6 @@ "update-tag-message": "Request to update tags for", "updating-existing-not-possible-can-add-new-values": "Updating existing values is not possible,only the addition of new values is allowed.", "upload-file": "Upload File", - "upstream-depth-message": "יש לבחור ערך עבור עומק מערכת השואבת", "upstream-depth-tooltip": "הצג עד 3 צמתים של יחידת יורשת לזיהוי מקור (רמות ההורים).", "usage-ingestion-description": "ניתן להגדיר ולהפעיל את תהליך הספקת השימוש לאחר הגדרת השקפץ של מטה-דאטה. תהליך ספקת השימוש מקבל את לוגי השאילתות ופרטי יצירת הטבלה מהמסד נתונים התחתי ומספק אותם ל-OpenMetadata. יש רק פייפל אחד לשירות מסד נתונים. יש להגדיר משך לוגי השאילתות (בימים), מקום שמירת הקובץ הביניים, ומגבלת תוצאות להתחלה.", "use-fqn-for-filtering-message": "הקישור יימדד על שם מלא (FQN) (לדוגם service_name.db_name.schema_name.table_name) במקום שם גלוי (raw) (לדוגמה table_name).", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json index 0f3ca3974c4..f8f0d1045d3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "Domain {{name}} doesn't have any assets to add to the Data Product", "domain-type-guide": "There are three types of domains: Aggregate, Consumer-aligned and Source-aligned.", "domains-not-configured": "Domains are not configured", - "downstream-depth-message": "Please select a value for downstream depth", "downstream-depth-tooltip": "Display up to 3 nodes of downstream lineage to identify the target (child levels).", "drag-and-drop-files-here": "ここにファイルをドラッグ&ドロップ", "drag-and-drop-or-browse-csv-files-here": "Drag & Drop or <0>{{text}} CSV file here", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}}のリストアは正常に終了しました", "entity-saved-successfully": "{{entity}} saved successfully", "entity-size-in-between": "{{entity}}のサイズは{{min}}以上{{max}}以下にしてください", + "entity-size-less-than": "{{entity}} のサイズは {{min}} より小さくすることはできません", "entity-size-must-be-between-2-and-64": "{{entity}}のサイズは2以上64以下", "entity-transfer-confirmation-message": "続行するには、<0>{{from}} のステータスが次のように変更されることを理解していることを確認してください", "entity-transfer-message": "Click on Confirm if you'd like to move <0>{{from}} {{entity}} under <0>{{to}} {{entity}}.", @@ -1939,7 +1939,6 @@ "no-users": "ユーザ{{text}}は存在しません", "no-version-type-available": "No {{type}} version available", "no-widgets-to-add": "No new widgets to add", - "nodes-per-layer-message": "Please enter a value for nodes per layer", "nodes-per-layer-tooltip": "Choose to display 'n' number of nodes per layer. If the existing nodes exceed the defined number of nodes, then pagination will be shown.", "not-followed-anything": "あなたはまだ何もフォローしていません。", "notification-description": "Set up notifications to received real-time updates and timely alerts.", @@ -2143,7 +2142,6 @@ "update-tag-message": "Request to update tags for", "updating-existing-not-possible-can-add-new-values": "Updating existing values is not possible,only the addition of new values is allowed.", "upload-file": "Upload File", - "upstream-depth-message": "Please select a value for upstream depth", "upstream-depth-tooltip": "Display up to 3 nodes of upstream lineage to identify the source (parent levels).", "usage-ingestion-description": "Usage ingestion can be configured and deployed after a metadata ingestion has been set up. The usage ingestion workflow obtains the query log and table creation details from the underlying database and feeds it to OpenMetadata. Metadata and usage can have only one pipeline for a database service. Define the Query Log Duration (in days), Stage File Location, and Result Limit to start.", "use-fqn-for-filtering-message": "Regex will be applied on fully qualified name (e.g service_name.db_name.schema_name.table_name) instead of raw name (e.g. table_name).", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json index 242a86ce54a..e591298b427 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "도메인 {{name}}에는 데이터 제품에 추가할 자산이 없습니다", "domain-type-guide": "도메인 유형에는 세 가지가 있습니다: 집계, 소비자 정렬, 소스 정렬.", "domains-not-configured": "도메인이 구성되지 않았습니다", - "downstream-depth-message": "다운스트림 깊이 값을 선택하세요", "downstream-depth-tooltip": "대상(하위 레벨)을 식별하기 위해 최대 3개의 다운스트림 계보 노드를 표시합니다.", "drag-and-drop-files-here": "여기에 파일을 끌어다 놓으세요", "drag-and-drop-or-browse-csv-files-here": "CSV 파일을 여기에 끌어다 놓거나 <0>{{text}}하세요", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}}이(가) 성공적으로 복원되었습니다", "entity-saved-successfully": "{{entity}}이(가) 성공적으로 저장되었습니다", "entity-size-in-between": "{{entity}} 크기는 {{min}}에서 {{max}} 사이여야 합니다", + "entity-size-less-than": "{{entity}} 크기는 {{min}}보다 작을 수 없습니다", "entity-size-must-be-between-2-and-64": "{{entity}} 크기는 2에서 64 사이여야 합니다", "entity-transfer-confirmation-message": "계속하려면 <0>{{from}}의 상태가 변경됨을 확인하세요.", "entity-transfer-message": "<0>{{from}} {{entity}}을(를) <0>{{to}} {{entity}} 아래로 이동하려면 확인을 클릭하세요.", @@ -1939,7 +1939,6 @@ "no-users": "{{text}} 사용자가 없습니다", "no-version-type-available": "사용 가능한 {{type}} 버전 없음", "no-widgets-to-add": "추가할 새 위젯 없음", - "nodes-per-layer-message": "계층당 노드 수 값을 입력하세요", "nodes-per-layer-tooltip": "계층당 'n'개의 노드를 표시하도록 선택하세요. 기존 노드가 정의된 노드 수를 초과하면 페이지네이션이 표시됩니다.", "not-followed-anything": "탐색을 시작하세요! 그리고 관심 있는 데이터 자산을 팔로우하세요.", "notification-description": "실시간 업데이트와 시기적절한 알림을 받으려면 알림을 설정하세요.", @@ -2143,7 +2142,6 @@ "update-tag-message": "다음에 대한 태그 업데이트 요청:", "updating-existing-not-possible-can-add-new-values": "기존 값을 업데이트할 수 없으며, 새 값만 추가할 수 있습니다.", "upload-file": "파일 업로드", - "upstream-depth-message": "업스트림 깊이 값을 선택하세요", "upstream-depth-tooltip": "소스(상위 레벨)를 식별하기 위해 최대 3개의 업스트림 계보 노드를 표시합니다.", "usage-ingestion-description": "사용량 수집은 메타데이터 수집이 설정된 후 구성 및 배포할 수 있습니다. 사용량 수집 워크플로우는 기본 데이터베이스에서 쿼리 로그와 테이블 생성 세부 정보를 가져와 OpenMetadata에 제공합니다. 메타데이터와 사용량은 데이터베이스 서비스당 하나의 파이프라인만 가질 수 있습니다. 시작하려면 쿼리 로그 기간(일), 스테이지 파일 위치, 결과 제한을 정의하세요.", "use-fqn-for-filtering-message": "정규식은 원시 이름(예: table_name) 대신 정규화된 이름(예: service_name.db_name.schema_name.table_name)에 적용됩니다.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json index cd5da53539a..a597654c89b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "डोमेन {{name}} कडे डेटा उत्पादनात जोडण्यासाठी कोणतीही ॲसेट नाही", "domain-type-guide": "There are three types of domains: Aggregate, Consumer-aligned and Source-aligned.", "domains-not-configured": "डोमेन्स कॉन्फिगर केलेले नाहीत", - "downstream-depth-message": "कृपया डाउनस्ट्रीम खोलीसाठी एक मूल्य निवडा", "downstream-depth-tooltip": "लक्ष्य (मुल पातळी) ओळखण्यासाठी डाउनस्ट्रीम वंशावळे 3 नोड्स पर्यंत दाखवा.", "drag-and-drop-files-here": "फाइल्स इथे ड्रॅग आणि ड्रॉप करा", "drag-and-drop-or-browse-csv-files-here": "फाइल्स ड्रॅग आणि ड्रॉप करा किंवा <0>{{text}} CSV फाइल इथे ब्राउझ करा", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} यशस्वीरित्या पुनर्संचयित केले", "entity-saved-successfully": "{{entity}} यशस्वीरित्या जतन केले", "entity-size-in-between": "{{entity}} आकार {{min}} आणि {{max}} दरम्यान असणे आवश्यक आहे", + "entity-size-less-than": "{{entity}} आकार {{min}} पेक्षा कमी असू शकत नाही", "entity-size-must-be-between-2-and-64": "{{entity}} आकार 2 आणि 64 दरम्यान असणे आवश्यक आहे", "entity-transfer-confirmation-message": "पुढे जाण्यासाठी, <0>{{from}} ची स्थिती बदलणार आहे हे तुम्हाला समजले आहे हे निश्चित करा", "entity-transfer-message": "तुम्हाला <0>{{from}} {{entity}} ला <0>{{to}} {{entity}} अंतर्गत हलवायचे असल्यास पुष्टीवर क्लिक करा.", @@ -1939,7 +1939,6 @@ "no-users": "कोणतेही वापरकर्ते नाहीत {{text}}", "no-version-type-available": "कोणतीही {{type}} आवृत्ती उपलब्ध नाही", "no-widgets-to-add": "जोडण्यासाठी कोणतेही नवीन विजेट्स नाहीत", - "nodes-per-layer-message": "प्रत्येक स्तरातील नोड्ससाठी एक मूल्य प्रविष्ट करा", "nodes-per-layer-tooltip": "प्रत्येक स्तरातील नोड्सची संख्या प्रदर्शित करण्यासाठी निवडा. विद्यमान नोड्स परिभाषित केलेल्या नोड्सच्या संख्येपेक्षा जास्त असल्यास, पृष्ठांकन दर्शविले जाईल.", "not-followed-anything": "अन्वेषण सुरू करा! आणि तुम्हाला स्वारस्य असलेल्या डेटा ॲसेट्सचे अनुसरण करा.", "notification-description": "रिअल-टाइम अद्यतने आणि वेळेवर सूचना प्राप्त करण्यासाठी सूचना सेट अप करा.", @@ -2143,7 +2142,6 @@ "update-tag-message": "साठी टॅग अद्यतनित करण्याची विनंती", "updating-existing-not-possible-can-add-new-values": "विद्यमान मूल्ये अद्यतनित करणे शक्य नाही, फक्त नवीन मूल्ये जोडणे अनुमत आहे.", "upload-file": "फाइल अपलोड करा", - "upstream-depth-message": "अपस्ट्रीम खोलीसाठी एक मूल्य निवडा", "upstream-depth-tooltip": "स्रोत (पालक पातळी) ओळखण्यासाठी अपस्ट्रीम वंशावळे 3 नोड्स पर्यंत दाखवा.", "usage-ingestion-description": "मेटाडेटा अंतर्ग्रहण सेट केल्यानंतर वापर अंतर्ग्रहण कॉन्फिगर आणि तैनात केले जाऊ शकते. वापर अंतर्ग्रहण कार्यप्रवाह अंतर्निहित डेटाबेसमधून क्वेरी लॉग आणि टेबल निर्मिती तपशील प्राप्त करतो आणि ते OpenMetadata ला फीड करतो. मेटाडेटा आणि वापरासाठी डेटाबेस सेवेसाठी फक्त एक पाइपलाइन असू शकते. प्रारंभ करण्यासाठी क्वेरी लॉग कालावधी (दिवसांत), स्टेज फाइल स्थान आणि परिणाम मर्यादा परिभाषित करा.", "use-fqn-for-filtering-message": "Regex पूर्णपणे पात्र नावावर लागू केला जाईल (उदा. service_name.db_name.schema_name.table_name) कच्च्या नावाऐवजी (उदा. table_name).", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json index be8fffa4ace..9a8f92cbf46 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "Domein {{name}} heeft geen asset om toe te voegen aan het dataproduct", "domain-type-guide": "There are three types of domains: Aggregate, Consumer-aligned and Source-aligned.", "domains-not-configured": "Domeinen zijn niet geconfigureerd", - "downstream-depth-message": "Selecteer a.u.b. een waarde voor de downstream-diepte", "downstream-depth-tooltip": "Toon maximaal 3 knooppunten van downstream-lineage om het doel (kind-levels) te identificeren.", "drag-and-drop-files-here": "Bestanden hierheen slepen en neerzetten", "drag-and-drop-or-browse-csv-files-here": "Sleep & neerzetten, of <0>{{text}} CSV-bestand hier", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} succesvol hersteld", "entity-saved-successfully": "{{entity}} succesvol opgeslagen", "entity-size-in-between": "{{entity}} grootte moet tussen {{min}} en {{max}} liggen", + "entity-size-less-than": "De grootte van {{entity}} mag niet kleiner zijn dan {{min}}", "entity-size-must-be-between-2-and-64": "{{entity}} grootte moet tussen 2 en 64 liggen", "entity-transfer-confirmation-message": "Om door te gaan, bevestig dat je begrijpt dat de status van <0>{{from}} zal veranderen naar", "entity-transfer-message": "Klik op Bevestigen als je <0>{{from}} {{entity}} wilt verplaatsen naar <0>{{to}} {{entity}}.", @@ -1939,7 +1939,6 @@ "no-users": "Er zijn geen gebruikers {{text}}", "no-version-type-available": "Geen {{type}} versie beschikbaar", "no-widgets-to-add": "Geen nieuwe widgets toe te voegen", - "nodes-per-layer-message": "Voer een waarde in voor nodes per laag", "nodes-per-layer-tooltip": "Kies ervoor om 'n' aantal nodes per laag weer te geven. Als de bestaande nodes het gedefinieerde aantal nodes overschrijden, wordt paginering getoond.", "not-followed-anything": "Je hebt nog niets gevolgd.", "notification-description": "Set up notifications to received real-time updates and timely alerts.", @@ -2143,7 +2142,6 @@ "update-tag-message": "Verzoek om de tags aan te passen voor", "updating-existing-not-possible-can-add-new-values": "Updating existing values is not possible,only the addition of new values is allowed.", "upload-file": "Upload File", - "upstream-depth-message": "Selecteer een waarde voor upstream-diepte", "upstream-depth-tooltip": "Toon tot 3 knooppunten van upstream-lineage om de bron (parent-levels) te identificeren.", "usage-ingestion-description": "Gebruiksingestie kan worden geconfigureerd en ingezet nadat een metadataingestie is opgezet. De gebruiksingestieworkflow verkrijgt de querylogboeken en tabelcreatiedata van de onderliggende database en voedt deze naar OpenMetadata. Metadata en gebruik kunnen slechts één pijplijn hebben voor een databaseservice. Definieer de duur van het querylogboek (in dagen), de locatie van het stagingbestand en het resultatenlimiet om te beginnen.", "use-fqn-for-filtering-message": "Regex wordt toegepast op de volledig gekwalificeerde naam (bijv. service_name.db_name.schema_name.table_name) in plaats van de ruwe naam (bijv. table_name).", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json index b925a1ef4bc..6ad20a6d799 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "دامنه {{name}} هیچ دارایی برای افزودن به محصول داده ندارد.", "domain-type-guide": "سه نوع دامنه وجود دارد: تجمیعی، هماهنگ با مصرف‌کننده، و هماهنگ با منبع.", "domains-not-configured": "دامنه‌ها پیکربندی نشده‌اند.", - "downstream-depth-message": "لطفاً مقداری برای عمق جریان پایین‌دست انتخاب کنید.", "downstream-depth-tooltip": "تا 3 سطح از نودهای پایین‌دست را نمایش دهید تا هدف (سطوح فرزند) را شناسایی کنید.", "drag-and-drop-files-here": "فایل‌ها را اینجا بکشید و رها کنید.", "drag-and-drop-or-browse-csv-files-here": "فایل CSV را بکشید و رها کنید یا <0>{{text}} مرور کنید.", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} با موفقیت بازیابی شد.", "entity-saved-successfully": "{{entity}} با موفقیت ذخیره شد.", "entity-size-in-between": "اندازه {{entity}} باید بین {{min}} و {{max}} باشد.", + "entity-size-less-than": "{{entity}} اندازه نمی‌تواند کمتر از {{min}} باشد", "entity-size-must-be-between-2-and-64": "اندازه {{entity}} باید بین 2 تا 64 کاراکتر باشد.", "entity-transfer-confirmation-message": "Para continuar, confirme que compreende que o estado de <0>{{from}} será alterado para", "entity-transfer-message": "برای انتقال <0>{{from}} {{entity}} به <0>{{to}} {{entity}}، روی تأیید کلیک کنید.", @@ -1939,7 +1939,6 @@ "no-users": "هیچ کاربری {{text}} وجود ندارد.", "no-version-type-available": "هیچ نسخه {{type}} در دسترس نیست.", "no-widgets-to-add": "هیچ ویجت جدیدی برای اضافه کردن وجود ندارد.", - "nodes-per-layer-message": "لطفاً مقداری برای گره‌ها در هر لایه وارد کنید.", "nodes-per-layer-tooltip": "انتخاب کنید تا تعداد 'n' گره در هر لایه نمایش داده شود. اگر گره‌های موجود از تعداد تعریف شده بیشتر باشد، سپس صفحه‌بندی نمایش داده می‌شود.", "not-followed-anything": "شروع به کاوش کنید! و دارایی‌های داده‌ای که شما را علاقه‌مند می‌کند دنبال کنید.", "notification-description": "اعلان‌ها را تنظیم کنید تا به‌روزرسانی‌های زمان واقعی و هشدارهای به موقع دریافت کنید.", @@ -2143,7 +2142,6 @@ "update-tag-message": "درخواست برای به‌روزرسانی برچسب‌ها برای", "updating-existing-not-possible-can-add-new-values": "به‌روزرسانی مقادیر موجود امکان‌پذیر نیست، فقط افزودن مقادیر جدید مجاز است.", "upload-file": "بارگذاری فایل", - "upstream-depth-message": "لطفاً مقداری برای عمق بالادست انتخاب کنید.", "upstream-depth-tooltip": "نمایش حداکثر ۳ گره از زنجیره بالادست برای شناسایی منبع (سطوح والد).", "usage-ingestion-description": "ورود مصرف می‌تواند پس از راه‌اندازی ورود متادیتا پیکربندی و مستقر شود. جریان کار ورود مصرف، جزئیات لاگ پرسش و ایجاد جدول را از پایگاه داده زیرین دریافت کرده و به OpenMetadata می‌فرستد. متادیتا و مصرف می‌توانند تنها یک خط لوله برای سرویس پایگاه داده داشته باشند. مدت زمان لاگ پرسش (به روز)، مکان فایل مرحله‌ای و محدودیت نتیجه را برای شروع تعریف کنید.", "use-fqn-for-filtering-message": "عبارت منظم روی نام کاملاً واجد شرایط (برای مثال، service_name.db_name.schema_name.table_name) به جای نام خام (برای مثال، table_name) اعمال خواهد شد.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json index 3c5f47c4b9a..aef4428484b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "Domínio {{name}} não tem nenhum ativo para adicionar ao Produto de Dados", "domain-type-guide": "There are three types of domains: Aggregate, Consumer-aligned and Source-aligned.", "domains-not-configured": "Domínios não estão configurados", - "downstream-depth-message": "Por favor, selecione um valor para profundidade a jusante", "downstream-depth-tooltip": "Exibir até 3 nós de linhagem a jusante para identificar o alvo (níveis filhos).", "drag-and-drop-files-here": "Arraste e solte arquivos aqui", "drag-and-drop-or-browse-csv-files-here": "Arraste e Solte ou <0>{{text}} arquivo CSV aqui", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} restaurado com sucesso", "entity-saved-successfully": "{{entity}} salvo com sucesso", "entity-size-in-between": "O tamanho de {{entity}} deve ser entre {{min}} e {{max}}", + "entity-size-less-than": "O tamanho de {{entity}} não pode ser menor que {{min}}", "entity-size-must-be-between-2-and-64": "O tamanho de {{entity}} deve ser entre 2 e 64", "entity-transfer-confirmation-message": "Para continuar, confirme que compreende que o estado de <0>{{from}} será alterado para", "entity-transfer-message": "Clique em Confirmar se deseja mover <0>{{from}} {{entity}} para <0>{{to}} {{entity}}.", @@ -1939,7 +1939,6 @@ "no-users": "Não há usuários {{text}}", "no-version-type-available": "Nenhuma versão {{type}} disponível", "no-widgets-to-add": "Nenhum novo widget para adicionar", - "nodes-per-layer-message": "Por favor, insira um valor para nós por camada", "nodes-per-layer-tooltip": "Escolha exibir 'n' número de nós por camada. Se os nós existentes excederem o número definido de nós, a paginação será mostrada.", "not-followed-anything": "Você ainda não seguiu nada.", "notification-description": "Configure notificações para receber atualizações em tempo real e alertas.", @@ -2142,8 +2141,7 @@ "update-profiler-settings": "Atualizar configurações do examinador.", "update-tag-message": "Solicitar atualização de tags para", "updating-existing-not-possible-can-add-new-values": "Updating existing values is not possible,only the addition of new values is allowed.", - "upload-file": "Upload File", - "upstream-depth-message": "Por favor, selecione um valor para a profundidade a montante", + "upload-file": "Carregar arquivo", "upstream-depth-tooltip": "Exibir até 3 nós de linhagem a montante para identificar a origem (níveis parentais).", "usage-ingestion-description": "A ingestão de uso pode ser configurada e implantada após a ingestão de metadados ter sido configurada. O fluxo de trabalho de ingestão de uso obtém o registro de consultas e os detalhes da criação de tabelas do banco de dados subjacente e os alimenta no OpenMetadata. Metadados e uso podem ter apenas um pipeline para um serviço de banco de dados. Defina a Duração do Registro de Consultas (em dias), o Local do Arquivo de Estágio e o Limite de Resultados para começar.", "use-fqn-for-filtering-message": "A expressão regular será aplicada no nome totalmente qualificado (por exemplo, nome_do_serviço.nome_do_banco_de_dados.nome_do_esquema.nome_da_tabela) em vez do nome bruto (por exemplo, nome_da_tabela).", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json index 3e7c413fa2d..ec9cd5da90a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "Domínio {{name}} não tem nenhum ativo para adicionar ao Produto de Dados", "domain-type-guide": "There are three types of domains: Aggregate, Consumer-aligned and Source-aligned.", "domains-not-configured": "Domínios não estão configurados", - "downstream-depth-message": "Por favor, selecione um valor para profundidade a jusante", "downstream-depth-tooltip": "Exibir até 3 nós de linhagem a jusante para identificar o alvo (níveis filhos).", "drag-and-drop-files-here": "Arraste e solte arquivos aqui", "drag-and-drop-or-browse-csv-files-here": "Arraste e Solte ou <0>{{text}} arquivo CSV aqui", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} restaurado com sucesso", "entity-saved-successfully": "{{entity}} salvo com sucesso", "entity-size-in-between": "O tamanho de {{entity}} deve ser entre {{min}} e {{max}}", + "entity-size-less-than": "O tamanho de {{entity}} não pode ser inferior a {{min}}", "entity-size-must-be-between-2-and-64": "O tamanho de {{entity}} deve ser entre 2 e 64", "entity-transfer-confirmation-message": "Para continuar, confirme que compreende que o estado de <0>{{from}} será alterado para", "entity-transfer-message": "Clique em Confirmar se deseja mover <0>{{from}} {{entity}} para <0>{{to}} {{entity}}.", @@ -1939,7 +1939,6 @@ "no-users": "Não há Utilizadores {{text}}", "no-version-type-available": "Nenhuma versão {{type}} disponível", "no-widgets-to-add": "Nenhum novo widget para adicionar", - "nodes-per-layer-message": "Por favor, insira um valor para nós por camada", "nodes-per-layer-tooltip": "Escolha exibir 'n' número de nós por camada. Se os nós existentes excederem o número definido de nós, a paginação será mostrada.", "not-followed-anything": "Você ainda não seguiu nada.", "notification-description": "Configure notificações para receber atualizações em tempo real e alertas.", @@ -2143,7 +2142,6 @@ "update-tag-message": "Solicitar atualização de tags para", "updating-existing-not-possible-can-add-new-values": "Updating existing values is not possible,only the addition of new values is allowed.", "upload-file": "Upload File", - "upstream-depth-message": "Por favor, selecione um valor para a profundidade a montante", "upstream-depth-tooltip": "Exibir até 3 nós de linhagem a montante para identificar a origem (níveis parentais).", "usage-ingestion-description": "A ingestão de uso pode ser configurada e implantada após a ingestão de metadados ter sido configurada. O fluxo de trabalho de ingestão de uso obtém o registo de consultas e os detalhes da criação de tabelas do banco de dados subjacente e os alimenta no OpenMetadata. Metadados e uso podem ter apenas um pipeline para um serviço de banco de dados. Defina a Duração do Registo de Consultas (em dias), o Local do Arquivo de Estágio e o Limite de Resultados para começar.", "use-fqn-for-filtering-message": "A expressão regular será aplicada no nome totalmente qualificado (por exemplo, nome_do_serviço.nome_do_banco_de_dados.nome_do_esquema.nome_da_tabela) em vez do nome bruto (por exemplo, nome_da_tabela).", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json index 67d39872a52..20a497e5eeb 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "Domain {{name}} doesn't have any assets to add to the Data Product", "domain-type-guide": "There are three types of domains: Aggregate, Consumer-aligned and Source-aligned.", "domains-not-configured": "Domains are not configured", - "downstream-depth-message": "Пожалуйста, выберите значение для нисходящей линии", "downstream-depth-tooltip": "Отобразите до 3 узлов нисходящей линии для идентификации цели (дочерние уровни).", "drag-and-drop-files-here": "Перетащите файлы сюда", "drag-and-drop-or-browse-csv-files-here": "Перетащите или <0>{{text}} CSV-файл сюда ", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} успешно восстановлен", "entity-saved-successfully": "{{entity}} saved successfully", "entity-size-in-between": "Размер {{entity}} должен быть между {{min}} и {{max}}", + "entity-size-less-than": "Размер {{entity}} не может быть меньше {{min}}", "entity-size-must-be-between-2-and-64": "Размер {{entity}} должен быть от 2 до 64", "entity-transfer-confirmation-message": "Чтобы продолжить, подтвердите, что вы понимаете: статус <0>{{from}} изменится на", "entity-transfer-message": "Нажмите «Подтвердить», если вы хотите переместить <0>{{from}} {{entity}} в <0>{{to}} {{entity}}.", @@ -1939,7 +1939,6 @@ "no-users": "Нет пользователей {{text}}", "no-version-type-available": "Версия {{type}} недоступна", "no-widgets-to-add": "No new widgets to add", - "nodes-per-layer-message": "Пожалуйста, введите значение для узлов для слоев", "nodes-per-layer-tooltip": "Выберите для отображения «n» количество узлов на слой. Если существующие узлы превышают определенное количество узлов, будет отображаться разбиение на страницы.", "not-followed-anything": "Вы еще не подписаны ни на один объект.", "notification-description": "Set up notifications to received real-time updates and timely alerts.", @@ -2143,7 +2142,6 @@ "update-tag-message": "Request to update tags for", "updating-existing-not-possible-can-add-new-values": "Updating existing values is not possible,only the addition of new values is allowed.", "upload-file": "Upload File", - "upstream-depth-message": "Пожалуйста, выберите значение для восходящей линии", "upstream-depth-tooltip": "Отображение до 3 узлов восходящей линии для идентификации источника (родительские уровни).", "usage-ingestion-description": "Получение данных об использовании можно настроить и развернуть после настройки приема метаданных. Рабочий процесс приема данных об использовании получает журнал запросов и сведения о создании таблицы из базовой базы данных и передает их в OpenMetadata. Метаданные и использование могут иметь только один конвейер для сервиса базы данных. Определите продолжительность журнала запросов (в днях), расположение промежуточного файла и предел результатов для запуска.", "use-fqn-for-filtering-message": "Регулярное выражение будет применено к полному имени (например, service_name.db_name.schema_name.table_name) вместо необработанного имени (например, table_name).", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json index d0d350aa6f5..df46aa2bc1a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "โดเมน {{name}} ไม่มีสินทรัพย์ใดๆ เพื่อเพิ่มไปยังผลิตภัณฑ์ข้อมูล", "domain-type-guide": "มีสามประเภทของโดเมน: Aggregate, Consumer-aligned และ Source-aligned", "domains-not-configured": "โดเมนไม่ได้รับการกำหนดค่า", - "downstream-depth-message": "กรุณาเลือกค่าความลึกทางด้านขาออก", "downstream-depth-tooltip": "แสดงโหนดลำดับชั้นทางด้านขาออกสูงสุด 3 โหนดเพื่อระบุตำแหน่งเป้าหมาย (ระดับเด็ก)", "drag-and-drop-files-here": "ลาก & วางไฟล์ที่นี่", "drag-and-drop-or-browse-csv-files-here": "ลาก & วางหรือ <0>{{text}} ไฟล์ CSV ที่นี่", @@ -1731,6 +1730,7 @@ "entity-restored-success": "กู้คืน {{entity}} สำเร็จ", "entity-saved-successfully": "{{entity}} ถูกบันทึกสำเร็จ", "entity-size-in-between": "ขนาดของ {{entity}} ต้องอยู่ระหว่าง {{min}} และ {{max}}", + "entity-size-less-than": "ขนาดของ {{entity}} ไม่สามารถน้อยกว่า {{min}} ได้", "entity-size-must-be-between-2-and-64": "ขนาดของ {{entity}} ต้องอยู่ระหว่าง 2 และ 64", "entity-transfer-confirmation-message": "เพื่อดำเนินการต่อ โปรดยืนยันว่าคุณเข้าใจว่าสถานะของ <0>{{from}} จะเปลี่ยนเป็น", "entity-transfer-message": "คลิกที่ยืนยันหากคุณต้องการย้าย <0>{{from}} {{entity}} ไปยัง <0>{{to}} {{entity}}", @@ -1939,7 +1939,6 @@ "no-users": "ไม่มีผู้ใช้ {{text}}", "no-version-type-available": "ไม่พบเวอร์ชัน {{type}}", "no-widgets-to-add": "ไม่มีวิดเจ็ตใหม่ให้เพิ่ม", - "nodes-per-layer-message": "กรุณาใส่ค่าที่ระบุสำหรับโหนดต่อชั้น", "nodes-per-layer-tooltip": "เลือกที่จะแสดง 'n' จำนวนโหนดต่อชั้น หากโหนดที่มีอยู่เกินกว่าจำนวนโหนดที่กำหนด ระบบจะจัดทำหน้าเพจให้", "not-followed-anything": "เริ่มต้นสำรวจ! และติดตามสินทรัพย์ข้อมูลที่คุณสนใจ", "notification-description": "ตั้งค่าการแจ้งเตือนเพื่อรับข้อมูลอัปเดตแบบเรียลไทม์และการแจ้งเตือนที่ตรงเวลา", @@ -2143,7 +2142,6 @@ "update-tag-message": "คำขอเพื่ออัปเดตแท็กสำหรับ", "updating-existing-not-possible-can-add-new-values": "ไม่สามารถปรับปรุงค่าที่มีอยู่ได้เท่านั้นสามารถเพิ่มค่าใหม่ได้", "upload-file": "อัปโหลดไฟล์", - "upstream-depth-message": "กรุณาเลือกค่าความลึกทางด้านขาเข้าที่ต้องการ", "upstream-depth-tooltip": "แสดงสูงสุด 3 โหนดของลำดับชั้นทางด้านขาเข้าซึ่งใช้เพื่อระบุแหล่งที่มา (ระดับผู้ปกครอง)", "usage-ingestion-description": "การนำเข้าการใช้งานสามารถกำหนดค่าและเรียกใช้งานได้หลังจากการนำเข้าข้อมูลเมตาถูกตั้งค่าแล้ว กระบวนการนำเข้าการใช้งานจะดึงบันทึกคำสั่งและรายละเอียดการสร้างตารางจากฐานข้อมูลพื้นฐานและส่งให้ OpenMetadata ข้อมูลเมตาและการใช้งานสามารถมีเพียงหนึ่งท่อสำหรับบริการฐานข้อมูล กำหนดระยะเวลาในบันทึกคำสั่ง (เป็นวัน), ตำแหน่งไฟล์ขั้นตอน, และขีดจำกัดผลลัพธ์เพื่อเริ่มต้น", "use-fqn-for-filtering-message": "Regex จะถูกใช้กับชื่อที่มีคุณสมบัติครบถ้วน (เช่น service_name.db_name.schema_name.table_name) แทนชื่อดิบ (เช่น table_name)", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json index 296b7acc9ac..7531aa7b554 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "{{name}} Alan Adının Veri Ürününe eklenecek varlığı yok", "domain-type-guide": "Üç tür alan adı vardır: Toplu, Tüketici odaklı ve Kaynak odaklı.", "domains-not-configured": "Alan adları yapılandırılmadı", - "downstream-depth-message": "Lütfen aşağı akış derinliği için bir değer seçin", "downstream-depth-tooltip": "Hedefi (alt seviyeler) belirlemek için en fazla 3 aşağı akış veri soyu düğümünü görüntüleyin.", "drag-and-drop-files-here": "Dosyaları buraya sürükleyip bırakın", "drag-and-drop-or-browse-csv-files-here": "CSV dosyasını buraya Sürükleyip Bırakın veya <0>{{text}}", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}} başarıyla geri yüklendi", "entity-saved-successfully": "{{entity}} başarıyla kaydedildi", "entity-size-in-between": "{{entity}} boyutu {{min}} ile {{max}} arasında olmalıdır", + "entity-size-less-than": "{{entity}} boyutu {{min}}'den küçük olamaz", "entity-size-must-be-between-2-and-64": "{{entity}} boyutu 2 ile 64 arasında olmalıdır", "entity-transfer-confirmation-message": "Devam etmek için, <0>{{from}} durumunun şuna değişeceğini anladığınızı onaylayın:", "entity-transfer-message": "<0>{{from}} {{entity}} öğesini <0>{{to}} {{entity}} altına taşımak isterseniz Onayla'ya tıklayın.", @@ -1939,7 +1939,6 @@ "no-users": "{{text}} kullanıcı yok", "no-version-type-available": "{{type}} sürümü mevcut değil", "no-widgets-to-add": "Eklenecek yeni widget yok", - "nodes-per-layer-message": "Lütfen katman başına düğüm sayısı için bir değer girin", "nodes-per-layer-tooltip": "Katman başına 'n' sayıda düğüm görüntülemeyi seçin. Mevcut düğümler tanımlanan düğüm sayısını aşarsa, sayfalama gösterilir.", "not-followed-anything": "Keşfetmeye Başlayın! ve ilginizi çeken Veri Varlıklarını Takip Edin.", "notification-description": "Gerçek zamanlı güncellemeler ve zamanında uyarılar almak için bildirimleri ayarlayın.", @@ -2143,7 +2142,6 @@ "update-tag-message": "için etiketleri güncelleme isteği", "updating-existing-not-possible-can-add-new-values": "Mevcut değerleri güncellemek mümkün değil, yalnızca yeni değerlerin eklenmesine izin verilir.", "upload-file": "Dosya Yükle", - "upstream-depth-message": "Lütfen yukarı akış derinliği için bir değer seçin", "upstream-depth-tooltip": "Kaynağı (üst seviyeler) belirlemek için en fazla 3 yukarı akış veri soyu düğümünü görüntüleyin.", "usage-ingestion-description": "Kullanım alımı, bir metadata alımı ayarlandıktan sonra yapılandırılabilir ve dağıtılabilir. Kullanım alım iş akışı, sorgu günlüğünü ve tablo oluşturma ayrıntılarını temel veritabanından alır ve OpenMetadata'ya besler. Metadata ve kullanımın bir veritabanı servisi için yalnızca bir iş akışı olabilir. Başlamak için Sorgu Günlüğü Süresini (gün olarak), Hazırlık Dosya Konumunu ve Sonuç Sınırını tanımlayın.", "use-fqn-for-filtering-message": "Regex, ham ad (ör. tablo_adı) yerine tam nitelikli ad (ör. servis_adı.db_adı.şema_adı.tablo_adı) üzerinde uygulanacaktır.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json index e51dd374266..6f4c9a7efd8 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json @@ -1680,7 +1680,6 @@ "domain-does-not-have-assets": "{{name}}域没有任何可添加到数据产品的资产", "domain-type-guide": "There are three types of domains: Aggregate, Consumer-aligned and Source-aligned.", "domains-not-configured": "未配置域", - "downstream-depth-message": "请选择下游深度的值", "downstream-depth-tooltip": "显示最多三个下游谱系节点以确定目标(子级)", "drag-and-drop-files-here": "拖放文件到此处", "drag-and-drop-or-browse-csv-files-here": "拖放或者<0>{{text}} CSV 文件到此处", @@ -1731,6 +1730,7 @@ "entity-restored-success": "{{entity}}还原成功", "entity-saved-successfully": "{{entity}}保存成功", "entity-size-in-between": "{{entity}}大小须介于{{min}}和{{max}}之间", + "entity-size-less-than": "{{entity}} 的大小不能小于 {{min}}", "entity-size-must-be-between-2-and-64": "{{entity}}大小必须介于2和64之间", "entity-transfer-confirmation-message": "若要继续,请确认您了解 <0>{{from}} 的状态将更改为", "entity-transfer-message": "如果您想将<0>{{from}} {{entity}} 移动到<0>{{to}} {{entity}}中, 请单击确认", @@ -1939,7 +1939,6 @@ "no-users": "没有用户{{text}}", "no-version-type-available": "无{{type}}版本可用", "no-widgets-to-add": "No new widgets to add", - "nodes-per-layer-message": "请输入每层节点的值", "nodes-per-layer-tooltip": "选择显示“n”个节点每层, 如果现有节点超过定义的节点数, 则会显示分页", "not-followed-anything": "尚未关注任何内容", "notification-description": "设置通知以接收实时更新和及时警报", @@ -2143,7 +2142,6 @@ "update-tag-message": "Request to update tags for", "updating-existing-not-possible-can-add-new-values": "无法更新现有值, 只能添加新值", "upload-file": "上传文件", - "upstream-depth-message": "请选择一个上游深度的值", "upstream-depth-tooltip": "显示最多三个上游血缘节点以确定源(父级别)", "usage-ingestion-description": "在设置了元数据提取后, 可以配置和部署使用率提取。使用率提取工作流从底层数据库获取查询日志和表创建详细信息, 并将其提供给 OpenMetadata。一个数据库服务只能有一个使用率统计流水线。请通过定义查询日志持续时间(天)、临时文件位置和结果限制开始提取。", "use-fqn-for-filtering-message": "正则表达式将应用于完全限定名称(例如 service_name.db_name.schema_name.table_name)而不是原始名称(例如 table_name)。", diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/LineageConfigPage/LineageConfigPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/LineageConfigPage/LineageConfigPage.tsx index 9674db0665f..886622c5115 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/LineageConfigPage/LineageConfigPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/LineageConfigPage/LineageConfigPage.tsx @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { Button, Col, Form, Input, Row, Select, Typography } from 'antd'; +import { Button, Col, Form, InputNumber, Row, Select, Typography } from 'antd'; import { AxiosError } from 'axios'; import React, { FocusEvent, @@ -26,6 +26,7 @@ import ResizablePanels from '../../components/common/ResizablePanels/ResizablePa import ServiceDocPanel from '../../components/common/ServiceDocPanel/ServiceDocPanel'; import TitleBreadcrumb from '../../components/common/TitleBreadcrumb/TitleBreadcrumb.component'; import { TitleBreadcrumbProps } from '../../components/common/TitleBreadcrumb/TitleBreadcrumb.interface'; +import { VALIDATION_MESSAGES } from '../../constants/constants'; import { GlobalSettingsMenuCategory } from '../../constants/GlobalSettings.constants'; import { OPEN_METADATA } from '../../constants/service-guide.constant'; import { @@ -150,6 +151,7 @@ const LineageConfigPage = () => { id="lineage-config" initialValues={lineageConfig} layout="vertical" + validateMessages={VALIDATION_MESSAGES} onFinish={handleSave} onFocus={handleFieldFocus}> { rules={[ { required: true, - message: t('message.upstream-depth-message'), + }, + { + type: 'number', + min: 0, }, ]}> - @@ -178,14 +181,15 @@ const LineageConfigPage = () => { rules={[ { required: true, - message: t('message.downstream-depth-message'), + }, + { + type: 'number', + min: 0, }, ]}> - diff --git a/openmetadata-ui/src/main/resources/ui/src/rest/lineageAPI.ts b/openmetadata-ui/src/main/resources/ui/src/rest/lineageAPI.ts index cb0131c1ca6..2eec524b160 100644 --- a/openmetadata-ui/src/main/resources/ui/src/rest/lineageAPI.ts +++ b/openmetadata-ui/src/main/resources/ui/src/rest/lineageAPI.ts @@ -75,7 +75,9 @@ export const getLineageDataByFQN = async ({ params: { fqn, type: entityType, - upstreamDepth, + // upstreamDepth depth in BE is n+1 rather than exactly n, so we need to subtract 1 to get the correct depth + // and we don't want to pass the negative value + upstreamDepth: upstreamDepth === 0 ? 0 : upstreamDepth - 1, downstreamDepth, query_filter: queryFilter, includeDeleted: false,