diff --git a/web/src/locales/languages/de-DE.json b/web/src/locales/languages/de-DE.json index e57594a407..92d37768db 100644 --- a/web/src/locales/languages/de-DE.json +++ b/web/src/locales/languages/de-DE.json @@ -43,7 +43,7 @@ "allCaughtUp": "Du bist auf dem neuesten Stand", "noPanels": { "title": "Noch keine Panels hier", - "description": "Füge ein Panel hinzu, um Logs, Metriken und Traces zu visualisieren.", + "description": "Fügen Sie ein Panel hinzu, um Logs, Metriken und Traces zu visualisieren.", "action": "Panel hinzufügen", "actionDesc": "Diagramme, Tabellen & mehr" }, @@ -78,7 +78,7 @@ }, "noDashboards": { "title": "Erstelle dein erstes Dashboard", - "description": "Dashboards führen Ihre Metriken, Logs und Traces in einer Ansicht zusammen. Erstellen Sie eines, um loszulegen.", + "description": "Dashboards bringen Ihre Metriken, Logs und Traces in einer Ansicht zusammen. Erstellen Sie eines, um loszulegen.", "action": "Neues Dashboard", "actionDesc": "Beginne mit einer leeren Leinwand", "import": "Dashboard importieren", @@ -124,7 +124,7 @@ }, "noIngestionTokens": { "title": "Noch keine Ingestion-Token", - "description": "Ingestion-Token authentifizieren Datenquellen beim Senden von Protokollen, Metriken und Traces.", + "description": "Datenerfassungstokens authentifizieren Datenquellen beim Senden von Logs, Metriken und Traces.", "action": "Neues Token", "actionDesc": "Generieren Sie ein Aufnahme-Token" }, @@ -134,8 +134,8 @@ }, "noAlertDestinations": { "title": "Noch keine Ziele", - "description": "Ziele definieren, wohin Warnmeldungen gesendet werden — Slack, E-Mail, Webhooks und mehr.", - "action": "Neues Reiseziel", + "description": "Ziele legen fest, wohin Warnmeldungen gesendet werden — Slack, E-Mail, Webhooks und mehr.", + "action": "Neues Ziel", "actionDesc": "Einen Benachrichtigungskanal verbinden", "import": "Ziel importieren", "importDesc": "Import aus einer JSON-Datei" @@ -149,8 +149,8 @@ "noPipelineDestinations": { "title": "Noch keine Ziele", "description": "Externe Ziele für die Pipeline-Ausgabe — HTTP-Endpunkte und Remote-Schreibziele.", - "action": "Neues Reiseziel", - "actionDesc": "Pipeline-Ziel verbinden" + "action": "Neues Ziel", + "actionDesc": "Verbinden Sie ein Ziel für Rohrleitungen" }, "noAlertTemplates": { "title": "Noch keine Vorlagen", @@ -192,7 +192,7 @@ }, "noDiscoveredServices": { "title": "Keine Dienste gefunden", - "description": "Dienste werden hier automatisch angezeigt, sobald Spuren eintreffen." + "description": "Dienste erscheinen hier automatisch, sobald Traces eintreffen." }, "noNodes": { "title": "Keine Knoten verfügbar", @@ -248,7 +248,7 @@ }, "noDatasets": { "title": "Erstelle deinen ersten Datensatz", - "description": "Golden-Datensätze sammeln annotierte Traces und Reviews in versionierte Evaluationssätze. Erstelle einen, um mit dem Kuratieren zu beginnen.", + "description": "Goldene Datensätze sammeln annotierte Traces und Bewertungen in versionierte Evaluierungssätze. Erstellen Sie einen, um mit dem Kuratieren zu beginnen.", "action": "Neuer Datensatz", "actionDesc": "Leeren Datensatz starten" }, @@ -288,15 +288,15 @@ }, "noLLMInsights": { "title": "Noch keine LLM-Aktivität", - "description": "Instrumentieren Sie Ihre Dienste mit den semantischen Konventionen der OpenTelemetry Gen-AI und nehmen Sie mindestens einen Trace auf, um dieses Dashboard zu füllen.", + "description": "Instrumentieren Sie Ihre Dienste mit den OpenTelemetry Gen-AI-Semantikkonventionen und erfassen Sie mindestens einen Trace, um dieses Dashboard zu füllen.", "action": "Instrument mit OpenTelemetrie", - "actionDesc": "Erfasse gen_ai_*-Attribute auf deinen Spuren" + "actionDesc": "Erfassen Sie gen_ai_*-Attribute in Ihren Traces" }, "noLLMSessions": { "title": "Noch keine LLM-Sitzungen", - "description": "Sitzungen werden nach gen_ai_conversation_id gruppiert. Instrumentieren Sie Ihre Dienste so, dass jede Konversation ihre Spuren markiert und die Sitzungen hier angezeigt werden.", + "description": "Sitzungen werden nach gen_ai_conversation_id gruppiert. Instrumentieren Sie Ihre Dienste, sodass jedes Gespräch seine Traces markiert, und Sitzungen erscheinen hier.", "action": "Instrument mit OpenTelemetrie", - "actionDesc": "Tag-Spans mit gen_ai_conversation_id" + "actionDesc": "Taggen Sie Spans mit gen_ai_conversation_id" }, "noScorers": { "title": "Noch keine Torschützen", @@ -341,8 +341,8 @@ "description": "Keine ungesunden Elemente in diesem Zeitfenster. Erweitere den Zeitbereich oder ändere den Warteschlangenfilter, um Elemente zu sehen, die du bereits bewertet hast." }, "noTraces": { - "title": "Keine Spuren gefunden", - "description": "Keine Spuren stimmen mit dem ausgewählten Service und Zeitraum überein. Versuchen Sie es mit einem breiteren Zeitraum oder einem anderen Dienst." + "title": "Keine Traces gefunden", + "description": "Keine Traces entsprechen dem ausgewählten Dienst und Zeitraum. Versuchen Sie einen größeren Zeitraum oder einen anderen Dienst." }, "noServiceGraph": { "title": "Keine Service-Graph-Daten", @@ -409,7 +409,7 @@ "streams": "Streams", "alerts": "Warnungen", "incidents": "Vorfälle", - "traces": "Spuren", + "traces": "Traces", "discoveryItems": "ungesunde Elemente", "datasetItems": "Elemente", "searches": "sucht", @@ -523,8 +523,8 @@ "relatedEvents": "Zugehörige Ereignisse", "on": "auf", "event": "Ereignis", - "viewTraceDetails": "Trace-Details ansehen", - "viewTrace": "Trace ansehen", + "viewTraceDetails": "Tracedetails anzeigen", + "viewTrace": "Trace anzeigen", "networkRequests": "Netzwerkanfragen", "noNetworkRequestsFound": "Keine Netzwerkanfragen für dieses Ereignis gefunden", "consoleLogsComingSoon": "Konsolenprotokolle bald verfügbar", @@ -1061,10 +1061,10 @@ "regionFilterMsg": "Region/Cluster suchen", "queryRangeRestrictionMsg": "Der Abfragebereich ist auf {range} beschränkt. Bitte passen Sie den Datumsbereich entsprechend an. Andernfalls wird das Startdatum automatisch so angepasst, dass es innerhalb des zulässigen Limits liegt.", "cancel": "Anfrage abbrechen", - "viewTrace": "Trace ansehen", + "viewTrace": "Trace anzeigen", "viewTraceUnavailable": "Der Trace für diesen Logdatensatz konnte nicht geöffnet werden.", "viewRelated": "Verwandtes anzeigen", - "viewRelatedTooltip": "Verwandte Traces und Metriken anzeigen", + "viewRelatedTooltip": "Zugehörige Traces und Metriken anzeigen", "flattened": "Abgeflacht", "original": "Original", "resetFilters": "Filter zurücksetzen", @@ -1383,8 +1383,8 @@ "loadingMsg": "Halten Sie sich fest, wir laden RUM-Daten.", "breadcrumbs": "Semmelbrösel", "tags": "Schlagworte", - "traces": "Spuren", - "searchEvents": "Veranstaltungen suchen", + "traces": "Traces", + "searchEvents": "Ereignisse suchen", "loadingSessions": "Halt dich fest, wir veranstalten Sessions.", "errorStack": "Fehlerstapel", "sessionReplay": "Sitzungswiederholung", @@ -1394,11 +1394,11 @@ "discoverSessionMessage": "Session Replay erfasst Benutzerinteraktionen auf Ihrer Website oder Anwendung und spielt sie erneut ab. Auf diese Weise können Sie visuell überprüfen, wie Benutzer navigieren, wohin sie klicken, was sie eingeben und wie sie mit Ihren Inhalten interagieren", "loadingErrorDetails": "Halten Sie sich fest, wir rufen Fehlerdetails ab.", "eventID": "ID des Ereignisses", - "noCorrelatedTraces": "Für diese Sitzung wurden keine korrelierten Spuren gefunden.", - "span": "spannen", - "spans": "überspannt", - "errorTraces": "Fehlerspuren", - "failedToFetchTraces": "Ablaufverfolgungsdaten konnten nicht abgerufen werden. Bitte versuchen Sie es erneut.", + "noCorrelatedTraces": "Keine korrelierten Traces für diese Sitzung gefunden.", + "span": "Span", + "spans": "Spans", + "errorTraces": "Fehler-Traces", + "failedToFetchTraces": "Das Abrufen der Tracedaten ist fehlgeschlagen. Bitte versuchen Sie es erneut.", "seekToMoment": "Suchen Sie in der Sitzung nach diesem Moment", "route": "Route", "duration": "Dauer", @@ -1485,7 +1485,7 @@ "frustrationErrorClick": "Klick löste einen JavaScript-Fehler aus", "frustrationRageTap": "Benutzer tippte schnell mehrfach (3+) - Hinweis auf Frustration", "frustrationErrorTap": "Tippen löste einen JavaScript-Fehler aus", - "fetchTraceMetadataFailed": "Fehler beim Abrufen der Trace-Metadaten", + "fetchTraceMetadataFailed": "Abrufen der Trace-Metadaten fehlgeschlagen", "frustrationEventTooltip": "⚠️ FRUSTRATION: {types}\n{name}", "errorEventTooltip": "⛔ FEHLER: {name}", "frustrationSignalType": "Frustrationssignal: {type}" @@ -1537,7 +1537,7 @@ "feature_column_name": "Merkmal", "feature_logs": "Logs", "feature_metrics": "Metriken", - "feature_traces": "Spuren", + "feature_traces": "Traces", "feature_alerts": "Warnmeldungen", "feature_dashboards": "Dashboards", "feature_reports": "Berichte", @@ -1561,7 +1561,7 @@ "feature_license": "Lizenz", "feature_support": "Unterstützung", "feature_cost": "Kosten", - "feature_pipelines_external": "Pipelines - Externe Ziele", + "feature_pipelines_external": "Rohrleitungen - Externe Ziele", "feature_extreme_performance": "Extreme Leistung (100-fache Verbesserung für viele Abfragen)", "feature_query_optimizer": "Abfrageoptimierer", "value_license_agpl": "AGPL", @@ -1736,8 +1736,8 @@ "note": "Schützen Sie PII und vertrauliche Informationen" }, "pipeline_remote_destinations": { - "name": "Fernziele der Pipeline", - "note": "Daten an entfernte Ziele senden" + "name": "Pipeline-Remote-Ziele", + "note": "Daten an Remote-Ziele senden" }, "query_optimizer": { "name": "Abfrageoptimierer//Aggregations-Cache", @@ -1780,7 +1780,7 @@ "note": "Optimierte verteilte Join-Operationen" }, "logs_metrics_traces_correlation": { - "name": "Korrelation von Protokollen, Metriken und Traces", + "name": "Korrelation von Logs, Metriken und Traces", "note": "Automatisierte Erkennung und Korrelation" }, "service_maps": { @@ -2546,7 +2546,7 @@ }, "workflow": { "header": "Workflows", - "subtitle": "Automatisieren Sie Aktionen mit Triggern, Logik und Zielen", + "subtitle": "Aktionen mit Triggern, Logik und Zielen automatisieren", "create": "Neuer Workflow", "createSuccess": "Workflow erfolgreich erstellt", "name": "Workflow-Name", @@ -2665,7 +2665,7 @@ "output": "Ausgabe", "noInput": "Dieser Schritt hat beim letzten Lauf keine Datensätze erhalten.", "sentExternally": "An das externe Ziel gesendet", - "destinationNoRecords": "Keine Datensätze haben dieses Ziel erreicht — es wurde nichts gesendet.", + "destinationNoRecords": "Keine Datensätze erreichten dieses Ziel — es wurde nichts gesendet.", "branchFiltered": "0 Datensätze — es wurde nichts an diesen Zweig weitergegeben.", "conditionNoMatch": "Keine Datensätze haben diese Bedingung erfüllt — nichts wurde nachgelagert weitergeleitet.", "errorHeading": "Fehler", @@ -2745,7 +2745,7 @@ "destinationBodySet": "Sendet an {name}", "destinationSelect": "Ziel", "destinationCreateNew": "Neues Ziel erstellen", - "destinationRequired": "Bitte wähle ein Ziel", + "destinationRequired": "Bitte wählen Sie ein Ziel aus", "destinationLoadError": "Ziele konnten nicht geladen werden", "namePlaceholder": "Diesen Schritt benennen (optional)", "commentLabel": "Kommentar (optional)", @@ -2756,8 +2756,8 @@ "disabledBadge": "Deaktiviert", "incompleteBadge": "Später einrichten", "destinationSetUpLater": "Später einrichten", - "destinationSetUpLaterPrompt": "Noch kein Ziel? Aktiviere dies, um es später einzurichten — du kannst einen Entwurf speichern und jetzt testen.", - "destinationSetUpLaterActive": "Das Ziel wird vorerst übersprungen — Name und Kommentar werden weiterhin gespeichert. Du brauchst ein Ziel, bevor du veröffentlichst.", + "destinationSetUpLaterPrompt": "Sie haben noch kein Ziel? Aktivieren Sie diese Option, um es später einzurichten — Sie können jetzt einen Entwurf speichern und testen.", + "destinationSetUpLaterActive": "Das Ziel wird vorerst übersprungen — Name und Kommentar werden trotzdem gespeichert. Sie benötigen ein Ziel, bevor Sie veröffentlichen.", "functionSetUpLater": "Später einrichten", "functionSetUpLaterPrompt": "Noch keine Funktion? Aktiviere dies, um sie später einzurichten — du kannst einen Entwurf speichern und jetzt testen.", "functionSetUpLaterActive": "Die Funktion wird vorerst übersprungen — Name und Kommentar werden weiterhin gespeichert. Du brauchst eine Funktion, bevor du veröffentlichst." @@ -2815,7 +2815,7 @@ "functionNodeEmptyName": "Funktionsknoten {id} hat einen leeren Funktionsnamen.", "functionNodeInvalidName": "Funktionsknoten {id} hat einen ungültigen Funktionsnamen \"{name}\". Er muss einer der verfügbaren Funktionen sein.", "outputStreamNodeEmptyName": "Ausgabe-Stream-Knoten {id} hat einen leeren Stream-Namen.", - "remoteStreamNodeEmptyDestination": "Remote-Stream-Knoten {id} hat einen leeren Zielnamen.", + "remoteStreamNodeEmptyDestination": "Remote-Stream-Knoten {id} hat einen leeren Zielnamen", "remoteStreamNodeInvalidDestination": "Remote-Stream-Knoten {id} hat ein ungültiges Ziel \"{destination}\". Es muss eines der verfügbaren Pipeline-Ziele sein.", "edgeMissingSourceNode": "Kante {id} verweist auf einen nicht vorhandenen Quellknoten {source}.", "edgeMissingTargetNode": "Kante {id} verweist auf einen nicht vorhandenen Zielknoten {target}.", @@ -2831,7 +2831,7 @@ "importErrors": { "unknownError": "Unbekannter Fehler", "nameRequired": "Pipeline - {index}: Name ist erforderlich", - "streamTypeInvalid": "Pipeline - {index}: Stream-Typ ist Pflicht und sollte einer der folgenden sein: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Pipeline - {index}: Stream-Typ ist obligatorisch und muss einer der folgenden sein: 'logs', 'metrics', 'traces'.", "sourceStreamNameRequired": "Pipeline - {index}: Quell-Stream-Name ist erforderlich ", "sqlQueryRequired": "Pipeline - {index}: SQL-Abfrage ist erforderlich", "timezoneRequired": "Pipeline - {index}: Zeitzone ist erforderlich", @@ -2945,7 +2945,7 @@ "defaultDelayTooltip": "Standard: 5 Sekunden", "deleteDataBeforeBackfill": "Vorhandene Daten vor dem Backfill löschen", "irreversibleDeletionWarning": "Warnung: Unwiderrufliche Datenlöschung", - "deleteBackfillWarningMessage": "Dadurch werden vor der Ausführung des Backfills alle Daten im Zielstream für den angegebenen Zeitraum dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.", + "deleteBackfillWarningMessage": "Dies wird dauerhaft alle Daten im Ziel-Stream für den angegebenen Zeitraum löschen, bevor der Backfill ausgeführt wird. Diese Aktion kann nicht rückgängig gemacht werden.", "timeAlignmentRequirements": "Zeitausrichtungsanforderungen (UTC):", "logsHourBoundaryNote": "Streams: Zeiten müssen an Stundengrenzen in UTC ausgerichtet sein (z. B. 10:00:00, nicht 10:15:00)", "metricsTracesLabel": "Metriken/Traces", @@ -2971,8 +2971,8 @@ "statusUnknown": "Unbekannt", "phaseInitializing": "Initialisiere" }, - "deleteBackfillConfirmMessage": "Sie haben ausgewählt, vorhandene Daten vor dem Backfill zu löschen. Dadurch werden alle Daten im Zielstream für den angegebenen Zeitraum dauerhaft gelöscht.", - "editBackfillDeleteConfirmMessage": "Sie haben ausgewählt, vorhandene Daten vor dem Backfill zu löschen. Dadurch werden alle Daten im Zielstream für den angegebenen Zeitraum dauerhaft gelöscht. Diese Aktion kann NACH der Aktualisierung des Jobs NICHT rückgängig gemacht oder abgebrochen werden. Möchten Sie wirklich fortfahren?", + "deleteBackfillConfirmMessage": "Sie haben ausgewählt, vorhandene Daten vor dem Backfill zu löschen. Dies wird dauerhaft alle Daten im Ziel-Stream für den angegebenen Zeitraum löschen.", + "editBackfillDeleteConfirmMessage": "Sie haben ausgewählt, vorhandene Daten vor dem Backfill zu löschen. Dies wird dauerhaft alle Daten im Ziel-Stream für den angegebenen Zeitraum löschen. Diese Aktion kann NICHT rückgängig gemacht oder abgebrochen werden, sobald der Auftrag aktualisiert ist. Möchten Sie wirklich fortfahren?", "actionCannotBeUndone": "Diese Aktion kann NACH der Erstellung des Jobs NICHT rückgängig gemacht oder abgebrochen werden.", "areYouSureProceed": "Möchten Sie wirklich fortfahren?", "clearFilters": "Filter zurücksetzen", @@ -3036,7 +3036,7 @@ "sourceQueryTooltip": "Quelle: Query Node", "functionTooltip": "Funktionsknoten", "conditionTooltip": "Bedingungsknoten", - "destinationStreamTooltip": "Ziel: Stream Node", + "destinationStreamTooltip": "Ziel: Stream-Knoten", "destinationExternalTooltip": "Ziel: Externer Zielknoten", "pipelineNotFound": "Pipeline wurde nicht gefunden", "pipelineNameRequired": "Pipeline-Name ist erforderlich", @@ -3044,7 +3044,7 @@ "destinationNodeRequired": "Zielknoten ist erforderlich", "connectAllNodes": "Bitte verbinden Sie alle Knoten vor dem Speichern", "connectAllNodesShort": "Bitte verbinden Sie alle Knoten", - "enrichmentTablesScheduledOnly": "Anreicherungstabellen als Zielstream sind nur für geplante Pipelines verfügbar", + "enrichmentTablesScheduledOnly": "Anreicherungstabellen als Ziel-Stream sind nur für geplante Rohrleitungen verfügbar.", "savingPipeline": "Pipeline wird gespeichert...", "pipelineUpdated": "Pipeline wurde erfolgreich aktualisiert", "pipelineSaved": "Pipeline wurde erfolgreich gespeichert", @@ -3092,11 +3092,11 @@ "streamType": "Stream-Typ *" }, "sourceNode": "Quelle", - "streamNode": "Streamen", + "streamNode": "Stream", "queryNode": "Abfrage", "transformNode": "Verwandeln", "functionNode": "Funktion", - "destinationNode": "Reiseziel", + "destinationNode": "Ziel", "remoteNode": "Fernbedienung", "conditionsNode": "Bedingungen", "editorFunctionTooltip": "Payload mit einer Funktion umformen", @@ -3156,7 +3156,7 @@ "customStep5": "Wählen Sie das Ausgabeformat (JSON oder NDJSON)", "customStep6": "Testen Sie die Verbindung, um zu überprüfen, ob sie funktioniert", "defaultTitle": "Verbindungsdetails", - "defaultStep1": "Wählen Sie einen Zieltyp aus, um spezifische Anweisungen zu sehen" + "defaultStep1": "Wählen Sie einen Zieltyp, um spezifische Anweisungen zu sehen" }, "deleteFunctionAssociationConfirm": "Möchten Sie die Funktionszuordnung wirklich löschen?", "deleteStreamRoutingConfirm": "Möchten Sie das Stream-Routing wirklich löschen?", @@ -3182,7 +3182,7 @@ "noJobSelected": "Kein Job ausgewählt", "updateBackfillJobFailed": "Fehler beim Aktualisieren des Backfill-Jobs", "fetchPipelineHistoryFailed": "Fehler beim Abrufen des Pipeline-Verlaufs", - "defaultDestinationNodeWarning": "Wenn Sie den Standard-Zielknoten entfernen, werden keine Daten mehr darin aufgenommen. Der Quellstream leitet dann nur noch an den neu hinzugefügten Zielstream weiter. Daten, die an keinen Zielstream weitergeleitet werden, werden verworfen.", + "defaultDestinationNodeWarning": "Das Entfernen des Standard-Zielknotens verhindert, dass Daten in ihn aufgenommen werden. Der Quell-Stream leitet dann nur an den neu hinzugefügten Ziel-Stream weiter. Daten, die an keinen Ziel-Stream weitergeleitet werden, werden verworfen.", "confirmBulkDeleteMsg": "Möchten Sie wirklich {count} Pipeline(s) löschen?", "confirmPauseBackfillJob": "Möchten Sie den Backfill-Job für \"{name}\" wirklich anhalten? Sie können ihn später fortsetzen.", "confirmResumeBackfillJob": "Möchten Sie den Backfill-Job für \"{name}\" wirklich fortsetzen?", @@ -3292,10 +3292,10 @@ "analyzingDimensions": "Dimensionen werden analysiert...", "arrowSeparator": "→", "computingDistributions": "Berechnung von Frequenzverteilungen über {count} -Dimensionen", - "dashboardDescError": "Vergleich des Fehlerprozentsatzes von Traces während des Fehleranstiegszeitraums mit der Baseline über Dimensionen hinweg", - "dashboardDescLatency": "Vergleich der Perzentil-Latenz ausgewählter Traces (Dauer {start}-{end}µs) mit der Baseline über Dimensionen hinweg", - "dashboardDescVolume": "Vergleich der Trace-Anzahlverteilung mit der Baseline über Dimensionen hinweg", - "dashboardDescVolumeRate": "Vergleich der Trace-Anzahlverteilung ausgewählter Zeiträume (Rate {start}-{end} Traces) mit der Baseline über Dimensionen hinweg", + "dashboardDescError": "Vergleich des Fehlerprozentsatzes von Traces während des Fehleranstiegszeitraums gegenüber der Baseline über Dimensionen hinweg", + "dashboardDescLatency": "Vergleich der Perzentil-Latenz ausgewählter Traces (Dauer {start}-{end}µs) gegenüber der Baseline über Dimensionen hinweg", + "dashboardDescVolume": "Vergleich der Trace-Anzahlverteilung gegenüber der Baseline über Dimensionen hinweg", + "dashboardDescVolumeRate": "Vergleich der Trace-Anzahlverteilung ausgewählter Zeiträume (Rate {start}-{end} Traces) gegenüber der Baseline über Dimensionen hinweg", "dashboardTitleError": "Fehleranalyse", "dashboardTitleLatency": "Latenzanalyse", "dashboardTitleVolume": "Volumenanalyse", @@ -3303,8 +3303,8 @@ "durationLabel": "Dauer:", "failedToLoad": "Analyse konnte nicht geladen werden", "panelDescErrorComparison": "Fehlerprozentsatz-Vergleich für Dimension: {dimension}. Höhere ausgewählte Balken weisen darauf hin, dass dieser Dimensionswert im Fehleranstiegszeitraum mehr Fehler aufweist.", - "panelDescLatencyComparison": "Perzentil-Latenzvergleich für Dimension: {dimension}. Höhere ausgewählte Balken weisen darauf hin, dass dieser Dimensionswert mit langsameren Traces korreliert.", - "panelDescVolumeComparison": "Trace-Anzahlvergleich für Dimension: {dimension}. Höhere ausgewählte Balken weisen darauf hin, dass dieser Dimensionswert in Zeiträumen mit hohem Volumen häufiger vorkommt.", + "panelDescLatencyComparison": "Perzentil-Latenzvergleich für Dimension: {dimension}. Höhere ausgewählte Balken deuten darauf hin, dass dieser Dimensionswert mit langsameren Traces korreliert.", + "panelDescVolumeComparison": "Trace-Anzahlvergleich für Dimension: {dimension}. Höhere ausgewählte Balken deuten darauf hin, dass dieser Dimensionswert in Hochvolumenzeiträumen häufiger vorkommt.", "panelDescVolumeTopValues": "Häufigste Werte nach Anzahl für Dimension: {dimension}.", "refreshTooltip": "Analyse mit aktualisiertem Perzentil aktualisieren", "retryButton": "Erneut versuchen", @@ -3315,7 +3315,7 @@ "title": "Einblicke", "tabLabel": "Bewerte", "analyzeTooltipLogs": "Analysieren Sie die Dimensionsverteilung für den aktuellen Zeitraum", - "analyzeTooltipTraces": "Analysieren Sie die Trace-Dimensionen auf Rate, Latenz und Fehlermuster", + "analyzeTooltipTraces": "Analysieren Sie Trace-Dimensionen auf Rate, Latenz und Fehlermuster", "rateLabel": "Rate:", "searchInspectionsLabel": "Überprüfen Sie die Ausführungsdetails des Suchauftrags", "inspectBtnLabel": "Inspizieren", @@ -3418,7 +3418,7 @@ "singleTargetTitle": "Einzelnes Remote-Write-Ziel", "fanoutTitle": "Fan-out an mehrere Backends", "tipPrefix": "Tipp: `vmagent` kann Schreibvorgänge duplizieren, indem das", - "tipSuffix": "Flag, sodass Sie ein bestehendes VictoriaMetrics-Ziel behalten und gleichzeitig Metriken an OpenObserve weiterleiten können.", + "tipSuffix": "Flag, damit Sie ein bestehendes VictoriaMetrics-Ziel behalten können, während Sie Metriken an OpenObserve weiterleiten.", "docLinkText": "um mehr über die Konfiguration von vmagent-Remote-Write-Zielen zu erfahren." }, "ai": { @@ -3629,14 +3629,14 @@ "anyWindowsHostNote": "Jeder Windows-Server oder jede VM.", "arrow": "→", "askOnSlack": "Frag in Slack", - "autoInstrumentTracesDesc": "Optional. Der OpenTelemetry-Operator injiziert Instrumentierung in annotierte Workloads, sodass Sie **verteilte Traces erhalten, ohne Anwendungscode anzufassen oder Images neu zu erstellen**. Wählen Sie eine Sprache und annotieren Sie dann den Namespace, in dem sie läuft.", - "autoInstrumentTracesTitle": "Automatische Instrumentierung deiner Anwendungen für Traces", + "autoInstrumentTracesDesc": "Optional. Der OpenTelemetry-Operator injiziert Instrumentierung in annotierte Workloads, sodass Sie **verteilte Traces erhalten, ohne Anwendungscode anzufassen oder Images neu zu erstellen**. Wählen Sie eine Sprache und annotieren Sie dann den Namespace, in dem sie ausgeführt wird.", + "autoInstrumentTracesTitle": "Instrumentieren Sie Ihre Anwendungen automatisch für Traces", "cassandraJmxNote": "Aktivieren Sie den JMX-Fernzugriff auf Cassandra, damit der Empfänger eine Verbindung herstellen kann.", "cassandraTagline": "Sammeln Sie Cassandra-Metriken über den JMX-Receiver des OpenTelemetry Collectors und senden Sie sie an OpenObserve.", "checking": "Prüfen…", "checkingForLogs": "Prüfe auf Logs…", "checkingForMetrics": "Prüfe auf Metriken…", - "checkingForSpans": "Prüfe auf Spans…", + "checkingForSpans": "Suche nach Spans…", "chipEditor": "Editor", "chipInstall": "Installieren", "chipLogs": "Logs", @@ -3661,7 +3661,7 @@ "downloadEnvTooltip": ".env herunterladen", "downloadJmxJarDesc": "Der JMX-Receiver führt dieses Hilfs-JAR aus (erfordert Java auf dem Collector-Host).", "downloadJmxJarTitle": "JMX-Metriken-JAR herunterladen", - "dynamodbFirehoseEndpointDesc": "Verwenden Sie diese als **HTTP-Endpunkt**-Ziel, wenn Sie Ihren Kinesis Data Firehose Delivery Stream erstellen.", + "dynamodbFirehoseEndpointDesc": "Verwenden Sie diese als **HTTP-Endpunkt**-Ziel beim Erstellen Ihres Kinesis-Data-Firehose-Delivery-Streams.", "dynamodbFirehoseEndpointTitle": "OpenObserve-Firehose-Endpunkt", "dynamodbPipelineDesc": "Aktivieren Sie **DynamoDB Streams** für Ihre Tabelle, verbinden Sie sie mit einem **Kinesis Data Stream**, und richten Sie dann einen **Kinesis Data Firehose** Delivery Stream auf den obigen HTTP-Endpunkt aus.", "dynamodbPipelineTitle": "DynamoDB → Firehose streamen", @@ -3675,7 +3675,7 @@ "gcpFixBody": "GCP meldet Zustellfehler am Abonnement selbst. Wenn der Sink veröffentlicht, aber hier nichts ankommt, lehnt der Push-Endpunkt die Anfrage normalerweise ab:", "gcpFixTitle": "Push-Abonnement prüfen", "gcpPushUrlNote": "Halten Sie diese URL geheim – sie enthält den Ingestion-Schlüssel. Wenn sie durchsickert, rotieren Sie sie über den Kopfbereich dieser Seite.", - "gcpSinkDesc": "Erstellen Sie in der GCP-Konsole einen **Log Router Sink** (Logging → Log Router → Create sink) mit Pub/Sub als Ziel, und lassen Sie das Thema erstellen. Der Einschlussfilter des Sinks bestimmt, welche Logs OpenObserve erreichen.", + "gcpSinkDesc": "Erstellen Sie in der GCP-Konsole einen **Log-Router-Sink** (Logging → Log Router → Sink erstellen) mit Pub/Sub als Ziel und lassen Sie das Topic erstellen. Der Einschlussfilter des Sinks bestimmt, welche Logs OpenObserve erreichen.", "gcpSinkTitle": "Logs an ein Pub/Sub-Thema weiterleiten", "gcpSinkWriterNote": "Gewähren Sie der Writer-Identität des Sinks die Pub/Sub-Publisher-Rolle auf dem Thema, sonst veröffentlicht sie stillschweigend nichts.", "gcpStreamHelp": "Wird in der obigen Push-URL verwendet und von der folgenden Prüfung überwacht. Ein dedizierter Stream hält GCP-Protokolle getrennt.", @@ -3757,13 +3757,13 @@ "oracleTagline": "Sammeln Sie Oracle-DB-Metriken mit dem OpenTelemetry Collector und senden Sie sie an OpenObserve.", "otlpFixBody": "Einen Exporter zu definieren reicht nicht — er muss in einer Pipeline aufgeführt sein. Dies ist der häufigste Grund dafür, dass eine korrekt aussehende Konfiguration nichts sendet:", "otlpFixTitle": "Prüfen Sie, ob der Exporter tatsächlich in die Pipeline eingebunden ist", - "otlpGrpcNote": "Geringerer Overhead als HTTP bei hohen Span-Volumen. Port 5081 muss vom Collector erreichbar sein.", + "otlpGrpcNote": "Geringerer Overhead als HTTP bei hohen Span-Volumina. Port 5081 muss vom Collector erreichbar sein.", "otlpHttpNote": "Der Standard für den OpenTelemetry Collector — funktioniert überall, auch hinter Proxys und Load Balancern.", "otlpSdkEnvNote": "Standard-OTEL_*-Umgebungsvariablen — jedes OpenTelemetry-SDK liest diese, daher ist keine Codeänderung erforderlich.", "otlpTracesStreamHelp": "Wird als `stream-name` in die obige Konfiguration geschrieben und von der folgenden Prüfung überwacht.", "otlpTrouble401A": "Der `Authorization`-Header muss `Basic ` mit dem Ingestions-Token dieser Organisation sein — der obige Wert ist bereits korrekt. Falls er rotiert wurde, kopieren Sie ihn von dieser Seite erneut.", "otlpTrouble401Q": "Der Collector protokolliert 401 oder 403", - "otlpTroubleHttpGrpcA": "HTTP ist die sichere Standardwahl und durchquert Proxys und Load Balancer problemlos. gRPC hat bei hohem Span-Volumen einen geringeren Overhead, benötigt aber eine durchgängige Erreichbarkeit von Port 5081.", + "otlpTroubleHttpGrpcA": "HTTP ist die sichere Standardwahl und durchläuft Proxys und Load Balancer problemlos. gRPC hat bei hohem Span-Volumen einen geringeren Overhead, benötigt aber einen durchgängig erreichbaren Port 5081.", "otlpTroubleHttpGrpcQ": "Sollte ich HTTP oder gRPC verwenden?", "otlpTroubleStreamA": "Der `stream-name`-Header bestimmt den Stream. Setzen Sie ihn auf denselben Namen wie das Feld oben, andernfalls überwacht die folgende Prüfung einen Stream, in den nichts geschrieben wird.", "otlpTroubleStreamQ": "Spans kommen an, landen aber im falschen Stream", @@ -3969,7 +3969,7 @@ "sqlServerTagline": "Sammeln Sie SQL-Server-Metriken mit dem OpenTelemetry Collector und senden Sie sie an OpenObserve.", "startIngestingTestForLogs": "Datenerfassung starten, dann Logs testen", "startIngestingTestForMetrics": "Datenerfassung starten, dann Metriken testen", - "startIngestingTestForSpans": "Datenerfassung starten, dann Spans testen", + "startIngestingTestForSpans": "Starten Sie die Datenerfassung und testen Sie dann auf Spans", "streamNameError": "Verwenden Sie nur Buchstaben, Zahlen und _.", "streamNameLabel": "Stream-Name", "stuck": "Hängst du fest?", @@ -3981,7 +3981,7 @@ "taglineOtlpTraces": "Richten Sie einen beliebigen OpenTelemetry-Exporter auf OpenObserve aus — Collector oder SDK, HTTP oder gRPC. Ihr Endpunkt und Ihr Token sind unten ausgefüllt.", "taglineWindows": "Installieren Sie den OpenObserve-Agenten auf einem beliebigen Windows-Host — Ereignisprotokoll, Leistungsindikatoren und Host-Metriken.", "testAgain": "Erneut testen", - "tracesStreamNameLabel": "Traces-Stream-Name", + "tracesStreamNameLabel": "Name des Traces-Streams", "trackScreensDesc": "Wenn du React Navigation verwendest, übergib dem SDK deine Navigations-Ref, und jede Routenänderung wird als RUM-View aufgezeichnet — ohne Code pro Screen.", "trackScreensTitle": "Screens automatisch verfolgen (Optional)", "troubleshooting": "Fehlerbehebung", @@ -4001,7 +4001,7 @@ "verifyMongodbMetricsDesc": "Klicken Sie unten auf Test, oder prüfen Sie in Streams nach den Metriken `mongodb_*`.", "verifyMysqlMetricsDesc": "Klicken Sie unten auf Test, oder prüfen Sie in Streams nach den Metriken `mysql_*`.", "verifyOracledbMetricsDesc": "Klicken Sie unten auf Test, oder prüfen Sie in Streams nach den Metriken `oracledb_*`.", - "verifyOtlpTracesDesc": "Starten Sie den Collector (oder Ihre App) neu, führen Sie eine Anfrage aus, die einen Span erzeugt, und klicken Sie dann auf Test.", + "verifyOtlpTracesDesc": "Starten Sie den Collector (oder Ihre App) neu, führen Sie eine Anforderung aus, die einen Span erzeugt, und klicken Sie dann auf Test.", "verifyPostgresqlMetricsDesc": "Klicken Sie unten auf Test, oder prüfen Sie in Streams nach den Metriken `postgresql_*`.", "verifyReactNativeRumDesc": "Führe die App auf einem Simulator, Emulator oder Gerät aus, wechsle zwischen einigen Screens und klicke dann auf Test — React-Native-Events landen im `_rumdata`-Stream.", "verifyRedisMetricsDesc": "Klicken Sie unten auf Test, oder prüfen Sie in Streams nach den Metriken `redis_*`.", @@ -4036,11 +4036,11 @@ "verifyAndroidRumDesc": "Führen Sie die App auf einem Emulator oder Gerät aus, wechseln Sie zwischen einigen Bildschirmen, und klicken Sie dann auf Test — native Android-Ereignisse landen im `_rumdata`-Stream.", "verifyIosRumDesc": "Führen Sie die App auf einem Simulator oder Gerät aus, wechseln Sie zwischen einigen Bildschirmen, und klicken Sie dann auf Test — native iOS-Ereignisse landen im `_rumdata`-Stream.", "dbmPreparePostgresTitle": "Datenbank-Monitoring · Zugriff gewähren (optional)", - "dbmPreparePostgresDesc": "**Alles oben ist für sich genommen vollständig** – Abfragezeiten erreichen Datenbanken bereits über die Traces deiner Anwendung, ohne hier etwas einrichten zu müssen. Diese letzten Schritte fügen hinzu, was ein Trace nie sehen kann: Deadlocks und blockierte Abfragen, die nur die Datenbank selbst aufzeichnet. Gewähre `pg_monitor`, damit der Collector die Abfragen anderer Sitzungen lesen kann – führe ihn in einem SQL-Client aus, **nicht** in deiner Shell.", + "dbmPreparePostgresDesc": "**Alles oben Genannte ist für sich genommen vollständig** – Abfragezeiten erreichen Datenbanken bereits über die Traces Ihrer Anwendung, ohne dass hier eine Einrichtung erforderlich ist. Diese letzten Schritte fügen hinzu, was ein Trace nie sehen kann: Deadlocks und blockierte Abfragen, die nur die Datenbank selbst aufzeichnet. Gewähren Sie `pg_monitor`, damit der Collector die Abfragen anderer Sitzungen lesen kann – führen Sie dies in einem SQL-Client aus, **nicht** in Ihrer Shell.", "dbmPrepareMysqlTitle": "Datenbank-Monitoring · Deadlock-Verlauf aufbewahren (optional)", "dbmPrepareMariadbTitle": "**Alles oben ist für sich genommen vollständig** – Abfragezeiten erreichen Datenbanken bereits über die Traces deiner Anwendung, ohne hier etwas einrichten zu müssen. Diese letzten Schritte fügen hinzu, was ein Trace nie sehen kann: Deadlocks und blockierte Abfragen, die nur die Datenbank selbst aufzeichnet. Aktiviere den vollständigen Deadlock-Verlauf – führe ihn in einem SQL-Client aus, **nicht** in deiner Shell.", - "dbmPrepareMysqlDesc": "Datenbank-Monitoring · Deadlock-Verlauf aufbewahren (optional)", - "dbmPrepareMariadbDesc": "**Alles oben ist für sich genommen vollständig** – Abfragezeiten erreichen Datenbanken bereits über die Traces deiner Anwendung, ohne hier etwas einrichten zu müssen. Diese letzten Schritte fügen hinzu, was ein Trace nie sehen kann: Deadlocks und blockierte Abfragen, die nur die Datenbank selbst aufzeichnet. Aktiviere den vollständigen Deadlock-Verlauf – führe ihn in einem SQL-Client aus, **nicht** in deiner Shell.", + "dbmPrepareMysqlDesc": "**Alles oben Genannte ist für sich genommen vollständig** – Abfragezeiten erreichen Datenbanken bereits über die Traces Ihrer Anwendung, ohne dass hier eine Einrichtung erforderlich ist. Diese letzten Schritte fügen hinzu, was ein Trace nie sehen kann: Deadlocks und blockierte Abfragen, die nur die Datenbank selbst aufzeichnet. Aktivieren Sie den vollständigen Deadlock-Verlauf – führen Sie dies in einem SQL-Client aus, **nicht** in Ihrer Shell.", + "dbmPrepareMariadbDesc": "**Alles oben Genannte ist für sich genommen vollständig** – Abfragezeiten erreichen Datenbanken bereits über die Traces Ihrer Anwendung, ohne dass hier eine Einrichtung erforderlich ist. Diese letzten Schritte fügen hinzu, was ein Trace nie sehen kann: Deadlocks und blockierte Abfragen, die nur die Datenbank selbst aufzeichnet. Aktivieren Sie den vollständigen Deadlock-Verlauf – führen Sie dies in einem SQL-Client aus, **nicht** in Ihrer Shell.", "dbmPgLoggingTitle": "Datenbank-Monitoring · Deadlocks von Postgres aufzeichnen lassen (optional)", "dbmPgLoggingDesc": "Deadlocks werden nur in das Postgres-Protokoll geschrieben, und nur wenn die unten stehenden Einstellungen aktiviert sind – dieser Schritt ist es also, der den Deadlocks-Tab überhaupt füllt. Die Präfixzeile muss exakt übereinstimmen: Der Collector liest sie, um herauszufinden, wer beteiligt war, und ein anderes Präfix bedeutet, dass er nichts findet, während er trotzdem als gesund meldet.", "dbmPgLoggingVerifyTitle": "Datenbank-Monitoring · Prüfen, ob die Einstellungen wirksam wurden (optional)", @@ -4066,7 +4066,7 @@ "dbmMysqlLogPathHelp": "Der Collector muss diese Datei lesen können. Finde sie mit: SHOW VARIABLES LIKE 'log_error';", "dbmMariadbLogPathHelp": "Der Collector muss diese Datei lesen können. Finde sie mit: SHOW VARIABLES LIKE 'log_error';", "dbmPrepareMssqlTitle": "Datenbank-Monitoring · Zugriff gewähren (optional)", - "dbmPrepareMssqlDesc": "**Alles oben ist für sich allein vollständig** — Abfragezeiten erreichen Datenbanken bereits aus den Traces Ihrer Anwendung, ohne dass Sie hier etwas einrichten müssen. Diese letzte Gruppe fügt hinzu, was ein Trace nie sehen kann: Deadlocks und blockierte Abfragen, die nur die Datenbank selbst aufzeichnet. Beide Berechtigungen sind erforderlich — eine ermöglicht dem Collector, andere Sitzungen zu lesen, die andere ermöglicht ihm, den Deadlock-Verlauf zu lesen. Führen Sie sie in einem SQL-Client aus, **nicht** in Ihrer Shell.", + "dbmPrepareMssqlDesc": "**Alles oben Genannte ist für sich genommen vollständig** – Abfragezeiten erreichen Datenbanken bereits über die Traces Ihrer Anwendung, ohne dass hier eine Einrichtung erforderlich ist. Diese letzte Gruppe fügt hinzu, was ein Trace nie sehen kann: Deadlocks und blockierte Abfragen, die nur die Datenbank selbst aufzeichnet. Beide Berechtigungen sind erforderlich – eine ermöglicht es dem Collector, andere Sitzungen zu lesen, die andere ermöglicht es ihm, den Deadlock-Verlauf zu lesen. Führen Sie sie in einem SQL-Client aus, **nicht** in Ihrer Shell.", "dbmConfigureMssqlDesc": "Schreibt `dbm-config.yaml` — legen Sie unten die Datenbank fest, mit der verbunden werden soll. SQL Server erhält hier Deadlocks, blockierte Abfragen, Aktivitätsbeispiele, Top-Abfragen und Ausführungspläne. Der sqlserver-Receiver liest die gesamte Instanz, daher sind Aktivität und Top-Abfragen nicht auf die oben genannte Datenbank beschränkt.", "dbmRunMssqlDesc": "Führt beide Konfigurationen gemeinsam aus. Verwenden Sie denselben Anmeldenamen und dasselbe Passwort, das Sie in Schritt 1 erstellt haben.", "dbmVerifyBlockingDesc": "Öffnen Sie **Infra → Datenbanken → Blockierte Abfragen**. Sitzungen, die auf eine Sperre warten, erscheinen, sobald eine abgetastet wird — ein leerer Tab dort zeigt Ihnen, ob nichts blockiert ist oder nichts erfasst wird.", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "Öffnen Sie **Infra → Datenbanken** und wählen Sie unten einen Tab. Deadlocks und blockierte Abfragen erscheinen, sobald Ihre Datenbank eine meldet — ein leerer Tab dort zeigt Ihnen, ob nichts passiert ist oder nichts erfasst wird. Der Tabellenstatus füllt sich nach dem ersten 60-Sekunden-Snapshot." }, "instrumentBeforeImportTitle": "Vor dem Import des Clients instrumentieren", - "instrumentBeforeImportBody": "Wenn Ihre App läuft, aber keine Spans ankommen, wurde die Instrumentierung wahrscheinlich nach dem Import des Clients geladen. Ordnen Sie die Reihenfolge so um, dass die Initialisierung zuerst läuft:", + "instrumentBeforeImportBody": "Wenn Ihre App läuft, aber keine Spans ankommen, wurde die Instrumentierung wahrscheinlich nach dem Import des Clients geladen. Ordnen Sie die Reihenfolge so um, dass die Initialisierung zuerst ausgeführt wird:", "launchCloudFormationStack": "CloudFormation-Stack starten", "openStackSetsConsole": "StackSets-Konsole öffnen", "integrations": { @@ -4239,7 +4239,7 @@ "streamOverview": "{stream} Übersicht" }, "selectField": "Feld", - "selectIndex": "Streamen", + "selectIndex": "Stream", "selectStreamType": "Stream-Typ", "toggleFunctionEditor": "Funktionseditor umschalten", "useSavedFunction": "Verwenden Sie die Funktion Gespeichert", @@ -5554,7 +5554,7 @@ "deletePanelTitle": "Panel löschen", "deletePanelMessage": "Bist du sicher, dass du dieses Panel löschen möchtest?", "movePanelTitle": "Panel auf eine andere Registerkarte verschieben", - "movePanelMessage": "Wählen Sie den Ziel-Tab", + "movePanelMessage": "Ziel-Tab auswählen", "noQueriesToCreateAlert": "Dieses Panel enthält keine Abfragen, von denen aus eine Warnung erstellt werden könnte", "panelQueryMustHaveStream": "Bei der Panel-Abfrage muss ein Stream konfiguriert sein", "unsupportedPanelTypeAlert": "Das Erstellen von Benachrichtigungen aus {type} -Panels funktioniert möglicherweise nicht wie erwartet", @@ -5669,7 +5669,7 @@ "description": "Diese Organisation hat keine Daten erhalten, es gibt also nichts, was man grafisch darstellen könnte. Sobald die Ereignisse beginnen, werden Ihr Aufnahmevolumen, Ihr Speicherplatz und Ihre Abfragenutzung hier automatisch angezeigt.", "logs": "Logs senden", "logsDesc": "{product1}, {product2}, {product3}, {product4} & mehr", - "traces": "Spuren senden", + "traces": "Traces senden", "tracesDesc": "{product1} / {product2} / {product3} verteiltes Tracing", "metrics": "Metriken senden", "metricsDesc": "{product1}, {product2}, {product3} & mehr", @@ -5717,8 +5717,8 @@ "emptyActionAlertsDesc": "Überprüfen Sie die konfigurierten Warnungen und Schwellenwerte", "emptyActionLogs": "Logs erkunden", "emptyActionLogsDesc": "Suchen und filtern Sie Ihre Log-Streams", - "emptyActionTraces": "Spuren erkunden", - "emptyActionTracesDesc": "Untersuchen Sie verteilte Traces und die Servicelatenz", + "emptyActionTraces": "Traces erkunden", + "emptyActionTracesDesc": "Untersuchen Sie verteilte Traces und Service-Latenz", "anomalyDetectedTitle": "Anomalie erkannt — {name}", "anomalyDetectedDescription": "Stream: {stream} · {count} anomale Punkte", "secondsAgo": "{count}s her", @@ -5806,7 +5806,7 @@ "taglineTail": ". Ich kann deine schreiben", "taglineSql": "SQL", "taglineVrl": "VRL", - "taglineAnd": "und führen Sie durch Ihre Logs, Traces, Metriken und Incidents.", + "taglineAnd": "und führen Sie durch Ihre Logs, Traces, Metriken und Vorfälle.", "signedInAs": "Angemeldet als", "role": "Rolle", "tryOneOfThese": "Oder probieren Sie eines davon aus" @@ -5814,12 +5814,12 @@ "capabilities": { "query": { "title": "Schreiben Sie eine Anfrage", - "description": "SQL für Logs, Traces, RUM oder PromQL für Metriken.", + "description": "SQL für Logs, Traces, Echte Benutzerüberwachung oder PromQL für Metriken.", "prompt": "Hilf mir, eine Anfrage zu schreiben" }, "incident": { "title": "Vorfälle untersuchen", - "description": "Ursache für Logs, Traces und Alerts — z. B. „Warum hat Gateway-5xx gezündet?“", + "description": "Grundursache über Logs, Traces und Warnmeldungen – z. B. \"Warum wurde gateway-5xx ausgelöst?\"", "prompt": "Hilf mir, einen Vorfall zu untersuchen" }, "dashboard": { @@ -5962,7 +5962,7 @@ "features": "FUNKTIONEN", "included": "Was ist enthalten?", "proPlanSubtitle": "Maßgeschneiderte Lösungen für kleine Teams", - "unlimitedNote": "Unbegrenzte Anzahl von Benutzern, Protokollen, Metriken, Traces und mehr.", + "unlimitedNote": "Unbegrenzte Benutzer, Logs, Metriken, Traces und mehr.", "paymentNote": "Die Zahlung wird nach Nutzung am Ende des monatlichen Abrechnungszeitraums berechnet.", "proPlanLabel": "Bezahlen Sie nach Bedarf", "contactLabel": "Vertrieb kontaktieren", @@ -6145,13 +6145,13 @@ "anomalyImportFailed": "Anomalieerkennung - {index}: \\\"{name}\\\" Import fehlgeschlagen — {reason}", "nameRequired": "Alert - {index}: Name ist erforderlich und muss eine gültige Zeichenfolge sein.", "orgIdInvalid": "Alert - {index}: Organisations-ID ist erforderlich, sollte in der Organisationsliste vorhanden sein und muss {orgId} entsprechen.", - "streamTypeInvalid": "Alert - {index}: Stream-Typ ist erforderlich und sollte einer der folgenden sein: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Warnmeldung - {index}: Stream-Typ ist erforderlich und sollte einer der folgenden sein: 'logs', 'metrics', 'traces'.", "streamNameInvalid": "Alert - {index}: Stream-Name ist erforderlich, sollte in der Stream-Liste vorhanden sein und muss eine gültige Zeichenfolge sein.", - "destinationsRequired": "Alert - {index}: Ziele sind erforderlich und sollten ein Array sein.", + "destinationsRequired": "Warnmeldung - {index}: Ziele sind erforderlich und sollten ein Array sein.", "enabledBoolean": "Alert - {index}: Enabled sollte Boolean sein.", "tzOffsetNumber": "Alert - {index}: Zeitzonen-Offset sollte eine Zahl sein.", "timezoneRequiredForCron": "Alert - {index}: Zeitzone ist erforderlich, wenn der Häufigkeitstyp 'cron' ist.", - "destinationNotExist": "Alert - {index}: Ziel \"{destination}\" existiert nicht", + "destinationNotExist": "Warnmeldung - {index}: Das Ziel \"{destination}\" existiert nicht.", "createSuccess": "Alert - {index}: \"{name}\" erfolgreich erstellt \nHinweis: Bitte entfernen Sie das erstellte Alert-Objekt {name} aus der JSON-Datei.", "createFailed": "Alert - {index}: Erstellung von \"{name}\" fehlgeschlagen --> \n Grund: {reason}", "unknownError": "Unbekannter Fehler", @@ -6328,7 +6328,7 @@ "guidelinesLabel": "Richtlinien:", "selectStreamGuideline": "Wählen Sie einen vorhandenen Stream aus der Liste aus oder geben Sie den Namen ein, um einen neuen zu erstellen.", "enrichmentTablesTerm": "Enrichment_tables", - "enrichmentTablesDestinationNote": "da der Ziel-Stream nur für geplante Pipelines verfügbar ist", + "enrichmentTablesDestinationNote": "da der Ziel-Stream nur für geplante Rohrleitungen verfügbar ist", "useCurlyBracesNote": "Verwenden Sie geschweifte Klammern", "configureStreamNameDynamicNote": "um den Stream-Namen dynamisch zu konfigurieren, z. B.", "staticTextBeforeAfterNote": ". Statischer Text davor/danach", @@ -6403,7 +6403,7 @@ "minimumFrequency": "Mindesthäufigkeit sollte {minutes} Minuten betragen", "nameMandatoryString": "Name ist erforderlich und sollte ein gültiger String sein", "orgIdMismatch": "Organisations-ID sollte gleich {orgId} sein", - "streamTypeMandatory": "Stream-Typ ist erforderlich und sollte einer der folgenden sein: logs, metrics, traces", + "streamTypeMandatory": "Stream-Typ ist erforderlich und sollte einer der folgenden sein: Logs, Metriken, Traces.", "streamNameMandatoryString": "Stream-Name ist erforderlich und sollte ein gültiger String sein", "streamNotInList": "Stream \"{streamName}\" existiert nicht in der Stream-Liste", "isRealTimeMandatoryBoolean": "Is Real-Time ist erforderlich und sollte ein Boolean-Wert sein", @@ -6435,10 +6435,10 @@ "cronRequiredForCronType": "Cron-Ausdruck ist erforderlich, wenn der Häufigkeitstyp cron ist", "timezoneRequiredForCronType": "Zeitzone ist erforderlich, wenn der Häufigkeitstyp cron ist", "triggerConditionRequired": "Trigger-Bedingung ist erforderlich", - "destinationsArray": "Ziele müssen ein Array sein", + "destinationsArray": "Ziele müssen ein Array sein.", "destinationRequiredPlain": "Mindestens ein Ziel ist erforderlich", - "noDestinationsInSystem": "Keine verfügbaren Ziele im System gefunden", - "invalidDestinations": "Ungültige Ziele: {destinations} - müssen aus der Liste der verfügbaren Ziele stammen", + "noDestinationsInSystem": "Keine verfügbaren Ziele im System gefunden.", + "invalidDestinations": "Ungültige Ziele: {destinations} - müssen aus der Liste der verfügbaren Ziele stammen.", "enabledFlagBoolean": "Enabled-Flag muss ein Boolean sein", "silenceNotificationRequired": "Stille-Benachrichtigung sollte nicht leer sein", "thresholdNotEmpty": "Schwellenwert sollte nicht leer sein", @@ -6459,8 +6459,8 @@ "searchAllFolders": "Alle Ordner", "streamConfig": "Stream-Konfiguration", "alertRules": "Regeln für Warnmeldungen", - "noTemplatesMsg": "Um eine Warnung zu erstellen, benötigen Sie mindestens eine Vorlage und ein Ziel. Vorlagen definieren das Format der Benachrichtigung. Erstellen Sie zunächst eine.", - "noDestinationsMsg": "Um eine Warnung zu erstellen, benötigen Sie mindestens ein Ziel und eine Vorlage. Ziele definieren, wohin Benachrichtigungen gesendet werden. Erstellen Sie zunächst eine.", + "noTemplatesMsg": "Um eine Warnmeldung zu erstellen, benötigen Sie mindestens eine Vorlage und ein Ziel. Vorlagen definieren das Format der Benachrichtigungsnachricht – beginnen Sie damit, eine zu erstellen.", + "noDestinationsMsg": "Um eine Warnmeldung zu erstellen, benötigen Sie mindestens ein Ziel und eine Vorlage. Ziele definieren, wohin Benachrichtigungen gesendet werden – beginnen Sie damit, eines zu erstellen.", "add": "Warnung hinzufügen", "edit": "Bearbeiten", "clone": "Warnung klonen", @@ -6514,9 +6514,9 @@ "destination": "Ziel", "destinationOrWorkflowRequired": "Fügen Sie mindestens ein Ziel oder einen Workflow hinzu.", "customDestination": "Benutzerdefiniertes Ziel", - "customDestinationDescription": "Konfigurieren Sie einen benutzerdefinierten HTTP-Endpunkt oder ein E-Mail-Ziel", - "testIdleMessage": "Klicken Sie auf „Testen“, um Ihre Zielkonfiguration zu überprüfen", - "destinationPreview": "Vorschau des Reiseziels", + "customDestinationDescription": "Konfigurieren Sie einen benutzerdefinierten HTTP-Endpunkt oder ein E-Mail-Ziel.", + "testIdleMessage": "Klicken Sie auf 'Test', um Ihre Zielkonfiguration zu überprüfen.", + "destinationPreview": "Zielvorschau", "template": "Vorlage überschreiben", "additionalVariables": "Zusätzliche Variablen", "testSuccessMessage": "Test erfolgreich! Ihr Ziel ist korrekt konfiguriert.", @@ -6526,22 +6526,22 @@ "sendingNotification": "Senden einer Testbenachrichtigung zur Überprüfung der Konnektivität", "testErrorDNS": "Die DNS-Auflösung ist fehlgeschlagen. Bitte überprüfen Sie die Webhook-URL oder den Hostnamen.", "testErrorConnection": "Verbindung verweigert. Bitte überprüfen Sie die URL und stellen Sie sicher, dass der Dienst erreichbar ist.", - "testErrorTimeout": "Bei der Anfrage ist ein Timeout aufgetreten. Der Zieldienst ist möglicherweise langsam oder nicht erreichbar.", + "testErrorTimeout": "Die Anfrage hat das Zeitlimit überschritten. Der Ziel-Dienst ist möglicherweise langsam oder nicht erreichbar.", "testErrorSSL": "SSL/TLS-Zertifikatsfehler. Bitte überprüfen Sie das Zertifikat oder deaktivieren Sie die SSL-Überprüfung.", "testErrorClientError": "Client-Fehler (4xx). Bitte überprüfen Sie Ihre Anmeldedaten und Ihre Konfiguration.", - "testErrorServerError": "Serverfehler (5xx). Beim Zieldienst treten Probleme auf.", + "testErrorServerError": "Serverfehler (5xx). Der Ziel-Dienst hat Probleme.", "viewDetails": "Details ansehen", "error": "Fehler", "httpStatus": "HTTP-Status", "responseBody": "Antworttext", "retry": "Erneut versuchen", "suggestCheckUrl": "Bitte überprüfen Sie, ob die Webhook-URL korrekt und erreichbar ist.", - "suggestCheckFirewall": "Überprüfen Sie Ihre Firewall-Einstellungen und stellen Sie sicher, dass auf den Zieldienst zugegriffen werden kann.", + "suggestCheckFirewall": "Überprüfen Sie Ihre Firewall-Einstellungen und stellen Sie sicher, dass der Ziel-Dienst erreichbar ist.", "suggestCheckCredentials": "Bitte überprüfen Sie, ob Ihre API-Anmeldeinformationen korrekt sind.", "suggestCheckPermissions": "Vergewissern Sie sich, dass Ihre Anmeldeinformationen über die erforderlichen Berechtigungen verfügen.", "suggestCheckEndpoint": "Bitte überprüfen Sie, ob die Endpunkt-URL korrekt ist.", "suggestRateLimit": "Sie haben das Ratenlimit überschritten. Bitte warten Sie, bevor Sie es erneut versuchen.", - "suggestServerIssue": "Beim Zieldienst treten Probleme auf. Bitte versuchen Sie es später erneut.", + "suggestServerIssue": "Der Ziel-Dienst hat Probleme. Bitte versuchen Sie es später erneut.", "description": "Beschreibung", "stream_name": "Name des Streams", "cloneTitle": "Clone-Warnung", @@ -6844,7 +6844,7 @@ "noAlertDetailsAvailable": "Keine Alarmdetails verfügbar", "clickOnTriggerToViewDetails": "Klicken Sie in der Tabelle auf einen Auslöser, um Details anzuzeigen", "refreshCorrelatedData": "Korrelierte Daten aktualisieren", - "showingCorrelatedTraces": "Korrelierte Traces aus dem Vorfallszeitraum werden angezeigt", + "showingCorrelatedTraces": "Korrelierte Traces aus dem Vorfallzeitraum werden angezeigt.", "incidentTitleUpdatedSuccess": "Vorfalltitel erfolgreich aktualisiert", "markAsAcknowledgedTooltip": "Vorfall als bestätigt und in Bearbeitung markieren", "markAsResolvedTooltip": "Vorfall als behoben markieren und schließen", @@ -6968,8 +6968,8 @@ "noTargetsAvailable": "Keine Ziele oder Workflows verfügbar", "targetsDestinationsGroup": "Ziele", "targetsWorkflowsGroup": "Workflows", - "refreshDestinations": "Aktuelle Ziele aktualisieren", - "addNewDestination": "Neues Ziel hinzufügen", + "refreshDestinations": "Neueste Ziele aktualisieren", + "addNewDestination": "Ziel hinzufügen", "cooldownTooltip": "Wenn die Warnung ausgelöst wird, wie lange sollte dann gewartet werden, bevor eine weitere Benachrichtigung gesendet wird. Wenn z. B. die Warnung um 16:00 Uhr ausgelöst wird und die Stummmelbenachrichtigung auf 10 Minuten eingestellt ist, wird erst um 16:10 Uhr eine weitere Benachrichtigung gesendet, auch wenn die Warnung nach 1 Minute noch nicht abgeschlossen ist. Dies dient dazu, den Benutzer nicht mit Benachrichtigungen zu spammen.", "periodTooltip": "Zeitraum, für den die Abfrage ausgeführt werden soll. Beispiel: 10 Minuten bedeuten, dass bei jeder Ausführung der Abfrage die Daten der letzten 10 Minuten verwendet werden.", "timezoneWarning": "Warnung: Die angezeigte Zeitzone ist eine ungefähre Angabe. Überprüfen Sie die richtige Zeitzone und wählen Sie sie manuell aus.", @@ -6985,11 +6985,11 @@ "helpLegendLive": "die wahren Werte Ihrer Warnung", "helpLegendSample": "ein Beispiel — der tatsächliche Wert wird eingestellt, wenn der Alarm ausgelöst wird", "helpLegendOpaque": "wird automatisch hinzugefügt, wenn die Warnung ausgelöst wird", - "helpTemplateExplain": "Eine Vorlage ist die Benachrichtigung, die gesendet wird — der Text plus Variablen wie {'{'} alert_name {'}'}. Wenn Sie hier eine auswählen, wird die eigene Vorlage jedes Ziels außer Kraft gesetzt, und zwar nur für diese Warnung.", + "helpTemplateExplain": "Eine Vorlage ist die Benachrichtigungsnachricht, die gesendet wird – der Text plus Variablen wie {'{'}alert_name{'}'}. Wenn Sie hier eine auswählen, wird die eigene Vorlage jedes Ziels nur für diese Warnmeldung überschrieben.", "helpCurrentHeading": "Was diese Warnung jetzt sendet", - "helpCurrentNoOverride": "Keine Überschreibung festgelegt — jedes Ziel verwendet seine eigene Vorlage:", + "helpCurrentNoOverride": "Keine Überschreibung festgelegt – jedes Ziel verwendet seine eigene Vorlage:", "helpCurrentNoDestinations": "Es wurden noch keine Ziele ausgewählt. Jedes Ziel verwendet seine eigene konfigurierte Vorlage.", - "helpCurrentOverrideHeading": "Alle Destinationen verwenden diese Vorlage:", + "helpCurrentOverrideHeading": "Alle Ziele verwenden diese Vorlage:", "helpPreviewHeading": "Eine Vorlage in der Vorschau anzeigen", "helpPreviewSelectPlaceholder": "Wählen Sie eine Vorlage für die Vorschau aus", "helpApplyToAlert": "Auf Warnung anwenden", @@ -7001,7 +7001,7 @@ "helpYourVariablesEmpty": "Sie haben noch keine Variablen hinzugefügt.", "helpRowTemplateExplain": "Eine Warnung kann vielen Zeilen entsprechen. Die Zeilenvorlage entscheidet, wie eine einzelne Zeile aussieht. Dann werden {'{'} rows {'}'} in deiner Hauptvorlage in jeder passenden Zeile eingefügt, die bereits formatiert ist.", "helpRowTemplateTypeHeading": "Zeichenfolge im Vergleich zu JSON", - "helpRowTemplateTypeExplain": "String erzeugt Klartext pro Zeile. JSON erzeugt ein JSON-Objekt pro Zeile, das für strukturierte Ziele geeignet ist.", + "helpRowTemplateTypeExplain": "String erzeugt einfachen Text pro Zeile. JSON erzeugt ein JSON-Objekt pro Zeile, geeignet für strukturierte Ziele.", "helpRowTemplateTypeCurrent": "Aktuell ausgewählt:", "helpPreviewHeadingShort": "Vorschau", "helpWhyHeading": "Warum eine Variable verwenden?", @@ -7014,7 +7014,7 @@ "helpVariablesExampleCaption": "Fügen Sie Schweregrad und Team als Variablen hinzu und verwenden Sie sie dann an einer beliebigen Stelle in der Vorlage:", "helpExampleResultLabel": "Was wird gesendet", "helpTemplateWhenHeading": "Wann sollte ich überschreiben?", - "helpTemplateWhenDesc": "Lassen Sie dieses Feld leer und jedes Ziel verwendet seine eigene Vorlage. Legen Sie eine Überschreibung fest, wenn Sie möchten, dass diese eine Warnung dieselbe, konsistente Nachricht an jedes Ziel sendet — ohne die Vorlagen der einzelnen Ziele zu bearbeiten.", + "helpTemplateWhenDesc": "Lassen Sie dieses Feld leer und jedes Ziel verwendet seine eigene Vorlage. Legen Sie eine Überschreibung fest, wenn diese eine Warnmeldung dieselbe konsistente Nachricht an jedes Ziel senden soll — ohne die Vorlage jedes Ziels zu bearbeiten.", "helpRowTemplateWhyHeading": "Warum eine Zeilenvorlage?", "helpRowTemplateWhyDesc": "Eine Warnung kann mit vielen Datensätzen übereinstimmen. Die Zeilenvorlage formatiert einen Datensatz; {'{'} rows {'}'} legt dann jeden formatierten Datensatz in die Hauptvorlage ab — Sie listen also alle Treffer auf, ohne eine Schleife zu schreiben.", "helpRowTemplateExampleCaption": "Jede passende Zeile wird von der Zeilenvorlage formatiert, dann legt {'{'} rows {'}'} sie alle in die Hauptvorlage ab:", @@ -7048,7 +7048,7 @@ }, "advanced": { "addVariable": "Variable hinzufügen", - "variablesTooltip": "Variablen werden verwendet, um Daten von der Warnung an das Ziel zu übergeben.", + "variablesTooltip": "Variablen werden verwendet, um Daten von der Warnmeldung an das Ziel zu übergeben.", "templateType": "Vorlagentyp:", "noTemplatesAvailable": "Keine Vorlagen verfügbar", "refreshTemplates": "Aktuelle Vorlagen aktualisieren", @@ -7138,7 +7138,7 @@ "checkEvery": "Überprüfe alle", "checkEveryTooltip": "Wie oft der Erkennungsjob ausgeführt wird. Kann länger als der Probenzeitraum sein (z. B. alle 5 m messen, Erkennung alle 1 Stunde ausführen).", "clickLoadDataHint": "Klicken Sie auf Daten laden, um eine Vorschau der Zeitreihe anzuzeigen", - "destinationRequired": "Es ist mindestens ein Ziel erforderlich!", + "destinationRequired": "Mindestens ein Ziel ist erforderlich!", "detectionResolution": "Auflösung der Erkennung", "detectionResolutionTooltip": "Wie detailliert jeder Datenpunkt ist. Beispielsweise bedeutet „5 m“, dass Anomalien mit einer Auflösung von 5 Minuten erkannt werden.", "disabled": "Deaktiviert", @@ -7156,7 +7156,7 @@ "noDestinationsFound": "Keine Ziele gefunden", "noFieldsFound": "Keine Felder gefunden", "notifications": "Benachrichtigungen", - "notificationsTooltip": "Wenn diese Option aktiviert ist, wird eine Benachrichtigung an das ausgewählte Ziel gesendet, wenn eine Anomalie erkannt wird.", + "notificationsTooltip": "Wenn aktiviert, wird eine Benachrichtigung an das ausgewählte Ziel gesendet, sobald eine Anomalie erkannt wird.", "retrainEvery": "Trainiere jeden neu", "retrainEveryTooltip": "Wie oft soll das Modell automatisch neu trainiert werden? „Nie“ bedeutet, das Modell einmal zu trainieren und das Modell so lange zu behalten, bis es manuell neu trainiert wird.", "retrainFourteenDays": "14 Tage", @@ -7171,7 +7171,7 @@ "sqlColumnsHint": "Die Abfrage muss zwei Spalten zurückgeben: {timeBucket} und {valueColumn}.", "sqlRequired": "SQL ist im benutzerdefinierten SQL-Modus erforderlich", "summaryAlerting": "✓ Alerting: {status}", - "summaryAlertingEnabled": "✓ Alerting: Aktiviert → {destinations}", + "summaryAlertingEnabled": "✓ Warnung: Aktiviert → {destinations}", "summaryAlertingNoDestination": "✓ Alerting: Aktiviert ⚠️ {warning}", "summaryConfiguring": "Konfiguration der Anomalieerkennung für {streamType}-Stream \"{stream}\"", "summaryDataSource": "✓ Datenquelle: {type} — {name}", @@ -7317,8 +7317,8 @@ "testFailedUnknownError": "Test mit unbekanntem Fehler fehlgeschlagen" }, "confirmDeleteAlerts": "Möchten Sie wirklich {count} Alarm löschen? | Möchten Sie wirklich {count} Alarme löschen?", - "confirmDeleteDestinations": "Möchten Sie wirklich {count} Ziel löschen? | Möchten Sie wirklich {count} Ziele löschen?", - "prebuiltDestination": "Vorgefertigtes {type}-Ziel", + "confirmDeleteDestinations": "Sind Sie sicher, dass Sie {count} Ziel löschen möchten? | Sind Sie sicher, dass Sie {count} Ziele löschen möchten?", + "prebuiltDestination": "Vorgefertigtes {type} Ziel", "errorValidations": "Fehlervalidierungen", "outputMessagesLabel": "Ausgabenachrichten", "incidentSingular": "Vorfall", @@ -7523,7 +7523,7 @@ "actionOpen": "Öffnen", "actionDelete": "Löschen", "deleteTitle": "{name} löschen?", - "deleteMessage": "Dies entfernt es dauerhaft. Die Löschung ist blockiert, wenn ein Alarm oder ein Ziel es weiterhin verwendet.", + "deleteMessage": "Dies entfernt es dauerhaft. Das Löschen ist blockiert, wenn eine Warnmeldung oder ein Ziel es weiterhin verwendet.", "deletedToast": "{name} gelöscht", "deleteFailedToast": "{name} konnte nicht gelöscht werden", "loading": "Abhängigkeitsgraph wird erstellt…", @@ -7614,13 +7614,13 @@ "stepFolder": "Ordner", "stepTune": "Anpassen", "stepInstall": "Installieren", - "destinationIntro": "Jeder Alarm in dieser Gruppe benachrichtigt das hier gewählte Ziel. Bibliotheksdateien nennen die Ziele der Organisation, aus der sie exportiert wurden, die in Ihrer Organisation nicht existieren.", + "destinationIntro": "Jede Warnmeldung in diesem Stapel benachrichtigt das Ziel, das Sie hier auswählen. Bibliotheksdateien nennen die Ziele der Organisation, aus der sie exportiert wurden, die in Ihrer Organisation nicht vorhanden sind.", "destinationLabel": "Ziel", - "destinationPlaceholder": "Ziel wählen", + "destinationPlaceholder": "Ziel auswählen", "destinationsLoadFailed": "Ihre vorhandenen Ziele konnten nicht geladen werden.", "retry": "Erneut versuchen", - "destinationsNoneBody": "Diese Organisation hat noch keine Alarmziele, daher gibt es keinen Ort, an den diese Alarme benachrichtigen können. Erstellen Sie eines auf der Seite „Destinations“ und kommen Sie dann zurück, um es hier auszuwählen.", - "openDestinations": "Destinations öffnen", + "destinationsNoneBody": "Diese Organisation hat noch keine Ziele für Warnmeldungen, daher gibt es kein Ziel, an das diese Warnmeldungen gesendet werden können. Erstellen Sie eines auf der Seite 'Ziele' und kehren Sie dann zurück, um es hier auszuwählen.", + "openDestinations": "Ziele öffnen", "selectAll": "Alle auswählen", "clear": "Löschen", "selectedCount": "{count} von {total} ausgewählt", @@ -7735,7 +7735,7 @@ "chartPreviewPlaceholder": "Das Diagramm erscheint hier in echten Benachrichtigungen — es wird aus der eigenen Auswertungshistorie des Alerts erstellt, die eine Vorschau nicht hat.", "channelTitlesDescription": "Verwende einen anderen Titel für bestimmte Kanäle — z. B. eine kürzere Betreffzeile für E-Mails.", "namePlaceholder": "z. B. Hohe Fehlerquote", - "nameLockedHint": "Alerts und Ziele referenzieren diese Vorlage über den Namen, daher kann sie nicht umbenannt werden. Klone die Vorlage, um eine Kopie unter einem neuen Namen zu erstellen.", + "nameLockedHint": "Warnmeldungen und Ziele referenzieren diese Vorlage über ihren Namen, daher kann sie nicht umbenannt werden. Klonen Sie die Vorlage, um eine Kopie unter einem neuen Namen zu erstellen.", "rawBodyCaption": "Wird genau so gesendet, wie geschrieben, mit {'{'}variables{'}'} ersetzt. Siehe den Variablen-Leitfaden für alles Verfügbare.", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "z. B. Wert", @@ -7814,7 +7814,7 @@ "testSendConfirm": "Dadurch wird eine echte Nachricht an den ausgewählten Kanal gesendet, gekennzeichnet mit [TEST].", "testSendSuccess": "Testnachricht gesendet", "testSendRateLimited": "Zu viele Testsendungen – bitte warten Sie einen Moment und versuchen Sie es erneut.", - "testSendNoDestination": "Wählen Sie zuerst ein Ziel" + "testSendNoDestination": "Wählen Sie zuerst ein Ziel aus" }, "alert_sources": { "header": "Externe Alarmquellen", @@ -7852,10 +7852,10 @@ "editTitle": "Alert-Quelle bearbeiten", "name": "Name", "nameHint": "Nur eine Bezeichnung – jede Quelle verwendet dieselbe Einrichtung.", - "incidentDestination": "Incident-Ziel", + "incidentDestination": "Ziel für Vorfälle", "incidentDestinationPlaceholder": "Org-Standard verwenden", "incidentDestinationHint": "Wohin Benachrichtigungen gehen, wenn Warnungen dieser Quelle einen Vorfall erstellen oder beitreten. Leer lassen, um den Org-Standard zu verwenden – ohne eine Einstellung werden passende Vorfälle still ausgelöst.", - "noDestinationSet": "Kein Incident-Ziel festgelegt", + "noDestinationSet": "Kein Ziel für Vorfälle festgelegt", "setupStep1Title": "1. Webhook erstellen", "setupStep1Body": "Erstellen Sie in Grafana, Alertmanager oder einem beliebigen Tool, das JSON POSTen kann, einen Webhook-Kontaktpunkt / Empfänger.", "setupRemainingStepsHint": "Speichern Sie diese Quelle, um ihre URL und ihr Token zu erhalten, und fügen Sie sie dann in die Webhook-Konfiguration ein.", @@ -7903,7 +7903,7 @@ "datadogHostnameHelpText": "Hostname für Datadog-Logs", "exampleLabel": "Beispiel:", "subtitle": "Wohin ausgelöste Alarme zugestellt werden", - "exportDestination": "Exportziel", + "exportDestination": "Ziel exportieren", "deleteDestinationTitle": "Ziel löschen", "deleteDestinationMessage": "Sind Sie sicher, dass Sie das Ziel löschen möchten?", "deleteDestinationsTitle": "Ziele löschen", @@ -7925,8 +7925,8 @@ "ddTagsPlaceholder": "Tags eingeben (z.B. env:prod,version:1.0)", "serviceLabel": "Service", "servicePlaceholder": "Servicename eingeben (z.B. api-gateway)", - "header": "Ziele", - "add": "Ziel hinzufügen", + "header": "Benachrichtigungsziele", + "add": "Neues Ziel", "edit": "Bearbeiten", "search": "Ziel suchen", "filterAll": "Alle", @@ -7934,10 +7934,10 @@ "filterCustom": "Benutzerdefiniert", "templateDefaultBadge": "Standard", "name": "Name", - "destination_type": "Art des Reiseziels", + "destination_type": "Zieltyp", "template": "Vorlage", "actions": "Aktionen", - "addTitle": "Ziel hinzufügen", + "addTitle": "Neues Ziel", "updateTitle": "Ziel aktualisieren", "delete": "Löschen", "method": "Methode", @@ -7952,7 +7952,7 @@ "custom_headers": "Benutzerdefinierte Header (optional)", "preview": "Vorschau", "test": "Testen", - "saved": "Ziel wurde erfolgreich gespeichert", + "saved": "Ziel erfolgreich gespeichert", "customWebhook": "Benutzerdefiniert (Webhook)", "customEmail": "Benutzerdefiniert (E-Mail)", "customAction": "Benutzerdefiniert (Aktion)", @@ -7992,23 +7992,23 @@ "importSuccess": "Ziele erfolgreich importiert", "importError": "Fehler beim Importieren des Ziels, bitte überprüfen Sie das JSON", "unknownError": "Unbekannter Fehler", - "nameRequired": "Ziel - {index}: Das Feld \"name\" ist erforderlich und muss eine gültige Zeichenfolge sein.", - "nameExists": "Ziel - {index}: \"{name}\" existiert bereits", + "nameRequired": "Ziel - {index}: Das Feld \"name\" ist erforderlich und sollte eine gültige Zeichenkette sein.", + "nameExists": "Ziel - {index}: \"{name}\" ist bereits vorhanden", "typeInvalid": "Ziel - {index}: Das Feld \"type\" muss entweder \"email\", \"http\" oder \"action\" sein", "actionTypeNotSupported": "Ziel - {index}: Der Typ 'action' wird nicht unterstützt.", "actionNotFound": "Ziel - {index}: Aktion \"{actionId}\" existiert nicht für Typ \"{type}\"", "urlRequired": "Ziel - {index}: Das Feld \"url\" ist für Ziele vom Typ http erforderlich.", - "methodInvalid": "Ziel - {index}: Das Feld \"method\" muss einer von \"post\", \"get\" oder \"put\" sein", + "methodInvalid": "Ziel - {index}: Das Feld \"method\" muss einer der Werte \"post\", \"get\" oder \"put\" sein", "templateRequiredHttp": "Ziel - {index}: Das Feld \"template\" ist für Ziele vom Typ http erforderlich.", "skipTlsVerifyRequired": "Ziel - {index}: Das Feld \"skip_tls_verify\" ist erforderlich und sollte ein boolescher Wert sein", "headersMustBeObject": "Ziel - {index}: 'headers' sollte für den Typ http ein Objekt sein", "urlNotAllowedEmail": "Ziel - {index}: 'url' sollte für den Typ email nicht angegeben werden", "headersNotAllowedEmail": "Ziel - {index}: 'headers' sollte für den Typ email nicht angegeben werden", "emailsRequired": "Ziel - {index}: Das Feld \"emails\" ist erforderlich und sollte für Ziele vom Typ email ein Array sein.", - "emailsMustBeStrings": "Ziel - {index}: 'emails' sollte für den Typ email ein Array von Zeichenfolgen sein", + "emailsMustBeStrings": "Ziel - {index}: 'emails' sollte für den Typ email ein Array von Zeichenketten sein", "templateRequiredEmail": "Ziel - {index}: Das Feld \"template\" ist für Ziele vom Typ email erforderlich.", "templateNotFound": "Ziel - {index}: Vorlage \"{template}\" existiert nicht für Typ \"{type}\"", - "actionIdInvalid": "Ziel - {index}: Das Feld \"action_id\" muss eine gültige Zeichenfolge sein.", + "actionIdInvalid": "Ziel - {index}: Das Feld \"action_id\" muss eine gültige Zeichenkette sein.", "createSuccess": "Ziel - {index}: \"{name}\" erfolgreich erstellt \nHinweis: Bitte entfernen Sie das erstellte Zielobjekt {name} aus der JSON-Datei ", "createFailed": "Ziel - {index}: Erstellung von \"{name}\" fehlgeschlagen --> \n Grund: {reason}" }, @@ -8023,8 +8023,8 @@ "severityInfoDescription": "Informationelle Vorfälle" }, "pipeline_destinations": { - "header": "Pipeline-Ziele", - "search": "Reiseziel suchen" + "header": "Rohrleitungsziele", + "search": "Ziel suchen" }, "storage_settings": { "heroBrand": "OpenObserve.", @@ -8387,7 +8387,7 @@ "customLogoText": "Benutzerdefinierter Logo-Text", "orgLabel": "Organisationsparameter", "logDetails": "Details protokollieren", - "traceIdFieldName": "Name des Trace-ID-Felds", + "traceIdFieldName": "Trace-ID-Feldname", "spanIdFieldName": "Span-ID-Feldname", "toggleIngestionLogsLabel": "Aufnahmeprotokolle umschalten", "usageStreamEnabledLabel": "Nutzungsstream aktivieren", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "GenAI Agentenzuordnung", "title": "GenAI Agentenzuordnung", - "description": "Konfigurieren Sie Fallback-Telemetrieattribute, die zur Normalisierung der Agentenidentität für LLM-Traces und -Auswertungen verwendet werden.", + "description": "Konfigurieren Sie Fallback-Telemetrieattribute zur Normalisierung der Agentenidentität für LLM-Traces und Auswertungen.", "agentNameFields": "Fallback-Felder für Agentennamen", "agentNameHelp": "Eingehende Attribute, die als Fallbacks für gen_ai.agent.name verwendet werden sollen.", "agentNameInfo": "Wird nur überprüft, wenn das Standardattribut gen_ai.agent.name fehlt oder leer ist. Fügen Sie ein eingehendes Telemetrieattribut pro Zeile hinzu.", @@ -8532,7 +8532,7 @@ "resetToEmpty": "Auf leer zurücksetzen", "clearRegistry": "Registrierung löschen", "clearRegistryTitle": "Agentenregistrierung löschen?", - "clearRegistryDescription": "Dadurch werden alle entdeckten GenAI-Agent-Registrierungszeilen für diese Organisation gelöscht. Neue übereinstimmende Traces füllen die Registrierung während der Aufnahme wieder auf.", + "clearRegistryDescription": "Dies löscht alle erkannten GenAI-Agenten-Registrierungseinträge für diese Organisation. Neue passende Traces füllen die Registrierung während der Datenerfassung wieder auf.", "clearRegistryConfirm": "Registrierung löschen", "saved": "Das GenAI-Agent-Mapping wurde erfolgreich gespeichert", "clearRegistrySuccess": "GenAI-Agent-Registry geleert. {deletedCount} gespeicherte Agenten und {bufferCount} wartende Beobachtungen wurden gelöscht.", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "Feldaliasse konnten nicht gespeichert werden", "fieldAliasesUnsavedConfirm": "Sie haben nicht gespeicherte Änderungen an Feldzuordnungen. Verwerfen und verlassen?", "discoveredServicesTitle": "Entdeckte Dienste", - "discoveredServicesDescription": "Dienste werden automatisch anhand Ihrer Telemetriedaten erkannt und zur Korrelation nach ihrem Dienstnamen gruppiert. Dienste, die denselben Dienstnamen verwenden, werden anhand von Protokollen, Traces und Metriken miteinander korreliert.", + "discoveredServicesDescription": "Dienste werden automatisch aus Ihren Telemetriedaten erkannt und für die Korrelation nach ihrem Dienstnamen gruppiert. Dienste mit demselben Dienstnamen werden über Logs, Traces und Metriken hinweg korreliert.", "noServicesYet": "Es wurden noch keine Dienste entdeckt", "noServicesDescription": "Dienste werden hier angezeigt, wenn Telemetriedaten mit Dienstidentifikationsattributen (wie k8s-deployment, Dienstname usw.) aufgenommen werden.", "searchServiceName": "Service- oder Stream-Name suchen...", @@ -8560,7 +8560,7 @@ "serviceName": "Name des Dienstes", "service": "Bedienung", "logs": "Logs", - "traces": "Spuren", + "traces": "Traces", "metrics": "Metriken", "lastSeen": "Zuletzt gesehen", "retry": "Erneut versuchen", @@ -8608,7 +8608,7 @@ "instancesCount": "({count} Instanzen)", "noDimensions": "keine Dimensionen", "defaultSetWarningTitle": "Die Korrelation ist möglicherweise unzuverlässig.", - "defaultSetWarningBody": "Diese Instanz hat keine Eindeutigkeitsmerkmale – sie wurde ohne übereinstimmende Workload erkannt (kein Cluster-, Namespace- oder Umgebungskontext). Logs und Traces stammen möglicherweise aus unterschiedlichen Deployments desselben Dienstnamens.", + "defaultSetWarningBody": "Diese Instanz hat keine Disambiguierung — sie wurde ohne Workload-Abgleich erkannt (kein Cluster-, Namespace- oder Umgebungskontext). Logs und Traces können aus verschiedenen Bereitstellungen desselben Dienstnamens stammen.", "instanceIdentity": "Instanzidentität", "noDimensionsCatchAll": "Keine Dimensionen – Catch-all-Instanz", "streamSources": "Stream-Quellen", @@ -8728,7 +8728,7 @@ "createFailed": "Regex-Muster - {index}: Erstellung von \"{name}\" fehlgeschlagen --> \n Grund: {error}" }, "index": { - "genAiAgentMappingDesc": "GenAI-Spans Agenten-IDs zuordnen." + "genAiAgentMappingDesc": "GenAI-Spans Agentenbezeichnern zuordnen" }, "organizationManagementPage": { "setAiCredits": "KI-Credits festlegen", @@ -8864,7 +8864,7 @@ "cardinality": "Kardinalität:", "uniqueValues": "{n} eindeutige Werte", "streams": "Streams", - "streamsSubtext": "Streams", + "streamsSubtext": "streams", "noAdditionalDimensions": "Keine zusätzlichen Dimensionen erkannt.", "noSampleData": "Keine Beispieldaten für dieses Feld verfügbar.", "uniqueValuesDetected": "{n} eindeutige Werte erkannt", @@ -9144,9 +9144,9 @@ "noLogsAvailableForService": "Für diesen Dienst sind keine Protokolle verfügbar", "noCorrelatedLogsFound": "Keine korrelierten Logs für diesen Span gefunden", "noData": { - "title": "Senden Sie Traces an {product}", - "description": "In dieser Organisation wurden noch keine Trace-Streams gefunden. Instrument Ihre Dienste und Traces werden hier automatisch angezeigt.", - "otlp": "Senden Sie Traces über {product}", + "title": "Sende Traces an {product}", + "description": "Noch keine Trace-Streams in dieser Organisation gefunden. Instrumentiere deine Dienste, und Traces erscheinen hier automatisch.", + "otlp": "Sende Traces über {product}", "otlpDesc": "{product1}, {product2} und jedes {product3}-kompatible SDK", "otelCollectorDesc": "Leiten Sie alle Telemetriesignale über {product}", "or": "Oder:", @@ -9155,21 +9155,21 @@ "configureFullTextSearch": "um ein Volltextsuchfeld für den Stream zu konfigurieren.", "collapseFields": "Felder ausblenden", "openFields": "Felder öffnen", - "timeRangeUpdated": "Der gewählte Zeitraum enthielt diese Spur nicht. Der Zeitbereich wurde aktualisiert, sodass er dem Zeitstempel der Spur entspricht.", - "errorRetrievingTraces": "Beim Abrufen der Spuren ist ein Fehler aufgetreten.", - "fetchingTraces": "Halt dich fest, wir suchen deine Spuren.", + "timeRangeUpdated": "Der ausgewählte Zeitbereich enthielt diesen Trace nicht. Der Zeitbereich wurde aktualisiert, um dem Zeitstempel des Traces zu entsprechen.", + "errorRetrievingTraces": "Beim Abrufen der Traces ist ein Fehler aufgetreten.", + "fetchingTraces": "Lade Traces...", "noStream": { "title": "Wähle einen Stream aus, um mit der Erkundung zu beginnen", - "description": "Wählen Sie einen Trace-Stream aus und drücken Sie dann auf Abfrage ausführen. Sobald die Ergebnisse geladen sind, können Sie nach Service, Dauer, Span-Status und mehr filtern.", + "description": "Wähle einen Trace-Stream und drücke dann Abfrage ausführen. Sobald Ergebnisse geladen sind, kannst du nach Dienst, Dauer, Span-Status und mehr filtern.", "selectStream": "Wähle einen Stream", "selectStreamDesc": "Verfügbare Trace-Streams in dieser Organisation durchsuchen", - "queryGuide": "Lesen Sie den Trace-Leitfaden", - "queryGuideDesc": "Servicegeschrift, Spanenfilterung, RED-Metriken und mehr", + "queryGuide": "Lies den Traces-Leitfaden", + "queryGuideDesc": "Service-Graph, Span-Filterung, RED-Metriken und mehr", "recent": "Kürzlich:" }, "noEvents": { - "title": "Keine Spuren gefunden", - "descNoFilters": "In {range} wurden keine Spuren gefunden. Versuchen Sie, den Zeitraum zu erweitern, um die Ergebnisse zu laden.", + "title": "Keine Traces gefunden", + "descNoFilters": "Keine Traces in {range} gefunden.", "descWithFilters": "Im ausgewählten Fenster stimmte nichts mit dieser Abfrage überein. Versuchen Sie, den Zeitraum zu erweitern oder einen Filter zu entfernen.", "descOutOfRange": "Ihr Zeitfenster enthält keine Daten aus diesem Stream. Springen Sie zu dem Zeitpunkt, an dem zuletzt Daten gesehen wurden.", "jumpToData": "Zu den neuesten Daten springen", @@ -9177,38 +9177,38 @@ "askAi": "Bitten Sie AI, meine Anfrage zu korrigieren", "selectedRange": "der gewählte Bereich" }, - "tracesFound": "Spuren gefunden", - "spansFound": "Gefundene Spannweiten", - "errorTraces": "Fehlerspuren", - "errorSpans": "Fehlerspannen", + "tracesFound": "Traces gefunden", + "spansFound": "Spans gefunden", + "errorTraces": "Fehler-Traces", + "errorSpans": "Fehler-Spans", "filterByErrors": "Nach Fehlern filtern", "clearErrorFilter": "Fehlerfilter löschen", "error": "FEHLER", "errorCount": "{n} FEHLER | {n} FEHLER", "success": "ERFOLG", - "applyPendingFilters": "Wenden Sie ausstehende Filter an und suchen Sie nach Spuren", + "applyPendingFilters": "Ausstehende Filter anwenden und Traces suchen", "backToTraces": "Zurück zu Traces", "loadingTrace": "Wird geladen...", "traceId": "Trace-ID", "copyTraceId": "Trace-ID kopieren", "viewFilters": "Filter ansehen", "reviewAndApplyFilters": "Filter überprüfen und auf Traces anwenden", - "spansLabel": "überspannt", + "spansLabel": "Spans", "errorsLabel": "Fehler", "previousMatch": "Vorheriges Spiel", "nextMatch": "Nächstes Spiel", - "searchInSpans": "Suche in Spannen", - "spansTableView": "Überspannt die Tabellenansicht", + "searchInSpans": "In Spans suchen", + "spansTableView": "Spans-Tabellenansicht", "comingSoon": "Kommt bald...", - "fetchingTrace": "Ich hole deine Spur ab.", - "traceFilters": "Filter verfolgen", - "showTraces": "Spuren einblenden", + "fetchingTrace": "Dein Trace wird geladen.", + "traceFilters": "Trace-Filter", + "showTraces": "Traces anzeigen", "applyAndSearch": "Bewerben & Suchen", "timestamp": "Zeitstempel", - "noErrorPresent": "Für diese Spanne ist kein Fehler vorhanden", + "noErrorPresent": "Kein Fehler für diesen Span vorhanden", "noEventsPresent": "Keine Ereignisse für diesen Span", "noLinksPresent": "Keine Links für diesen Span", - "loadingTraceDag": "Lade Trace-DAG...", + "loadingTraceDag": "Trace-DAG wird geladen...", "exceptionsWithCount": "Ausnahmen ({count})", "typeLabel": "Typ:", "messageLabel": "Nachricht:", @@ -9254,12 +9254,12 @@ "failedToLoad": "Sitzung konnte nicht geladen werden", "retry": "Erneut versuchen", "sessionNotFound": "Sitzung nicht gefunden", - "noSpansFound": "Im aktuellen Zeitraum wurden keine Zeitspannen für {id} gefunden.", - "searchPlaceholder": "Suchen Sie in dieser Sitzung nach Spuren...", + "noSpansFound": "Keine Spans für {id} im aktuellen Zeitbereich gefunden.", + "searchPlaceholder": "Traces in dieser Sitzung suchen…", "turn": "Wende", "turns": "wendet sich", "turnCount": "{count} {unit}", - "openInTraceExplorer": "Trace ansehen", + "openInTraceExplorer": "Trace anzeigen", "filters": { "status": "Status", "model": "Modell", @@ -9348,7 +9348,7 @@ "warning": "Warnung", "critical": "Kritisch" }, - "viewTraces": "Spuren ansehen", + "viewTraces": "Traces anzeigen", "types": { "all": "Alle", "service": "Dienstleistungen", @@ -9362,20 +9362,20 @@ "title": "Fehlerrate" } }, - "spansTab": "Spannweiten", - "tracesTab": "Spuren", + "spansTab": "Spans", + "tracesTab": "Traces", "serviceGraphTab": "Service-Diagramm", "serviceGraphSubtitle": "Sehen Sie, wie Ihre Services sich gegenseitig aufrufen — Abhängigkeiten, Durchsatz und Fehlerraten", - "servicesCatalogSubtitle": "Jeder Service, der Traces sendet, mit Latenz, Durchsatz und Fehlerrate", + "servicesCatalogSubtitle": "Jeder Dienst, der Traces sendet, mit Latenz, Durchsatz und Fehlerrate", "treeView": "Blick auf den Baum", "graphView": "Diagrammansicht", "layoutHorizontal": "Horizontal", "layoutVertical": "Vertikal", "layoutForce": "Anordnung erzwingen", - "exportTraces": "Spuren exportieren", + "exportTraces": "Traces exportieren", "waterfall": "Wasserfall", "flameGraph": "Flammendiagramm", - "traceGraph": "Diagramm verfolgen", + "traceGraph": "Trace-Graph", "thread": "Gewinde", "dbSpanDetails": { "dbSystem": "DB-System", @@ -9385,7 +9385,7 @@ "host": "Host", "user": "Benutzer", "storedProcedure": "Gespeicherte Prozedur", - "noQueryText": "Kein Abfragetext für diesen Span aufgezeichnet.", + "noQueryText": "Für diesen Span wurde kein Abfragetext aufgezeichnet.", "performance": "Leistung", "rowsReturned": "Zurückgegebene Zeilen", "batchSize": "Batch-Größe", @@ -9398,7 +9398,7 @@ "changeStreamTitle": "Stream wechseln?", "switchStream": "Stream wechseln", "cancel": "Abbrechen", - "changeStreamMessage": "Dies aktualisiert auch den Stream im Register Traces/Spans und setzt die vorhandene Abfrage zurück.", + "changeStreamMessage": "Dadurch wird auch der Stream auf der Registerkarte Traces/Spans aktualisiert und die bestehende Abfrage zurückgesetzt.", "errorGettingFunctions": "Fehler beim Abrufen der Funktionen", "errorPullingIndex": "Fehler beim Abrufen des Index für die ausgewählte Organisation{message}", "errorGettingStreams": "Fehler beim Abrufen der Streams", @@ -9454,7 +9454,7 @@ "viewByStream": "Nach Stream anzeigen", "totalCost": "Gesamtkosten", "totalTokens": "Gesamttoken", - "totalTraces": "Gesamttraces", + "totalTraces": "Traces insgesamt", "p95Latency": "P95-Latenz", "errorRate": "Fehlerrate", "timeAxis": "Zeit", @@ -9539,9 +9539,9 @@ "model": "Modell", "errors": "Fehler", "noSpansLoaded": "Keine Spans für diesen Trace geladen.", - "noLlmTurns": "Keine LLM-Runden erkannt. Der Trace enthält keine Spans mit", + "noLlmTurns": "Keine LLM-Turns erkannt. Der Trace enthält keine Spans mit", "system": "System", - "historicalMessage": "{count} frühere Nachricht aus dieser Sitzung — in früheren Traces verarbeitet. | {count} frühere Nachrichten aus dieser Sitzung — in früheren Traces verarbeitet.", + "historicalMessage": "{count} frühere Nachricht aus dieser Sitzung – in früheren Traces behandelt. | {count} frühere Nachrichten aus dieser Sitzung – in früheren Traces behandelt.", "user": "Benutzer", "startedAt": "Gestartet um {time}", "unknown": "unbekannt", @@ -9630,7 +9630,7 @@ "flameGraphView": { "spans": "Spans", "depth": "Tiefe", - "noSpansToDisplay": "Keine Spans anzuzeigen", + "noSpansToDisplay": "Keine Spans zum Anzeigen", "service": "Dienst:", "duration": "Dauer:", "percentOfTrace": "% des Traces:", @@ -9641,7 +9641,7 @@ }, "correlation": { "distributedTrace": "Verteilter Trace", - "loadingTraceData": "Lade Tracedaten...", + "loadingTraceData": "Trace-Daten werden geladen...", "noTraceInfoAvailable": "Keine Trace-Informationen für dieses Ereignis verfügbar", "traceIdLabel": "Trace-ID:", "copyTraceId": "Trace-ID kopieren", @@ -9656,8 +9656,8 @@ "browserLabel": "Browser:", "networkLabel": "Netzwerk:", "backendLabel": "Backend:", - "viewTraceDetails": "Tracedetails anzeigen", - "backendTraceNotAvailable": "Backend-Tracedaten sind noch nicht verfügbar. Tracedaten können bis zu 30 Sekunden für die Aufnahme benötigen." + "viewTraceDetails": "Trace-Details anzeigen", + "backendTraceNotAvailable": "Backend-Trace-Daten sind noch nicht verfügbar. Die Erfassung der Trace-Daten kann bis zu 30 Sekunden dauern." }, "failedToAnalyzeDimensions": "Fehler beim Analysieren der Dimensionen", "failedToFetchCorrelatedLogs": "Fehler beim Abrufen korrelierter Logs", @@ -9705,10 +9705,10 @@ "p75Label": "P75:", "p95Label": "P95:", "p99Label": "P99:", - "averageOfTrace": "{avg}ms ({percent}% des Trace)", + "averageOfTrace": "{avg}ms ({percent}% des Traces)", "requestCount": "{count} Anfragen" }, - "spanEventTimeline": "Zeitleiste der Span-Ereignisse", + "spanEventTimeline": "Zeitachse der Span-Ereignisse", "eventClusterTooltip": "{count} Ereignisse", "spanEventCount": "{count} Ereignis", "spanEventCountPlural": "{count} Ereignisse", @@ -10017,11 +10017,11 @@ "selectMetrics": "Wählen Sie Metric Streams", "correlatedLogs": "Korrelierte Protokolle", "correlatedMetrics": "Korrelierte Metriken", - "correlatedTraces": "Korrelierte Spuren", + "correlatedTraces": "Traces", "loadingCorrelation": "Korrelationsdaten werden geladen...", "clickToLoadLogs": "Klicken Sie hier, um korrelierte Protokolle zu laden", "clickToLoadMetrics": "Klicken Sie hier, um korrelierte Metriken zu laden", - "clickToLoadTraces": "Klicken Sie hier, um korrelierte Traces zu laden", + "clickToLoadTraces": "Klicken, um korrelierte Traces zu laden", "logs": { "filtersLabel": "Filter", "allValues": "Alle Werte", @@ -10040,19 +10040,19 @@ "noLogsFound": "Keine korrelierten Protokolle gefunden", "noDataFound": "Keine Daten gefunden", "noLogsDescription": "Für diese Korrelation wurden im ausgewählten Zeitraum keine Protokolle gefunden.", - "correlatedTracesFor": "Korrelierte Traces für Service: {service}", + "correlatedTracesFor": "Korrelierte Traces für Dienst: {service}", "all": "Alle", - "loadingTraces": "Korrelierte Traces werden geladen...", - "tracesError": "Ablaufverfolgungen konnten nicht geladen werden", + "loadingTraces": "Traces werden geladen...", + "tracesError": "Traces konnten nicht geladen werden", "tracesErrorDetails": "Beim Abrufen der Trace-Daten ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.", "metricsError": "Metriken können nicht geladen werden", "metricsErrorDetails": "Beim Abrufen der Metrikdaten ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.", "noMetricsDescription": "Für diese Korrelation wurden im ausgewählten Zeitraum keine Metriken gefunden.", "dimensionBasedCorrelation": "Dimensionsbasierte Korrelation", - "tracesFromService": "Spuren vom Dienst: {service}", - "noTracesFound": "Keine korrelierten Spuren gefunden", + "tracesFromService": "Traces von Service: {service}", + "noTracesFound": "Keine Traces gefunden", "noTracesDescription": "Für diese Korrelation wurden im ausgewählten Zeitraum keine Traces gefunden.", - "viewInTraces": "In Traces ansehen", + "viewInTraces": "In Traces anzeigen", "filters": "Filter", "semanticFieldGroupsCaption": "Definieren Sie Feldnamenzuordnungen für Korrelation und Deduplizierung (z. B. Host, Hostname, Knoten → Hostgruppe)", "exportToJson": "Export nach JSON", @@ -10188,7 +10188,7 @@ "namePlaceholder": "z. B. Trace-Details anzeigen", "urlTemplate": "URL-Vorlage", "urlRequired": "URL ist erforderlich", - "urlPlaceholder": "z. B. https://example.com/trace/{'${field.__value}'}?von={'${start_time}'}&bis={'${end_time}'}", + "urlPlaceholder": "z. B. https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", "urlInvalid": "Geben Sie eine gültige http(s)-URL ein", "urlHint": "Verwenden Sie {'${field.__name}'}, {'${field.__value}'}, {'${start_time}'}, {'${end_time}'}, {'${query}'}, {'${query_encoded}'}", "fields": "Felder", @@ -10281,7 +10281,7 @@ "colPattern": "Muster", "colPricingSimple": "Preisgestaltung", "testMatchTitle": "Testmodell Match", - "testMatchSubtitle": "Simulieren Sie, wie ein Modellname aus Ihren Spannweiten mit den Preisregeln übereinstimmen würde.", + "testMatchSubtitle": "Simulieren Sie, wie ein Modellname aus Ihren Spans gegen Preisregeln abgeglichen wird.", "modelNameInput": "Name des Modells", "modelNameHint": "Der Modellname Ihrer Generationen.", "enterModelName": "Geben Sie einen Modellnamen ein, um den Abgleich zu testen", @@ -10445,11 +10445,11 @@ "sessions": "Agentensitzungen nacheinander durchsuchen und überprüfen", "agentGraph": "Sehen Sie, womit Ihre Agenten interagieren — Tools, Modelle, Dienste und Datenspeicher", "agentBehavior": "Erkennen Sie Agenten, die in Schleifen stecken, und die Fehler, die zum Scheitern führen.", - "discovery": "Finde ungesunde Traces, die eine Überprüfung lohnen", + "discovery": "Finden Sie auffällige Traces, die überprüft werden sollten", "queues": "Zustandsbehaftete Review-Aufgabenlisten", - "datasets": "Kuratiere Golden-Datensätze aus annotierten Traces und Reviews", + "datasets": "Kuratieren Sie goldene Datensätze aus annotierten Traces und Bewertungen", "experiments": "Vorschau anzeigen und unveränderbare Offline-Bewertungsläufe erstellen", - "quality": "Bewertungsqualität über Span-, Trace- und Session-Evaluierungen verfolgen", + "quality": "Verfolgen Sie die Bewertungsqualität bei Span-, Trace- und Sitzungsauswertungen", "evalJobs": "Führen Sie Evaluierungsaufträge in Ihren Sitzungen aus und überwachen Sie sie", "scorers": "Erstellen und verwalten Sie die Scorer, die LLM-Ergebnisse bewerten", "scoreConfigs": "Konfigurieren Sie die Bewertungsrubriken, die für Ihre Bewertungen verwendet werden" @@ -10493,7 +10493,7 @@ "dataset": { "button": "Zum Dataset hinzufügen", "title": "Zum Dataset hinzufügen", - "hint": "Verwandle {ref} in ein Golden. Die Eingabe wird aus dem Trace zurückgelesen — du schreibst die erwartete Ausgabe.", + "hint": "Verwandeln Sie {ref} in ein Goldenes. Die Eingabe wird aus dem Trace zurückgelesen — Sie schreiben die erwartete Ausgabe.", "errors": { "dataset": "Wähle ein Dataset", "expectedOutput": "Schreibe die erwartete Ausgabe" @@ -10521,8 +10521,8 @@ "session": "Sessions" }, "scopeNoun": { - "span": "spans", - "trace": "traces", + "span": "Spans", + "trace": "Traces", "session": "sessions" }, "inQueueFilter": { @@ -10638,10 +10638,10 @@ "searchPlaceholder": "Elemente suchen...", "footerTitle": "Elemente", "allItems": "Alle", - "inTrace": "Im Trace {traceId}", + "inTrace": "In Trace {traceId}", "reviewAgain": "Erneut überprüfen", "emptyTitle": "Nichts zu überprüfen", - "emptyBody": "Fügen Sie dieser Warteschlange Traces, Spans oder Sessions aus Discovery oder einer Trace-Ansicht hinzu.", + "emptyBody": "Fügen Sie Traces, Spans oder Sitzungen aus der Discovery oder einer Trace-Ansicht zu dieser Warteschlange hinzu.", "columns": { "refType": "Ref", "refId": "Referenz", @@ -10692,7 +10692,7 @@ "distill": { "title": "In den Datensatz destillieren", "action": "Datensatz", - "hint": "Schreiben Sie die Antwort, die dieses Element hätte produzieren sollen. Sie wird zur goldenen Ausgabe; die Eingabe wird aus dem geprüften Trace übernommen.", + "hint": "Schreiben Sie die Antwort, die dieses Element hätte erzeugen sollen. Sie wird zur goldenen Ausgabe; die Eingabe wird aus dem überprüften Trace übernommen.", "datasetLabel": "Datensatz", "datasetPlaceholder": "Datensatz auswählen...", "noDatasets": "Noch keine Datensätze vorhanden — erstellen Sie zuerst einen auf der Seite Datensätze.", @@ -10704,7 +10704,7 @@ "updated": "Goldene Ausgabe aktualisiert — dieses Element war bereits in diesem Datensatz", "openDataset": "Datensatz öffnen", "needsReview": "Schließen Sie zuerst die Überprüfung ab — ein goldenes Element benötigt ein begutachtetes Urteil", - "sessionUnsupported": "Session-Elemente können nicht destilliert werden — nur Traces und Spans", + "sessionUnsupported": "Sitzungselemente können nicht destilliert werden — nur Traces und Spans", "loadError": "Fehler beim Laden der Datensätze", "error": "Das Element konnte dem Datensatz nicht hinzugefügt werden" }, @@ -11100,7 +11100,7 @@ "stream": "Stream", "agent": "Agent", "noAgentsTitle": "Keine Agenten gefunden", - "noAgentsDescription": "In diesem Zeitraum wurden keine Agenten gefunden. Versuchen Sie, den Zeitraum zu erweitern, oder überprüfen Sie, ob Ihre Traces gen_ai-Agentenattribute enthalten.", + "noAgentsDescription": "In diesem Zeitraum wurden keine Agents erkannt. Versuchen Sie, den Zeitraum zu erweitern, oder prüfen Sie, ob Ihre Traces gen_ai-Agent-Attribute enthalten.", "versionAgnosticHint": "Die Topologie ist über Versionen hinweg gleich — der Graph wird nach Umgebung eingegrenzt, nicht nach Version. Verwenden Sie den Versionsvergleich, um Versionen zu vergleichen." }, "panels": { @@ -11114,7 +11114,7 @@ }, "spanTrend": { "title": "Span-Trend", - "subtitle": "Anzahl der Spannweiten nach Art" + "subtitle": "Span-Anzahl nach Art" }, "latencyByModel": { "title": "Latenz nach Modell", @@ -11129,7 +11129,7 @@ "subtitle": "Anzahl der Fehler" }, "spansByModel": { - "title": "Spannweiten nach Modell", + "title": "Spans nach Modell", "subtitle": "Anzahl der Anrufe pro Modell" }, "tokensByModel": { @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "Aktuelle Fehler", - "subtitle": "Die letzten 10 fehlgeschlagenen Spans" + "subtitle": "Letzte 10 fehlgeschlagene Spans" } }, "behavior": { @@ -11148,7 +11148,7 @@ "disabled": "Agentenverhaltenssignale sind für diese Bereitstellung deaktiviert." }, "loopsTitle": "Schleifen-Agenten", - "loopsHint": "Agenten, die dasselbe Tool mehrmals pro Trace ausführen", + "loopsHint": "Agents führen dasselbe Tool mehrfach pro Trace erneut aus.", "summaryLoops": "Schleifen-Agenten", "summaryFailures": "Fehlertaxonomie", "summaryAgents": "Betroffene Agenten", @@ -11173,27 +11173,27 @@ "colErrors": "Fehler", "detail": { "title": "Signaldetails", - "tracesTitle": "Ablaufverfolgungen", - "tracesHint": "Klicken Sie auf eine Ablaufverfolgung, um sie zu öffnen", - "worstLoopTraces": "Schlechteste Ablaufverfolgungen (häufigste Wiederholungen zuerst)", - "topCostTraces": "Teuerste Ablaufverfolgungen", - "noTraces": "Keine Ablaufverfolgungen für dieses Signal gefunden", + "tracesTitle": "Traces", + "tracesHint": "Klicken Sie auf einen Trace, um ihn zu öffnen.", + "worstLoopTraces": "Schlechteste Traces (meiste Wiederholungen zuerst)", + "topCostTraces": "Teuerste Traces", + "noTraces": "Keine Traces für dieses Signal gefunden", "errorsTitle": "Was die Fehler sagen", - "noErrors": "Keine Fehlermeldungen erfasst – öffnen Sie eine Ablaufverfolgung zur Überprüfung", - "colTraceId": "Ablaufverfolgung", - "colSpans": "Spannen", + "noErrors": "Keine Fehlermeldungen erfasst — öffnen Sie einen Trace zur Überprüfung", + "colTraceId": "Trace", + "colSpans": "Spans", "colRepeats": "Wiederholungen", - "openInNewTab": "Öffnet die Ablaufverfolgung in einem neuen Tab", + "openInNewTab": "Öffnet den Trace in einem neuen Tab", "showFull": "Vollständigen Fehler anzeigen", "showLess": "Weniger anzeigen", "colError": "Fehlermeldung", "colOccurrences": "Zeiten", - "loopHeadline": "{agent} hat {tool} durchschnittlich {ratio}× pro Ablaufverfolgung aufgerufen ({calls} Aufrufe über {traces} Ablaufverfolgungen).", + "loopHeadline": "{agent} hat {tool} durchschnittlich {ratio}× pro Trace aufgerufen ({calls} Aufrufe über {traces} Traces).", "failHeadline": "{agent} hat {count} „{cls}“-Fehler verursacht.", "costHeadline": "{agent}: ${cost} Ausgaben · {tokens} Tokens · {errors} Fehler.", - "loopExplain": "Eine hohe Wiederholungsrate bedeutet normalerweise, dass der Agent keine Ergebnisse zwischenspeichert oder Wiederholungen durchführt. Öffnen Sie die schlechtesten Ablaufverfolgungen unten, um die wiederholten Aufrufe zu sehen.", - "failExplain": "Dies sind die eigentlichen Fehlermeldungen hinter dieser Fehlerklasse – lesen Sie sie, um die Lösung zu finden, oder öffnen Sie eine Ablaufverfolgung, um zu sehen, wo es passiert ist.", - "costExplain": "Diese Ablaufverfolgungen haben die Ausgaben dieses Agents verursacht. Öffnen Sie die teuersten, um zu sehen, was ausgeführt wurde." + "loopExplain": "Eine hohe Wiederholungsrate bedeutet normalerweise, dass der Agent Ergebnisse nicht zwischenspeichert oder es erneut versucht. Öffnen Sie die schlechtesten Traces unten, um die wiederholten Aufrufe zu sehen.", + "failExplain": "Dies sind die tatsächlichen Fehlermeldungen hinter dieser Fehlerklasse — lesen Sie sie, um die Lösung zu finden, oder öffnen Sie einen Trace, um zu sehen, wo es passiert ist.", + "costExplain": "Diese Traces haben die Kosten dieses Agents verursacht. Öffnen Sie die teuersten, um zu sehen, was ausgeführt wurde." } }, "versionCompare": { @@ -11279,8 +11279,8 @@ }, "manualEvaluation": { "titles": { - "span": "Span auswerten", - "trace": "Trace auswerten", + "span": "Span bewerten", + "trace": "Trace bewerten", "session": "Sitzung auswerten" }, "targetLabels": { @@ -11393,7 +11393,7 @@ }, "runs": { "title": "Evaluierungsbewertungen", - "hint": "Bewertungen und Begründungen stammen von _llm_scores. Wählen Sie einen Durchlauf aus, um dessen Evaluierungsspur zur weiteren Untersuchung zu öffnen.", + "hint": "Bewertungen und Begründungen stammen aus _llm_scores. Wählen Sie einen Lauf, um den zugehörigen Evaluator-Trace für weitere Untersuchungen zu öffnen.", "filterLabel": "Evaluierungsbewertungen filtern", "footerTitle": "Evaluierungsbewertungen", "noThresholdHint": "Legen Sie einen gesunden Schwellenwert für diese Bewertungskonfiguration fest, um ungesunde Bewertungen zu klassifizieren und hervorzuheben.", @@ -11588,7 +11588,7 @@ "booleanInfo": "Boolesche Konfigurationen akzeptieren die Werte {trueLabel} / {falseLabel}. Keine weitere Konfiguration erforderlich.", "healthyThresholdTitle": "Schwellenwert für Gesundheit", "optional": "Optional", - "healthyThresholdIntro": "Legen Sie fest, wann Scores in dieser Dimension als gesund gelten. Scores außerhalb dieses Bereichs lösen Qualitätsprobleme in Trace-Listen, Sitzungen und anderen Ansichten aus.", + "healthyThresholdIntro": "Definieren Sie, wann Bewertungen auf dieser Dimension als gesund gelten. Bewertungen außerhalb dieses Bereichs lösen Qualitätsprobleme in Trace-Listen, Sessions und anderen Ansichten aus.", "healthyWhenValueIs": "Gesund, wenn der Wert ist:", "healthyCategories": "Gesunde Kategorien:", "healthyCategoriesHint": "Markieren Sie alle Werte, die als gesund gelten.", @@ -11667,7 +11667,7 @@ "col": { "time": "Zeit", "job": "Auftrag", - "spanId": "Spanien-ID", + "spanId": "Span-ID", "traceId": "Trace-ID", "score": "Score", "latency": "Latenz", @@ -11860,7 +11860,7 @@ "idleWindowLabel": "Leerlauffenster", "maxAgeLabel": "Maximales Alter", "filterLabel": "Filter", - "filterEmpty": "Kein Filter – jeder Span wird bewertet", + "filterEmpty": "Kein Filter — jeder Span wird bewertet", "scorersSection": "Scorer", "scorersEmpty": "Diesem Auftrag sind noch keine Scorer zugeordnet.", "scorerUnknown": "(entfernter Scorer)", @@ -11896,7 +11896,7 @@ "col": { "time": "Zeit", "scorer": "Scorer", - "spanId": "Spanien-ID", + "spanId": "Span-ID", "traceId": "Trace-ID", "score": "Score", "latency": "Latenz", @@ -11953,21 +11953,21 @@ "session": "Session" }, "targetScopeHelp": { - "span": "Jeden passenden Span unabhängig bewerten.", - "trace": "Eine gesamte Trace auswerten, nachdem das Abschlussfenster geschlossen wurde.", - "session": "Eine Sitzung über mehrere Traces hinweg auswerten, nachdem das Abschlussfenster geschlossen wurde." + "span": "Bewerten Sie jeden passenden Span unabhängig.", + "trace": "Bewerten Sie einen vollständigen Trace, nachdem das Abschlussfenster geschlossen ist.", + "session": "Bewerten Sie eine Session über mehrere Traces, nachdem das Abschlussfenster geschlossen ist." }, "completionSection": "Abschlusskriterien", "completionHelp": { - "trace": "Die Trace wird ausgewertet, sobald das erste dieser Kriterien erfüllt ist.", + "trace": "Der Trace wird bewertet, sobald die erste dieser Bedingungen erfüllt ist.", "session": "Die Sitzung wird ausgewertet, sobald das erste dieser Kriterien erfüllt ist." }, "idleWindowLabel": "Leerlauffenster (Sekunden)", - "idleWindowHelp": "Ausgewertet nach {duration} ohne neue Spans.", - "idleWindowHelpEmpty": "Ausgewertet, sobald keine neuen Spans eintreffen.", + "idleWindowHelp": "Wird nach {duration} ohne neue Spans bewertet.", + "idleWindowHelpEmpty": "Wird bewertet, sobald keine neuen Spans mehr eintreffen.", "maxAgeLabel": "Maximales Alter (Sekunden)", - "maxAgeHelp": "Ausgewertet {duration} nach dem ersten Span.", - "maxAgeHelpEmpty": "Zu einem festgelegten Alter ausgewertet, auch wenn noch Spans eintreffen.", + "maxAgeHelp": "Wird {duration} nach dem ersten Span bewertet.", + "maxAgeHelpEmpty": "Wird zu einem festen Alter bewertet, auch wenn noch Spans eintreffen.", "descriptionLabel": "Beschreibung", "samplingModeLabel": "Sampling-Modus", "samplingValueLabel": "Sampling-Rate", @@ -11978,8 +11978,8 @@ "scorerPicker": { "title": "Torschützen", "hint": { - "span": "Wählen Sie einen oder mehrere Scorer aus, die für jeden passenden Span ausgeführt werden sollen.", - "trace": "Wählen Sie einen oder mehrere Scorer aus, die für jede berechtigte Trace ausgeführt werden sollen.", + "span": "Wählen Sie einen oder mehrere Scorer für jeden passenden Span aus.", + "trace": "Wählen Sie einen oder mehrere Scorer für jeden berechtigten Trace aus.", "session": "Wählen Sie einen oder mehrere Scorer aus, die für jede berechtigte Sitzung ausgeführt werden sollen." }, "meta": "{type} · v{version}", @@ -11990,33 +11990,33 @@ "filter": { "title": "Zustand des Filters", "hint": { - "span": "Nur Spans, die diese Bedingung erfüllen, werden gesampelt und bewertet.", - "trace": "Eine Trace wird gesampelt und bewertet, wenn einer ihrer Spans diese Bedingung erfüllt.", - "session": "Eine Sitzung wird gesampelt und bewertet, wenn einer ihrer Spans diese Bedingung erfüllt." + "span": "Nur Spans, die dieser Bedingung entsprechen, werden in Stichproben und Bewertung einbezogen.", + "trace": "Ein Trace wird gesampelt und bewertet, wenn einer seiner Spans diese Bedingung erfüllt.", + "session": "Eine Session wird gesampelt und bewertet, wenn einer ihrer Spans diese Bedingung erfüllt." } }, "selector": { - "title": "Welche Spans (optional)", + "title": "Welche Spans (Optional)", "hint": { - "trace": "Leer lassen, um jeden Span in der Trace einzubeziehen." + "trace": "Lassen Sie das Feld leer, um jeden Span im Trace einzubeziehen." } }, "endSignal": { "title": "Endsignal (optional)", "hint": { - "trace": "Definieren Sie eine Span-Bedingung, die die Trace sofort schließt, wenn ein Span darauf zutrifft.", - "session": "Definieren Sie eine Span-Bedingung, die die Sitzung sofort schließt, wenn ein Span darauf zutrifft." + "trace": "Definieren Sie eine Span-Bedingung, die den Trace sofort schließt, wenn ein Span sie erfüllt.", + "session": "Definieren Sie eine Span-Bedingung, die die Session sofort schließt, wenn ein Span sie erfüllt." } }, "inputMapping": { "title": "Prompt-Variablen", "hint": { - "span": "Ordnen Sie jede Variable einem Span-Attribut zu.", - "trace": "Ordnen Sie jede Variable einem systembereitgestellten Wert oder Span-Attribut zu.", - "session": "Ordnen Sie jede Variable einem systembereitgestellten Wert oder Span-Attribut zu." + "span": "Ordnen Sie jeder Variablen ein Span-Attribut zu.", + "trace": "Ordnen Sie jeder Variablen einen systembereitgestellten Wert oder ein Span-Attribut zu.", + "session": "Ordnen Sie jeder Variablen einen systembereitgestellten Wert oder ein Span-Attribut zu." }, "placeholder": "Wert auswählen", - "searchPlaceholder": "Systemwerte und Span-Attribute suchen…", + "searchPlaceholder": "Systemwerte und Span-Attribute durchsuchen…", "groups": { "systemProvided": "Systembereitgestellte Werte · Für jeden {scope}, den dieser Job auswertet", "spanAttributes": "Span-Attribute" @@ -12037,20 +12037,20 @@ }, "variables": { "input": { - "trace": "Eingabe vom Root-Span der Trace." + "trace": "Eingabe vom Root-Span des Traces." }, "output": { - "trace": "Ausgabe vom Root-Span der Trace." + "trace": "Ausgabe vom Root-Span des Traces." }, "statistics": { "trace": "Trace-Metriken: Span-Anzahl, Dauer, LLM- und Tool-Aufrufe, Fehler, Token und Kosten.", - "session": "Sitzungsmetriken: Trace- und Turn-Anzahl, Dauer und Fehler." + "session": "Session-Metriken: Trace- und Turn-Anzahl, Dauer und Fehler." }, "spans": { - "trace": "Eine gefilterte Teilmenge von Spans, ausgewählt durch den Span-Selector des Jobs." + "trace": "Eine gefilterte Teilmenge von Spans, ausgewählt vom Span-Selector des Jobs." }, "steps": { - "trace": "Spans in zeitlicher Reihenfolge; die Mitte wird bei sehr langen Traces zusammengeklappt.", + "trace": "Spans in zeitlicher Reihenfolge; die Mitte wird eingeklappt, wenn der Trace sehr lang ist.", "session": "Traces in zeitlicher Reihenfolge, dargestellt als Gesprächsrunden." } } @@ -12060,13 +12060,13 @@ "select": "Span-Selector auswählen", "bindingHelp": "Traces können Hunderte von Spans haben. Wählen Sie die aus, die dieser Scorer betrachten soll.", "createForScorer": "Für Scorer erstellen", - "createForScorerTitle": "Einen Span-Selector für diesen Scorer erstellen", + "createForScorerTitle": "Span-Selector für diesen Scorer erstellen", "editorTitle": "Span-Selector", "name": "Selector-Name", "schemaMode": "Zu lesende Felder", "defaultSchema": "Standard-GenAI-Felder", "customSchema": "Benutzerdefinierte Felder", - "defaultSchemaHelp": "Diese acht Felder werden aus jedem passenden Span gelesen. Fehlende Felder werden leer geliefert.", + "defaultSchemaHelp": "Diese acht Felder werden aus jedem passenden Span gelesen. Fehlende Werte werden leer übergeben.", "fields": "Felder", "fieldsHelp": "Nur diese Felder werden gelesen – nichts anderes wird an den Bewerter gesendet.", "maximumSpans": "Maximale Spans", @@ -12076,23 +12076,23 @@ "duplicateName": "Selektor-Namen müssen in diesem Job eindeutig sein.", "filter": "Vervollständigen oder entfernen Sie die unvollständige Filterbedingung.", "fields": "Wählen Sie mindestens ein Feld für ein benutzerdefiniertes Schema aus.", - "maximumSpans": "Maximale Spans müssen eine positive ganze Zahl sein.", - "budget": "Zu viele Spans für die ausgewählten Felder. Reduzieren Sie die Span-Anzahl oder lesen Sie weniger Felder.", - "binding": "Wählen Sie einen Span-Selektor für jeden Scorer, der Trace-Spans verwendet." + "maximumSpans": "Die maximale Span-Anzahl muss eine positive ganze Zahl sein.", + "budget": "Zu viele Spans für die ausgewählten Felder. Verringern Sie die Span-Anzahl oder lesen Sie weniger Felder.", + "binding": "Wählen Sie einen Span-Selector für jeden Scorer aus, der Trace-Spans verwendet." } }, "preview": { "scopes": { "span": { "title": "Passende Spans", - "hint": "Sobald Sie einen Stream und einen Filter ausgewählt haben, zeigt dieses Feld, wie viele Spans Ihr Job abgleicht.", - "matchedSuffix": "Spans gefunden · letzte 1h", + "hint": "Sobald Sie einen Stream und einen Filter ausgewählt haben, zeigt dieses Panel, wie viele Spans Ihr Job abgleichen wird.", + "matchedSuffix": "passende Spans · letzte 1 Std.", "matchedLoading": "Passende Spans werden gezählt…" }, "trace": { "title": "Passende Traces", - "hint": "Sobald Sie einen Stream und einen Filter ausgewählt haben, zeigt dieses Feld, wie viele Traces Ihr Job abgleicht.", - "matchedSuffix": "Traces gefunden · letzte 1h", + "hint": "Sobald Sie einen Stream und einen Filter ausgewählt haben, zeigt dieses Panel, wie viele Traces Ihr Job abgleichen wird.", + "matchedSuffix": "passende Traces · letzte 1 Std.", "matchedLoading": "Passende Traces werden gezählt…" }, "session": { @@ -12122,9 +12122,9 @@ "nameRequired": "Job name is required", "streamRequired": "A stream is required", "idleWindowMinimum": "Das Leerlauffenster muss mindestens 1 Sekunde betragen", - "idleWindowMaximumTrace": "Trace-Leerlauffenster darf 30 Minuten nicht überschreiten", + "idleWindowMaximumTrace": "Das Trace-Leerlauffenster darf 30 Minuten nicht überschreiten.", "idleWindowMaximumSession": "Sitzungs-Leerlauffenster darf 4 Stunden nicht überschreiten", - "maxAgeMaximumTrace": "Maximales Trace-Alter darf 2 Stunden nicht überschreiten", + "maxAgeMaximumTrace": "Das maximale Trace-Alter darf 2 Stunden nicht überschreiten.", "maxAgeMaximumSession": "Maximales Sitzungsalter darf 24 Stunden nicht überschreiten", "samplingValueRequired": "A sampling value is required" } @@ -12187,7 +12187,7 @@ "curlDesc": "Schnellster Weg — fügen Sie einen Befehl ein und die Protokolle beginnen zu fließen", "shippers": "Verwenden Sie einen Holzversender", "shippersDesc": "{product1}, {product2}, {product3}, {product4}, {product5} und mehr", - "otelDesc": "Anbieterneutrale OTLP-Erfassung für Logs, Traces und Metriken", + "otelDesc": "Herstellerneutrale OTLP-Datenerfassung für Logs, Traces und Metriken.", "or": "Oder:", "aws": "AWS//CloudWatch", "askAi": "Bitten Sie die KI, die Aufnahme einzurichten" @@ -12196,7 +12196,7 @@ "title": "Wähle einen Stream aus, um mit der Erkundung zu beginnen", "description": "Wählen Sie einen Stream aus und drücken Sie dann auf Abfrage ausführen. Sobald die Ergebnisse vorliegen, kannst du ihn mit Filtern, einer VRL-Funktion und einem benutzerdefinierten Zeitraum verfeinern.", "selectStream": "Wähle einen Stream", - "selectStreamDesc": "Logs, Traces, Metriken und RUM-Streams durchsuchen", + "selectStreamDesc": "Durchsuchen Sie Logs, Traces, Metriken & RUM-Streams", "queryGuide": "Lesen Sie den Query Guide", "queryGuideDesc": "Filter, SQL-Modus, VRL und gespeicherte Ansichten", "recent": "Kürzlich:" @@ -12312,7 +12312,7 @@ "goodResponse": "Gute Antwort", "moderateResponse": "Mäßige Antwort", "slowResponse": "Langsame Antwort", - "failedToCopyTraceId": "Fehler beim Kopieren der Trace-ID in die Zwischenablage", + "failedToCopyTraceId": "Trace-ID konnte nicht in die Zwischenablage kopiert werden", "failedToCopySql": "Fehler beim Kopieren von SQL in die Zwischenablage" }, "searchResult": { @@ -12332,7 +12332,7 @@ "noMetricStreams": "Keine Metrik-Streams für Dienst \"{service}\" gefunden", "correlationError": "Korrelationsfehler: {error}", "contentCopied": "Inhalt erfolgreich kopiert!", - "noTraceIdForInspection": "Keine Trace-ID zur Inspektion verfügbar" + "noTraceIdForInspection": "Keine Trace-ID zur Überprüfung verfügbar" }, "searchBar": { "customRangeAlt": "Benutzerdefinierter Bereich", @@ -13371,7 +13371,7 @@ }, "customIntervalValue": "Wiederholen alle", "destinationRequired": "Mindestens ein Ziel ist erforderlich", - "destinations": "Destinationen", + "destinations": "Ziele", "frequency": "Frequenz", "frequencyOptions": { "15min": "15 Minuten", @@ -13642,7 +13642,7 @@ "logs": "Logs", "dashboards": "Dashboards", "metrics": "Metriken", - "traces": "Spuren", + "traces": "Traces", "alerts": "Warnmeldungen", "streams": "Streams", "pipelines": "Rohrleitungen", @@ -13662,7 +13662,7 @@ "dashboards": "Dashboard-Ansicht", "dashboardsPanel": "Dashboard — Panel (bewegen Sie den Mauszeiger über ein Panel)", "metrics": "Metriken", - "traces": "Spuren", + "traces": "Traces", "alerts": "Warnmeldungen", "streams": "Streams", "pipelines": "Rohrleitungen", @@ -13672,16 +13672,16 @@ "iamRoles": "IAM — Rollen", "iamGroups": "IAM — Gruppen", "iamServiceAccounts": "IAM — Dienstkonten", - "alertDestinations": "Benachrichtigungen — Ziele", + "alertDestinations": "Warnmeldungen — Ziele", "alertSources": "Alarme – Externe Quellen", "alertTemplates": "Benachrichtigungen — Vorlagen", "panelEditor": "Panel-Editor", - "traceDetail": "Detail verfolgen", + "traceDetail": "Trace-Details", "runningQueries": "Abfragen ausführen", "ingestionTokens": "IAM — Erfassungs-Token", "syntheticsTokens": "IAM – Synthetics-Tokens", "alertIncidents": "Warnmeldungen — Vorfälle", - "pipelineDestinations": "Pipelines — Destinationen", + "pipelineDestinations": "Rohrleitungen — Ziele", "enrichmentTables": "Anreicherungstabellen", "iamInvitations": "IAM — Einladungen", "iamOrganizations": "IAM — Organisationen", @@ -13768,8 +13768,8 @@ "panelEditorRun": "Abfrage ausführen/anwenden", "panelEditorSave": "Panel speichern", "panelEditorBack": "Verwerfen und zurückgehen", - "traceNextSpan": "Nächste Spanne", - "tracePrevSpan": "Vorige Spanne", + "traceNextSpan": "Nächstes Span", + "tracePrevSpan": "Vorheriges Span", "runningQueriesRefresh": "Abfrageliste aktualisieren", "ingestionTokensAdd": "Neues Token erstellen", "ingestionTokensRefresh": "Token-Liste aktualisieren", @@ -13780,7 +13780,7 @@ "aiChatExpand": "KI-Chat erweitern/einklappen", "logsSaveView": "Als gespeicherte Ansicht speichern", "logsExport": "Ergebnisse als CSV exportieren", - "tracesCopyUrl": "Trace & Share URL kopieren", + "tracesCopyUrl": "Trace-Share-URL kopieren", "alertIncidentsRefresh": "Liste aktualisieren", "pipelineDestinationsRefresh": "Liste aktualisieren", "enrichmentTablesRefresh": "Liste aktualisieren", @@ -14167,7 +14167,7 @@ "fatal": "Fatal" }, "pipelineRunOutcome": { - "firing": "Aktiv", + "firing": "Ausgelöst", "normal": "Normal", "succeeded": "Erfolgreich", "skipped": "Übersprungen", @@ -14314,16 +14314,16 @@ "pleaseWaitWhileLoadingAlert": "Bitte warten Sie, während der Alert geladen wird...", "errorWhilePullingAlerts": "Fehler beim Abrufen der Alarme.", "pleaseWaitWhileLoadingAlerts": "Bitte warten Sie, während die Alarme geladen werden...", - "destinationsDeletedSuccessfully": "Erfolgreich {count} Ziel gelöscht | Erfolgreich {count} Ziele gelöscht", + "destinationsDeletedSuccessfully": "{count} Ziel erfolgreich gelöscht | {count} Ziele erfolgreich gelöscht", "failedToDeleteDestinations": "Fehler beim Löschen von {count} Ziel | Fehler beim Löschen von {count} Zielen", - "destinationsDeletedWithFailures": "Erfolgreich {count} Ziel gelöscht, {failed} fehlgeschlagen | Erfolgreich {count} Ziele gelöscht, {failed} fehlgeschlagen", + "destinationsDeletedWithFailures": "{count} Ziel erfolgreich gelöscht, {failed} fehlgeschlagen | {count} Ziele erfolgreich gelöscht, {failed} fehlgeschlagen", "noDestinationsSelectedForDeletion": "Keine Ziele zum Löschen ausgewählt", "deletingDestinations": "Ziele werden gelöscht...", "destinationDeletedSuccessfully": "Ziel {name} erfolgreich gelöscht", "errorWhilePullingDestinations": "Fehler beim Abrufen der Ziele.", - "pleaseWaitWhileLoadingDestinations": "Bitte warten Sie, während die Ziele geladen werden...", + "pleaseWaitWhileLoadingDestinations": "Bitte warten, während die Ziele geladen werden...", "errorWhileLoadingActions": "Fehler beim Laden der Aktionen.", - "pleaseWaitWhileLoadingAlertDestination": "Bitte warten Sie, während das Alert-Ziel geladen wird...", + "pleaseWaitWhileLoadingAlertDestination": "Bitte warten, während das Ziel der Warnmeldung geladen wird...", "errorImportingAlertPleaseCheck": "Fehler beim Importieren des Alerts. Bitte überprüfen Sie das JSON.", "alertsImportedSuccessfully": "Erfolgreich {count} Alarm importiert | Erfolgreich {count} Alarme importiert", "invalidJson": "Ungültiges JSON: {error}", @@ -14565,7 +14565,7 @@ }, "correlation": { "refreshingTraceData": "Trace-Daten werden aktualisiert...", - "traceDetailViewComingSoon": "Trace-Detailansicht in Kürze verfügbar", + "traceDetailViewComingSoon": "Trace-Detailansicht bald verfügbar", "columnIsAlreadyVisible": "Spalte \"{name}\" ist bereits sichtbar", "columnAddedToTable": "Spalte \"{name}\" zur Tabelle hinzugefügt" }, @@ -14631,7 +14631,7 @@ "pleaseWaitWhileLoadingStreams": "Bitte warten Sie, während die Streams geladen werden...", "errorWhilePullingSummary": "Fehler beim Abrufen der Zusammenfassung.", "pleaseWaitWhileLoadingSummary": "Bitte warten Sie, während die Zusammenfassung geladen wird...", - "noDestinationsCreateOneBeforeSaving": "Keine Ziele gefunden. Erstellen Sie eines, bevor Sie diesen Alarm speichern.", + "noDestinationsCreateOneBeforeSaving": "Keine Ziele gefunden. Erstellen Sie eines, bevor Sie diese Warnmeldung speichern.", "errorWhileLoadingAlert": "Fehler beim Laden des Alarms." }, "RUM": { @@ -15360,14 +15360,14 @@ "failed": "Fehlgeschlagen" }, "columnHints": { - "calls": "Wie oft diese Abfrage ausgeführt wurde. Die eigene Zählung Ihrer Datenbank, falls sie eine meldet — das deckt jeden Client ab, nicht nur die Teile Ihres Systems, die Traces senden. Zeilen, die als client-seitig beobachtet markiert sind, werden stattdessen aus Traces gezählt, da Ihre Datenbank sie nicht gemeldet hat.", + "calls": "Wie oft diese Abfrage ausgeführt wurde. Die eigene Zählung Ihrer Datenbank, sofern sie eine meldet – das umfasst jeden Client, nicht nur die Teile Ihres Systems, die Traces senden. Zeilen, die als clientbeobachtet markiert sind, werden stattdessen aus Traces gezählt, da Ihre Datenbank sie nicht gemeldet hat.", "p50": "Die Hälfte aller Aufrufe war schneller als dieser Wert. Zählt nur abgeschlossene Aufrufe — eine noch laufende Abfrage oder eine, die nie zurückkam, wird hier nicht gemessen.", "p95": "Der langsame Schwanz — 1 von 20 Aufrufen dauerte mindestens so lange. Zählt nur abgeschlossene Aufrufe — eine noch laufende Abfrage oder eine, die nie zurückkam, wird hier nicht gemessen.", "p99": "Die schlechtesten 1% der Aufrufe dauerten mindestens so lange. Zählt nur abgeschlossene Aufrufe — eine noch laufende Abfrage oder eine, die nie zurückkam, wird hier nicht gemessen.", "max": "Der langsamste einzelne Aufruf in diesem Zeitraum — ein echter Aufruf, kein Durchschnitt.", "errors": "Wie viele dieser Aufrufe mit einem Fehler zurückkamen.", "perTrace": "Wie oft dies innerhalb einer einzelnen Anfrage ausgeführt wird. Eine hohe Zahl bedeutet normalerweise eine Schleife.", - "load": "Gesamtzeit, die diese Abfrage in der Datenbank verbracht hat. Die eigene Angabe Ihrer Datenbank, falls sie eine meldet: Ausführungszeit bei Postgres, aber WARTEZEIT bei MySQL und MariaDB — jede Zeile gibt an, welche. Zeilen, die als client-seitig beobachtet markiert sind, werden aus Traces gemessen, beinhalten also den Netzwerk-Roundtrip." + "load": "Gesamtzeit, die diese Abfrage in der Datenbank verbracht hat. Die eigene Angabe Ihrer Datenbank, sofern sie eine meldet: Ausführungszeit bei Postgres, aber WARTEZEIT bei MySQL und MariaDB – jede Zeile gibt an, welches. Zeilen, die als clientbeobachtet markiert sind, werden aus Traces gemessen und umfassen daher den Netzwerk-Roundtrip." }, "errorsNone": "keine", "errorsAll": "alle", @@ -15405,7 +15405,7 @@ "n-plus-one": { "title": "Läuft mindestens {multiplier}× pro Anfrage", "body": "{share} der Datenbankzeit · {service}", - "rule": "Angezeigt, weil diese Abfrage mindestens {ratio} Mal in einer einzelnen Anfrage läuft, über mindestens {traces} Anfragen. Das ist eine Untergrenze, die tatsächliche Zahl kann also höher sein. Legitime Stapelverarbeitung kann genauso aussehen." + "rule": "Angezeigt, weil diese Abfrage mindestens {ratio} Mal innerhalb einer einzelnen Anforderung ausgeführt wird, über mindestens {traces} Anforderungen hinweg. Es ist eine Untergrenze, die tatsächliche Zahl kann also höher sein. Legitime Stapelverarbeitung kann genauso aussehen." }, "volume-shift": { "title": "Stärker ausgelastet, nicht langsamer", @@ -15479,7 +15479,7 @@ "subtitleCounts": "{pass} bestanden, {fail} nicht. | {pass} bestanden, {fail} nicht.", "checklistTitle": "Was wir geprüft haben", "showMeHow": "Zeigen Sie mir, wie ich es instrumentiere", - "checkTrace": "Prüfen Sie einen meiner Traces", + "checkTrace": "Einen meiner Traces prüfen", "checks": { "enabled": { "ok": "Datenbanküberwachung ist aktiviert", @@ -15490,19 +15490,19 @@ "traces": { "ok": "Ihre Traces treffen ein", "okDetail": "{count} aufgezeichnet in diesem Zeitraum", - "no": "Keine Traces sind eingetroffen", - "noDetail": "Die Datenbanküberwachung basiert auf Traces, und diese Organisation hat noch keine gesendet." + "no": "Es sind keine Traces eingetroffen", + "noDetail": "Datenbanküberwachung basiert auf Traces, und diese Organisation hat noch keine gesendet." }, "permission": { "ok": "Sie haben Zugriff auf diese Daten", "okDetail": "Sie sind Administrator bei {org}", "no": "Sie haben keinen Zugriff auf diese Daten", - "noDetail": "Die Datenbanküberwachung liest Ihre Traces, und Ihre Rolle schließt diese nicht ein. Bitten Sie einen Administrator um Lesezugriff." + "noDetail": "Datenbanküberwachung liest Ihre Traces, und Ihre Rolle enthält diese nicht. Bitten Sie einen Administrator um Lesezugriff." }, "dbSpans": { - "ok": "Ihre Traces verweisen auf eine Datenbank", + "ok": "Ihre Traces erwähnen eine Datenbank", "okDetail": "Datenbankaufrufe werden aufgezeichnet", - "no": "Keine Ihrer Traces verweisen auf eine Datenbank", + "no": "Keine Ihrer Traces erwähnen eine Datenbank", "noDetail": "Ihre Anwendungen werden getraced, aber der Teil, der mit der Datenbank spricht, nicht. Fügen Sie die Datenbankinstrumentierung für Ihre Sprache hinzu, und die Abfragen werden hier angezeigt." }, "counted": { @@ -15559,10 +15559,10 @@ "noSamples": "Für diesen Zeitraum wurden keine einzelnen Ausführungen geladen.", "noSeries": "Keine Historie für diese Abfrage im gewählten Zeitraum.", "liveSeries": "Die neuesten Punkte werden noch gezählt und können sich ändern.", - "noStream": "Wir konnten nicht ermitteln, welcher Trace-Stream diese Abfrage führt, daher können die Aufrufer und Beispiele nicht geladen werden.", - "ambiguousStream": "Diese Organisation hat mehr als einen Trace-Stream, und wir können nicht feststellen, auf welchem diese Abfrage läuft. Wählen Sie einen Stream, um die Aufrufer und Beispiel-Traces zu laden.", + "noStream": "Wir konnten nicht ermitteln, welcher Trace-Stream diese Abfrage überträgt, daher können die Aufrufer und Beispiele nicht geladen werden.", + "ambiguousStream": "Diese Organisation hat mehr als einen Trace-Stream, und wir können nicht feststellen, auf welchem diese Abfrage läuft. Wählen Sie einen Stream, um dessen Aufrufer und Beispiel-Traces zu laden.", "pickStream": "Trace-Stream auswählen", - "invalidStream": "Dieser Trace-Stream-Name ist uns nicht bekannt, daher haben wir die Suche nicht ausgeführt.", + "invalidStream": "Dieser Trace-Stream-Name wird von uns nicht erkannt, daher haben wir die Suche nicht ausgeführt.", "firstSeen": "ZUM ERSTEN MAL IN DIESER LISTE UM {time}", "firstSeenHint": "Der früheste Punkt in diesem Zeitraum, an dem diese Abfrage schwer genug war, um eigenständig verfolgt zu werden.", "lastSeen": "ZULETZT ERSCHIENEN UM {time}", @@ -15686,7 +15686,7 @@ "tracedCalls": "{calls} Aufrufe verfolgt", "coverage": "{count} Dienste in {traced} der {executions} obigen Ausführungen gesehen. Der Rest stammt von Aufrufern, die Sie noch nicht verfolgen.", "coverageUnknown": "{count} Dienste in {traced} verfolgten Aufrufen gesehen. Ihre Datenbank hat keine Gesamtzahl für diese Anweisung gemeldet, daher gibt es keinen Anteil anzugeben.", - "noneNamed": "{traced} Aufrufe wurden verfolgt, aber keiner davon konnte einem Dienst zugeordnet werden – ihre Traces beginnen außerhalb dieses Zeitrahmens." + "noneNamed": "{traced} Aufrufe wurden getracet, aber keiner davon konnte einem Dienst zugeordnet werden – ihre Traces beginnen außerhalb dieses Zeitbereichs." }, "callersEmpty": { "title": "Noch keine verfolgten Aufrufe für diese Abfrage", @@ -15752,9 +15752,9 @@ "failedWithCode": "Fehlgeschlagen · {code}", "viewTrace": "Öffnen Sie die Anfrage, zu der dieser Aufruf gehörte", "scatterOk": "Abgeschlossen", - "partial": "Einige Ihrer Trace-Daten konnten nicht gelesen werden, daher fehlen möglicherweise Aufrufe in dieser Liste.", + "partial": "Einige Ihrer Trace-Daten konnten nicht gelesen werden, daher können Aufrufe in dieser Liste fehlen.", "disclosureShort": "Jede Zeile ist ein realer abgeschlossener Aufruf", - "disclosureDetail": "Gemessen von der Anwendung, die den Aufruf getätigt hat, anhand der von Ihnen gesendeten Traces. Nur abgeschlossene Aufrufe sind hier — eine noch laufende Abfrage oder eine, die hängen geblieben und nie zurückgekehrt ist, hat keine Messung erzeugt.", + "disclosureDetail": "Gemessen von der Anwendung, die den Aufruf ausgeführt hat, anhand der Traces, die Sie senden. Nur abgeschlossene Aufrufe sind hier aufgeführt – eine noch laufende Abfrage oder eine, die hängen blieb und nie zurückkehrte, hat keine Messung erzeugt.", "counts": { "complete": "Zeige alle {count} Datenbankaufrufe in diesem Zeitraum, zuerst die langsamsten.", "truncated": "Die {count} langsamsten Aufrufe in diesem Zeitraum — es liefen mehr, als hier angezeigt werden.", @@ -15959,8 +15959,8 @@ "blocking": "Blockierend" }, "coverage": { - "summary": "Die längste Wartezeit ist {longest}. Jede Wartezeit führt auf {roots} zurück, die eine Sperre offen halten.", - "summaryCapped": "Es warteten mehr Sitzungen, als wir auf einmal lesen konnten. Von denen, die wir haben, ist die längste Wartezeit {longest} und sie führen auf {roots} zurück, die eine Sperre offen halten.", + "summary": "Die längste Wartezeit beträgt {longest}. Jede Wartezeit führt auf {roots} zurück, die eine Sperre offen halten.", + "summaryCapped": "Es warteten mehr Sitzungen, als wir auf einmal lesen konnten. Von denen, die wir haben, beträgt die längste Wartezeit {longest}, und sie führen auf {roots} zurück, die eine Sperre offen halten.", "summaryOneRoot": "eine Sitzung", "summaryManyRoots": "{count} Sitzungen", "checked": "Geprüft alle {interval} Sekunden; letzter Blick {time}.", diff --git a/web/src/locales/languages/es-ES.json b/web/src/locales/languages/es-ES.json index 8849085e24..a9c5c31605 100644 --- a/web/src/locales/languages/es-ES.json +++ b/web/src/locales/languages/es-ES.json @@ -43,7 +43,7 @@ "allCaughtUp": "Estás al día", "noPanels": { "title": "Aún no hay paneles aquí", - "description": "Añade un panel para comenzar a visualizar logs, métricas y trazas.", + "description": "Agrega un panel para empezar a visualizar registros, métricas y trazas.", "action": "Añadir panel", "actionDesc": "Gráficos, tablas y más" }, @@ -124,7 +124,7 @@ }, "noIngestionTokens": { "title": "Aún no hay tokens de ingestión", - "description": "Los tokens de ingesta autentican las fuentes de datos al enviar registros, métricas y seguimientos.", + "description": "Los tokens de ingesta autentican las fuentes de datos al enviar registros, métricas y trazas.", "action": "Nuevo token", "actionDesc": "Generar un token de ingesta" }, @@ -134,10 +134,10 @@ }, "noAlertDestinations": { "title": "Aún no hay destinos", - "description": "Los destinos definen dónde se envían las notificaciones de alerta: Slack, correo electrónico, webhooks y más.", + "description": "Los destinos definen a dónde se envían las notificaciones de alerta: Slack, correo electrónico, webhooks y más.", "action": "Nuevo destino", "actionDesc": "Conectar un canal de notificaciones", - "import": "Destino de importación", + "import": "Importar destino", "importDesc": "Importar desde un archivo JSON" }, "noAlertSources": { @@ -150,7 +150,7 @@ "title": "Aún no hay destinos", "description": "Destinos externos para la salida de canalización: puntos finales HTTP y destinos de escritura remota.", "action": "Nuevo destino", - "actionDesc": "Conectar un destino de canalización" + "actionDesc": "Conecta un destino de tubería" }, "noAlertTemplates": { "title": "Aún no hay plantillas", @@ -192,7 +192,7 @@ }, "noDiscoveredServices": { "title": "No se ha descubierto ningún servicio", - "description": "Los servicios aparecerán aquí automáticamente una vez que empiecen a llegar los rastros." + "description": "Los servicios aparecerán aquí automáticamente una vez que empiecen a llegar trazas." }, "noNodes": { "title": "No hay nodos disponibles", @@ -248,7 +248,7 @@ }, "noDatasets": { "title": "Crea tu primer conjunto de datos", - "description": "Los conjuntos de datos dorados recopilan trazas anotadas y revisiones en conjuntos de evaluación versionados. Crea uno para empezar a curar.", + "description": "Los conjuntos de datos dorados recopilan trazas anotadas y reseñas en conjuntos de evaluación versionados. Crea uno para empezar a curar.", "action": "Nuevo conjunto de datos", "actionDesc": "Iniciar un conjunto de datos vacío" }, @@ -290,13 +290,13 @@ "title": "Aún no hay actividad de LLM", "description": "Instrumente sus servicios con las convenciones semánticas de la generación AI de OpenTelemetry e ingiera al menos un rastro para rellenar este Dashboard.", "action": "Instrumento con OpenTelemetry", - "actionDesc": "Captura los atributos gen_ai_* en tus rastros" + "actionDesc": "Captura atributos gen_ai_* en tus trazas." }, "noLLMSessions": { "title": "Aún no hay sesiones de LLM", - "description": "Las sesiones se agrupan por gen_ai_conversation_id. Instrumente sus servicios para que cada conversación etiquete sus rastros y las sesiones aparezcan aquí.", + "description": "Las sesiones se agrupan por gen_ai_conversation_id. Instrumenta tus servicios para que cada conversación etiquete sus trazas, y las sesiones aparecerán aquí.", "action": "Instrumento con OpenTelemetry", - "actionDesc": "Etiquete intervalos con gen_ai_conversation_id" + "actionDesc": "Etiqueta los spans con gen_ai_conversation_id." }, "noScorers": { "title": "Aún no hay goleadores", @@ -341,12 +341,12 @@ "description": "No hay elementos insalubres en esta ventana. Amplía el intervalo de tiempo o cambia el filtro de la cola para ver los elementos que ya has revisado." }, "noTraces": { - "title": "No se han encontrado rastros", - "description": "No hay rastros que coincidan con el servicio y el rango de tiempo seleccionados. Prueba con un intervalo de tiempo más amplio o con un servicio diferente." + "title": "No se encontraron trazas", + "description": "Ninguna traza coincide con el servicio y el rango de tiempo seleccionados. Prueba con un rango de tiempo más amplio o un servicio diferente." }, "noServiceGraph": { "title": "No hay datos gráficos de servicio", - "description": "Intente consultar un intervalo de tiempo más largo o asegúrese de que sus servicios emitan métricas de intervalo." + "description": "Intenta consultar un rango de tiempo más largo, o asegúrate de que tus servicios estén emitiendo métricas de span." }, "noServicesCatalog": { "title": "No se ha encontrado ningún servicio", @@ -406,10 +406,10 @@ "pipelines": "tuberías", "workflows": "flujos de trabajo", "functions": "funciones", - "streams": "corrientes", + "streams": "streams", "alerts": "alertas", "incidents": "incidentes", - "traces": "rastros", + "traces": "trazas", "discoveryItems": "elementos insalubres", "datasetItems": "elementos", "searches": "búsquedas", @@ -523,8 +523,8 @@ "relatedEvents": "Eventos relacionados", "on": "en", "event": "evento", - "viewTraceDetails": "Ver detalles del rastreo", - "viewTrace": "Ver rastreo", + "viewTraceDetails": "Ver detalles de la traza", + "viewTrace": "Ver traza", "networkRequests": "Solicitudes de red", "noNetworkRequestsFound": "No se encontraron solicitudes de red para este evento", "consoleLogsComingSoon": "Registros de consola próximamente", @@ -847,7 +847,7 @@ "destination": { "createNew": "Crear nuevo destino", "select": "Destino", - "loadError": "Error al cargar los destinos." + "loadError": "Error al obtener los destinos." }, "function": { "createNew": "Crear nueva función", @@ -1061,10 +1061,10 @@ "regionFilterMsg": "Región/clúster de búsqueda", "queryRangeRestrictionMsg": "El rango de consulta está restringido a {range}. Ajuste el intervalo de fechas en consecuencia. De lo contrario, la fecha de inicio se ajustará automáticamente para ajustarse al límite permitido.", "cancel": "Cancelar consulta", - "viewTrace": "Ver Trace", - "viewTraceUnavailable": "No se pudo abrir la traza de este registro de log.", + "viewTrace": "Ver traza", + "viewTraceUnavailable": "No se pudo abrir la traza para este registro de log.", "viewRelated": "Ver relacionado", - "viewRelatedTooltip": "Ver los seguimientos y las métricas relacionados", + "viewRelatedTooltip": "Ver trazas y métricas relacionadas", "flattened": "Aplanado", "original": "Original", "resetFilters": "Restablecer filtros", @@ -1146,8 +1146,8 @@ "selectFunctionNamePlaceholder": "Seleccione el nombre de la función", "confirmFunctionUpdateTitle": "Confirmar actualización", "confirmFunctionUpdateMsg": "¿Está seguro de que desea actualizar la función {name}?", - "traceIdLabel": "ID de seguimiento:", - "enterTraceIdPlaceholder": "Ingresa el identificador de seguimiento", + "traceIdLabel": "ID de traza:", + "enterTraceIdPlaceholder": "Introduce el ID de traza", "changeQueryModeTitle": "Cambiar modo de consulta", "changeQueryModeConfirm": "¿Está seguro de que desea cambiar el modo de consulta? Los datos guardados para el eje X, el eje Y y los filtros se borrarán.", "patternExampleLog": "Log de ejemplo", @@ -1197,7 +1197,7 @@ "upgradeToProPlan": "Actualizar al Plan PRO", "home": "Inicio", "about": "Acerca de", - "index": "Índices", + "index": "Streams", "search": "Logs", "traces": "Trazas", "serviceGraph": "Mapa de servicios", @@ -1394,11 +1394,11 @@ "discoverSessionMessage": "La reproducción de sesiones captura y reproduce las interacciones de los usuarios en su sitio web o aplicación. Esto te permite revisar visualmente cómo navegan los usuarios, dónde hacen clic, qué escriben y cómo interactúan con tu contenido", "loadingErrorDetails": "Agárrate fuerte, estamos buscando los detalles del error.", "eventID": "ID de evento", - "noCorrelatedTraces": "No se han encontrado rastros correlacionados para esta sesión.", - "span": "lapso", - "spans": "se extiende", - "errorTraces": "rastros de errores", - "failedToFetchTraces": "No se pudieron obtener los datos de seguimiento. Por favor, inténtelo de nuevo.", + "noCorrelatedTraces": "No se encontraron trazas correlacionadas para esta sesión.", + "span": "span", + "spans": "spans", + "errorTraces": "trazas de error", + "failedToFetchTraces": "No se pudieron obtener los datos de trazas. Inténtalo de nuevo.", "seekToMoment": "Busca este momento de la sesión", "route": "Ruta", "duration": "Duración", @@ -1485,7 +1485,7 @@ "frustrationErrorClick": "El clic provocó un error de JavaScript", "frustrationRageTap": "El usuario tocó rápidamente varias veces (3+) - lo que indica frustración", "frustrationErrorTap": "El toque provocó un error de JavaScript", - "fetchTraceMetadataFailed": "Error al obtener metadatos de traza", + "fetchTraceMetadataFailed": "No se pudieron obtener los metadatos de la traza.", "frustrationEventTooltip": "⚠️ FRUSTRACIÓN: {types}\n{name}", "errorEventTooltip": "⛔ ERROR: {name}", "frustrationSignalType": "Señal de frustración: {type}" @@ -1561,7 +1561,7 @@ "feature_license": "Licencia", "feature_support": "Soporte", "feature_cost": "Coste", - "feature_pipelines_external": "Tuberías: destinos externos", + "feature_pipelines_external": "Tuberías - Destinos externos", "feature_extreme_performance": "Rendimiento extremo (mejora de 100 veces para muchas consultas)", "feature_query_optimizer": "Optimizador de consultas", "value_license_agpl": "AGPL", @@ -1663,7 +1663,7 @@ }, "core_features": { "logs_metrics_traces": { - "name": "Registros, métricas y trazas", + "name": "Buscar, Métricas, Trazas", "note": "Ingestión y análisis completos de datos de observabilidad" }, "rum": { @@ -1736,7 +1736,7 @@ "note": "Proteja la PII y la información confidencial" }, "pipeline_remote_destinations": { - "name": "Destinos remotos de oleoductos", + "name": "Destinos remotos de tuberías", "note": "Enviar datos a destinos remotos" }, "query_optimizer": { @@ -1780,7 +1780,7 @@ "note": "Operaciones de unión distribuidas optimizadas" }, "logs_metrics_traces_correlation": { - "name": "Correlación de registros, métricas y trazas", + "name": "Correlación de Buscar, Métricas y Trazas", "note": "Detección y correlación automatizadas" }, "service_maps": { @@ -2464,7 +2464,7 @@ "secondaryIndexCount": "Índice secundario ({count})" }, "deleteField": "Eliminar campo", - "header": "Transmisiones", + "header": "Flujos", "subtitle": "Administración de índices y configuración de flujos", "streamNameHelpText": "Utilice únicamente caracteres alfanuméricos, guiones bajos y dos puntos.", "search": "Buscar transmisión", @@ -2627,7 +2627,7 @@ }, "triggerMeta": { "orgId": "ID de la organización a la que pertenece la alerta.", - "streamType": "Tipo de stream — logs, métricas o trazas.", + "streamType": "Tipo de flujo — logs, métricas o trazas.", "streamName": "Stream que monitorea la alerta.", "alertName": "Nombre de la alerta que se disparó.", "alertType": "Tipo de alerta — en tiempo real o programada.", @@ -2665,7 +2665,7 @@ "output": "Salida", "noInput": "Este paso no recibió ningún registro en la última ejecución.", "sentExternally": "Enviado al destino externo", - "destinationNoRecords": "Ningún registro llegó a este destino — no se envió nada.", + "destinationNoRecords": "No llegaron registros a este destino — no se envió nada.", "branchFiltered": "0 registros — nada pasó a esta rama.", "conditionNoMatch": "Ningún registro coincidió con esta condición — nada continuó hacia los pasos posteriores.", "errorHeading": "Error", @@ -2756,8 +2756,8 @@ "disabledBadge": "Desactivado", "incompleteBadge": "Configurar más tarde", "destinationSetUpLater": "Configurar más tarde", - "destinationSetUpLaterPrompt": "¿Aún no tienes un destino? Activa esto para configurarlo más tarde — puedes guardar un borrador y probar ahora.", - "destinationSetUpLaterActive": "El destino se omite por ahora — el nombre y el comentario se guardan igualmente. Necesitarás un destino antes de publicar.", + "destinationSetUpLaterPrompt": "¿No tienes un destino todavía? Activa esto para configurarlo más tarde: puedes guardar un borrador y probar ahora.", + "destinationSetUpLaterActive": "El destino se omite por ahora: el nombre y el comentario aún se guardan. Necesitarás un destino antes de publicar.", "functionSetUpLater": "Configurar más tarde", "functionSetUpLaterPrompt": "¿Aún no tienes una función? Activa esto para configurarla más tarde — puedes guardar un borrador y probar ahora.", "functionSetUpLaterActive": "La función se omite por ahora — el nombre y el comentario se guardan igualmente. Necesitarás una función antes de publicar." @@ -2816,7 +2816,7 @@ "functionNodeInvalidName": "El nodo de función {id} tiene un nombre de función no válido \"{name}\". Debe ser una de las funciones disponibles.", "outputStreamNodeEmptyName": "El nodo de flujo de salida {id} tiene un nombre de flujo vacío", "remoteStreamNodeEmptyDestination": "El nodo de flujo remoto {id} tiene un nombre de destino vacío", - "remoteStreamNodeInvalidDestination": "El nodo de flujo remoto {id} tiene un destino no válido \"{destination}\". Debe ser uno de los destinos de pipeline disponibles.", + "remoteStreamNodeInvalidDestination": "El nodo de flujo remoto {id} tiene un destino no válido \"{destination}\". Debe ser uno de los destinos de tubería disponibles.", "edgeMissingSourceNode": "El borde {id} hace referencia a un nodo de origen inexistente {source}", "edgeMissingTargetNode": "El borde {id} hace referencia a un nodo de destino inexistente {target}", "inputNodeHasIncomingEdges": "El nodo de entrada {id} no debería tener bordes entrantes. Se encontraron {count} bordes entrantes.", @@ -2831,7 +2831,7 @@ "importErrors": { "unknownError": "Error desconocido", "nameRequired": "Pipeline - {index}: El nombre es obligatorio", - "streamTypeInvalid": "Pipeline - {index}: El tipo de stream es obligatorio y debe ser uno de: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Tubería - {index}: El tipo de flujo es obligatorio y debe ser uno de: 'logs', 'métricas', 'trazas'.", "sourceStreamNameRequired": "Pipeline - {index}: El nombre del stream de origen es obligatorio ", "sqlQueryRequired": "Pipeline - {index}: La consulta SQL es obligatoria", "timezoneRequired": "Pipeline - {index}: La zona horaria es obligatoria", @@ -2844,7 +2844,7 @@ "v0ConditionFields": "Pipeline - {index}, Nodo {nodeIndex}: Formato V0 - cada condición debe tener columna, operador y valor.", "v1ConditionInvalid": "Pipeline - {index}, Nodo {nodeIndex}: Formato de condición V1 no válido.", "conditionFormatUnrecognized": "Pipeline - {index}, Nodo {nodeIndex}: Formato de condición no reconocido.", - "remoteDestinationRequired": "Pipeline - {index}: El destino remoto es obligatorio", + "remoteDestinationRequired": "Tubería - {index}: El destino remoto es obligatorio", "createSuccess": "Pipeline - {index}: \"{name}\" creado con éxito \nNota: por favor elimine el objeto de pipeline creado {name} del archivo json", "createFailed": "Pipeline - {index}: La creación de \"{name}\" falló --> \n Razón: {reason}", "sqlQueryMismatch": "Pipeline - {index}: La consulta SQL debe ser la misma en todos los nodos y también intente hacer coincidir la consulta en los nodos \n\n input.sql_query: {sqlQuery} \n\n input.source.query_condition.sql: {sourceSql} \n", @@ -2971,8 +2971,8 @@ "statusUnknown": "Desconocido", "phaseInitializing": "Inicializando" }, - "deleteBackfillConfirmMessage": "Ha seleccionado eliminar datos existentes antes del backfill. Esto eliminará permanentemente todos los datos en el flujo de destino para el rango de tiempo especificado.", - "editBackfillDeleteConfirmMessage": "Ha seleccionado eliminar datos existentes antes del backfill. Esto eliminará permanentemente todos los datos en el flujo de destino para el rango de tiempo especificado. Esta acción NO se puede deshacer ni cancelar una vez que el trabajo se actualice. ¿Está seguro de que desea continuar?", + "deleteBackfillConfirmMessage": "Has seleccionado eliminar los datos existentes antes del backfill. Esto eliminará permanentemente todos los datos en el flujo de destino para el rango de tiempo especificado.", + "editBackfillDeleteConfirmMessage": "Has seleccionado eliminar los datos existentes antes del backfill. Esto eliminará permanentemente todos los datos en el flujo de destino para el rango de tiempo especificado. Esta acción NO se puede deshacer ni cancelar una vez que se actualice el trabajo. ¿Estás seguro de que deseas continuar?", "actionCannotBeUndone": "Esta acción NO se puede deshacer ni cancelar una vez que se cree el trabajo.", "areYouSureProceed": "¿Está seguro de que desea continuar?", "clearFilters": "Limpiar filtros", @@ -3036,7 +3036,7 @@ "sourceQueryTooltip": "Fuente: Query Node", "functionTooltip": "Nodo de función", "conditionTooltip": "Nodo de condición", - "destinationStreamTooltip": "Destino: Stream Node", + "destinationStreamTooltip": "Destino: nodo de flujo", "destinationExternalTooltip": "Destino: nodo de destino externo", "pipelineNotFound": "No se encontró la tubería", "pipelineNameRequired": "El nombre del oleoducto es obligatorio", @@ -3044,7 +3044,7 @@ "destinationNodeRequired": "El nodo de destino es obligatorio", "connectAllNodes": "Conecta todos los nodos antes de guardar", "connectAllNodesShort": "Conecta todos los nodos", - "enrichmentTablesScheduledOnly": "Las tablas de enriquecimiento como flujo de destino solo están disponibles para las canalizaciones programadas", + "enrichmentTablesScheduledOnly": "Las tablas de enriquecimiento como flujo de destino solo están disponibles para tuberías programadas", "savingPipeline": "Ahorrando oleoducto...", "pipelineUpdated": "La canalización se actualizó correctamente", "pipelineSaved": "La canalización se guardó correctamente", @@ -3076,7 +3076,7 @@ "functionAlreadyAssociated": "La función ya está asociada", "atLeastOneCondition": "Agregue al menos una condición", "fillAllConditionFields": "Complete todos los campos de la condición (la columna, el operador y el valor son obligatorios)", - "selectExternalDestination": "Seleccione un destino externo de la lista", + "selectExternalDestination": "Selecciona un destino externo de la lista", "backfillNumericRange": "Debe estar entre {min} y {max}", "selectValidTimeRange": "Seleccione un rango de tiempo válido", "startBeforeEndTime": "La hora de inicio debe ser anterior a la hora de finalización", @@ -3092,7 +3092,7 @@ "streamType": "Tipo de stream *" }, "sourceNode": "Fuente", - "streamNode": "Transmitir", + "streamNode": "Flujo", "queryNode": "Consulta", "transformNode": "Transformar", "functionNode": "Función", @@ -3156,7 +3156,7 @@ "customStep5": "Elija el formato de salida (JSON o NDJSON)", "customStep6": "Pruebe la conexión para verificar que funcione", "defaultTitle": "Detalles de conexión", - "defaultStep1": "Seleccione un tipo de destino para ver instrucciones específicas" + "defaultStep1": "Selecciona un tipo de destino para ver instrucciones específicas" }, "deleteFunctionAssociationConfirm": "¿Está seguro de que desea eliminar la asociación de la función?", "deleteStreamRoutingConfirm": "¿Está seguro de que desea eliminar el enrutamiento del stream?", @@ -3182,7 +3182,7 @@ "noJobSelected": "Ningún trabajo seleccionado", "updateBackfillJobFailed": "No se pudo actualizar el trabajo de backfill", "fetchPipelineHistoryFailed": "No se pudo obtener el historial de pipelines", - "defaultDestinationNodeWarning": "Quitar el nodo de destino predeterminado detiene la ingesta de datos en él. El flujo de origen se enrutará solo al flujo de destino recién agregado. Los datos que no se enruten a ningún flujo de destino se descartarán.", + "defaultDestinationNodeWarning": "Al eliminar el nodo de destino predeterminado, se detiene la ingesta de datos en él. El flujo de origen se enrutará entonces solo al flujo de destino recién agregado. Los datos que no se enrutan a ningún flujo de destino se descartarán.", "confirmBulkDeleteMsg": "¿Seguro que desea eliminar {count} pipeline(s)?", "confirmPauseBackfillJob": "¿Seguro que desea pausar el trabajo de backfill para \"{name}\"? Puede reanudarlo más tarde.", "confirmResumeBackfillJob": "¿Seguro que desea reanudar el trabajo de backfill para \"{name}\"?", @@ -3292,10 +3292,10 @@ "analyzingDimensions": "Analizando las dimensiones...", "arrowSeparator": "→", "computingDistributions": "Calcular distribuciones de frecuencias en dimensiones de {count}", - "dashboardDescError": "Comparación del porcentaje de error de los traces durante el período de pico de errores frente a la línea base en todas las dimensiones", - "dashboardDescLatency": "Comparación del percentil de latencia de los traces seleccionados (duración {start}-{end}µs) frente a la línea base en todas las dimensiones", - "dashboardDescVolume": "Comparación de la distribución del recuento de traces frente a la línea base en todas las dimensiones", - "dashboardDescVolumeRate": "Comparación de la distribución del recuento de traces de los períodos seleccionados (tasa de {start}-{end} traces) frente a la línea base en todas las dimensiones", + "dashboardDescError": "Comparación del porcentaje de error de las trazas durante el período de pico de errores frente a la línea base en todas las dimensiones", + "dashboardDescLatency": "Comparación de la latencia percentil de las trazas seleccionadas (duración {start}-{end}µs) frente a la línea base en todas las dimensiones", + "dashboardDescVolume": "Comparación de la distribución del recuento de trazas frente a la línea base en todas las dimensiones", + "dashboardDescVolumeRate": "Comparación de la distribución del recuento de trazas de los períodos seleccionados (tasa {start}-{end} trazas) frente a la línea base en todas las dimensiones", "dashboardTitleError": "Análisis de errores", "dashboardTitleLatency": "Análisis de latencia", "dashboardTitleVolume": "Análisis de volumen", @@ -3303,8 +3303,8 @@ "durationLabel": "Duración:", "failedToLoad": "No se pudo cargar el análisis", "panelDescErrorComparison": "Comparación del porcentaje de error para la dimensión: {dimension}. Las barras seleccionadas más altas indican que este valor de dimensión tiene más errores en el período de pico de errores.", - "panelDescLatencyComparison": "Comparación del percentil de latencia para la dimensión: {dimension}. Las barras seleccionadas más altas indican que este valor de dimensión se correlaciona con traces más lentos.", - "panelDescVolumeComparison": "Comparación del recuento de traces para la dimensión: {dimension}. Las barras seleccionadas más altas indican que este valor de dimensión aparece con más frecuencia en períodos de alto volumen.", + "panelDescLatencyComparison": "Comparación de latencia percentil para la dimensión: {dimension}. Las barras «Seleccionado» más altas indican que este valor de dimensión se correlaciona con trazas más lentas.", + "panelDescVolumeComparison": "Comparación del recuento de trazas para la dimensión: {dimension}. Las barras «Seleccionado» más altas indican que este valor de dimensión aparece con más frecuencia en períodos de alto volumen.", "panelDescVolumeTopValues": "Valores principales por recuento para la dimensión: {dimension}.", "refreshTooltip": "Actualice el análisis con un percentil actualizado", "retryButton": "Reintentar", @@ -3315,7 +3315,7 @@ "title": "Perspectivas", "tabLabel": "Tarifa", "analyzeTooltipLogs": "Analice la distribución de dimensiones para el rango de tiempo actual", - "analyzeTooltipTraces": "Analice las dimensiones de seguimiento para determinar la velocidad, la latencia y los patrones de error", + "analyzeTooltipTraces": "Analiza las dimensiones de las trazas para patrones de tasa, latencia y errores.", "rateLabel": "Tarifa:", "searchInspectionsLabel": "Inspeccione los detalles de ejecución del trabajo de búsqueda", "inspectBtnLabel": "Inspeccionar", @@ -3418,7 +3418,7 @@ "singleTargetTitle": "Destino único de escritura remota", "fanoutTitle": "Distribución a múltiples backends", "tipPrefix": "Consejo: `vmagent` puede duplicar escrituras repitiendo el", - "tipSuffix": "flag, así que puedes mantener un destino existente de VictoriaMetrics mientras también reenvías métricas a OpenObserve.", + "tipSuffix": "flag, para que puedas conservar un destino VictoriaMetrics existente mientras también reenvías métricas a OpenObserve.", "docLinkText": "para obtener más información sobre la configuración de destinos de escritura remota de vmagent." }, "ai": { @@ -3466,7 +3466,7 @@ "dotnettracing": "Rastreo de.NET", "dotnetlogs": "Registros de.NET", "macos": "macOS", - "tracesotlp": "Traces ({product})", + "tracesotlp": "Trazas ({product})", "rum": "Monitorización de usuarios reales", "openvpn": "OpenVPN", "nginx": "Nginx", @@ -3629,14 +3629,14 @@ "anyWindowsHostNote": "Cualquier servidor o VM de Windows.", "arrow": "→", "askOnSlack": "Pregunta en Slack", - "autoInstrumentTracesDesc": "Opcional. El operador de OpenTelemetry inyecta instrumentación en las cargas de trabajo anotadas, por lo que obtienes **trazas distribuidas sin tocar el código de la aplicación ni reconstruir imágenes**. Elige un lenguaje y luego anota el espacio de nombres en el que se ejecuta.", - "autoInstrumentTracesTitle": "Auto-instrumenta tus aplicaciones para trazas", + "autoInstrumentTracesDesc": "Opcional. El operador de OpenTelemetry inyecta instrumentación en cargas de trabajo anotadas, por lo que obtienes **trazas distribuidas sin tocar el código de la aplicación ni reconstruir imágenes**. Elige un lenguaje y luego anota el namespace donde se ejecuta.", + "autoInstrumentTracesTitle": "Instrumenta automáticamente tus aplicaciones para trazas", "cassandraJmxNote": "Habilita el acceso remoto JMX en Cassandra para que el receptor se conecte.", "cassandraTagline": "Recopila métricas de Cassandra a través del receptor JMX del OpenTelemetry Collector y envíalas a OpenObserve.", "checking": "Comprobando…", "checkingForLogs": "Buscando registros…", "checkingForMetrics": "Buscando métricas…", - "checkingForSpans": "Buscando spans…", + "checkingForSpans": "Comprobando si hay spans…", "chipEditor": "Editor", "chipInstall": "Instalar", "chipLogs": "Registros", @@ -3675,7 +3675,7 @@ "gcpFixBody": "GCP informa fallos de entrega en la propia suscripción. Si el receptor está publicando pero no llega nada aquí, el endpoint de push normalmente está rechazando la solicitud:", "gcpFixTitle": "Comprobar la suscripción de push", "gcpPushUrlNote": "Mantén esta URL en secreto — incrusta la clave de ingesta. Rótala desde el encabezado de esta página si se filtra.", - "gcpSinkDesc": "En la consola de GCP, crea un **sumidero de Log Router** (Logging → Log Router → Create sink) con Pub/Sub como destino y deja que cree el tema. El filtro de inclusión del sumidero decide qué registros llegan a OpenObserve.", + "gcpSinkDesc": "En la consola de GCP, crea un **sink de Log Router** (Logging → Log Router → Create sink) con Pub/Sub como destino y deja que cree el tema. El filtro de inclusión del sink decide qué logs llegan a OpenObserve.", "gcpSinkTitle": "Enrutar registros a un tema de Pub/Sub", "gcpSinkWriterNote": "Otorga a la identidad de escritor del receptor el rol de Publicador de Pub/Sub en el tema, o no publicará nada en silencio.", "gcpStreamHelp": "Se usa en la URL de envío anterior y lo vigila la comprobación siguiente. Un flujo dedicado mantiene los registros de GCP separados.", @@ -3748,7 +3748,7 @@ "mysqlTagline": "Recopile métricas de MySQL con el OpenTelemetry Collector y envíelas a OpenObserve.", "noLogsFoundYet": "Aún no se encontraron logs", "noMetricsFoundYet": "Aún no se encontraron métricas", - "noSpansFoundYet": "Aún no se encontraron spans", + "noSpansFoundYet": "Aún no se han encontrado spans", "nothingOnStream": "nada en {stream} — ejecuta tu aplicación y vuelve a probar", "notTestedYet": "Aún no probado", "onStream": "en {stream}", @@ -3757,16 +3757,16 @@ "oracleTagline": "Recopile métricas de Oracle DB con el OpenTelemetry Collector y envíelas a OpenObserve.", "otlpFixBody": "Definir un exportador no es suficiente — debe estar listado en un pipeline. Esta es la razón más común por la que una configuración de aspecto correcto no envía nada:", "otlpFixTitle": "Verifica que el exportador esté realmente integrado en el pipeline", - "otlpGrpcNote": "Menor sobrecarga que HTTP para volúmenes altos de spans. El puerto 5081 debe ser accesible desde el colector.", + "otlpGrpcNote": "Menos sobrecarga que HTTP para volúmenes altos de spans. El puerto 5081 debe ser accesible desde el collector.", "otlpHttpNote": "El valor predeterminado para OpenTelemetry Collector — funciona en todas partes, incluso detrás de proxies y balanceadores de carga.", "otlpSdkEnvNote": "Variables de entorno OTEL_* estándar — todo SDK de OpenTelemetry las lee, por lo que no se necesita ningún cambio de código.", "otlpTracesStreamHelp": "Se escribe en la configuración anterior como `stream-name`, y lo vigila la comprobación siguiente.", "otlpTrouble401A": "El encabezado `Authorization` debe ser `Basic ` usando el token de ingesta de esta organización — el valor de arriba ya es correcto. Si se rotó, cópialo de nuevo desde esta página.", "otlpTrouble401Q": "El colector registra 401 o 403", - "otlpTroubleHttpGrpcA": "HTTP es el valor predeterminado seguro y atraviesa proxies y balanceadores de carga sin problemas. gRPC tiene menor sobrecarga a alto volumen de spans, pero necesita que el puerto 5081 sea accesible de extremo a extremo.", + "otlpTroubleHttpGrpcA": "HTTP es el valor predeterminado seguro y atraviesa proxies y balanceadores de carga sin problemas. gRPC tiene menos sobrecarga en volúmenes altos de spans, pero necesita que el puerto 5081 sea accesible de extremo a extremo.", "otlpTroubleHttpGrpcQ": "¿Debo usar HTTP o gRPC?", "otlpTroubleStreamA": "El encabezado `stream-name` decide el stream. Configúralo con el mismo nombre que el campo de arriba; de lo contrario, la verificación de abajo observa un stream al que no se escribe nada.", - "otlpTroubleStreamQ": "Los spans llegan pero caen en el stream equivocado", + "otlpTroubleStreamQ": "Los spans llegan pero terminan en el stream incorrecto", "otlpTroubleTlsA": "La bandera `tls.insecure` debe coincidir con el esquema del endpoint — está establecida en `{insecure}` arriba según la URL de este despliegue. Un endpoint HTTP simple necesita `insecure: true`; uno HTTPS necesita `false`.", "otlpTroubleTlsQ": "La conexión gRPC falla con un error TLS", "pillActiveBackends": "Backends activos", @@ -3969,19 +3969,19 @@ "sqlServerTagline": "Recopile métricas de SQL Server con el OpenTelemetry Collector y envíelas a OpenObserve.", "startIngestingTestForLogs": "Empieza a ingerir y luego prueba los logs", "startIngestingTestForMetrics": "Empieza a ingerir y luego prueba las métricas", - "startIngestingTestForSpans": "Empieza a ingerir y luego prueba los spans", + "startIngestingTestForSpans": "comienza a ingerir y luego prueba con spans", "streamNameError": "Usa solo letras, números y _.", "streamNameLabel": "Nombre del stream", "stuck": "¿Atascado?", "taglineDatabricks": "Envía registros de notebooks de Databricks a OpenObserve a través de la API de registros.", "taglineGcp": "Transmite registros de Google Cloud a OpenObserve con una suscripción push de Pub/Sub: no hay que ejecutar ningún agente ni recolector.", - "taglineKubernetes": "Implementa el recolector de OpenObserve en tu clúster: registros de contenedores, eventos de Kubernetes y métricas del clúster, además de trazas sin código para tus cargas de trabajo.", + "taglineKubernetes": "Despliega el collector de OpenObserve en tu clúster: registros de contenedores, eventos de Kubernetes y métricas del clúster, además de trazas sin código para tus cargas de trabajo.", "taglineLinux": "Instala el agente de OpenObserve en cualquier host Linux: registros del sistema y de journald, además de métricas de CPU, memoria, disco y red.", "taglineMacos": "Instala el agente de OpenObserve en cualquier Mac: el registro unificado y los archivos de registro estándar, además de métricas de CPU, memoria, disco y red.", "taglineOtlpTraces": "Apunta cualquier exportador de OpenTelemetry a OpenObserve: recolector o SDK, HTTP o gRPC. Tu endpoint y token se completan a continuación.", "taglineWindows": "Instala el agente de OpenObserve en cualquier host Windows: Registro de eventos, contadores de rendimiento y métricas del host.", "testAgain": "Probar de nuevo", - "tracesStreamNameLabel": "Nombre del flujo de trazas", + "tracesStreamNameLabel": "Nombre del stream de trazas", "trackScreensDesc": "Si usas React Navigation, pasa al SDK tu referencia de navegación y cada cambio de ruta se registra como una vista RUM, sin necesidad de código por pantalla.", "trackScreensTitle": "Rastrear pantallas automáticamente (opcional)", "troubleshooting": "Solución de problemas", @@ -4001,7 +4001,7 @@ "verifyMongodbMetricsDesc": "Pulse Probar a continuación, o revise los flujos para ver las métricas `mongodb_*`.", "verifyMysqlMetricsDesc": "Pulse Probar a continuación, o revise los flujos para ver las métricas `mysql_*`.", "verifyOracledbMetricsDesc": "Pulse Probar a continuación, o revise los flujos para ver las métricas `oracledb_*`.", - "verifyOtlpTracesDesc": "Reinicie el recopilador (o su aplicación), ejecute una solicitud que produzca un span y luego presione Probar.", + "verifyOtlpTracesDesc": "Reinicia el collector (o tu aplicación), ejecuta una solicitud que produzca un span y luego pulsa Probar.", "verifyPostgresqlMetricsDesc": "Pulse Probar a continuación, o revise los flujos para ver las métricas `postgresql_*`.", "verifyReactNativeRumDesc": "Ejecuta la aplicación en un simulador, emulador o dispositivo, muévete entre algunas pantallas y luego haz clic en Test — los eventos de React Native llegan al flujo `_rumdata`.", "verifyRedisMetricsDesc": "Pulse Probar a continuación, o revise los flujos para ver las métricas `redis_*`.", @@ -4036,11 +4036,11 @@ "verifyAndroidRumDesc": "Ejecutar la aplicación en un emulador o dispositivo, moverse entre algunas pantallas, luego pulsar Probar — los eventos nativos de Android llegan al flujo `_rumdata`.", "verifyIosRumDesc": "Ejecutar la aplicación en un simulador o dispositivo, moverse entre algunas pantallas, luego pulsar Probar — los eventos nativos de iOS llegan al flujo `_rumdata`.", "dbmPreparePostgresTitle": "Monitoreo de bases de datos · Otorgar acceso (opcional)", - "dbmPreparePostgresDesc": "**Todo lo anterior está completo por sí solo** — los tiempos de consulta ya llegan a Bases de datos desde las trazas de tu aplicación, sin configuración aquí. Estos últimos pasos añaden lo que una traza nunca puede ver: interbloqueos y consultas bloqueadas, que solo la propia base de datos registra. Otorga `pg_monitor` para que el colector pueda leer las consultas de otras sesiones — ejecútalo en un cliente SQL, **no** en tu shell.", + "dbmPreparePostgresDesc": "**Todo lo anterior es suficiente por sí solo** — los tiempos de consulta ya llegan a Bases de datos desde las trazas de tu aplicación, sin configuración aquí. Estos últimos pasos añaden lo que una traza nunca puede ver: interbloqueos y consultas bloqueadas, que solo la propia base de datos registra. Concede `pg_monitor` para que el collector pueda leer las consultas de otras sesiones — ejecútalo en un cliente SQL, **no** en tu shell.", "dbmPrepareMysqlTitle": "Monitoreo de bases de datos · Conservar historial de interbloqueos (opcional)", "dbmPrepareMariadbTitle": "Monitoreo de bases de datos · Conservar historial de interbloqueos (opcional)", - "dbmPrepareMysqlDesc": "**Todo lo anterior está completo por sí solo** — los tiempos de consulta ya llegan a Bases de datos desde las trazas de tu aplicación, sin configuración aquí. Estos últimos pasos añaden lo que una traza nunca puede ver: interbloqueos y consultas bloqueadas, que solo la propia base de datos registra. Activa el historial completo de interbloqueos — ejecútalo en un cliente SQL, **no** en tu shell.", - "dbmPrepareMariadbDesc": "**Todo lo anterior está completo por sí solo** — los tiempos de consulta ya llegan a Bases de datos desde las trazas de tu aplicación, sin configuración aquí. Estos últimos pasos añaden lo que una traza nunca puede ver: interbloqueos y consultas bloqueadas, que solo la propia base de datos registra. Activa el historial completo de interbloqueos — ejecútalo en un cliente SQL, **no** en tu shell.", + "dbmPrepareMysqlDesc": "**Todo lo anterior es suficiente por sí solo** — los tiempos de consulta ya llegan a Bases de datos desde las trazas de tu aplicación, sin configuración aquí. Estos últimos pasos añaden lo que una traza nunca puede ver: interbloqueos y consultas bloqueadas, que solo la propia base de datos registra. Activa el historial completo de interbloqueos — ejecútalo en un cliente SQL, **no** en tu shell.", + "dbmPrepareMariadbDesc": "**Todo lo anterior es suficiente por sí solo** — los tiempos de consulta ya llegan a Bases de datos desde las trazas de tu aplicación, sin configuración aquí. Estos últimos pasos añaden lo que una traza nunca puede ver: interbloqueos y consultas bloqueadas, que solo la propia base de datos registra. Activa el historial completo de interbloqueos — ejecútalo en un cliente SQL, **no** en tu shell.", "dbmPgLoggingTitle": "Monitoreo de bases de datos · Permitir que Postgres registre interbloqueos (opcional)", "dbmPgLoggingDesc": "Los interbloqueos solo se escriben en el log de Postgres, y solo cuando los ajustes siguientes están activados — por eso este paso es lo que hace que la pestaña Interbloqueos se llene. La línea de prefijo debe coincidir exactamente: el colector la lee para encontrar quién estuvo involucrado, y un prefijo diferente significa que no encuentra nada mientras sigue informando que está sano.", "dbmPgLoggingVerifyTitle": "Monitoreo de bases de datos · Comprobar que los ajustes surtieron efecto (opcional)", @@ -4066,7 +4066,7 @@ "dbmMysqlLogPathHelp": "El colector debe poder leer este archivo. Encuéntralo con: SHOW VARIABLES LIKE 'log_error';", "dbmMariadbLogPathHelp": "El colector debe poder leer este archivo. Encuéntralo con: SHOW VARIABLES LIKE 'log_error';", "dbmPrepareMssqlTitle": "Monitoreo de base de datos · Otorgar acceso (opcional)", - "dbmPrepareMssqlDesc": "**Todo lo anterior está completo por sí solo** — los tiempos de consulta ya llegan a Bases de datos desde los traces de su aplicación, sin configuración aquí. Este último grupo agrega lo que un trace nunca puede ver: deadlocks y consultas bloqueadas, que solo la base de datos misma registra. Ambos permisos son necesarios — uno permite que el recolector lea otras sesiones, el otro le permite leer el historial de deadlocks. Ejecútelos en un cliente SQL, **no** en su shell.", + "dbmPrepareMssqlDesc": "**Todo lo anterior es suficiente por sí solo** — los tiempos de consulta ya llegan a Bases de datos desde las trazas de tu aplicación, sin configuración aquí. Este último grupo añade lo que una traza nunca puede ver: interbloqueos y consultas bloqueadas, que solo la propia base de datos registra. Se necesitan ambos permisos: uno permite que el collector lea otras sesiones y el otro le permite leer el historial de interbloqueos. Ejecútalos en un cliente SQL, **no** en tu shell.", "dbmConfigureMssqlDesc": "Escribe `dbm-config.yaml` — configure la base de datos a la que conectarse a continuación. SQL Server obtiene deadlocks, consultas bloqueadas, muestras de actividad, consultas principales y planes de ejecución aquí. El receptor sqlserver lee en toda la instancia, por lo que la actividad y las consultas principales no se limitan a la base de datos que nombre arriba.", "dbmRunMssqlDesc": "Ejecuta ambas configuraciones juntas. Use el mismo inicio de sesión y contraseña que creó en el paso 1.", "dbmVerifyBlockingDesc": "Abra **Infra → Bases de datos → Consultas bloqueadas**. Las sesiones que esperan un bloqueo aparecen tan pronto como se muestrea una — una pestaña vacía allí le indica si nada está bloqueado o si no se está recopilando nada.", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "Abra **Infra → Bases de datos** y elija una pestaña a continuación. Los deadlocks y las consultas bloqueadas aparecen tan pronto como su base de datos informa uno — una pestaña vacía allí le indica si no sucedió nada o si no se está recopilando nada. La salud de la tabla se llena después de la primera instantánea de 60 segundos." }, "instrumentBeforeImportTitle": "Instrumentar antes de importar el cliente", - "instrumentBeforeImportBody": "Si tu aplicación se ejecuta pero no llegan spans, probablemente la instrumentación se cargó después de importar el cliente. Reordenar para que la inicialización se ejecute primero:", + "instrumentBeforeImportBody": "Si tu aplicación se ejecuta pero no llegan spans, es probable que la instrumentación se haya cargado después de importar el cliente. Reordena para que la inicialización se ejecute primero:", "launchCloudFormationStack": "Lanzar la pila de CloudFormation", "openStackSetsConsole": "Abrir la consola de StackSets", "integrations": { @@ -4239,7 +4239,7 @@ "streamOverview": "resumen de {stream}" }, "selectField": "Campo", - "selectIndex": "Seleccionar índice", + "selectIndex": "Stream", "selectStreamType": "Tipo de transmisión", "toggleFunctionEditor": "Alternar editor de funciones", "useSavedFunction": "Usar la función Guardado", @@ -5554,7 +5554,7 @@ "deletePanelTitle": "Eliminar panel", "deletePanelMessage": "¿Está seguro de que desea eliminar este panel?", "movePanelTitle": "Mover el panel a otra pestaña", - "movePanelMessage": "Seleccione la pestaña de destino", + "movePanelMessage": "Selecciona la pestaña de destino", "noQueriesToCreateAlert": "Este panel no tiene consultas desde las que crear una alerta", "panelQueryMustHaveStream": "La consulta del panel debe tener una transmisión configurada", "unsupportedPanelTypeAlert": "Es posible que la creación de alertas desde los paneles de {type} no funcione como se esperaba", @@ -5657,7 +5657,7 @@ "home": { "alertsOverviewSection": "Sección de resumen de alertas", "pipelinesOverviewSection": "Sección de resumen de pipelines", - "streams": "Transmisiones", + "streams": "Streams", "totalDataIngested": "Total de datos ingeridos", "totalDataCompressed": "Tamaño comprimido", "viewButton": "Ver", @@ -5718,7 +5718,7 @@ "emptyActionLogs": "Explore los registros", "emptyActionLogsDesc": "Busque y filtre sus flujos de registro", "emptyActionTraces": "Explora las trazas", - "emptyActionTracesDesc": "Inspeccione los rastros distribuidos y la latencia del servicio", + "emptyActionTracesDesc": "Inspecciona trazas distribuidas y la latencia del servicio", "anomalyDetectedTitle": "Anomalía detectada — {name}", "anomalyDetectedDescription": "Stream: {stream} · {count} punto(s) anómalo(s)", "secondsAgo": "hace {count}s", @@ -5767,7 +5767,7 @@ "stderr": "Stderr", "truncatedLabel": "truncado", "copyQuery": "Copiar consulta", - "stream": "Flujo", + "stream": "Stream", "start": "Inicio", "end": "Fin", "from": "Desde", @@ -5806,7 +5806,7 @@ "taglineTail": ". Puedo escribir tu", "taglineSql": "SQL", "taglineVrl": "VRL", - "taglineAnd": "y le guiará a través de sus registros, rastreos, métricas e incidentes.", + "taglineAnd": "y te guiará a través de tus logs, trazas, métricas e incidentes.", "signedInAs": "Iniciado sesión como", "role": "Rol", "tryOneOfThese": "O prueba uno de estos" @@ -5814,12 +5814,12 @@ "capabilities": { "query": { "title": "Escribe una consulta", - "description": "SQL para registros, seguimientos, RUM o PromQL para métricas.", + "description": "SQL para logs, trazas, Monitorización RUM o PromQL para métricas.", "prompt": "Ayúdame a escribir una consulta" }, "incident": { "title": "Investigue los incidentes", - "description": "Causa raíz en registros, rastreos y alertas, por ejemplo, «¿Por qué se activó Gateway-5xx?»", + "description": "Causa raíz en logs, trazas y alertas — p. ej., \"¿Por qué se disparó gateway-5xx?\"", "prompt": "Ayúdame a investigar los incidentes" }, "dashboard": { @@ -5962,7 +5962,7 @@ "features": "CARACTERÍSTICAS", "included": "¿Qué está incluido?", "proPlanSubtitle": "Soluciones personalizadas para equipos pequeños", - "unlimitedNote": "Usuarios, registros, métricas, rastreos y más ilimitados.", + "unlimitedNote": "Usuarios ilimitados, logs, métricas, trazas y más.", "paymentNote": "El pago se calcula según el uso al final del ciclo de facturación mensual.", "proPlanLabel": "Paga sobre la marcha", "contactLabel": "Póngase en contacto con Ventas", @@ -6147,7 +6147,7 @@ "orgIdInvalid": "Alerta - {index}: El ID de organización es obligatorio, debe existir en la lista de organizaciones y debe ser igual a {orgId}.", "streamTypeInvalid": "Alerta - {index}: El tipo de flujo es obligatorio y debe ser uno de: 'logs', 'metrics', 'traces'.", "streamNameInvalid": "Alerta - {index}: El nombre del flujo es obligatorio, debe existir en la lista de flujos y debe ser una cadena válida.", - "destinationsRequired": "Alerta - {index}: Los destinos son obligatorios y deben ser una matriz.", + "destinationsRequired": "Alerta - {index}: Los destinos son obligatorios y deben ser un arreglo.", "enabledBoolean": "Alerta - {index}: Habilitado debe ser booleano.", "tzOffsetNumber": "Alerta - {index}: El desplazamiento de zona horaria debe ser un número.", "timezoneRequiredForCron": "Alerta - {index}: La zona horaria es obligatoria cuando el tipo de frecuencia es 'cron'.", @@ -6328,7 +6328,7 @@ "guidelinesLabel": "Directrices:", "selectStreamGuideline": "Seleccione un stream existente de la lista o ingrese el nombre para crear uno nuevo", "enrichmentTablesTerm": "Enrichment_tables", - "enrichmentTablesDestinationNote": "como stream de destino solo está disponible para pipelines programados", + "enrichmentTablesDestinationNote": "ya que el flujo de destino solo está disponible para tuberías programadas", "useCurlyBracesNote": "Use llaves", "configureStreamNameDynamicNote": "para configurar el nombre del stream dinámicamente. p. ej.", "staticTextBeforeAfterNote": ". Texto estático antes/después", @@ -6362,7 +6362,7 @@ "pendingBatches": "Lotes pendientes", "pendingBatchesTooltip": "Alertas esperando agruparse", "historyTimeline": { - "firing": "Disparadas", + "firing": "Disparada", "ok": "Ok", "error": "Error", "skipped": "Omitidas", @@ -6459,8 +6459,8 @@ "searchAllFolders": "Todas las carpetas", "streamConfig": "Configuración de transmisión", "alertRules": "Reglas de alerta", - "noTemplatesMsg": "Para crear una alerta, necesita al menos una plantilla y un destino. Las plantillas definen el formato del mensaje de notificación; comience por crear una.", - "noDestinationsMsg": "Para crear una alerta, necesita al menos un destino y una plantilla. Los destinos definen dónde se envían las notificaciones; comience por crear una.", + "noTemplatesMsg": "Para crear una alerta necesitas al menos una plantilla y un destino. Las plantillas definen el formato del mensaje de notificación — empieza creando una.", + "noDestinationsMsg": "Para crear una alerta necesitas al menos un destino y una plantilla. Los destinos definen a dónde se envían las notificaciones — empieza creando uno.", "add": "Agregar alerta", "edit": "Editar", "clone": "Clonar alerta", @@ -6512,36 +6512,36 @@ "threshold": "Umbral", "silenceNotification": "Silenciar notificación para", "destination": "Destino", - "destinationOrWorkflowRequired": "Añade al menos un destino o flujo de trabajo.", + "destinationOrWorkflowRequired": "Agrega al menos un destino o flujo de trabajo.", "customDestination": "Destino personalizado", - "customDestinationDescription": "Configurar un punto final HTTP o un destino de correo electrónico personalizados", - "testIdleMessage": "Haga clic en «Probar» para verificar la configuración de destino", + "customDestinationDescription": "Configura un endpoint HTTP personalizado o un destino de correo electrónico", + "testIdleMessage": "Haz clic en 'Probar' para verificar tu configuración de destino", "destinationPreview": "Vista previa del destino", "template": "Anulación de plantillas", "additionalVariables": "Variables adicionales", - "testSuccessMessage": "¡Prueba exitosa! Su destino está configurado correctamente.", + "testSuccessMessage": "¡Prueba exitosa! Tu destino está configurado correctamente.", "testFailedMessage": "Fallo en la prueba. Compruebe la configuración e inténtelo de nuevo.", "testFailedWithReason": "Prueba fallida: {reason}", - "testInProgress": "Destino de la prueba...", + "testInProgress": "Probando destino...", "sendingNotification": "Envío de una notificación de prueba para verificar la conectividad", "testErrorDNS": "Fallo en la resolución de DNS. Compruebe la URL o el nombre de host del webhook.", "testErrorConnection": "Conexión rechazada. Compruebe la URL y asegúrese de que se puede acceder al servicio.", - "testErrorTimeout": "Se agotó el tiempo de espera de la solicitud. El servicio de destino puede ser lento o inalcanzable.", + "testErrorTimeout": "La solicitud agotó el tiempo de espera. El servicio de destino puede ser lento o estar inaccesible.", "testErrorSSL": "Error en el certificado SSL/TLS. Verifique el certificado o desactive la verificación SSL.", "testErrorClientError": "Error de cliente (4xx). Compruebe sus credenciales y su configuración.", - "testErrorServerError": "Error de servidor (5xx). El servicio de destino tiene problemas.", + "testErrorServerError": "Error de servidor (5xx). El servicio de destino está experimentando problemas.", "viewDetails": "Ver detalles", "error": "Error", "httpStatus": "Estado HTTP", "responseBody": "Cuerpo de respuesta", "retry": "Reintentar", "suggestCheckUrl": "Comprueba que la URL del webhook es correcta y accesible.", - "suggestCheckFirewall": "Compruebe la configuración del firewall y asegúrese de que se pueda acceder al servicio de destino.", + "suggestCheckFirewall": "Revisa la configuración de tu firewall y asegúrate de que el servicio de destino sea accesible.", "suggestCheckCredentials": "Compruebe que las credenciales de la API son correctas.", "suggestCheckPermissions": "Comprueba que tus credenciales tengan los permisos necesarios.", "suggestCheckEndpoint": "Compruebe que la URL del punto final es correcta.", "suggestRateLimit": "Has superado el límite de tarifa. Espera antes de volver a intentarlo.", - "suggestServerIssue": "El servicio de destino tiene problemas. Vuelva a intentarlo más tarde.", + "suggestServerIssue": "El servicio de destino está experimentando problemas. Inténtalo de nuevo más tarde.", "description": "Descripción", "stream_name": "Nombre de la transmisión", "cloneTitle": "Clonar alerta", @@ -6779,7 +6779,7 @@ "acknowledge": "Reconocer", "resolve": "Resolver", "reopen": "Reabrir", - "statusOpen": "Abrir", + "statusOpen": "Abierto", "statusAcknowledged": "Reconocido", "statusResolved": "Resuelto", "correlationServiceDiscovery": "Descubrimiento de servicios", @@ -6968,12 +6968,12 @@ "noTargetsAvailable": "No hay destinos ni flujos de trabajo disponibles", "targetsDestinationsGroup": "Destinos", "targetsWorkflowsGroup": "Flujos de trabajo", - "refreshDestinations": "Actualizar los destinos más recientes", - "addNewDestination": "Agregar nuevo destino", + "refreshDestinations": "Actualizar últimos destinos", + "addNewDestination": "Agregar destino", "cooldownTooltip": "Si la alerta se activa, ¿cuánto tiempo debe esperar antes de enviar otra notificación? Por ejemplo, si la alerta se activa a las 16:00 y la notificación de silencio está configurada en 10 minutos, no se enviará otra notificación hasta las 16:10 p. m., incluso si la alerta persiste después de 1 minuto. Esto se hace para evitar enviar notificaciones no deseadas al usuario.", "periodTooltip": "Período durante el que debe ejecutarse la consulta. Por ejemplo, 10 minutos significa que, siempre que se ejecute la consulta, utilizará los últimos 10 minutos de datos.", "timezoneWarning": "Advertencia: La zona horaria que se muestra es aproximada. Verifica y selecciona la zona horaria correcta manualmente.", - "destinationsTooltip": "Seleccione uno o más destinos para enviar notificaciones de alerta.", + "destinationsTooltip": "Selecciona uno o más destinos para enviar notificaciones de alerta.", "createsIncident": "Crea incidente", "createsIncidentTooltip": "Si una alerta puede crear un incidente, no envía una notificación dedicada. En su lugar, se envía una notificación del incidente cuando se crea un nuevo incidente o cuando un nuevo tipo de alerta se une a un incidente existente.", "helpTemplateTitle": "Anulación de plantillas", @@ -6985,11 +6985,11 @@ "helpLegendLive": "los valores reales de tu alerta", "helpLegendSample": "una muestra: el valor real se establece cuando se activa la alerta", "helpLegendOpaque": "se agrega automáticamente cuando se activa la alerta", - "helpTemplateExplain": "Una plantilla es el mensaje de notificación que se envía: el texto más variables como {'{'} alert_name {'}'}. Al seleccionar una aquí, se anula la plantilla propia de cada destino, solo para esta alerta.", + "helpTemplateExplain": "Una plantilla es el mensaje de notificación que se envía — el texto más variables como {'{'}alert_name{'}'}. Elegir una aquí anula la plantilla de cada destino, solo para esta alerta.", "helpCurrentHeading": "Qué envía esta alerta ahora", - "helpCurrentNoOverride": "Sin conjunto de anulaciones: cada destino usa su propia plantilla:", - "helpCurrentNoDestinations": "Aún no se ha seleccionado ningún destino. Cada destino utilizará su propia plantilla configurada.", - "helpCurrentOverrideHeading": "Todos los destinos utilizan esta plantilla:", + "helpCurrentNoOverride": "No se ha establecido ninguna anulación — cada destino usa su propia plantilla:", + "helpCurrentNoDestinations": "Aún no se han seleccionado destinos. Cada destino usará su propia plantilla configurada.", + "helpCurrentOverrideHeading": "Todos los destinos usan esta plantilla:", "helpPreviewHeading": "Vista previa de una plantilla", "helpPreviewSelectPlaceholder": "Seleccione una plantilla para obtener una vista previa", "helpApplyToAlert": "Aplicar a la alerta", @@ -7001,7 +7001,7 @@ "helpYourVariablesEmpty": "Aún no has agregado ninguna variable.", "helpRowTemplateExplain": "Una alerta puede coincidir con muchas filas. La plantilla de filas decide el aspecto de una sola fila. Luego, {'{'} rows {'}'} de tu plantilla principal se coloca en todas las filas coincidentes que ya estén formateadas.", "helpRowTemplateTypeHeading": "Cadena frente a JSON", - "helpRowTemplateTypeExplain": "La cadena produce texto sin formato por fila. JSON produce un objeto JSON por fila, adecuado para destinos estructurados.", + "helpRowTemplateTypeExplain": "String produce texto plano por fila. JSON produce un objeto JSON por fila, adecuado para destinos estructurados.", "helpRowTemplateTypeCurrent": "Seleccionado actualmente:", "helpPreviewHeadingShort": "Vista previa", "helpWhyHeading": "¿Por qué usar una variable?", @@ -7014,7 +7014,7 @@ "helpVariablesExampleCaption": "Añade la gravedad y el equipo como variables y, a continuación, úsalas en cualquier parte de la plantilla:", "helpExampleResultLabel": "Qué se envía", "helpTemplateWhenHeading": "¿Cuándo debo anular?", - "helpTemplateWhenDesc": "Deje este campo vacío y cada destino utilizará su propia plantilla. Configure una anulación cuando desee que esta alerta envíe el mismo mensaje coherente a todos los destinos, sin modificar la plantilla de cada destino.", + "helpTemplateWhenDesc": "Déjalo vacío y cada destino usará su propia plantilla. Configura una anulación cuando quieras que esta alerta envíe el mismo mensaje coherente a todos los destinos, sin editar la plantilla de cada destino.", "helpRowTemplateWhyHeading": "¿Por qué una plantilla de filas?", "helpRowTemplateWhyDesc": "Una alerta puede coincidir con muchos registros. La plantilla de filas da formato a un registro; {'{'} rows {'}'}, a continuación, coloca todos los registros formateados en la plantilla principal, de modo que puede enumerar todas las coincidencias sin crear un bucle.", "helpRowTemplateExampleCaption": "Cada fila coincidente se formatea según la plantilla de filas y, a continuación, {'{'} rows {'}'} las coloca todas en la plantilla principal:", @@ -7153,10 +7153,10 @@ "lookBackWindowTooltip": "La antigüedad de cada detección en la que se ejecutan las consultas. Tapa la ventana incluso después de una pausa larga. El valor predeterminado es Comprobar todos los intervalos.", "maxThresholdMarkLine": "umbral máximo", "minThresholdMarkLine": "umbral mínimo", - "noDestinationsFound": "No se ha encontrado ningún destino", + "noDestinationsFound": "No se encontraron destinos", "noFieldsFound": "No se encontró ningún campo", "notifications": "Notificaciones", - "notificationsTooltip": "Cuando está habilitada, se enviará una notificación al destino seleccionado cada vez que se detecte una anomalía.", + "notificationsTooltip": "Cuando esté habilitado, se enviará una notificación al destino seleccionado cuando se detecte una anomalía.", "retrainEvery": "Vuelva a entrenar cada", "retrainEveryTooltip": "Con qué frecuencia se debe volver a entrenar automáticamente el modelo. «Nunca» significa entrenar una vez y conservar el modelo hasta que se vuelva a entrenar manualmente.", "retrainFourteenDays": "14 días", @@ -7171,14 +7171,14 @@ "sqlColumnsHint": "La consulta debe devolver dos columnas: {timeBucket} y {valueColumn}.", "sqlRequired": "Se requiere SQL en el modo SQL personalizado", "summaryAlerting": "✓ Alertas: {status}", - "summaryAlertingEnabled": "✓ Alertas: Habilitado → {destinations}", + "summaryAlertingEnabled": "✓ Alertas: habilitadas → {destinations}", "summaryAlertingNoDestination": "✓ Alertas: Habilitado ⚠️ {warning}", "summaryConfiguring": "Configurando detección de anomalías para el stream {streamType} \"{stream}\"", "summaryDataSource": "✓ Fuente de datos: {type} — {name}", "summaryDetectionFunction": "✓ Función de detección: {fn}", "summaryDetectionWindow": "✓ Ventana de detección: últimos {window}", "summaryMonitoring": "Monitorea \"{stream}\" cada {schedule} para detectar anomalías {fn}, entrenado con {trainingDays} días de historial", - "summaryNoDestinationSet": "Ningún destino establecido", + "summaryNoDestinationSet": "Sin destino configurado", "summaryQueryMode": "✓ Modo de consulta: {mode}", "summaryResolution": "✓ Resolución: {resolution}", "summaryRetrain": "✓ Reentrenamiento: {retrain}", @@ -7305,11 +7305,11 @@ "triggerRetrainingFailed": "No se pudo activar el reentrenamiento", "bulkDeleteAlertsFailed": "Error al eliminar alertas. Inténtelo de nuevo.", "deleteDestinationFailed": "Error al eliminar el destino", - "bulkDeleteDestinationsFailed": "Error al eliminar destinos. Inténtelo de nuevo.", + "bulkDeleteDestinationsFailed": "Error al eliminar los destinos. Inténtalo de nuevo.", "bulkDeleteTemplatesFailed": "Error al eliminar plantillas. Inténtelo de nuevo." }, "prebuilt": { - "conversionSuccess": "Destino convertido exitosamente", + "conversionSuccess": "Destino convertido correctamente", "validationError": "Error de validación: {error}", "invalidDestinationType": "Tipo de destino no válido", "invalidTargetType": "Tipo de objetivo no válido", @@ -7317,8 +7317,8 @@ "testFailedUnknownError": "Prueba falló con error desconocido" }, "confirmDeleteAlerts": "¿Está seguro de que desea eliminar {count} alerta? | ¿Está seguro de que desea eliminar {count} alertas?", - "confirmDeleteDestinations": "¿Está seguro de que desea eliminar {count} destino? | ¿Está seguro de que desea eliminar {count} destinos?", - "prebuiltDestination": "Destino predefinido {type}", + "confirmDeleteDestinations": "¿Seguro que quieres eliminar {count} destino? | ¿Seguro que quieres eliminar {count} destinos?", + "prebuiltDestination": "Destino predefinido de {type}", "errorValidations": "Validaciones de errores", "outputMessagesLabel": "Mensajes de salida", "incidentSingular": "Incidente", @@ -7436,7 +7436,7 @@ "dialog": { "title": "Crear alerta", "continue": "Continuar a la alerta", - "streamLabel": "Flujo", + "streamLabel": "Stream", "thresholdLabel": "Alertar sobre", "thresholdMatchingRows": "Filas coincidentes", "thresholdCount": "Conteo de filas", @@ -7523,7 +7523,7 @@ "actionOpen": "Abrir", "actionDelete": "Eliminar", "deleteTitle": "¿Eliminar {name}?", - "deleteMessage": "Esto lo elimina permanentemente. La eliminación se bloquea si una alerta o destino aún lo usa.", + "deleteMessage": "Esto lo elimina permanentemente. La eliminación se bloquea si una alerta o destino aún lo utiliza.", "deletedToast": "{name} eliminado", "deleteFailedToast": "No se pudo eliminar {name}", "loading": "Construyendo el gráfico de dependencias…", @@ -7542,7 +7542,7 @@ "missingTag": "Faltante", "enabled": "Habilitado", "paused": "Pausado", - "impactTemplate": "Usado por {destinations} · {alerts}", + "impactTemplate": "Utilizado por {destinations} · {alerts}", "impactDestination": "Usado por {alerts}" }, "alert_library": { @@ -7614,12 +7614,12 @@ "stepFolder": "Carpeta", "stepTune": "Ajustar", "stepInstall": "Instalar", - "destinationIntro": "Cada alerta de este lote notifica al destino que elijas aquí. Los archivos de la biblioteca nombran los destinos de la organización desde la que se exportaron, que no existen en la tuya.", + "destinationIntro": "Cada alerta de este lote notifica al destino que elijas aquí. Los archivos de la biblioteca nombran los destinos de la organización de la que se exportaron, que no existen en la tuya.", "destinationLabel": "Destino", - "destinationPlaceholder": "Elegir un destino", + "destinationPlaceholder": "Elige un destino", "destinationsLoadFailed": "No se pudieron cargar tus destinos existentes.", "retry": "Inténtalo de nuevo", - "destinationsNoneBody": "Esta organización aún no tiene destinos de alerta, por lo que estas alertas no tienen a dónde notificar. Crea uno en la página de Destinos y luego vuelve y elígelo aquí.", + "destinationsNoneBody": "Esta organización aún no tiene destinos de alerta, por lo que no hay a dónde notificar estas alertas. Crea uno en la página de Destinos y luego vuelve a elegirlo aquí.", "openDestinations": "Abrir Destinos", "selectAll": "Seleccionar todo", "clear": "Limpiar", @@ -7675,7 +7675,7 @@ "importBodyLabel": "Cuerpo de plantilla *", "importTypeLabel": "Tipo de plantilla *", "importTitleLabel": "Título de plantilla *", - "header": "Plantillas de destino", + "header": "Plantillas de destinos", "add": "Añadir plantilla", "edit": "Editar", "name": "Nombre", @@ -7735,7 +7735,7 @@ "chartPreviewPlaceholder": "El gráfico aparece aquí en notificaciones reales — se genera a partir del historial de evaluación de la propia alerta, que una vista previa no tiene.", "channelTitlesDescription": "Usa un título diferente en canales específicos — p. ej. una línea de asunto más corta para el correo electrónico.", "namePlaceholder": "p. ej. Alta tasa de errores", - "nameLockedHint": "Las alertas y destinos hacen referencia a esta plantilla por nombre, por lo que no se puede renombrar. Clona la plantilla para crear una copia con un nombre nuevo.", + "nameLockedHint": "Las alertas y los destinos hacen referencia a esta plantilla por nombre, por lo que no se puede renombrar. Clona la plantilla para crear una copia con un nombre nuevo.", "rawBodyCaption": "Se envía exactamente como está escrito, con {'{'}variables{'}'} sustituidas. Consulta la Guía de Variables para todo lo disponible.", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "p. ej. Valor", @@ -7852,10 +7852,10 @@ "editTitle": "Editar fuente de alerta", "name": "Nombre", "nameHint": "Solo una etiqueta — cada fuente usa la misma configuración.", - "incidentDestination": "Destino del incidente", + "incidentDestination": "Destino de incidente", "incidentDestinationPlaceholder": "Usar el valor predeterminado de la organización", "incidentDestinationHint": "A dónde van las notificaciones cuando las alertas de esta fuente crean o se unen a un incidente. Déjalo vacío para usar el valor predeterminado de la organización — si no se establece ninguno, los incidentes coincidentes se activan en silencio.", - "noDestinationSet": "No se ha establecido destino de incidente", + "noDestinationSet": "No se ha configurado ningún destino de incidente", "setupStep1Title": "1. Crear un webhook", "setupStep1Body": "En Grafana, Alertmanager o cualquier herramienta que pueda enviar JSON por POST, crea un punto de contacto / receptor de webhook.", "setupRemainingStepsHint": "Guarda esta fuente para obtener su URL y token, luego pégalos en esa configuración de webhook.", @@ -7879,12 +7879,12 @@ "updatedSuccess": "Fuente de alerta actualizada", "error": "Error al cargar fuentes de alerta", "senderError": "Error al cargar el estado de la fuente", - "destinationsLoadError": "Error al cargar destinos" + "destinationsLoadError": "Error al cargar los destinos" }, "alert_destinations": { "sectionTab": "Destinos", "chooseTypeTitle": "Elegir tipo", - "selectDestinationType": "Seleccionar tipo de destino", + "selectDestinationType": "Selecciona el tipo de destino", "connectionStepTitle": "Conexión", "connectionDetailsTitle": "Detalles de la conexión", "urlHelpText": "URL base sin barra final (p. ej., https://your-domain.com)", @@ -7903,9 +7903,9 @@ "datadogHostnameHelpText": "Nombre de host para los logs de Datadog", "exampleLabel": "Ejemplo:", "subtitle": "Dónde se entregan las alertas activadas", - "exportDestination": "Destino de exportación", + "exportDestination": "Exportar destino", "deleteDestinationTitle": "Eliminar destino", - "deleteDestinationMessage": "¿Estás seguro de que quieres eliminar el destino?", + "deleteDestinationMessage": "¿Seguro que quieres eliminar el destino?", "deleteDestinationsTitle": "Eliminar destinos", "selected": "seleccionados", "organizationLabel": "Organización", @@ -7925,8 +7925,8 @@ "ddTagsPlaceholder": "Ingrese las etiquetas (p. ej., env:prod,version:1.0)", "serviceLabel": "Servicio", "servicePlaceholder": "Ingrese el nombre del servicio (p. ej., api-gateway)", - "header": "Destinos", - "add": "Agregar destino", + "header": "Destinos de notificación", + "add": "Nuevo destino", "edit": "Editar", "search": "Buscar destino", "filterAll": "Todas", @@ -7937,7 +7937,7 @@ "destination_type": "Tipo de destino", "template": "Plantilla", "actions": "Acciones", - "addTitle": "Agregar destino", + "addTitle": "Nuevo destino", "updateTitle": "Actualizar destino", "delete": "Eliminar", "method": "Método", @@ -7952,7 +7952,7 @@ "custom_headers": "Encabezados personalizados (opcional)", "preview": "Vista previa", "test": "Prueba", - "saved": "El destino se guardó correctamente", + "saved": "Destino guardado correctamente", "customWebhook": "Personalizado (Webhook)", "customEmail": "Personalizado (correo electrónico)", "customAction": "Personalizado (acción)", @@ -7962,7 +7962,7 @@ "separator_hint": "Cadena separadora para usar entre registros (se permiten espacios)", "templateDefaultOption": "Default ({name})", "templateHelp": "Leave as default to use the standard {type} template ({name}), or pick a custom one.", - "loadingData": "Cargando datos de destino...", + "loadingData": "Cargando datos del destino...", "noEmailTemplates": "Parece que aún no has creado ninguna plantilla de correo electrónico.", "createEmailTemplate": "Crear plantilla de correo electrónico", "headers": "Encabezados", @@ -7986,31 +7986,31 @@ "templates": "Plantillas", "emails": "Correos electrónicos (separados por comas)", "actions": "Acciones", - "destinationCreation": "Creación de destino", + "destinationCreation": "Creación del destino", "jsonStringEmpty": "La cadena JSON está vacía", "invalidJsonFormat": "Formato JSON no válido", "importSuccess": "Destinos importados correctamente", - "importError": "Error al importar destino, verifique el JSON", + "importError": "Error al importar el destino, comprueba el JSON", "unknownError": "Error desconocido", - "nameRequired": "Destino - {index}: El campo \"name\" es obligatorio y debe ser una cadena válida.", + "nameRequired": "Destino - {index}: el campo \"name\" es obligatorio y debe ser una cadena válida.", "nameExists": "Destino - {index}: \"{name}\" ya existe", - "typeInvalid": "Destino - {index}: El campo \"type\" debe ser \"email\", \"http\" o \"action\"", - "actionTypeNotSupported": "Destino - {index}: El tipo 'action' no es compatible.", - "actionNotFound": "Destino - {index}: La acción \"{actionId}\" no existe para el tipo \"{type}\"", - "urlRequired": "Destino - {index}: El campo \"url\" es obligatorio para destinos de tipo http.", - "methodInvalid": "Destino - {index}: El campo \"method\" debe ser \"post\", \"get\" o \"put\"", - "templateRequiredHttp": "Destino - {index}: El campo \"template\" es obligatorio para destinos de tipo http.", - "skipTlsVerifyRequired": "Destino - {index}: El campo \"skip_tls_verify\" es obligatorio y debe ser un valor booleano", - "headersMustBeObject": "Destino - {index}: 'headers' debe ser un objeto para tipo http", - "urlNotAllowedEmail": "Destino - {index}: 'url' no debe proporcionarse para tipo email", - "headersNotAllowedEmail": "Destino - {index}: 'headers' no debe proporcionarse para tipo email", - "emailsRequired": "Destino - {index}: El campo \"emails\" es obligatorio y debe ser un array para destinos de tipo email.", - "emailsMustBeStrings": "Destino - {index}: 'emails' debe ser un array de cadenas para tipo email", - "templateRequiredEmail": "Destino - {index}: El campo \"template\" es obligatorio para destinos de tipo email.", - "templateNotFound": "Destino - {index}: La plantilla \"{template}\" no existe para el tipo \"{type}\"", - "actionIdInvalid": "Destino - {index}: El campo \"action_id\" debe ser una cadena válida.", - "createSuccess": "Destino - {index}: \"{name}\" creado exitosamente \nNota: elimine el objeto de destino creado {name} del archivo json", - "createFailed": "Destino - {index}: Creación de \"{name}\" falló --> \n Motivo: {reason}" + "typeInvalid": "Destino - {index}: el campo \"type\" debe ser \"email\", \"http\" o \"action\"", + "actionTypeNotSupported": "Destino - {index}: el tipo 'action' no es compatible.", + "actionNotFound": "Destino - {index}: la acción \"{actionId}\" no existe para el tipo \"{type}\"", + "urlRequired": "Destino - {index}: el campo \"url\" es obligatorio para destinos de tipo http.", + "methodInvalid": "Destino - {index}: el campo \"method\" debe ser uno de \"post\", \"get\" o \"put\"", + "templateRequiredHttp": "Destino - {index}: el campo \"template\" es obligatorio para destinos de tipo http.", + "skipTlsVerifyRequired": "Destino - {index}: el campo \"skip_tls_verify\" es obligatorio y debe ser un valor booleano", + "headersMustBeObject": "Destino - {index}: 'headers' debe ser un objeto para el tipo http", + "urlNotAllowedEmail": "Destino - {index}: 'url' no debe proporcionarse para el tipo email", + "headersNotAllowedEmail": "Destino - {index}: 'headers' no debe proporcionarse para el tipo email", + "emailsRequired": "Destino - {index}: el campo \"emails\" es obligatorio y debe ser un array para destinos de tipo email.", + "emailsMustBeStrings": "Destino - {index}: 'emails' debe ser un array de cadenas para el tipo email", + "templateRequiredEmail": "Destino - {index}: el campo \"template\" es obligatorio para destinos de tipo email.", + "templateNotFound": "Destino - {index}: la plantilla \"{template}\" no existe para el tipo \"{type}\"", + "actionIdInvalid": "Destino - {index}: el campo \"action_id\" debe ser una cadena válida.", + "createSuccess": "Destino - {index}: \"{name}\" creado correctamente \nNota: elimina el objeto de destino creado {name} del archivo JSON ", + "createFailed": "Destino - {index}: la creación de \"{name}\" falló --> \n Motivo: {reason}" }, "priorityP1Description": "Alertas de máxima prioridad", "priorityP2Description": "Alertas de prioridad alta", @@ -8023,8 +8023,8 @@ "severityInfoDescription": "Incidentes informativos" }, "pipeline_destinations": { - "header": "Destinos de oleoductos", - "search": "Destino de búsqueda" + "header": "Destinos de tuberías", + "search": "Buscar destino" }, "storage_settings": { "heroBrand": "OpenObserve.", @@ -8387,8 +8387,8 @@ "customLogoText": "Texto de logotipo personalizado", "orgLabel": "Parámetros de organización", "logDetails": "Detalles del registro", - "traceIdFieldName": "Nombre del campo Trace ID", - "spanIdFieldName": "Nombre del campo Span ID", + "traceIdFieldName": "Nombre del campo de ID de traza", + "spanIdFieldName": "Nombre del campo de ID de span", "toggleIngestionLogsLabel": "Alternar registros de ingestión", "usageStreamEnabledLabel": "Habilitar flujo de uso", "claimParserFunction": "Analizador de reclamos de SSO", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "Mapeo de agentes GenAI", "title": "Mapeo de agentes GenAI", - "description": "Configure los atributos de telemetría alternativos que se utilizan para normalizar la identidad del agente para los seguimientos y las evaluaciones de LLM.", + "description": "Configura atributos de telemetría de respaldo para normalizar la identidad del agente en trazas de LLM y evaluaciones.", "agentNameFields": "Campos alternativos del nombre del agente", "agentNameHelp": "Atributos entrantes para usar como respaldo para gen_ai.agent.name.", "agentNameInfo": "Se activa solo cuando el atributo gen_ai.agent.name estándar falta o está vacío. Agregue un atributo de telemetría entrante por línea.", @@ -8532,7 +8532,7 @@ "resetToEmpty": "Restablecer como vacío", "clearRegistry": "Borrar registro", "clearRegistryTitle": "¿Borrar el registro de agentes?", - "clearRegistryDescription": "Esto elimina todas las filas de registro de agentes de GenAI descubiertas para esta organización. Los nuevos rastros coincidentes rellenarán el registro durante la ingestión.", + "clearRegistryDescription": "Esto elimina todas las filas del registro de agentes GenAI descubiertas para esta organización. Las nuevas trazas que coincidan volverán a poblar el registro durante la ingesta.", "clearRegistryConfirm": "Borrar registro", "saved": "El mapeo de agentes de GenAI se guardó correctamente", "clearRegistrySuccess": "Registro de agentes GenAI borrado. Se eliminaron {deletedCount} agentes almacenados y {bufferCount} observaciones en cola.", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "No se pudieron guardar los alias de campos", "fieldAliasesUnsavedConfirm": "Tienes cambios de asignación de campos sin guardar. ¿Descartarlos y salir?", "discoveredServicesTitle": "Servicios descubiertos", - "discoveredServicesDescription": "Los servicios se descubren automáticamente a partir de sus datos de telemetría y se agrupan por su nombre de servicio para la correlación. Los servicios que comparten el mismo nombre de servicio se correlacionan entre sí en los registros, los seguimientos y las métricas.", + "discoveredServicesDescription": "Los servicios se descubren automáticamente a partir de tus datos de telemetría y se agrupan por su nombre de servicio para la correlación. Los servicios que comparten el mismo nombre de servicio se correlacionan entre registros, trazas y métricas.", "noServicesYet": "Aún no se ha descubierto ningún servicio", "noServicesDescription": "Los servicios aparecerán aquí a medida que los datos de telemetría se ingieran con los atributos de identificación del servicio (como k8s-deployment, nombre del servicio, etc.)", "searchServiceName": "Buscar nombre de servicio o stream...", @@ -8572,7 +8572,7 @@ "fieldMappingDialogHelp": "Agrega o elimina nombres de campo que deban reconocerse como el nombre del servicio en tus datos de telemetría.", "fieldMappingPlaceholder": "Escribe un nombre de campo y presiona Enter", "foundInLogs": "Encontrado en Logs", - "foundInTraces": "Encontrado en Trazas", + "foundInTraces": "Encontrado en trazas", "foundInMetrics": "Encontrado en Métricas", "distinguishByLabel": "Distinguir servicios por", "distinguishByHelp": "Elige campos que definan dónde se ejecutan tus servicios. Por ejemplo, clúster + namespace + deployment juntos crean una identidad única para cada servicio. Hasta 5 campos.", @@ -8608,7 +8608,7 @@ "instancesCount": "({count} instancias)", "noDimensions": "sin dimensiones", "defaultSetWarningTitle": "La correlación puede no ser confiable.", - "defaultSetWarningBody": "Esta instancia no tiene desambiguación — se descubrió sin ninguna coincidencia de carga de trabajo (sin contexto de clúster, namespace o entorno). Los logs y las trazas pueden provenir de diferentes deployments del mismo nombre de servicio.", + "defaultSetWarningBody": "Esta instancia no tiene desambiguación — se descubrió sin ninguna coincidencia de carga de trabajo (sin contexto de clúster, espacio de nombres o entorno). Los registros y las trazas pueden provenir de diferentes despliegues del mismo nombre de servicio.", "instanceIdentity": "Identidad de instancia", "noDimensionsCatchAll": "Sin dimensiones — instancia general", "streamSources": "Orígenes de stream", @@ -8728,7 +8728,7 @@ "createFailed": "Patrón de expresión regular - {index}: \"{name}\" falló la creación --> \n Razón: {error}" }, "index": { - "genAiAgentMappingDesc": "Mapear spans de GenAI a identificadores de agente" + "genAiAgentMappingDesc": "Asigna spans de GenAI a identificadores de agente" }, "organizationManagementPage": { "setAiCredits": "Establecer créditos de IA", @@ -8863,7 +8863,7 @@ "noValues": "Sin valores", "cardinality": "Cardinalidad:", "uniqueValues": "{n} valores únicos", - "streams": "Streams", + "streams": "Flujos", "streamsSubtext": "flujos", "noAdditionalDimensions": "No se detectaron dimensiones adicionales.", "noSampleData": "No hay datos de muestra disponibles para este campo.", @@ -9139,14 +9139,14 @@ "viewLogs": "Ver registros", "viewLogsUnavailable": "No se pudieron abrir los registros para este span.", "backToLogs": "Volver a los registros", - "openInTraces": "Abrir en Traces", + "openInTraces": "Abrir en Trazas", "loadingStream": "Cargando Stream...", "noLogsAvailableForService": "No hay registros disponibles para este servicio", "noCorrelatedLogsFound": "No se encontraron registros correlacionados para este span", "noData": { "title": "Comienza a enviar trazas a {product}", - "description": "Aún no se han encontrado rastros en esta organización. Instrumente sus servicios y los rastros aparecerán aquí automáticamente.", - "otlp": "Envía trazas a través de {product}", + "description": "Aún no se han encontrado streams de trazas en esta organización. Instrumenta tus servicios y las trazas aparecerán aquí automáticamente.", + "otlp": "Envía trazas mediante {product}", "otlpDesc": "{product1}, {product2} y cualquier SDK compatible con {product3}", "otelCollectorDesc": "Enruta todas las señales de telemetría a través de {product}", "or": "O:", @@ -9155,21 +9155,21 @@ "configureFullTextSearch": "para configurar un campo de búsqueda de texto completo para la transmisión.", "collapseFields": "Campos colapsados", "openFields": "Campos abiertos", - "timeRangeUpdated": "El intervalo de tiempo seleccionado no incluía este seguimiento. El intervalo de tiempo se actualizó para que coincida con la marca de tiempo del rastreo.", - "errorRetrievingTraces": "Se ha producido un error al recuperar los rastros.", - "fetchingTraces": "Agárrate fuerte, estamos buscando tus rastros.", + "timeRangeUpdated": "El rango de tiempo seleccionado no incluía esta traza. El rango de tiempo se ha actualizado para coincidir con la marca de tiempo de la traza.", + "errorRetrievingTraces": "Se produjo un error al recuperar las trazas.", + "fetchingTraces": "Cargando trazas...", "noStream": { "title": "Elige un arroyo para empezar a explorar", - "description": "Elige una secuencia de seguimiento y, a continuación, pulsa Ejecutar consulta. Puedes filtrar por servicio, duración, estado del intervalo, etc. una vez que se carguen los resultados.", + "description": "Elige un stream de trazas y luego pulsa Ejecutar consulta. Puedes filtrar por servicio, duración, estado del span y más cuando se carguen los resultados.", "selectStream": "Selecciona una transmisión", - "selectStreamDesc": "Explore los flujos de rastreo disponibles en esta organización", - "queryGuide": "Lea la guía de trazas", - "queryGuideDesc": "Gráfico de servicio, filtrado de intervalos, métricas RED y más", + "selectStreamDesc": "Explora los streams de trazas disponibles en esta organización", + "queryGuide": "Lee la guía de trazas", + "queryGuideDesc": "Gráfico de servicios, filtrado por span, métricas RED y más", "recent": "Reciente:" }, "noEvents": { - "title": "No se han encontrado rastros", - "descNoFilters": "No se encontraron rastros en {range}. Intente ampliar el intervalo de tiempo para cargar los resultados.", + "title": "No se encontraron trazas", + "descNoFilters": "No se encontraron trazas en {range}.", "descWithFilters": "No hay nada que coincida con esta consulta en la ventana seleccionada. Intente ampliar el intervalo de tiempo o eliminar un filtro.", "descOutOfRange": "Tu ventana de tiempo no contiene datos de este stream. Salta a cuando se vieron datos por última vez.", "jumpToData": "Saltar a los datos más recientes", @@ -9177,38 +9177,38 @@ "askAi": "Pedir a la IA que corrija mi consulta", "selectedRange": "el rango seleccionado" }, - "tracesFound": "Rastros encontrados", + "tracesFound": "Trazas encontradas", "spansFound": "Spans encontrados", - "errorTraces": "Rastreos de errores", - "errorSpans": "Espacios de error", + "errorTraces": "Trazas con errores", + "errorSpans": "Spans con errores", "filterByErrors": "Filtrar por errores", "clearErrorFilter": "Borrar filtro de errores", "error": "ERROR", "errorCount": "{n} ERROR | {n} ERRORES", "success": "ÉXITO", - "applyPendingFilters": "Aplicar filtros pendientes y rastreos de búsqueda", - "backToTraces": "Volver a Traces", + "applyPendingFilters": "Aplicar los filtros pendientes y buscar trazas", + "backToTraces": "Volver a Trazas", "loadingTrace": "Cargando...", - "traceId": "ID de seguimiento", - "copyTraceId": "Copiar ID de seguimiento", + "traceId": "ID de traza", + "copyTraceId": "Copiar ID de traza", "viewFilters": "Ver filtros", - "reviewAndApplyFilters": "Revisa y aplica filtros a Traces", - "spansLabel": "se extiende", + "reviewAndApplyFilters": "Revisar y aplicar filtros a las trazas", + "spansLabel": "spans", "errorsLabel": "errores", "previousMatch": "Partido anterior", "nextMatch": "Próximo partido", - "searchInSpans": "Buscar en intervalos", - "spansTableView": "Vista de la mesa Spans", + "searchInSpans": "Buscar en spans", + "spansTableView": "Vista de tabla de spans", "comingSoon": "Próximamente...", - "fetchingTrace": "Buscando tu rastro.", - "traceFilters": "Filtros de rastreo", + "fetchingTrace": "Obteniendo tu traza.", + "traceFilters": "Filtros de trazas", "showTraces": "Mostrar trazas", "applyAndSearch": "Aplicar y buscar", "timestamp": "Marca de tiempo", - "noErrorPresent": "No hay ningún error en este intervalo", - "noEventsPresent": "No hay eventos para este span", - "noLinksPresent": "No hay enlaces para este span", - "loadingTraceDag": "Cargando DAG de traza...", + "noErrorPresent": "No hay errores en este span.", + "noEventsPresent": "No hay eventos en este span.", + "noLinksPresent": "No hay enlaces en este span.", + "loadingTraceDag": "Cargando DAG de la traza...", "exceptionsWithCount": "Excepciones ({count})", "typeLabel": "Tipo:", "messageLabel": "Mensaje:", @@ -9254,12 +9254,12 @@ "failedToLoad": "No se pudo cargar la sesión", "retry": "Reintentar", "sessionNotFound": "No se encontró la sesión", - "noSpansFound": "No se han encontrado intervalos para {id} en el intervalo de tiempo actual.", - "searchPlaceholder": "Busque rastros en esta sesión...", + "noSpansFound": "No se encontraron spans para {id} en el rango de tiempo actual.", + "searchPlaceholder": "Buscar trazas en esta sesión…", "turn": "giro", "turns": "giros", "turnCount": "{count} {unit}", - "openInTraceExplorer": "Ver Trace", + "openInTraceExplorer": "Ver traza", "filters": { "status": "Estado", "model": "modelo", @@ -9366,7 +9366,7 @@ "tracesTab": "Trazas", "serviceGraphTab": "Gráfico de servicio", "serviceGraphSubtitle": "Vea cómo sus servicios se comunican entre sí: dependencias, rendimiento y tasas de error", - "servicesCatalogSubtitle": "Cada servicio que envía trazas, con latencia, rendimiento y tasa de error", + "servicesCatalogSubtitle": "Cada servicio que envía trazas, con latencia, rendimiento y tasa de errores", "treeView": "Vista de árbol", "graphView": "Vista gráfica", "layoutHorizontal": "Horizontal", @@ -9375,7 +9375,7 @@ "exportTraces": "Exportar trazas", "waterfall": "Cascada", "flameGraph": "Gráfico de llamas", - "traceGraph": "Gráfico de rastreo", + "traceGraph": "Gráfico de traza", "thread": "Hilo", "dbSpanDetails": { "dbSystem": "Sistema de base de datos", @@ -9398,13 +9398,13 @@ "changeStreamTitle": "¿Cambiar stream?", "switchStream": "Cambiar stream", "cancel": "Cancelar", - "changeStreamMessage": "Esto también actualizará el stream en la pestaña Traces/Spans y restablecerá la consulta existente.", + "changeStreamMessage": "Esto también actualizará el stream en la pestaña Trazas/Spans y restablecerá la consulta existente.", "errorGettingFunctions": "Error al obtener funciones", "errorPullingIndex": "Error al obtener el índice para la organización seleccionada{message}", "errorGettingStreams": "Error al obtener streams", "errorLoadingStreams": "Error al cargar streams", "errorConstructingQuery": "Se produjo un error al construir la consulta de búsqueda.", - "traceNotFound": "Traza {traceId} no encontrada", + "traceNotFound": "No se encontró la traza {traceId}", "errorProcessingRequest": "Error al procesar la solicitud", "searchRequestFailed": "La solicitud de búsqueda falló" }, @@ -9426,8 +9426,8 @@ "operationName": "Nombre de la operación", "duration": "Duración", "spans": "Spans", - "spanKind": "Tipo de span", - "spanStatus": "Estado del span", + "spanKind": "Tipo de Span", + "spanStatus": "Estado del Span", "status": "Estado", "serviceLatency": "Latencia del servicio", "inputTokens": "Tokens de entrada", @@ -9443,7 +9443,7 @@ "traceId": "ID de traza" }, "lLMInsightsDashboard": { - "stream": "Flujo", + "stream": "Stream", "agent": "Agente", "compareEntry": "Comparar versiones", "compareEntryHint": "Comparar dos versiones de este agente lado a lado", @@ -9454,7 +9454,7 @@ "viewByStream": "Ver por Flujo", "totalCost": "Costo total", "totalTokens": "Tokens totales", - "totalTraces": "Trazas totales", + "totalTraces": "Total de trazas", "p95Latency": "Latencia P95", "errorRate": "Tasa de error", "timeAxis": "Hora", @@ -9468,7 +9468,7 @@ "logs": "Registros", "traces": "Trazas", "databases": "Bases de datos", - "viewTraces": "Ver Trazas", + "viewTraces": "Ver trazas", "operations": "Operaciones", "metrics": "Métricas", "noOperationsFound": "No se encontraron operaciones", @@ -9538,10 +9538,10 @@ "cost": "Costo", "model": "Modelo", "errors": "Errores", - "noSpansLoaded": "No se cargaron spans para esta traza.", + "noSpansLoaded": "No hay spans cargados para esta traza.", "noLlmTurns": "No se detectaron turnos de LLM. La traza no contiene spans con", "system": "Sistema", - "historicalMessage": "{count} mensaje anterior de esta sesión — manejado en trazas anteriores. | {count} mensajes anteriores de esta sesión — manejados en trazas anteriores.", + "historicalMessage": "{count} mensaje anterior de esta sesión — gestionado en trazas anteriores. | {count} mensajes anteriores de esta sesión — gestionados en trazas anteriores.", "user": "Usuario", "startedAt": "Iniciado a las {time}", "unknown": "desconocido", @@ -9566,7 +9566,7 @@ "start": "Inicio", "requestResent": "Solicitud reenviada {count} vez | Solicitud reenviada {count} veces", "resends": "Reenvíos", - "spanIdTitle": "ID del span: {id}", + "spanIdTitle": "ID del Span: {id}", "inputTokens": "Tokens de entrada", "in": "Entrada", "outputTokens": "Tokens de salida", @@ -9588,7 +9588,7 @@ "timestamp": "Marca de tiempo", "enterpriseLicenseRequired": "La función de correlación requiere una licencia empresarial", "missingSpanOrStream": "Falta el nombre del span o del stream", - "spanIdCopied": "ID del span copiado al portapapeles", + "spanIdCopied": "ID del Span copiado al portapapeles", "attributesCopied": "Atributos copiados al portapapeles", "copiedToClipboard": "{type} copiado al portapapeles", "failedToCopyClipboard": "Error al copiar al portapapeles", @@ -9620,7 +9620,7 @@ "selected": "Seleccionado:", "dimensions": "Dimensiones", "collapseDimensions": "Colapsar dimensiones", - "tracesPerInterval": "traces/interval" + "tracesPerInterval": "trazas/intervalo" }, "sessionDetails": { "missingSessionInfo": "Falta el id de sesión o el stream en la URL", @@ -9641,22 +9641,22 @@ }, "correlation": { "distributedTrace": "Traza distribuida", - "loadingTraceData": "Cargando datos de traza...", + "loadingTraceData": "Cargando datos de la traza...", "noTraceInfoAvailable": "No hay información de traza disponible para este evento", "traceIdLabel": "ID de traza:", "copyTraceId": "Copiar ID de traza", - "spanIdLabel": "ID de span:", + "spanIdLabel": "ID del Span:", "spanHierarchy": "Jerarquía de spans:", "applicationSpan": "Span de aplicación", - "browserSdkSpanPrefix": "Span de SDK de navegador (", + "browserSdkSpanPrefix": "Span del SDK del navegador (", "closingParen": ")", - "backendSpansPrefix": "Spans de backend (", + "backendSpansPrefix": "Spans del backend (", "performanceBreakdown": "Desglose de rendimiento:", "totalDuration": "Duración total:", "browserLabel": "Navegador:", "networkLabel": "Red:", "backendLabel": "Backend:", - "viewTraceDetails": "Ver detalles de traza", + "viewTraceDetails": "Ver detalles de la traza", "backendTraceNotAvailable": "Los datos de traza del backend aún no están disponibles. Los datos de traza pueden tardar hasta 30 segundos en ingerirse." }, "failedToAnalyzeDimensions": "Error al analizar las dimensiones", @@ -9696,7 +9696,7 @@ "requestsLabel": "Solicitudes:", "errorsLabel": "Errores:", "errorRateLabel": "Tasa de error:", - "spansLabel": "Tramos:", + "spansLabel": "Spans:", "callsLabel": "Llamadas:", "averageLabel": "Promedio:", "minimumLabel": "Mínimo:", @@ -9708,7 +9708,7 @@ "averageOfTrace": "{avg}ms ({percent}% de la traza)", "requestCount": "{count} solicitudes" }, - "spanEventTimeline": "Cronología de eventos del span", + "spanEventTimeline": "Línea de tiempo de eventos de span", "eventClusterTooltip": "{count} eventos", "spanEventCount": "{count} evento", "spanEventCountPlural": "{count} eventos", @@ -10017,11 +10017,11 @@ "selectMetrics": "Seleccione Metric Streams", "correlatedLogs": "Registros correlacionados", "correlatedMetrics": "Métricas correlacionadas", - "correlatedTraces": "Rastros correlacionados", + "correlatedTraces": "Trazas", "loadingCorrelation": "Cargando datos de correlación...", "clickToLoadLogs": "Haga clic para cargar los registros correlacionados", "clickToLoadMetrics": "Haga clic para cargar métricas correlacionadas", - "clickToLoadTraces": "Haga clic para cargar trazas correlacionadas", + "clickToLoadTraces": "Haz clic para cargar trazas correlacionadas", "logs": { "filtersLabel": "Filtros", "allValues": "Todos los valores", @@ -10040,19 +10040,19 @@ "noLogsFound": "No se han encontrado registros correlacionados", "noDataFound": "No se han encontrado datos", "noLogsDescription": "No se han encontrado registros para esta correlación en el intervalo de tiempo seleccionado.", - "correlatedTracesFor": "Rastros correlacionados para el servicio: {service}", + "correlatedTracesFor": "Trazas correlacionadas para el servicio: {service}", "all": "Todas", - "loadingTraces": "Cargando trazas correlacionadas...", + "loadingTraces": "Cargando trazas...", "tracesError": "No se pudieron cargar las trazas", - "tracesErrorDetails": "Se ha producido un error al obtener los datos de seguimiento. Vuelva a intentarlo.", + "tracesErrorDetails": "Se produjo un error al obtener los datos de las trazas. Inténtalo de nuevo.", "metricsError": "No se pueden cargar las métricas", "metricsErrorDetails": "Se ha producido un error al obtener los datos de las métricas. Por favor, inténtalo de nuevo.", "noMetricsDescription": "No se han encontrado métricas para esta correlación en el intervalo de tiempo seleccionado.", "dimensionBasedCorrelation": "Correlación basada en dimensiones", - "tracesFromService": "Rastros del servicio: {service}", - "noTracesFound": "No se han encontrado rastros correlacionados", - "noTracesDescription": "No se han encontrado trazas para esta correlación en el intervalo de tiempo seleccionado.", - "viewInTraces": "Ver en Traces", + "tracesFromService": "Trazas del servicio: {service}", + "noTracesFound": "No se encontraron trazas", + "noTracesDescription": "No se encontraron trazas para esta correlación en el rango de tiempo seleccionado.", + "viewInTraces": "Ver en Trazas", "filters": "Filtros", "semanticFieldGroupsCaption": "Defina las asignaciones de nombres de campo para la correlación y la deduplicación (por ejemplo, host, nombre de host, nodo → grupo de «anfitriones»)", "exportToJson": "Exportar a JSON", @@ -10185,7 +10185,7 @@ "editCrossLink": "Editar enlace cruzado", "name": "Nombre", "nameRequired": "El nombre es obligatorio", - "namePlaceholder": "p. ej., Ver detalles de rastreo", + "namePlaceholder": "p. ej., Ver detalles de la traza", "urlTemplate": "Plantilla de URL", "urlRequired": "La URL es obligatoria", "urlPlaceholder": "p. ej., https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", @@ -10281,7 +10281,7 @@ "colPattern": "Patrón", "colPricingSimple": "Fijación", "testMatchTitle": "Pruebe Model Match", - "testMatchSubtitle": "Simule cómo el nombre de un modelo de sus tramos coincidiría con las reglas de precios.", + "testMatchSubtitle": "Simula cómo un nombre de modelo de tus spans coincidiría con las reglas de precios.", "modelNameInput": "Nombre del modelo", "modelNameHint": "El nombre del modelo de tus generaciones.", "enterModelName": "Introduzca un nombre de modelo para probar la coincidencia", @@ -10445,11 +10445,11 @@ "sessions": "Explore e inspeccione las sesiones de los agentes paso a paso", "agentGraph": "Ve con qué interactúan tus agentes — herramientas, modelos, servicios y almacenes de datos", "agentBehavior": "Detecta agentes atascados en bucles y los errores que los hacen fallar", - "discovery": "Encuentra trazas insalubres que merezcan revisión", + "discovery": "Encuentra trazas no saludables que valga la pena revisar", "queues": "Listas de tareas de revisión con estado", - "datasets": "Cura conjuntos de datos dorados a partir de trazas anotadas y revisiones", + "datasets": "Selecciona conjuntos de datos golden a partir de trazas anotadas y revisiones", "experiments": "Previsualizar y crear ejecuciones de evaluación inmutables sin conexión", - "quality": "Realice un seguimiento de la calidad de las puntuaciones en evaluaciones de span, trace y sesión", + "quality": "Realiza un seguimiento de la calidad de las puntuaciones en las evaluaciones de span, traza y sesión", "evalJobs": "Ejecute y supervise los trabajos de evaluación en todas sus sesiones", "scorers": "Cree y administre los puntajes que califican los resultados del LLM", "scoreConfigs": "Configure las rúbricas de puntuación utilizadas en sus evaluaciones" @@ -10638,10 +10638,10 @@ "searchPlaceholder": "Buscar elementos...", "footerTitle": "Elementos", "allItems": "Todos", - "inTrace": "En el trace {traceId}", + "inTrace": "En la traza {traceId}", "reviewAgain": "Revisar de nuevo", "emptyTitle": "Nada que revisar", - "emptyBody": "Añade traces, spans o sesiones a esta cola desde Discovery o una vista de trace.", + "emptyBody": "Añade trazas, spans o sesiones a esta cola desde Discovery o una vista de trazas.", "columns": { "refType": "Ref", "refId": "Referencia", @@ -10692,7 +10692,7 @@ "distill": { "title": "Destilar a Dataset", "action": "Dataset", - "hint": "Escribe la respuesta que este elemento DEBERÍA haber producido. Se convierte en la salida dorada; la entrada se toma de la traza revisada.", + "hint": "Escribe la respuesta que este elemento DEBERÍA haber producido. Se convierte en la salida golden; la entrada se toma de la traza revisada.", "datasetLabel": "Dataset", "datasetPlaceholder": "Seleccionar un Dataset...", "noDatasets": "Aún no hay datasets — crea uno desde la página de Datasets primero.", @@ -11100,7 +11100,7 @@ "stream": "Stream", "agent": "Agente", "noAgentsTitle": "No se encontraron agentes", - "noAgentsDescription": "No se descubrieron agentes en este rango de tiempo. Intenta ampliar el rango de tiempo o verifica que tus trazas incluyan atributos de agente gen_ai.", + "noAgentsDescription": "No se descubrieron agentes en este rango de tiempo. Intenta ampliar el rango de tiempo o comprueba que tus trazas incluyen atributos de agente gen_ai.", "versionAgnosticHint": "La topología es la misma en todas las versiones: el gráfico se limita por entorno, no por versión. Usa la comparación de versiones para comparar versiones." }, "panels": { @@ -11113,8 +11113,8 @@ "subtitle": "fichas por modelo" }, "spanTrend": { - "title": "Tendencia en España", - "subtitle": "recuento de intervalos por tipo" + "title": "Tendencia de spans", + "subtitle": "recuento de spans por tipo" }, "latencyByModel": { "title": "Latencia por modelo", @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "Errores recientes", - "subtitle": "últimos 10 intervalos fallidos" + "subtitle": "últimos 10 spans fallidos" } }, "behavior": { @@ -11148,7 +11148,7 @@ "disabled": "Las señales de comportamiento del agente están desactivadas para esta implementación" }, "loopsTitle": "Agentes en bucle", - "loopsHint": "Agentes que ejecutan la misma herramienta muchas veces por traza", + "loopsHint": "Agentes que vuelven a ejecutar la misma herramienta muchas veces por traza", "summaryLoops": "Agentes en bucle", "summaryFailures": "Taxonomía de fallos", "summaryAgents": "Agentes afectados", @@ -11175,11 +11175,11 @@ "title": "Detalles de la señal", "tracesTitle": "Trazas", "tracesHint": "Haz clic en una traza para abrirla", - "worstLoopTraces": "Peores trazas (más repeticiones primero)", + "worstLoopTraces": "Peores trazas (las que más se repiten primero)", "topCostTraces": "Trazas más costosas", "noTraces": "No se encontraron trazas para esta señal", "errorsTitle": "Lo que dicen los errores", - "noErrors": "No se capturaron mensajes de error: abre una traza para inspeccionar", + "noErrors": "No se capturaron mensajes de error — abre una traza para inspeccionar", "colTraceId": "Traza", "colSpans": "Spans", "colRepeats": "Repeticiones", @@ -11191,8 +11191,8 @@ "loopHeadline": "{agent} llamó a {tool} {ratio}× por traza en promedio ({calls} llamadas en {traces} trazas).", "failHeadline": "{agent} encontró {count} errores “{cls}”.", "costHeadline": "{agent}: ${cost} gasto · {tokens} tokens · {errors} errores.", - "loopExplain": "Una alta tasa de repetición generalmente significa que el agente no está almacenando en caché los resultados o está reintentando. Abre las peores trazas a continuación para ver las llamadas repetidas.", - "failExplain": "Estos son los mensajes de error reales detrás de esta clase de falla: léelos para encontrar la solución, o abre una traza para ver dónde ocurrió.", + "loopExplain": "Una tasa de repetición alta suele significar que el agente no está guardando resultados en caché o que está reintentando. Abre las peores trazas a continuación para ver las llamadas repetidas.", + "failExplain": "Estos son los mensajes de error reales detrás de esta clase de fallo — léelos para encontrar la solución o abre una traza para ver dónde ocurrió.", "costExplain": "Estas trazas impulsaron el gasto de este agente. Abre las más costosas para ver qué se ejecutó." } }, @@ -11280,24 +11280,24 @@ "manualEvaluation": { "titles": { "span": "Evaluar span", - "trace": "Evaluar trace", + "trace": "Evaluar traza", "session": "Evaluar sesión" }, "targetLabels": { "span": "ID de span", - "trace": "ID de trace", + "trace": "ID de traza", "session": "ID de sesión" }, "scopes": { "span": "span", - "trace": "trace", + "trace": "traza", "session": "sesión" }, "description": "Elige un Eval Job para ejecutar contra este objetivo. El trabajador de evaluación cargará la telemetría de origen del rango de tiempo de esta página.", "jobLabel": "Eval Job", "jobPlaceholder": "Selecciona un Eval Job", "jobRequired": "Selecciona un Eval Job", - "noCompatibleJobs": "Ningún Eval Job de {scope} usa el stream de trace {stream}.", + "noCompatibleJobs": "Ningún trabajo de evaluación de {scope} usa el flujo de trazas {stream}.", "loadJobsError": "No se pudieron cargar los Eval Jobs.", "run": "Ejecutar evaluación", "queued": "Se encoló {count} tarea de evaluación. | Se encolaron {count} tareas de evaluación.", @@ -11324,7 +11324,7 @@ "filterHint": "Compare esta configuración de puntuación en los ámbitos de destino de evaluación.", "all": "Todo", "span": "Span", - "trace": "Trace", + "trace": "Traza", "session": "Sesión" }, "kpis": { @@ -11393,7 +11393,7 @@ }, "runs": { "title": "Puntuaciones de evaluación", - "hint": "Las puntuaciones y el razonamiento provienen de _llm_scores. Seleccione una ejecución para abrir su traza de evaluador para una investigación adicional.", + "hint": "Las puntuaciones y el razonamiento provienen de _llm_scores. Selecciona una ejecución para abrir su traza del evaluador para investigar más a fondo.", "filterLabel": "Filtrar puntuaciones de evaluación", "footerTitle": "Puntuaciones de evaluación", "noThresholdHint": "Establezca un umbral saludable en esta configuración de puntuación para clasificar y resaltar puntuaciones no saludables.", @@ -11588,7 +11588,7 @@ "booleanInfo": "Las configuraciones booleanas aceptan valores {trueLabel} / {falseLabel}. No se necesita configuración adicional.", "healthyThresholdTitle": "Umbral saludable", "optional": "Opcional", - "healthyThresholdIntro": "Define cuándo se consideran saludables las puntuaciones de esta dimensión. Las puntuaciones fuera de este rango generarán problemas de calidad en las listas de trazas, las sesiones y otras vistas.", + "healthyThresholdIntro": "Define cuándo las puntuaciones en esta dimensión se consideran saludables. Las puntuaciones fuera de este rango provocarán problemas de calidad en las listas de trazas, sesiones y otras vistas.", "healthyWhenValueIs": "Saludable cuando el valor es:", "healthyCategories": "Categorías saludables:", "healthyCategoriesHint": "Marca todos los valores que cuenten como saludables.", @@ -11667,8 +11667,8 @@ "col": { "time": "Hora", "job": "Trabajo", - "spanId": "ID de España", - "traceId": "ID de seguimiento", + "spanId": "ID de span", + "traceId": "ID de traza", "score": "Puntuación", "latency": "Latencia", "status": "Estado" @@ -11854,7 +11854,7 @@ "eyebrow": "Trabajo de evaluación", "refresh": "Actualizar", "targetSection": "Objetivo de evaluación", - "streamLabel": "Stream", + "streamLabel": "Flujo", "streamTypeLabel": "Tipo de stream", "targetScopeLabel": "Evaluar cada", "idleWindowLabel": "Ventana de inactividad", @@ -11896,8 +11896,8 @@ "col": { "time": "Hora", "scorer": "Evaluador", - "spanId": "ID de España", - "traceId": "ID de seguimiento", + "spanId": "ID de span", + "traceId": "ID de traza", "score": "Puntuación", "latency": "Latencia", "status": "Estado" @@ -11918,7 +11918,7 @@ "columns": { "name": "Nombre", "status": "Estado", - "stream": "Stream", + "stream": "Flujo", "targetScope": "Ámbito", "scorers": "Evaluadores", "created": "Creado", @@ -11953,21 +11953,21 @@ "session": "Sesión" }, "targetScopeHelp": { - "span": "Evaluar cada span coincidente de forma independiente.", - "trace": "Evaluar un trace completo después de que se cierre la ventana de finalización.", - "session": "Evaluar una sesión a través de traces después de que se cierre la ventana de finalización." + "span": "Evalúa cada span que coincida de forma independiente.", + "trace": "Evalúa una traza completa después de que se cierre la ventana de finalización.", + "session": "Evalúa una sesión a lo largo de las trazas después de que se cierre la ventana de finalización." }, "completionSection": "Criterios de finalización", "completionHelp": { - "trace": "El trace se evalúa tan pronto como se cumpla la primera de estas condiciones.", + "trace": "La traza se evalúa en cuanto se cumpla la primera de estas condiciones.", "session": "La sesión se evalúa tan pronto como se cumpla la primera de estas condiciones." }, "idleWindowLabel": "Ventana de inactividad (segundos)", - "idleWindowHelp": "Evaluado después de {duration} sin nuevos spans.", - "idleWindowHelpEmpty": "Evaluado una vez que no lleguen nuevos spans.", + "idleWindowHelp": "Se evalúa después de {duration} sin nuevos spans.", + "idleWindowHelpEmpty": "Se evalúa cuando dejan de llegar nuevos spans.", "maxAgeLabel": "Edad máxima (segundos)", - "maxAgeHelp": "Evaluado {duration} después del primer span.", - "maxAgeHelpEmpty": "Evaluado a una edad fija, incluso si aún llegan spans.", + "maxAgeHelp": "Se evalúa {duration} después del primer span.", + "maxAgeHelpEmpty": "Se evalúa con una antigüedad fija, incluso si todavía llegan spans.", "descriptionLabel": "Descripción", "samplingModeLabel": "Modo de muestreo", "samplingValueLabel": "Tasa de muestreo", @@ -11978,8 +11978,8 @@ "scorerPicker": { "title": "Goleadores", "hint": { - "span": "Selecciona uno o más scorers para ejecutar por cada span coincidente.", - "trace": "Selecciona uno o más scorers para ejecutar por cada trace elegible.", + "span": "Selecciona uno o más evaluadores para ejecutar en cada span que coincida.", + "trace": "Selecciona uno o más evaluadores para ejecutar en cada traza elegible.", "session": "Selecciona uno o más scorers para ejecutar por cada sesión elegible." }, "meta": "{type} · v{version}", @@ -11990,15 +11990,15 @@ "filter": { "title": "Estado del filtro", "hint": { - "span": "Solo los spans que cumplan esta condición entran en el muestreo y la puntuación.", - "trace": "Un trace entra en el muestreo y la puntuación si alguno de sus spans cumple esta condición.", - "session": "Una sesión entra en el muestreo y la puntuación si alguno de sus spans cumple esta condición." + "span": "Solo los spans que coincidan con esta condición entran en el muestreo y la puntuación.", + "trace": "Un trace entra en muestreo y puntuación si cualquiera de sus spans cumple esta condición.", + "session": "Una sesión entra en muestreo y puntuación si cualquiera de sus spans cumple esta condición." } }, "selector": { - "title": "Qué Spans (Opcional)", + "title": "Cuáles spans (opcional)", "hint": { - "trace": "Déjalo vacío para incluir cada span en el trace." + "trace": "Déjalo vacío para incluir todos los spans del trace." } }, "endSignal": { @@ -12029,7 +12029,7 @@ "title": "Valores del sistema de {scope}", "description": "OpenObserve construye estos valores por separado para cada {scope} que este trabajo evalúa. Úsalos como fuentes al mapear las variables de prompt del puntuador.", "badge": "Proporcionado por el sistema", - "selectorRequired": "Selector de Spans requerido", + "selectorRequired": "Selector de span obligatorio", "columns": { "variable": "Valor", "source": "Fuente", @@ -12043,30 +12043,30 @@ "trace": "Salida del span raíz del trace." }, "statistics": { - "trace": "Métricas del trace: conteo de spans, duración, llamadas a LLM y herramientas, errores, tokens y costo.", - "session": "Métricas de la sesión: conteo de traces y turnos, duración y errores." + "trace": "Métricas del trace: número de spans, duración, llamadas a LLM y herramientas, errores, tokens y coste.", + "session": "Métricas de la sesión: número de traces y turnos, duración y errores." }, "spans": { - "trace": "Un subconjunto filtrado de spans, elegido por el Selector de Spans del trabajo." + "trace": "Un subconjunto filtrado de spans, elegido por el Selector de span del trabajo." }, "steps": { - "trace": "Spans en orden temporal; el medio se pliega cuando el trace es muy largo.", - "session": "Traces en orden temporal, representados como turnos de conversación." + "trace": "Spans en orden cronológico; el centro se pliega cuando el trace es muy largo.", + "session": "Traces en orden cronológico, representados como turnos de conversación." } } } }, "spanSelector": { - "select": "Seleccionar Selector de Spans", - "bindingHelp": "Los traces pueden tener cientos de spans. Elige aquellos que este scorer debe revisar.", + "select": "Seleccionar Selector de span", + "bindingHelp": "Los traces pueden tener cientos de spans. Elige los que este evaluador debe examinar.", "createForScorer": "Crear para scorer", - "createForScorerTitle": "Crear un Selector de Spans para este scorer", - "editorTitle": "Selector de Spans", + "createForScorerTitle": "Crear un Selector de span para este evaluador", + "editorTitle": "Selector de span", "name": "Nombre del selector", "schemaMode": "Campos a Leer", "defaultSchema": "Campos GenAI Estándar", "customSchema": "Campos personalizados", - "defaultSchemaHelp": "Estos ocho campos se leen de cada span coincidente. Cualquier cosa faltante viene vacía.", + "defaultSchemaHelp": "Estos ocho campos se leen de cada span que coincida. Lo que falte se entrega vacío.", "fields": "Campos", "fieldsHelp": "Solo se leen estos campos; no se envía nada más al scorer.", "maximumSpans": "Máximo de spans", @@ -12077,21 +12077,21 @@ "filter": "Completa o elimina la condición de filtro sin terminar.", "fields": "Selecciona al menos un campo para un esquema personalizado.", "maximumSpans": "El máximo de spans debe ser un número entero positivo.", - "budget": "Demasiados spans para los campos seleccionados. Reduce la cantidad de spans o lee menos campos.", - "binding": "Selecciona un Span Selector para cada puntuador que utilice spans de traza." + "budget": "Demasiados spans para los campos seleccionados. Reduce el número de spans o lee menos campos.", + "binding": "Selecciona un Selector de span para cada evaluador que use spans de trace." } }, "preview": { "scopes": { "span": { "title": "Spans coincidentes", - "hint": "Una vez que hayas elegido un stream y un filtro, este panel mostrará cuántos spans coincidirá tu tarea.", + "hint": "Una vez que hayas elegido un stream y un filtro, este panel mostrará cuántos spans coincidirán con tu trabajo.", "matchedSuffix": "spans coincidentes · última 1h", "matchedLoading": "Contando spans coincidentes…" }, "trace": { "title": "Traces coincidentes", - "hint": "Una vez que hayas elegido un stream y un filtro, este panel mostrará cuántos traces coincidirá tu tarea.", + "hint": "Una vez que hayas elegido un stream y un filtro, este panel mostrará cuántos traces coincidirán con tu trabajo.", "matchedSuffix": "traces coincidentes · última 1h", "matchedLoading": "Contando traces coincidentes…" }, @@ -12122,9 +12122,9 @@ "nameRequired": "Job name is required", "streamRequired": "A stream is required", "idleWindowMinimum": "La ventana de inactividad debe ser de al menos 1 segundo", - "idleWindowMaximumTrace": "La ventana de inactividad de trace no puede superar los 30 minutos", + "idleWindowMaximumTrace": "La ventana de inactividad del trace no puede superar los 30 minutos", "idleWindowMaximumSession": "La ventana de inactividad de sesión no puede superar las 4 horas", - "maxAgeMaximumTrace": "La antigüedad máxima de trace no puede superar las 2 horas", + "maxAgeMaximumTrace": "La antigüedad máxima del trace no puede superar las 2 horas", "maxAgeMaximumSession": "La antigüedad máxima de sesión no puede superar las 24 horas", "samplingValueRequired": "A sampling value is required" } @@ -12187,7 +12187,7 @@ "curlDesc": "La forma más rápida: pega un comando y los registros comienzan a fluir", "shippers": "Utilice un transportista de troncos", "shippersDesc": "{product1}, {product2}, {product3}, {product4}, {product5} y más", - "otelDesc": "Ingestión de OTLP independiente del proveedor para registros, seguimientos y métricas", + "otelDesc": "Ingesta OTLP independiente del proveedor para logs, traces y métricas", "or": "O:", "aws": "AWS/CloudWatch", "askAi": "Pídele a la IA que configure la ingestión" @@ -12196,13 +12196,13 @@ "title": "Elige un arroyo para empezar a explorar", "description": "Elige una transmisión y, a continuación, pulsa Ejecutar consulta. Puedes refinarla con filtros, una función de VRL y un intervalo de tiempo personalizado una vez que recibas los resultados.", "selectStream": "Selecciona una transmisión", - "selectStreamDesc": "Explore registros, seguimientos, métricas y flujos de RUM", + "selectStreamDesc": "Explora streams de logs, traces, métricas y RUM", "queryGuide": "Lea la guía de consultas", "queryGuideDesc": "Filtros, modo SQL, VRL y vistas guardadas", "recent": "Reciente:" }, "noEvents": { - "title": "No se ha encontrado ningún evento", + "title": "No se encontraron eventos", "descNoFilters": "No se encontró ningún evento en {range}. Intenta ampliar el intervalo de tiempo para cargar los resultados.", "descWithFilters": "No hay nada que coincida con esta consulta en la ventana seleccionada. Intente ampliar el intervalo de tiempo, suavizar un filtro o restablecer la consulta.", "descOutOfRange": "Tu ventana de tiempo no contiene datos de este stream. Salta a cuando se vieron datos por última vez.", @@ -12293,13 +12293,13 @@ "scannedEventsForQuery": "Eventos escaneados para esta consulta", "timeTaken": "Tiempo empleado", "noData": "Sin datos", - "traceId": "ID de traza", + "traceId": "ID de trace", "viewQuery": "Ver consulta", "sqlQuery": "Consulta SQL", "copied": "¡Copiado!", "sql": "SQL", "noSqlAvailable": "No hay consulta SQL disponible", - "fullTraceId": "ID de traza completo", + "fullTraceId": "ID de trace completo", "columnDuration": "Duración", "columnNodeName": "Nombre del nodo", "columnRole": "Rol", @@ -12312,7 +12312,7 @@ "goodResponse": "Buena respuesta", "moderateResponse": "Respuesta moderada", "slowResponse": "Respuesta lenta", - "failedToCopyTraceId": "Error al copiar el ID de traza al portapapeles", + "failedToCopyTraceId": "No se pudo copiar el ID de trace al portapapeles", "failedToCopySql": "Error al copiar SQL al portapapeles" }, "searchResult": { @@ -12332,7 +12332,7 @@ "noMetricStreams": "No se encontraron streams de métricas para el servicio \"{service}\"", "correlationError": "Error de correlación: {error}", "contentCopied": "¡Contenido copiado exitosamente!", - "noTraceIdForInspection": "No hay ID de traza disponible para inspección" + "noTraceIdForInspection": "No hay un ID de trace disponible para inspección" }, "searchBar": { "customRangeAlt": "Rango personalizado", @@ -12496,7 +12496,7 @@ "expandRangeDesc": "Los datos accesibles pueden estar en una ventana de tiempo diferente", "copyError": "Copiar detalles del error", "copied": "¡Copiado!", - "traceId": "ID de seguimiento:", + "traceId": "ID de trace:", "askAi": "Pedir a la IA que corrija mi consulta", "showDetail": "Mostrar detalles", "hideDetail": "Ocultar detalles" @@ -13354,7 +13354,7 @@ "errorPatternsWindowDesc": "Normalizado en {window} · haga clic en una fila para filtrar ejecuciones" }, "scheduleAlert": { - "addNewDestination": "Agregar nuevo destino", + "addNewDestination": "Añadir nuevo destino", "alertedIfFails": "Se alerta si la prueba falla", "alertedIfFailsSuffix": "veces.", "alerts": "Alertas", @@ -13644,7 +13644,7 @@ "metrics": "Métricas", "traces": "Trazas", "alerts": "Alertas", - "streams": "Transmisiones", + "streams": "Flujos", "pipelines": "Tuberías", "functions": "Funciones", "reports": "Reportes", @@ -13664,7 +13664,7 @@ "metrics": "Métricas", "traces": "Trazas", "alerts": "Alertas", - "streams": "Transmisiones", + "streams": "Flujos", "pipelines": "Tuberías", "functions": "Funciones", "reports": "Reportes", @@ -13676,7 +13676,7 @@ "alertSources": "Alertas — Fuentes externas", "alertTemplates": "Alertas — Plantillas", "panelEditor": "Editor de paneles", - "traceDetail": "Detalle de rastreo", + "traceDetail": "Detalle de traza", "runningQueries": "Ejecución de consultas", "ingestionTokens": "IAM — Tokens de ingestión", "syntheticsTokens": "IAM — Tokens de Synthetics", @@ -13757,7 +13757,7 @@ "iamGroupsRefresh": "Actualizar lista", "iamServiceAccountsAdd": "Agregar nueva cuenta de servicio", "iamServiceAccountsRefresh": "Actualizar lista", - "alertDestinationsAdd": "Añadir un nuevo destino", + "alertDestinationsAdd": "Añadir nuevo destino", "alertDestinationsRefresh": "Actualizar lista", "alertSourcesAdd": "Agregar nueva fuente de alerta", "alertSourcesRefresh": "Actualizar lista", @@ -13768,8 +13768,8 @@ "panelEditorRun": "Ejecutar/aplicar consulta", "panelEditorSave": "Guardar panel", "panelEditorBack": "Descartar y volver", - "traceNextSpan": "Próximo tramo", - "tracePrevSpan": "Lapso anterior", + "traceNextSpan": "Siguiente span", + "tracePrevSpan": "Anterior span", "runningQueriesRefresh": "Actualizar lista de consultas", "ingestionTokensAdd": "Crear un nuevo token", "ingestionTokensRefresh": "Actualizar la lista de tokens", @@ -13780,7 +13780,7 @@ "aiChatExpand": "Expandir/contraer chat de IA", "logsSaveView": "Guardar como vista guardada", "logsExport": "Exportar los resultados como CSV", - "tracesCopyUrl": "Copiar la URL de seguimiento y compartir", + "tracesCopyUrl": "Copiar URL para compartir la traza", "alertIncidentsRefresh": "Actualizar lista", "pipelineDestinationsRefresh": "Actualizar lista", "enrichmentTablesRefresh": "Actualizar lista", @@ -14047,7 +14047,7 @@ "alertState": { "ok": "OK", "normal": "Normal", - "firing": "Disparando", + "firing": "En disparo", "notifyfailed": "Notificación fallida", "flapping": "Inestable", "anomaly": "Anomalía", @@ -14078,7 +14078,7 @@ "error": "Error" }, "crossLinkSource": { - "stream": "Stream", + "stream": "Flujo", "global": "Global" }, "themeApplied": { @@ -14133,7 +14133,7 @@ }, "eventStatus": { "failed": "Fallido", - "firing": "Disparando", + "firing": "En disparo", "anomaly": "Anomalía" }, "featureStatus": { @@ -14148,7 +14148,7 @@ "array": "Arreglo" }, "incidentStatus": { - "firing": "Disparando", + "firing": "En disparo", "closed": "Cerrado" }, "invoiceStatus": { @@ -14167,7 +14167,7 @@ "fatal": "Fatal" }, "pipelineRunOutcome": { - "firing": "Disparado", + "firing": "En disparo", "normal": "Normal", "succeeded": "Exitoso", "skipped": "Omitido", @@ -14314,16 +14314,16 @@ "pleaseWaitWhileLoadingAlert": "Espere mientras se carga la alerta...", "errorWhilePullingAlerts": "Error al obtener las alertas.", "pleaseWaitWhileLoadingAlerts": "Espere mientras se cargan las alertas...", - "destinationsDeletedSuccessfully": "{count} destino eliminado con éxito | {count} destinos eliminados con éxito", + "destinationsDeletedSuccessfully": "{count} destino eliminado correctamente | {count} destinos eliminados correctamente", "failedToDeleteDestinations": "No se pudo eliminar {count} destino | No se pudieron eliminar {count} destinos", - "destinationsDeletedWithFailures": "{count} destino eliminado con éxito, {failed} falló | {count} destinos eliminados con éxito, {failed} fallaron", - "noDestinationsSelectedForDeletion": "No se seleccionaron destinos para eliminar", + "destinationsDeletedWithFailures": "{count} destino eliminado correctamente, {failed} con errores | {count} destinos eliminados correctamente, {failed} con errores", + "noDestinationsSelectedForDeletion": "No se han seleccionado destinos para eliminar", "deletingDestinations": "Eliminando destinos...", - "destinationDeletedSuccessfully": "Destino {name} eliminado con éxito", - "errorWhilePullingDestinations": "Error al obtener los destinos.", - "pleaseWaitWhileLoadingDestinations": "Espere mientras se cargan los destinos...", + "destinationDeletedSuccessfully": "Destino {name} eliminado correctamente", + "errorWhilePullingDestinations": "Error al cargar los destinos.", + "pleaseWaitWhileLoadingDestinations": "Por favor, espere mientras se cargan los destinos...", "errorWhileLoadingActions": "Error al cargar las acciones.", - "pleaseWaitWhileLoadingAlertDestination": "Espere mientras se carga el destino de la alerta...", + "pleaseWaitWhileLoadingAlertDestination": "Por favor, espere mientras se carga el destino de la alerta...", "errorImportingAlertPleaseCheck": "Error al importar la alerta. Verifique el JSON.", "alertsImportedSuccessfully": "{count} alerta importada con éxito | {count} alertas importadas con éxito", "invalidJson": "JSON inválido: {error}", @@ -14393,7 +14393,7 @@ "resources": { "dashboards": "Dashboards", "alerts": "Alertas", - "streams": "Streams", + "streams": "Flujos", "functions": "Funciones", "savedviews": "Vistas guardadas", "users": "Usuarios", @@ -14564,8 +14564,8 @@ "errorWhileUpdating": "Error al actualizar el reporte." }, "correlation": { - "refreshingTraceData": "Actualizando datos de trace...", - "traceDetailViewComingSoon": "La vista de detalle de trace estará disponible próximamente", + "refreshingTraceData": "Actualizando datos de traza...", + "traceDetailViewComingSoon": "La vista de detalle de traza estará disponible pronto", "columnIsAlreadyVisible": "La columna \"{name}\" ya está visible", "columnAddedToTable": "Columna \"{name}\" agregada a la tabla" }, @@ -14613,8 +14613,8 @@ "views": { "youAreNotAuthorizedToManage": "No está autorizado para gestionar la licencia.", "copiedToClipboard": "Copiado al portapapeles", - "noDestinationsFoundPleaseCreateA": "No se encontraron destinos. Cree un destino primero.", - "errorWhilePullingDestinations": "Error al obtener los destinos.", + "noDestinationsFoundPleaseCreateA": "No se han encontrado destinos. Por favor, cree un destino primero.", + "errorWhilePullingDestinations": "Error al cargar los destinos.", "rumTokenUpdatedSuccessfully": "Token RUM actualizado correctamente.", "rumTokenGeneratedSuccessfully": "Token RUM generado correctamente.", "tokenResetSuccessfully": "Token restablecido correctamente.", @@ -14760,7 +14760,7 @@ "tags": "Etiquetas", "tagsPlaceholder": "Agrega una etiqueta y presiona Enter", "streamType": "Tipo de stream", - "stream": "Stream", + "stream": "Flujo", "queryLanguage": "Lenguaje de consulta", "scope": "Alcance", "scopeHint": "Filtro opcional aplicado al denominador. Déjalo vacío para todas las filas.", @@ -14830,7 +14830,7 @@ "noHistory": "Aún no hay historial de evaluación para esta alerta. La medición comienza una vez que se haya ejecutado.", "loadFailed": "No se pudo cargar el historial de evaluación", "legendGood": "OK", - "legendBad": "Disparada", + "legendBad": "Activa", "legendUnmeasured": "No medido" } }, @@ -15360,14 +15360,14 @@ "failed": "Fallidas" }, "columnHints": { - "calls": "Cuántas veces se ejecutó esta consulta. El propio recuento de tu base de datos si lo informa: eso cubre todos los clientes, no solo las partes de tu sistema que envían trazas. Las filas marcadas como observadas por el cliente se cuentan desde las trazas, porque tu base de datos no las informó.", + "calls": "Cuántas veces se ejecutó esta consulta. El recuento propio de la base de datos cuando lo reporta — eso cubre todos los clientes, no solo las partes de tu sistema que envían trazas. Las filas marcadas como observadas por el cliente se cuentan a partir de las trazas, porque tu base de datos no las reportó.", "p50": "La mitad de todas las llamadas terminaron más rápido que esto. Solo cuenta las llamadas finalizadas; una consulta que aún se está ejecutando o que nunca volvió no se mide aquí.", "p95": "La cola lenta: 1 de cada 20 llamadas tardó al menos este tiempo. Solo cuenta las llamadas finalizadas; una consulta que aún se está ejecutando o que nunca volvió no se mide aquí.", "p99": "El 1% peor de las llamadas tardó al menos este tiempo. Solo cuenta las llamadas finalizadas; una consulta que aún se está ejecutando o que nunca volvió no se mide aquí.", "max": "La única llamada más lenta en esta ventana: una llamada real, no un promedio.", "errors": "Cuántas de estas llamadas devolvieron un error.", "perTrace": "Cuántas veces se ejecuta esto dentro de una sola solicitud. Un número alto generalmente significa un bucle.", - "load": "Tiempo total que esta consulta pasó en la base de datos. La propia cifra de tu base de datos si la informa: tiempo de ejecución en Postgres, pero tiempo de ESPERA en MySQL y MariaDB: cada fila indica cuál. Las filas marcadas como observadas por el cliente se miden desde las trazas, por lo que incluyen el viaje de ida y vuelta de la red." + "load": "Tiempo total que esta consulta pasó en la base de datos. La cifra propia de la base de datos cuando la reporta: tiempo de ejecución en Postgres, pero tiempo de espera en MySQL y MariaDB — cada fila indica cuál. Las filas marcadas como observadas por el cliente se miden a partir de las trazas, por lo que incluyen el viaje de ida y vuelta de la red." }, "errorsNone": "ninguna", "errorsAll": "todas", @@ -15405,7 +15405,7 @@ "n-plus-one": { "title": "Se ejecuta al menos {multiplier}× por solicitud", "body": "{share} del tiempo de base de datos · {service}", - "rule": "Se muestra porque esta consulta se ejecuta al menos {ratio} veces dentro de una sola solicitud, en al menos {traces} solicitudes. Es un límite inferior, por lo que el número real puede ser mayor. El trabajo por lotes legítimo puede verse igual." + "rule": "Se muestra porque esta consulta se ejecuta al menos {ratio} veces dentro de una sola solicitud, en al menos {traces} solicitudes. Es un límite inferior, por lo que el número real puede ser mayor. El trabajo por lotes legítimo puede parecer lo mismo." }, "volume-shift": { "title": "Más ocupada, no más lenta", @@ -15479,7 +15479,7 @@ "subtitleCounts": "{pass} pasa, {fail} no. | {pass} pasan, {fail} no.", "checklistTitle": "Lo que comprobamos", "showMeHow": "Muéstrame cómo instrumentarlo.", - "checkTrace": "Revisa una de mis trazas", + "checkTrace": "Revisar una de mis trazas", "checks": { "enabled": { "ok": "La monitorización de bases de datos está activada", @@ -15490,14 +15490,14 @@ "traces": { "ok": "Tus trazas están llegando", "okDetail": "{count} registradas en este rango de tiempo", - "no": "No ha llegado ninguna traza.", - "noDetail": "La monitorización de bases de datos se basa en trazas, y esta organización aún no ha enviado ninguna." + "no": "No ha llegado ninguna traza", + "noDetail": "La monitorización de la base de datos se basa en trazas, y esta organización no ha enviado ninguna todavía." }, "permission": { "ok": "Tienes acceso a estos datos", "okDetail": "eres admin en {org}", "no": "No tienes acceso a estos datos", - "noDetail": "La monitorización de bases de datos lee tus trazas, y tu rol no las incluye. Pide acceso de lectura a un administrador." + "noDetail": "La monitorización de la base de datos lee tus trazas, y tu rol no las incluye. Solicita acceso de lectura a un administrador." }, "dbSpans": { "ok": "Tus trazas mencionan una base de datos", @@ -15533,7 +15533,7 @@ "plans": "Planes de ejecución", "plansHint": "Los pasos que siguió tu base de datos para ejecutar esta consulta. Comienza aquí para averiguar por qué es lenta.", "callers": "Llamadores y ejemplos", - "callersHint": "Qué partes de tu aplicación ejecutaron esta consulta, y ejecuciones lentas individuales que puedes abrir como traza.", + "callersHint": "Qué partes de tu aplicación ejecutaron esta consulta, y ejecuciones lentas individuales que puedes abrir como una traza.", "callersLocked": "Las ejecuciones individuales provienen del trazado. Nada trazó esta consulta en este rango de tiempo." }, "notFound": { @@ -15559,10 +15559,10 @@ "noSamples": "No se cargaron ejecuciones individuales para este rango.", "noSeries": "No hay historial para esta consulta en el rango que seleccionaste.", "liveSeries": "Los puntos más recientes aún se están contando y pueden cambiar.", - "noStream": "No pudimos determinar qué flujo de trazas transporta esta consulta, por lo que sus llamantes y ejemplos no se pueden cargar.", - "ambiguousStream": "Esta organización tiene más de un flujo de trazas y no podemos saber en cuál se ejecuta esta consulta. Elige un flujo para cargar sus llamantes y trazas de muestra.", - "pickStream": "Elige un flujo de trazas", - "invalidStream": "Ese nombre de flujo de trazas no es reconocido, por lo que no ejecutamos la búsqueda.", + "noStream": "No pudimos determinar qué stream de trazas transporta esta consulta, por lo que sus llamadores y ejemplos no se pueden cargar.", + "ambiguousStream": "Esta organización tiene más de un stream de trazas y no podemos saber en cuál se ejecuta esta consulta. Elige un stream para cargar sus llamadores y trazas de muestra.", + "pickStream": "Elige un stream de trazas", + "invalidStream": "Ese nombre de stream de trazas no es uno que reconozcamos, por lo que no ejecutamos la búsqueda.", "firstSeen": "PRIMERA APARICIÓN EN ESTA LISTA A LAS {time}", "firstSeenHint": "El punto más temprano en este rango donde esta consulta fue lo suficientemente pesada como para rastrearse por sí sola.", "lastSeen": "ÚLTIMA APARICIÓN A LAS {time}", @@ -15686,7 +15686,7 @@ "tracedCalls": "{calls} llamadas rastreadas", "coverage": "{count} servicios vistos en {traced} de las {executions} ejecuciones anteriores. El resto provino de llamadores que aún no está rastreando.", "coverageUnknown": "{count} servicios vistos en {traced} llamadas rastreadas. Su base de datos no informó un total para esta declaración, por lo que no hay proporción que dar.", - "noneNamed": "{traced} llamadas fueron rastreadas, pero ninguna de ellas pudo vincularse a un servicio — sus rastreos comienzan fuera de este rango de tiempo." + "noneNamed": "{traced} llamadas fueron trazadas, pero ninguna pudo vincularse a un servicio — sus trazas comienzan fuera de este rango de tiempo." }, "callersEmpty": { "title": "Aún no hay llamadas rastreadas para esta consulta", @@ -15752,9 +15752,9 @@ "failedWithCode": "Fallida · {code}", "viewTrace": "Abrir la solicitud de la que formaba parte esta llamada", "scatterOk": "Completada", - "partial": "Algunos datos de sus trazas no pudieron leerse, por lo que puede que falten llamadas en esta lista.", + "partial": "Algunos de tus datos de trazas no pudieron ser leídos, por lo que puede que falten llamadas en esta lista.", "disclosureShort": "Cada fila es una llamada real completada", - "disclosureDetail": "Medido por la aplicación que realizó la llamada, a partir de las trazas que envía. Solo están aquí las llamadas que finalizaron: una consulta que aún se ejecuta, o una que se colgó y nunca regresó, no produjo medición.", + "disclosureDetail": "Medido por la aplicación que realizó la llamada, a partir de las trazas que envías. Solo están aquí las llamadas que finalizaron: una consulta que aún se ejecuta, o una que se colgó y nunca volvió, no produjo ninguna medición.", "counts": { "complete": "Mostrando todas las {count} llamadas a base de datos en esta ventana, las más lentas primero.", "truncated": "Las {count} llamadas más lentas en esta ventana — se ejecutaron más de las que se muestran aquí.", @@ -15960,7 +15960,7 @@ }, "coverage": { "summary": "La espera más larga es {longest}. Cada espera se remonta a {roots} que mantienen un bloqueo abierto.", - "summaryCapped": "Había más sesiones esperando de las que pudimos leer a la vez. De las que tenemos, la espera más larga es {longest} y se remontan a {roots} que mantienen un bloqueo abierto.", + "summaryCapped": "Había más sesiones en espera de las que pudimos leer a la vez. De las que tenemos, la espera más larga es {longest} y se remontan a {roots} que mantienen un bloqueo abierto.", "summaryOneRoot": "una sesión", "summaryManyRoots": "{count} sesiones", "checked": "Revisado cada {interval} segundos; última revisión {time}.", diff --git a/web/src/locales/languages/fr-FR.json b/web/src/locales/languages/fr-FR.json index 58483d95e6..b6ee06b0d9 100644 --- a/web/src/locales/languages/fr-FR.json +++ b/web/src/locales/languages/fr-FR.json @@ -43,7 +43,7 @@ "allCaughtUp": "Vous êtes à jour", "noPanels": { "title": "Aucun panneau ici pour le moment", - "description": "Ajoutez un panneau pour commencer à visualiser les journaux, les métriques et les traces.", + "description": "Ajoutez un panneau pour commencer à visualiser les logs, les métriques et les traces.", "action": "Ajouter un panneau", "actionDesc": "Graphiques, tableaux et plus" }, @@ -78,7 +78,7 @@ }, "noDashboards": { "title": "Créez votre premier tableau de bord", - "description": "Les tableaux de bord regroupent vos statistiques, vos journaux et vos traces dans une seule vue. Créez-en un pour commencer.", + "description": "Les tableaux de bord regroupent vos métriques, logs et traces dans une seule vue. Créez-en un pour commencer.", "action": "Nouveau tableau de bord", "actionDesc": "Commencez à partir d'un canevas vide", "import": "Tableau de bord d'importation", @@ -124,7 +124,7 @@ }, "noIngestionTokens": { "title": "Pas encore de jetons d'ingestion", - "description": "Les jetons d'ingestion authentifient les sources de données lors de l'envoi de journaux, de métriques et de traces.", + "description": "Les jetons d'ingestion authentifient les sources de données lors de l'envoi de logs, de métriques et de traces.", "action": "Nouveau jeton", "actionDesc": "Générer un jeton d'ingestion" }, @@ -133,11 +133,11 @@ "description": "Les organisations regroupent vos utilisateurs et vos données. Créez-en un pour commencer." }, "noAlertDestinations": { - "title": "Aucune destination pour le moment", - "description": "Les destinations définissent l'endroit où les notifications d'alerte sont envoyées : Slack, e-mail, webhooks, etc.", + "title": "Aucune destination pour l'instant.", + "description": "Les destinations définissent où les notifications d'alerte sont envoyées — Slack, e-mail, webhooks, etc.", "action": "Nouvelle destination", "actionDesc": "Connecter un canal de notification", - "import": "Destination d'importation", + "import": "Importer une destination", "importDesc": "Importer depuis un fichier JSON" }, "noAlertSources": { @@ -147,10 +147,10 @@ "actionDesc": "Créez une URL de webhook et un jeton" }, "noPipelineDestinations": { - "title": "Aucune destination pour le moment", + "title": "Aucune destination pour l'instant.", "description": "Cibles externes pour la sortie du pipeline : points de terminaison HTTP et cibles d'écriture distantes.", "action": "Nouvelle destination", - "actionDesc": "Connecter une destination de pipeline" + "actionDesc": "Connecter une destination de canalisation" }, "noAlertTemplates": { "title": "Pas encore de modèles", @@ -192,7 +192,7 @@ }, "noDiscoveredServices": { "title": "Aucun service n'a été découvert", - "description": "Les services apparaîtront automatiquement ici une fois que les traces commenceront à arriver." + "description": "Les services apparaîtront automatiquement ici dès que les traces commenceront à arriver." }, "noNodes": { "title": "Aucun nœud disponible", @@ -248,7 +248,7 @@ }, "noDatasets": { "title": "Créez votre premier jeu de données", - "description": "Les jeux de données Golden collectent des traces annotées et des revues dans des ensembles d'évaluation versionnés. Créez-en un pour commencer la curation.", + "description": "Les golden datasets collectent les traces annotées et les évaluations dans des ensembles d'évaluation versionnés. Créez-en un pour commencer à les organiser.", "action": "Nouveau jeu de données", "actionDesc": "Démarrer un jeu de données vide" }, @@ -288,15 +288,15 @@ }, "noLLMInsights": { "title": "Aucune activité LLM pour le moment", - "description": "Instrumentez vos services à l'aide des conventions sémantiques OpenTelemetry Gen-AI et ingérez au moins une trace pour alimenter ce tableau de bord.", + "description": "Instrumentez vos services avec les conventions sémantiques OpenTelemetry Gen-AI et ingérez au moins une trace pour alimenter ce tableau de bord.", "action": "Instrument avec OpenTelemetry", "actionDesc": "Capturez les attributs gen_ai_* sur vos traces" }, "noLLMSessions": { "title": "Pas encore de sessions de LLM", - "description": "Les sessions sont regroupées par gen_ai_conversation_id. Instrumentez vos services de manière à ce que chaque conversation marque ses traces, et les sessions apparaîtront ici.", + "description": "Les sessions sont regroupées par gen_ai_conversation_id. Instrumentez vos services afin que chaque conversation étiquette ses traces, et les sessions apparaîtront ici.", "action": "Instrument avec OpenTelemetry", - "actionDesc": "Les tags s'étendent avec gen_ai_conversation_id" + "actionDesc": "Étiquetez les spans avec gen_ai_conversation_id" }, "noScorers": { "title": "Aucun buteur pour l'instant", @@ -342,11 +342,11 @@ }, "noTraces": { "title": "Aucune trace trouvée", - "description": "Aucune trace ne correspond au service et à la plage horaire sélectionnés. Essayez un intervalle de temps plus large ou un autre service." + "description": "Aucune trace ne correspond au service et à la plage temporelle sélectionnés. Essayez une plage temporelle plus large ou un autre service." }, "noServiceGraph": { "title": "Aucune donnée graphique de service", - "description": "Essayez d'interroger une plage de temps plus longue ou assurez-vous que vos services émettent des métriques d'intervalle." + "description": "Essayez d'interroger une plage temporelle plus longue, ou assurez-vous que vos services émettent des métriques de spans." }, "noServicesCatalog": { "title": "Aucun service n'a été trouvé", @@ -406,7 +406,7 @@ "pipelines": "pipelines", "workflows": "workflows", "functions": "fonctions", - "streams": "ruisseaux", + "streams": "flux", "alerts": "alertes", "incidents": "incidents", "traces": "traces", @@ -523,8 +523,8 @@ "relatedEvents": "Événements associés", "on": "sur", "event": "événement", - "viewTraceDetails": "Voir les détails de la trace", - "viewTrace": "Voir la trace", + "viewTraceDetails": "Afficher les détails de la trace", + "viewTrace": "Afficher la trace", "networkRequests": "Requêtes réseau", "noNetworkRequestsFound": "Aucune requête réseau trouvée pour cet événement", "consoleLogsComingSoon": "Journaux de console bientôt disponibles", @@ -744,7 +744,7 @@ "nameIsRequired": "Le nom est requis", "streamTypeIsRequired": "Le type de flux est requis", "functionNameIsRequired": "Le nom de la fonction est requis", - "remoteDestinationIsRequired": "La destination distante est requise", + "remoteDestinationIsRequired": "Une destination distante est requise.", "timezoneIsRequired": "Le fuseau horaire est requis", "idPrefix": "ID : {id}", "unchangedCount": "Inchangé ({count})", @@ -847,7 +847,7 @@ "destination": { "createNew": "Créer une nouvelle destination", "select": "Destination", - "loadError": "Erreur lors du chargement des destinations." + "loadError": "Erreur lors de la récupération des destinations." }, "function": { "createNew": "Créer une nouvelle fonction", @@ -1061,10 +1061,10 @@ "regionFilterMsg": "Rechercher une région/un cluster", "queryRangeRestrictionMsg": "La plage de requêtes est limitée à {range}. Veuillez ajuster la plage de dates en conséquence. Dans le cas contraire, la date de début sera automatiquement ajustée pour s'adapter à la limite autorisée.", "cancel": "Annuler la requête", - "viewTrace": "Afficher Trace", - "viewTraceUnavailable": "Impossible d'ouvrir la trace pour cet enregistrement de journal.", + "viewTrace": "Afficher la trace", + "viewTraceUnavailable": "Impossible d'ouvrir la trace pour cet enregistrement de log.", "viewRelated": "Afficher les articles connexes", - "viewRelatedTooltip": "Afficher les traces et les métriques associées", + "viewRelatedTooltip": "Afficher les traces et métriques associées", "flattened": "Aplati", "original": "Original", "resetFilters": "Réinitialiser les filtres", @@ -1146,8 +1146,8 @@ "selectFunctionNamePlaceholder": "Sélectionnez le nom de la fonction", "confirmFunctionUpdateTitle": "Confirmer la mise à", "confirmFunctionUpdateMsg": "Êtes-vous sûr de vouloir mettre à jour la fonction {name} ?", - "traceIdLabel": "ID de trace :", - "enterTraceIdPlaceholder": "Entrez l'ID de trace", + "traceIdLabel": "ID de trace :", + "enterTraceIdPlaceholder": "Saisissez l'ID de trace", "changeQueryModeTitle": "Changer le mode de requête", "changeQueryModeConfirm": "Êtes-vous sûr de vouloir modifier le mode de requête ? Les données enregistrées pour l'axe X, l'axe Y et les filtres seront effacées.", "patternExampleLog": "Exemple de log", @@ -1197,9 +1197,9 @@ "upgradeToProPlan": "Passer au plan PRO", "home": "Accueil", "about": "À propos", - "index": "Ruisseaux", + "index": "Flux", "search": "Logs", - "traces": "Des traces", + "traces": "Traces", "serviceGraph": "Graphe des services", "services": "Catalogue des services", "aiObservability": "Observabilité de l'IA", @@ -1383,7 +1383,7 @@ "loadingMsg": "Attendez, nous sommes en train de charger les données du RUM.", "breadcrumbs": "Chapelure", "tags": "Balises", - "traces": "Des traces", + "traces": "Traces", "searchEvents": "Rechercher des événements", "loadingSessions": "Tiens bon, on va chercher des séances.", "errorStack": "Error Stack", @@ -1394,11 +1394,11 @@ "discoverSessionMessage": "Session Replay capture et rejoue les interactions des utilisateurs sur votre site Web ou votre application. Cela vous permet d'examiner visuellement la façon dont les utilisateurs naviguent, où ils cliquent, ce qu'ils saisissent et comment ils interagissent avec votre contenu", "loadingErrorDetails": "Attendez, nous sommes en train de récupérer les détails de l'erreur.", "eventID": "ID de l'événement", - "noCorrelatedTraces": "Aucune trace corrélée n'a été trouvée pour cette session.", - "span": "envergure", - "spans": "couvre", - "errorTraces": "traces d'erreurs", - "failedToFetchTraces": "Impossible de récupérer les données de trace. Réessayez, s'il vous plaît.", + "noCorrelatedTraces": "Aucune trace corrélée trouvée pour cette session.", + "span": "span", + "spans": "spans", + "errorTraces": "traces d'erreur", + "failedToFetchTraces": "Échec de la récupération des données de trace. Veuillez réessayer.", "seekToMoment": "Recherchez ce moment de la session", "route": "Parcours", "duration": "Durée", @@ -1537,7 +1537,7 @@ "feature_column_name": "Fonctionnalité", "feature_logs": "Journaux", "feature_metrics": "Métriques", - "feature_traces": "Des traces", + "feature_traces": "Traces", "feature_alerts": "Alertes", "feature_dashboards": "Tableaux de bord", "feature_reports": "Rapports", @@ -1561,7 +1561,7 @@ "feature_license": "Licence", "feature_support": "soutien", "feature_cost": "Coût", - "feature_pipelines_external": "Pipelines - Destinations extérieures", + "feature_pipelines_external": "Canalisations - Destinations externes", "feature_extreme_performance": "Performances extrêmes (amélioration de 100 fois pour de nombreuses requêtes)", "feature_query_optimizer": "Optimiseur de requêtes", "value_license_agpl": "AGPL", @@ -1663,7 +1663,7 @@ }, "core_features": { "logs_metrics_traces": { - "name": "Journaux, mesures, traces", + "name": "Logs, Métriques, Traces", "note": "Ingestion et analyse complètes des données d'observabilité" }, "rum": { @@ -1736,7 +1736,7 @@ "note": "Protégez les informations personnelles et sensibles" }, "pipeline_remote_destinations": { - "name": "Destinations éloignées des pipelines", + "name": "Canalisations - Destinations distantes", "note": "Envoyer des données vers des destinations distantes" }, "query_optimizer": { @@ -1780,7 +1780,7 @@ "note": "Opérations de jointure distribuées optimisées" }, "logs_metrics_traces_correlation": { - "name": "Corrélation des logs, des métriques et des traces", + "name": "Corrélation des logs, métriques et traces", "note": "Détection et corrélation automatisées" }, "service_maps": { @@ -2464,7 +2464,7 @@ "secondaryIndexCount": "Index secondaire ({count})" }, "deleteField": "Supprimer le champ", - "header": "Ruisseaux", + "header": "Flux", "subtitle": "Gestion des index et configuration des flux", "streamNameHelpText": "Utilisez uniquement des caractères alphanumériques, un trait de soulignement et deux points.", "search": "Stream de recherche", @@ -2504,7 +2504,7 @@ "deleteDatesMessage": "Êtes-vous sûr de vouloir supprimer les dates sélectionnées ? Cette action ne peut pas être annulée.", "labelLogs": "Logs", "labelMetrics": "Métriques", - "labelTraces": "Des traces", + "labelTraces": "Traces", "labelMetadata": "Métadonnées", "add": "Ajouter un stream", "dataRetention": "Conservation des données (en jours)", @@ -2546,7 +2546,7 @@ }, "workflow": { "header": "Workflows", - "subtitle": "Automatisez les actions avec des déclencheurs, de la logique et des destinations", + "subtitle": "Automatiser les actions avec des déclencheurs, de la logique et des destinations", "create": "Nouveau workflow", "createSuccess": "Workflow créé avec succès", "name": "Nom du workflow", @@ -2757,7 +2757,7 @@ "incompleteBadge": "Configurer plus tard", "destinationSetUpLater": "Configurer plus tard", "destinationSetUpLaterPrompt": "Vous n'avez pas encore de destination ? Activez cette option pour la configurer plus tard — vous pouvez enregistrer un brouillon et tester maintenant.", - "destinationSetUpLaterActive": "La destination est ignorée pour le moment — le nom et le commentaire sont tout de même enregistrés. Vous aurez besoin d'une destination avant de publier.", + "destinationSetUpLaterActive": "La destination est ignorée pour le moment — le nom et le commentaire sont quand même enregistrés. Vous aurez besoin d'une destination avant de publier.", "functionSetUpLater": "Configurer plus tard", "functionSetUpLaterPrompt": "Vous n'avez pas encore de fonction ? Activez cette option pour la configurer plus tard — vous pouvez enregistrer un brouillon et tester maintenant.", "functionSetUpLaterActive": "La fonction est ignorée pour le moment — le nom et le commentaire sont tout de même enregistrés. Vous aurez besoin d'une fonction avant de publier." @@ -2816,7 +2816,7 @@ "functionNodeInvalidName": "Le nœud de fonction {id} a un nom de fonction invalide \"{name}\". Doit être l'une des fonctions disponibles.", "outputStreamNodeEmptyName": "Le nœud de flux de sortie {id} a un nom de flux vide", "remoteStreamNodeEmptyDestination": "Le nœud de flux distant {id} a un nom de destination vide", - "remoteStreamNodeInvalidDestination": "Le nœud de flux distant {id} a une destination invalide \"{destination}\". Doit être l'une des destinations de pipeline disponibles.", + "remoteStreamNodeInvalidDestination": "Le nœud de flux distant {id} a une destination invalide \"{destination}\". Doit être l'une des destinations de canalisations disponibles.", "edgeMissingSourceNode": "L'arête {id} référence un nœud source inexistant {source}", "edgeMissingTargetNode": "L'arête {id} référence un nœud cible inexistant {target}", "inputNodeHasIncomingEdges": "Le nœud d'entrée {id} ne doit pas avoir d'arêtes entrantes. {count} arêtes entrantes trouvées.", @@ -2831,7 +2831,7 @@ "importErrors": { "unknownError": "Erreur inconnue", "nameRequired": "Pipeline - {index} : le nom est requis", - "streamTypeInvalid": "Pipeline - {index} : le type de flux est obligatoire et doit être l'un des suivants : 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Canalisation - {index} : le type de flux est obligatoire et doit être l'un des suivants : 'logs', 'métriques', 'traces'.", "sourceStreamNameRequired": "Pipeline - {index} : le nom du flux source est requis ", "sqlQueryRequired": "Pipeline - {index} : la requête SQL est requise", "timezoneRequired": "Pipeline - {index} : le fuseau horaire est requis", @@ -2844,7 +2844,7 @@ "v0ConditionFields": "Pipeline - {index}, Nœud {nodeIndex} : format V0 - chaque condition doit avoir une colonne, un opérateur et une valeur.", "v1ConditionInvalid": "Pipeline - {index}, Nœud {nodeIndex} : format de condition V1 invalide.", "conditionFormatUnrecognized": "Pipeline - {index}, Nœud {nodeIndex} : format de condition non reconnu.", - "remoteDestinationRequired": "Pipeline - {index} : la destination distante est requise", + "remoteDestinationRequired": "Canalisation - {index} : destination distante requise", "createSuccess": "Pipeline - {index} : \"{name}\" créé avec succès \nRemarque : veuillez supprimer l'objet pipeline créé {name} du fichier json", "createFailed": "Pipeline - {index} : la création de \"{name}\" a échoué --> \n Raison : {reason}", "sqlQueryMismatch": "Pipeline - {index}: La requête SQL doit être identique dans tous les nœuds et doit également correspondre à la requête dans les nœuds \n\n input.sql_query: {sqlQuery} \n\n input.source.query_condition.sql: {sourceSql} \n", @@ -2945,7 +2945,7 @@ "defaultDelayTooltip": "Par défaut : 5 secondes", "deleteDataBeforeBackfill": "Supprimer les données existantes avant le backfill", "irreversibleDeletionWarning": "Avertissement : suppression irréversible des données", - "deleteBackfillWarningMessage": "Cela supprimera définitivement toutes les données du flux de destination pour la plage horaire spécifiée avant d'exécuter le backfill. Cette action ne peut pas être annulée.", + "deleteBackfillWarningMessage": "Cela supprimera définitivement toutes les données du flux de destination pour la plage temporelle spécifiée avant d'exécuter le backfill. Cette action ne peut pas être annulée.", "timeAlignmentRequirements": "Exigences d'alignement horaire (UTC) :", "logsHourBoundaryNote": "streams : Les heures doivent être alignées sur les heures pleines en UTC (par ex., 10:00:00, pas 10:15:00)", "metricsTracesLabel": "Métriques/Traces", @@ -2971,8 +2971,8 @@ "statusUnknown": "Inconnu", "phaseInitializing": "Initialisation" }, - "deleteBackfillConfirmMessage": "Vous avez sélectionné la suppression des données existantes avant le backfill. Cela supprimera définitivement toutes les données du flux de destination pour la plage horaire spécifiée.", - "editBackfillDeleteConfirmMessage": "Vous avez sélectionné la suppression des données existantes avant le backfill. Cela supprimera définitivement toutes les données du flux de destination pour la plage horaire spécifiée. Cette action NE PEUT PAS être annulée ou interrompue une fois la tâche mise à jour. Voulez-vous vraiment continuer ?", + "deleteBackfillConfirmMessage": "Vous avez choisi de supprimer les données existantes avant le backfill. Cela supprimera définitivement toutes les données du flux de destination pour la plage temporelle spécifiée.", + "editBackfillDeleteConfirmMessage": "Vous avez choisi de supprimer les données existantes avant le backfill. Cela supprimera définitivement toutes les données du flux de destination pour la plage temporelle spécifiée. Cette action NE PEUT PAS être annulée ni interrompue une fois la tâche mise à jour. Voulez-vous vraiment continuer ?", "actionCannotBeUndone": "Cette action NE PEUT PAS être annulée ou interrompue une fois la tâche créée.", "areYouSureProceed": "Voulez-vous vraiment continuer ?", "clearFilters": "Effacer les filtres", @@ -3036,15 +3036,15 @@ "sourceQueryTooltip": "Source : Query Node", "functionTooltip": "Nœud de fonction", "conditionTooltip": "Nœud de condition", - "destinationStreamTooltip": "Destination : nœud de flux", - "destinationExternalTooltip": "Destination : nœud de destination externe", + "destinationStreamTooltip": "Destination : nœud de flux", + "destinationExternalTooltip": "Destination : nœud de destination externe", "pipelineNotFound": "Pipeline introuvable", "pipelineNameRequired": "Le nom du pipeline est obligatoire", "sourceNodeRequired": "Le nœud source est requis", - "destinationNodeRequired": "Le nœud de destination est obligatoire", + "destinationNodeRequired": "Le nœud de destination est requis", "connectAllNodes": "Veuillez connecter tous les nœuds avant de sauvegarder", "connectAllNodesShort": "Veuillez connecter tous les nœuds", - "enrichmentTablesScheduledOnly": "Les tables d'enrichissement en tant que flux de destination ne sont disponibles que pour les pipelines planifiés", + "enrichmentTablesScheduledOnly": "Les tables d'enrichissement en tant que flux de destination ne sont disponibles que pour les canalisations planifiées", "savingPipeline": "Sauver un pipeline...", "pipelineUpdated": "Mise à jour réussie du pipeline", "pipelineSaved": "Pipeline enregistré avec succès", @@ -3092,7 +3092,7 @@ "streamType": "Type de flux *" }, "sourceNode": "Source", - "streamNode": "Diffusez", + "streamNode": "Flux", "queryNode": "Requête", "transformNode": "Transformez", "functionNode": "Fonction", @@ -3182,7 +3182,7 @@ "noJobSelected": "Aucun job sélectionné", "updateBackfillJobFailed": "Échec de la mise à jour du job de backfill", "fetchPipelineHistoryFailed": "Échec de la récupération de l'historique du pipeline", - "defaultDestinationNodeWarning": "La suppression du nœud de destination par défaut arrête l'ingestion de données dans celui-ci. Le flux source sera alors routé uniquement vers le flux de destination nouvellement ajouté. Les données non routées vers un flux de destination seront supprimées.", + "defaultDestinationNodeWarning": "La suppression du nœud de destination par défaut empêche l'ingestion des données dans celui-ci. Le flux source ne redirigera alors que vers le flux de destination nouvellement ajouté. Les données non acheminées vers un flux de destination seront supprimées.", "confirmBulkDeleteMsg": "Êtes-vous sûr de vouloir supprimer {count} pipeline(s)?", "confirmPauseBackfillJob": "Êtes-vous sûr de vouloir mettre en pause le job de backfill pour \"{name}\"? Vous pourrez le reprendre plus tard.", "confirmResumeBackfillJob": "Êtes-vous sûr de vouloir reprendre le job de backfill pour \"{name}\"?", @@ -3292,10 +3292,10 @@ "analyzingDimensions": "Analyse des dimensions...", "arrowSeparator": "→", "computingDistributions": "Calcul des distributions de fréquences entre {count} dimensions", - "dashboardDescError": "Comparaison du pourcentage d'erreurs des traces pendant la période de pic d'erreurs par rapport à la ligne de base sur toutes les dimensions", - "dashboardDescLatency": "Comparaison de la latence en percentile des traces sélectionnées (durée {start}-{end}µs) par rapport à la ligne de base sur toutes les dimensions", - "dashboardDescVolume": "Comparaison de la distribution du nombre de traces par rapport à la ligne de base sur toutes les dimensions", - "dashboardDescVolumeRate": "Comparaison de la distribution du nombre de traces des périodes sélectionnées (taux {start}-{end} traces) par rapport à la ligne de base sur toutes les dimensions", + "dashboardDescError": "Comparaison du pourcentage d'erreurs des traces pendant la période de pic d'erreurs par rapport à la référence selon les dimensions", + "dashboardDescLatency": "Comparaison de la latence en percentile des traces sélectionnées (durée {start}-{end}µs) par rapport à la référence selon les dimensions", + "dashboardDescVolume": "Comparaison de la distribution du nombre de traces par rapport à la référence selon les dimensions", + "dashboardDescVolumeRate": "Comparaison de la distribution du nombre de traces des périodes sélectionnées (taux {start}-{end} traces) par rapport à la référence selon les dimensions", "dashboardTitleError": "Analyse des erreurs", "dashboardTitleLatency": "Analyse de la latence", "dashboardTitleVolume": "Analyse du volume", @@ -3315,7 +3315,7 @@ "title": "Perspectives", "tabLabel": "Tarif", "analyzeTooltipLogs": "Analyser la distribution des dimensions pour la plage de temps actuelle", - "analyzeTooltipTraces": "Analysez les dimensions des traces pour déterminer le taux, la latence et les modèles d'erreur", + "analyzeTooltipTraces": "Analyser les dimensions des traces pour les taux, la latence et les modèles d'erreurs", "rateLabel": "Tarif :", "searchInspectionsLabel": "Inspectez les détails de l'exécution des tâches de recherche", "inspectBtnLabel": "Inspectez", @@ -3418,7 +3418,7 @@ "singleTargetTitle": "Cible d'écriture à distance unique", "fanoutTitle": "Diffusion vers plusieurs backends", "tipPrefix": "Astuce : `vmagent` peut dupliquer les écritures en répétant le", - "tipSuffix": "flag, afin de pouvoir conserver une destination VictoriaMetrics existante tout en transmettant également les métriques à OpenObserve.", + "tipSuffix": "option, afin que vous puissiez conserver une destination VictoriaMetrics existante tout en transférant également des métriques vers OpenObserve.", "docLinkText": "pour en savoir plus sur la configuration des cibles d'écriture à distance de vmagent." }, "ai": { @@ -3441,7 +3441,7 @@ "customLabel": "Personnalisé", "logsLabel": "Logs", "metricsLabel": "Métriques", - "tracesLabel": "Des traces", + "tracesLabel": "Traces", "redirectionIngestionMsg": "Remarque : Pour accéder à des pages autres que l'IAM, l'ingestion de données doit être initiée au sein de l'organisation actuelle.", "databaseLabel": "bases de données", "securityLabel": "Sécurité", @@ -3629,7 +3629,7 @@ "anyWindowsHostNote": "Tout serveur Windows ou VM.", "arrow": "→", "askOnSlack": "Demandez sur Slack", - "autoInstrumentTracesDesc": "Facultatif. L'opérateur OpenTelemetry injecte l'instrumentation dans les charges de travail annotées, ce qui vous permet d'obtenir **des traces distribuées sans toucher au code applicatif ni reconstruire les images**. Choisissez un langage, puis annotez l'espace de noms dans lequel il s'exécute.", + "autoInstrumentTracesDesc": "Facultatif. L'opérateur OpenTelemetry injecte l'instrumentation dans les charges de travail annotées, ce qui permet d'obtenir **des traces distribuées sans modifier le code de l'application ni reconstruire les images**. Choisissez un langage, puis annotez le namespace dans lequel il s'exécute.", "autoInstrumentTracesTitle": "Instrumentez automatiquement vos applications pour les traces", "cassandraJmxNote": "Activez l'accès distant JMX sur Cassandra pour que le récepteur puisse se connecter.", "cassandraTagline": "Collectez les métriques Cassandra via le récepteur JMX du collecteur OpenTelemetry et envoyez-les à OpenObserve.", @@ -3654,7 +3654,7 @@ "configureCollectorTitle": "Configurer le collecteur OpenTelemetry", "connectedLogsHeadline": "Connecté — les logs arrivent", "connectedMetricsHeadline": "Connecté — les métriques arrivent", - "connectedTracesHeadline": "Connecté — les traces arrivent", + "connectedTracesHeadline": "Connecté — Les traces circulent", "countLogs": "{count} journal | {count} journaux", "countMetricStreams": "{count} flux de métriques | {count} flux de métriques", "countSpans": "{count} span | {count} spans", @@ -3675,7 +3675,7 @@ "gcpFixBody": "GCP signale les échecs de livraison sur l'abonnement lui-même. Si le sink publie mais que rien n'arrive ici, le endpoint de push rejette généralement la requête :", "gcpFixTitle": "Vérifier l'abonnement push", "gcpPushUrlNote": "Gardez cette URL secrète — elle contient la clé d'ingestion. Faites-la pivoter depuis l'en-tête de cette page si elle fuit.", - "gcpSinkDesc": "Dans la console GCP, créez un **récepteur Log Router** (Logging → Log Router → Create sink) avec Pub/Sub comme destination et laissez-le créer le sujet. Le filtre d'inclusion du récepteur détermine quels journaux atteignent OpenObserve.", + "gcpSinkDesc": "Dans la console GCP, créez un **récepteur Log Router** (Logging → Log Router → Créer un récepteur) avec Pub/Sub comme destination, et laissez-le créer le sujet. Le filtre d'inclusion du récepteur décide des logs qui atteignent OpenObserve.", "gcpSinkTitle": "Acheminer les journaux vers un sujet Pub/Sub", "gcpSinkWriterNote": "Accordez à l'identité d'écriture du sink le rôle Pub/Sub Publisher sur le topic, sinon elle ne publiera rien en silence.", "gcpStreamHelp": "Utilisé dans l'URL d'envoi ci-dessus et surveillé par la vérification ci-dessous. Un flux dédié conserve les journaux GCP séparés.", @@ -3748,7 +3748,7 @@ "mysqlTagline": "Collectez les métriques MySQL avec le collecteur OpenTelemetry et envoyez-les à OpenObserve.", "noLogsFoundYet": "Aucun log trouvé pour l'instant", "noMetricsFoundYet": "Aucune métrique trouvée pour l'instant", - "noSpansFoundYet": "Aucune span trouvée pour l'instant", + "noSpansFoundYet": "Aucun span trouvé pour l'instant", "nothingOnStream": "rien sur {stream} — exécutez votre application et testez à nouveau", "notTestedYet": "Pas encore testé", "onStream": "sur {stream}", @@ -3757,16 +3757,16 @@ "oracleTagline": "Collectez les métriques Oracle DB avec le collecteur OpenTelemetry et envoyez-les à OpenObserve.", "otlpFixBody": "Définir un exportateur ne suffit pas — il doit être listé dans un pipeline. C'est la raison la plus courante pour laquelle une configuration apparemment correcte n'envoie rien :", "otlpFixTitle": "Vérifier que l'exportateur est effectivement intégré au pipeline", - "otlpGrpcNote": "Surcharge inférieure à HTTP pour des volumes de spans élevés. Le port 5081 doit être accessible depuis le collecteur.", + "otlpGrpcNote": "Surcharge plus faible que HTTP pour des volumes de spans élevés. Le port 5081 doit être accessible depuis le collecteur.", "otlpHttpNote": "Le défaut pour le collecteur OpenTelemetry — fonctionne partout, y compris derrière des proxys et des équilibreurs de charge.", "otlpSdkEnvNote": "Variables d'environnement OTEL_* standard — chaque SDK OpenTelemetry les lit, donc aucune modification de code n'est nécessaire.", "otlpTracesStreamHelp": "Écrit dans la configuration ci-dessus en tant que `stream-name`, et surveillé par la vérification ci-dessous.", "otlpTrouble401A": "L'en-tête `Authorization` doit être `Basic ` en utilisant le jeton d'ingestion de cette organisation — la valeur ci-dessus est déjà correcte. S'il a été régénéré, recopiez-le depuis cette page.", "otlpTrouble401Q": "Le collecteur journalise 401 ou 403", - "otlpTroubleHttpGrpcA": "HTTP est le choix sûr par défaut et traverse proprement les proxys et les équilibreurs de charge. gRPC a une surcharge plus faible en cas de volume de spans élevé mais nécessite que le port 5081 soit accessible de bout en bout.", + "otlpTroubleHttpGrpcA": "HTTP est la valeur par défaut sûre et traverse proprement les proxys et les équilibreurs de charge. gRPC a une surcharge plus faible pour un volume de spans élevé, mais nécessite que le port 5081 soit accessible de bout en bout.", "otlpTroubleHttpGrpcQ": "Dois-je utiliser HTTP ou gRPC ?", "otlpTroubleStreamA": "L'en-tête `stream-name` détermine le flux. Définissez-le sur le même nom que le champ ci-dessus, sinon la vérification ci-dessous surveille un flux dans lequel rien n'est écrit.", - "otlpTroubleStreamQ": "Les spans arrivent mais atterrissent dans le mauvais flux", + "otlpTroubleStreamQ": "Les spans arrivent mais aboutissent dans le mauvais stream", "otlpTroubleTlsA": "L'indicateur `tls.insecure` doit correspondre au schéma du point de terminaison — il est défini sur `{insecure}` ci-dessus en fonction de l'URL de ce déploiement. Un point de terminaison HTTP simple nécessite `insecure: true` ; un point de terminaison HTTPS nécessite `false`.", "otlpTroubleTlsQ": "La connexion gRPC échoue avec une erreur TLS", "pillActiveBackends": "Backends actifs", @@ -3975,13 +3975,13 @@ "stuck": "Bloqué ?", "taglineDatabricks": "Envoyez les journaux de notebooks Databricks à OpenObserve via l'API des journaux.", "taglineGcp": "Transmettez les journaux Google Cloud vers OpenObserve avec un abonnement push Pub/Sub — aucun agent ni collecteur à exécuter.", - "taglineKubernetes": "Déployez le collecteur OpenObserve sur votre cluster — journaux de conteneurs, événements Kubernetes et métriques de cluster, ainsi que des traces sans code pour vos charges de travail.", + "taglineKubernetes": "Déployez le collecteur OpenObserve sur votre cluster — logs de conteneurs, événements Kubernetes et métriques de cluster, ainsi que des traces sans code pour vos charges de travail.", "taglineLinux": "Installez l'agent OpenObserve sur n'importe quel hôte Linux — journaux système et journald, plus métriques CPU, mémoire, disque et réseau.", "taglineMacos": "Installez l'agent OpenObserve sur n'importe quel Mac — le journal unifié et les fichiers journaux standard, plus métriques CPU, mémoire, disque et réseau.", "taglineOtlpTraces": "Pointez n'importe quel exportateur OpenTelemetry vers OpenObserve — collecteur ou SDK, HTTP ou gRPC. Votre point de terminaison et votre jeton sont remplis ci-dessous.", "taglineWindows": "Installez l'agent OpenObserve sur n'importe quel hôte Windows — journaux d'événements, compteurs de performance et métriques d'hôte.", "testAgain": "Tester à nouveau", - "tracesStreamNameLabel": "Nom du flux de traces", + "tracesStreamNameLabel": "Nom du stream de traces", "trackScreensDesc": "Si vous utilisez React Navigation, donnez au SDK votre référence de navigation et chaque changement de route est enregistré comme une vue RUM — aucun code par écran.", "trackScreensTitle": "Suivi automatique des écrans (optionnel)", "troubleshooting": "Dépannage", @@ -4001,7 +4001,7 @@ "verifyMongodbMetricsDesc": "Cliquez sur Test ci-dessous, ou vérifiez les flux pour les métriques `mongodb_*`.", "verifyMysqlMetricsDesc": "Cliquez sur Test ci-dessous, ou vérifiez les flux pour les métriques `mysql_*`.", "verifyOracledbMetricsDesc": "Cliquez sur Test ci-dessous, ou vérifiez les flux pour les métriques `oracledb_*`.", - "verifyOtlpTracesDesc": "Redémarrez le collecteur (ou votre application), effectuez une requête qui produit une span, puis cliquez sur Test.", + "verifyOtlpTracesDesc": "Redémarrez le collecteur (ou votre application), exécutez une requête qui produit un span, puis cliquez sur Tester.", "verifyPostgresqlMetricsDesc": "Cliquez sur Test ci-dessous, ou vérifiez les flux pour les métriques `postgresql_*`.", "verifyReactNativeRumDesc": "Exécutez l'application sur un simulateur, un émulateur ou un appareil, déplacez-vous entre quelques écrans, puis cliquez sur Test — les événements React Native arrivent dans le flux `_rumdata`.", "verifyRedisMetricsDesc": "Cliquez sur Test ci-dessous, ou vérifiez les flux pour les métriques `redis_*`.", @@ -4036,11 +4036,11 @@ "verifyAndroidRumDesc": "Exécutez l'application sur un émulateur ou un appareil, déplacez-vous entre quelques écrans, puis appuyez sur Test — les événements Android natifs arrivent dans le flux `_rumdata`.", "verifyIosRumDesc": "Exécutez l'application sur un simulateur ou un appareil, déplacez-vous entre quelques écrans, puis appuyez sur Test — les événements iOS natifs arrivent dans le flux `_rumdata`.", "dbmPreparePostgresTitle": "Surveillance de bases de données · Accorder l'accès (facultatif)", - "dbmPreparePostgresDesc": "**Tout ce qui précède se suffit à lui-même** — les temps de requête atteignent déjà Bases de données à partir des traces de votre application, sans configuration ici. Ces dernières étapes ajoutent ce qu'une trace ne peut jamais voir : les interblocages et les requêtes bloquées, que seule la base de données elle-même enregistre. Accordez `pg_monitor` pour que le collecteur puisse lire les requêtes des autres sessions — exécutez-le dans un client SQL, **pas** dans votre shell.", + "dbmPreparePostgresDesc": "**Tout ce qui précède est autonome** — les temps de requête atteignent déjà les Bases de données à partir des traces de votre application, sans configuration ici. Ces dernières étapes ajoutent ce qu'une trace ne peut jamais voir : les interblocages et les requêtes bloquées, que seule la base de données elle-même enregistre. Accordez `pg_monitor` afin que le collecteur puisse lire les requêtes des autres sessions — exécutez-le dans un client SQL, **pas** dans votre shell.", "dbmPrepareMysqlTitle": "Surveillance de bases de données · Conserver l'historique des interblocages (facultatif)", "dbmPrepareMariadbTitle": "Surveillance de bases de données · Conserver l'historique des interblocages (facultatif)", - "dbmPrepareMysqlDesc": "**Tout ce qui précède se suffit à lui-même** — les temps de requête atteignent déjà Bases de données à partir des traces de votre application, sans configuration ici. Ces dernières étapes ajoutent ce qu'une trace ne peut jamais voir : les interblocages et les requêtes bloquées, que seule la base de données elle-même enregistre. Activez l'historique complet des interblocages — exécutez-le dans un client SQL, **pas** dans votre shell.", - "dbmPrepareMariadbDesc": "**Tout ce qui précède se suffit à lui-même** — les temps de requête atteignent déjà Bases de données à partir des traces de votre application, sans configuration ici. Ces dernières étapes ajoutent ce qu'une trace ne peut jamais voir : les interblocages et les requêtes bloquées, que seule la base de données elle-même enregistre. Activez l'historique complet des interblocages — exécutez-le dans un client SQL, **pas** dans votre shell.", + "dbmPrepareMysqlDesc": "**Tout ce qui précède est autonome** — les temps de requête atteignent déjà les Bases de données à partir des traces de votre application, sans configuration ici. Ces dernières étapes ajoutent ce qu'une trace ne peut jamais voir : les interblocages et les requêtes bloquées, que seule la base de données elle-même enregistre. Activez l'historique complet des interblocages — exécutez-le dans un client SQL, **pas** dans votre shell.", + "dbmPrepareMariadbDesc": "**Tout ce qui précède est autonome** — les temps de requête atteignent déjà les Bases de données à partir des traces de votre application, sans configuration ici. Ces dernières étapes ajoutent ce qu'une trace ne peut jamais voir : les interblocages et les requêtes bloquées, que seule la base de données elle-même enregistre. Activez l'historique complet des interblocages — exécutez-le dans un client SQL, **pas** dans votre shell.", "dbmPgLoggingTitle": "Surveillance de bases de données · Autoriser Postgres à enregistrer les interblocages (facultatif)", "dbmPgLoggingDesc": "Les interblocages ne sont écrits que dans le journal Postgres, et uniquement lorsque les paramètres ci-dessous sont activés — c'est donc cette étape qui fait remplir l'onglet Interblocages. La ligne de préfixe doit correspondre exactement : le collecteur la lit pour trouver qui était impliqué, et un préfixe différent signifie qu'il ne trouve rien tout en signalant un état sain.", "dbmPgLoggingVerifyTitle": "Surveillance de bases de données · Vérifier que les paramètres ont pris effet (facultatif)", @@ -4066,7 +4066,7 @@ "dbmMysqlLogPathHelp": "Le collecteur doit pouvoir lire ce fichier. Trouvez-le avec : SHOW VARIABLES LIKE 'log_error';", "dbmMariadbLogPathHelp": "Le collecteur doit pouvoir lire ce fichier. Trouvez-le avec : SHOW VARIABLES LIKE 'log_error';", "dbmPrepareMssqlTitle": "Surveillance de base de données · Accorder l'accès (facultatif)", - "dbmPrepareMssqlDesc": "**Tout ce qui précède est complet en soi** — les temps de requête arrivent déjà dans Bases de données à partir des traces de votre application, sans configuration ici. Ce dernier groupe ajoute ce qu'une trace ne peut jamais voir : les interblocages et les requêtes bloquées, que seule la base de données elle-même enregistre. Les deux autorisations sont nécessaires — l'une permet au collecteur de lire les autres sessions, l'autre lui permet de lire l'historique des interblocages. Exécutez-les dans un client SQL, **pas** dans votre shell.", + "dbmPrepareMssqlDesc": "**Tout ce qui précède est autonome** — les temps de requête atteignent déjà les Bases de données à partir des traces de votre application, sans configuration ici. Ce dernier groupe ajoute ce qu'une trace ne peut jamais voir : les interblocages et les requêtes bloquées, que seule la base de données elle-même enregistre. Les deux autorisations sont nécessaires — l'une permet au collecteur de lire les autres sessions, l'autre lui permet de lire l'historique des interblocages. Exécutez-les dans un client SQL, **pas** dans votre shell.", "dbmConfigureMssqlDesc": "Écrit `dbm-config.yaml` — définissez ci-dessous la base de données à laquelle vous connecter. SQL Server fournit ici les interblocages, les requêtes bloquées, les échantillons d'activité, les requêtes principales et les plans d'exécution. Le récepteur sqlserver lit sur toute l'instance, donc l'activité et les requêtes principales ne sont pas limitées à la base de données que vous nommez ci-dessus.", "dbmRunMssqlDesc": "Exécute les deux configurations ensemble. Utilisez le même identifiant et le même mot de passe que vous avez créés à l'étape 1.", "dbmVerifyBlockingDesc": "Ouvrez **Infra → Bases de données → Requêtes bloquées**. Les sessions en attente d'un verrou apparaissent dès que l'une d'elles est échantillonnée — un onglet vide indique si rien n'est bloqué ou si rien n'est collecté.", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "Ouvrez **Infra → Bases de données** et choisissez un onglet ci-dessous. Les interblocages et les requêtes bloquées apparaissent dès que votre base de données en signale un — un onglet vide indique si rien ne s'est produit ou si rien n'est collecté. La santé des tables se remplit après le premier instantané de 60 secondes." }, "instrumentBeforeImportTitle": "Instrumenter avant d'importer le client", - "instrumentBeforeImportBody": "Si votre application s'exécute mais qu'aucun span n'arrive, il est probable que l'instrumentation ait été chargée après l'importation du client. Réorganisez pour que l'initialisation s'exécute en premier :", + "instrumentBeforeImportBody": "Si votre application s'exécute mais qu'aucun span n'arrive, l'instrumentation a probablement été chargée après l'importation du client. Réorganisez pour que l'initialisation s'exécute en premier :", "launchCloudFormationStack": "Lancer la pile CloudFormation", "openStackSetsConsole": "Ouvrir la console StackSets", "integrations": { @@ -4916,7 +4916,7 @@ "storage": "Stockage", "dashboard": "Tableau de bord" }, - "selectFolderTitle": "Sélectionner le dossier de destination", + "selectFolderTitle": "Sélectionnez le dossier de destination", "back": "Retour", "addDashboard": "Ajouter un tableau de bord", "folder": "Dossier", @@ -5657,7 +5657,7 @@ "home": { "alertsOverviewSection": "Section d'aperçu des alertes", "pipelinesOverviewSection": "Section d'aperçu des pipelines", - "streams": "Ruisseaux", + "streams": "Streams", "totalDataIngested": "Total des données ingérées", "totalDataCompressed": "Taille compressée", "viewButton": "Afficher", @@ -5679,7 +5679,7 @@ "shippers": "Expéditeurs de grumes" }, "indexSizeLbl": "Taille de l'indice", - "docsCountLbl": "Évènements", + "docsCountLbl": "Événements", "functionTitle": "Fonctions", "schedulePipelineTitle": "Planifié", "rtPipelineTitle": "En temps réel", @@ -5717,7 +5717,7 @@ "emptyActionAlertsDesc": "Passez en revue les alertes et les seuils configurés", "emptyActionLogs": "Explorez les journaux", "emptyActionLogsDesc": "Recherchez et filtrez vos flux de journaux", - "emptyActionTraces": "Explorez les traces", + "emptyActionTraces": "Explorer les traces", "emptyActionTracesDesc": "Inspectez les traces distribuées et la latence des services", "anomalyDetectedTitle": "Anomalie détectée — {name}", "anomalyDetectedDescription": "Flux : {stream} · {count} point(s) anormal(s)", @@ -5767,7 +5767,7 @@ "stderr": "Stderr", "truncatedLabel": "tronqué", "copyQuery": "Copier la requête", - "stream": "Flux", + "stream": "Stream", "start": "Début", "end": "Fin", "from": "De", @@ -5806,7 +5806,7 @@ "taglineTail": ". Je peux écrire votre", "taglineSql": "SQL", "taglineVrl": "VRL", - "taglineAnd": "et vous explique vos journaux, vos traces, vos indicateurs et vos incidents.", + "taglineAnd": "et vous guider à travers vos logs, traces, métriques et incidents.", "signedInAs": "Connecté en tant que", "role": "Rôle", "tryOneOfThese": "Ou essayez l'un d'entre eux" @@ -5814,12 +5814,12 @@ "capabilities": { "query": { "title": "Rédiger une requête", - "description": "SQL pour les logs, les traces, RUM ou ProMQL pour les métriques.", + "description": "SQL pour les logs, les traces, la surveillance réelle des utilisateurs, ou PromQL pour les métriques.", "prompt": "Aide-moi à rédiger une requête" }, "incident": { "title": "Étudier les incidents", - "description": "Cause première parmi les journaux, les traces et les alertes, par exemple « Pourquoi la passerelle -5xx s'est-elle déclenchée ? »", + "description": "Cause racine sur les logs, traces et alertes — par ex. \"Pourquoi gateway-5xx a-t-il déclenché ?\"", "prompt": "Aide-moi à étudier les incidents" }, "dashboard": { @@ -5962,7 +5962,7 @@ "features": "FONCTIONNALITÉS", "included": "Qu'est-ce qui est inclus ?", "proPlanSubtitle": "Solutions personnalisées pour les petites équipes", - "unlimitedNote": "Nombre illimité d'utilisateurs, de journaux, de métriques, de traces et plus encore.", + "unlimitedNote": "Utilisateurs, logs, métriques et traces illimités et plus encore.", "paymentNote": "Paiement calculé en fonction de l'utilisation à la fin du cycle de facturation mensuel.", "proPlanLabel": "Payez au fur et à mesure", "contactLabel": "Contactez le service des ventes", @@ -6145,9 +6145,9 @@ "anomalyImportFailed": "Détection d'anomalies - {index} : \"{name}\" a échoué à l'importation — {reason}", "nameRequired": "Alerte - {index} : le nom est obligatoire et doit être une chaîne valide.", "orgIdInvalid": "Alerte - {index} : l'ID d'organisation est obligatoire, doit exister dans la liste des organisations et doit être égal à {orgId}.", - "streamTypeInvalid": "Alerte - {index} : le type de flux est obligatoire et doit être l'un des suivants : 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Alerte - {index} : le type de flux est obligatoire et doit être l'un de : 'logs', 'metrics', 'traces'.", "streamNameInvalid": "Alerte - {index} : le nom du flux est obligatoire, doit exister dans la liste des flux et doit être une chaîne valide.", - "destinationsRequired": "Alerte - {index} : les destinations sont requises et doivent être un tableau.", + "destinationsRequired": "Alerte - {index} : les destinations sont obligatoires et doivent être un tableau.", "enabledBoolean": "Alerte - {index} : activé doit être un booléen.", "tzOffsetNumber": "Alerte - {index} : le décalage de fuseau horaire doit être un nombre.", "timezoneRequiredForCron": "Alerte - {index} : le fuseau horaire est requis lorsque le type de fréquence est 'cron'.", @@ -6261,7 +6261,7 @@ "noChildren": "Aucune sous-alerte pour l'instant. Ajoutez-en au moins deux.", "wouldTrigger": "Déclencherait", "wouldNotTrigger": "Ne déclencherait pas", - "firing": "Déclenché", + "firing": "Déclenchée", "normal": "Normal", "stepByStep": "Étape par étape", "result": "Résultat", @@ -6328,7 +6328,7 @@ "guidelinesLabel": "Directives :", "selectStreamGuideline": "Sélectionnez un flux existant dans la liste ou saisissez le nom pour en créer un nouveau", "enrichmentTablesTerm": "Enrichment_tables", - "enrichmentTablesDestinationNote": "L'utilisation comme flux de destination n'est disponible que pour les pipelines planifiés", + "enrichmentTablesDestinationNote": "Le flux de destination n'est disponible que pour les canalisations planifiées.", "useCurlyBracesNote": "Utiliser des accolades", "configureStreamNameDynamicNote": "pour configurer dynamiquement le nom du flux, p. ex.", "staticTextBeforeAfterNote": ". Texte statique avant/après", @@ -6403,7 +6403,7 @@ "minimumFrequency": "La fréquence minimale doit être de {minutes} minutes", "nameMandatoryString": "Le nom est obligatoire et doit être une chaîne valide", "orgIdMismatch": "L'ID d'organisation doit être égal à {orgId}", - "streamTypeMandatory": "Le type de flux est obligatoire et doit être l'un des suivants : logs, metrics, traces", + "streamTypeMandatory": "Le type de flux est obligatoire et doit être l'un de : logs, metrics, traces", "streamNameMandatoryString": "Le nom du flux est obligatoire et doit être une chaîne valide", "streamNotInList": "Le flux \"{streamName}\" n'existe pas dans la liste des flux", "isRealTimeMandatoryBoolean": "Is Real-Time est obligatoire et doit être une valeur booléenne", @@ -6459,8 +6459,8 @@ "searchAllFolders": "Tous les dossiers", "streamConfig": "Configuration du flux", "alertRules": "Règles d'alerte", - "noTemplatesMsg": "Pour créer une alerte, vous avez besoin d'au moins un modèle et d'une destination. Les modèles définissent le format du message de notification. Commencez par en créer un.", - "noDestinationsMsg": "Pour créer une alerte, vous avez besoin d'au moins une destination et d'un modèle. Les destinations définissent l'endroit où les notifications sont envoyées. Commencez par en créer une.", + "noTemplatesMsg": "Pour créer une alerte, vous avez besoin d'au moins un modèle et d'une destination. Les modèles définissent le format du message de notification — commencez par en créer un.", + "noDestinationsMsg": "Pour créer une alerte, vous avez besoin d'au moins une destination et d'un modèle. Les destinations définissent où les notifications sont envoyées — commencez par en créer une.", "add": "Ajouter une alerte", "edit": "Modifier", "clone": "Alerte de clonage", @@ -6512,36 +6512,36 @@ "threshold": "Seuil", "silenceNotification": "Notification de silence pour", "destination": "Destination", - "destinationOrWorkflowRequired": "Ajoutez au moins une destination ou un flux de travail.", + "destinationOrWorkflowRequired": "Ajoutez au moins une destination ou un workflow.", "customDestination": "Destination personnalisée", - "customDestinationDescription": "Configuration d'un point de terminaison HTTP ou d'une destination de messagerie personnalisé", - "testIdleMessage": "Cliquez sur « Tester » pour vérifier la configuration de votre destination", + "customDestinationDescription": "Configurez un endpoint HTTP personnalisé ou une destination e-mail", + "testIdleMessage": "Cliquez sur « Test » pour vérifier votre configuration de destination", "destinationPreview": "Aperçu de la destination", "template": "Remplacer le modèle", "additionalVariables": "Variables supplémentaires", - "testSuccessMessage": "Test réussi ! Votre destination est correctement configurée.", + "testSuccessMessage": "Test réussi ! Votre destination est correctement configurée.", "testFailedMessage": "Le test a échoué. Vérifiez votre configuration et réessayez.", "testFailedWithReason": "Échec du test : {reason}", - "testInProgress": "Destination du test...", + "testInProgress": "Test de la destination en cours...", "sendingNotification": "Envoi d'une notification de test pour vérifier la connectivité", "testErrorDNS": "La résolution DNS a échoué. Vérifiez l'URL ou le nom d'hôte du webhook.", "testErrorConnection": "Connexion refusée. Vérifiez l'URL et assurez-vous que le service est accessible.", - "testErrorTimeout": "Le délai de la demande a expiré. Le service de destination peut être lent ou inaccessible.", + "testErrorTimeout": "La requête a expiré. Le service de destination est peut-être lent ou injoignable.", "testErrorSSL": "Erreur de certificat SSL/TLS. Vérifiez le certificat ou désactivez la vérification SSL.", "testErrorClientError": "Erreur du client (4xx). Vérifiez vos informations d'identification et votre configuration.", - "testErrorServerError": "Erreur du serveur (5xx). Le service de destination rencontre des problèmes.", + "testErrorServerError": "Erreur serveur (5xx). Le service de destination rencontre des problèmes.", "viewDetails": "Afficher les détails", "error": "Erreur", "httpStatus": "État HTTP", "responseBody": "Organisme de réponse", "retry": "Réessayez", "suggestCheckUrl": "Vérifiez que l'URL du webhook est correcte et accessible.", - "suggestCheckFirewall": "Vérifiez les paramètres de votre pare-feu et assurez-vous que le service de destination est accessible.", + "suggestCheckFirewall": "Vérifiez vos paramètres de pare-feu et assurez-vous que le service de destination est accessible.", "suggestCheckCredentials": "Vérifiez que les informations d'identification de votre API sont correctes.", "suggestCheckPermissions": "Vérifiez que vos informations d'identification disposent des autorisations nécessaires.", "suggestCheckEndpoint": "Vérifiez que l'URL du point de terminaison est correcte.", "suggestRateLimit": "Vous avez dépassé la limite de débit. Veuillez patienter avant de réessayer.", - "suggestServerIssue": "Le service de destination rencontre des problèmes. Veuillez réessayer ultérieurement.", + "suggestServerIssue": "Le service de destination rencontre des problèmes. Veuillez réessayer plus tard.", "description": "Descriptif", "stream_name": "Nom du stream", "cloneTitle": "Alerte de clonage", @@ -6779,7 +6779,7 @@ "acknowledge": "Reconnaître", "resolve": "Résoudre", "reopen": "Réouvrir", - "statusOpen": "Ouvrir", + "statusOpen": "Ouvert", "statusAcknowledged": "Reconnu", "statusResolved": "Résolu", "correlationServiceDiscovery": "Découverte de services", @@ -6965,15 +6965,15 @@ "helpLegendSampleExample": "42", "sectionTitle": "Paramètres", "noDestinationsAvailable": "Aucune destination disponible", - "noTargetsAvailable": "Aucune destination ni flux de travail disponible", + "noTargetsAvailable": "Aucune destination ou workflow disponible", "targetsDestinationsGroup": "Destinations", "targetsWorkflowsGroup": "Flux de travail", "refreshDestinations": "Actualiser les dernières destinations", - "addNewDestination": "Ajouter une nouvelle destination", + "addNewDestination": "Ajouter une destination", "cooldownTooltip": "Si l'alerte se déclenche, combien de temps doit-elle attendre avant d'envoyer une autre notification ? Par exemple, si l'alerte se déclenche à 16 h 00 et que la notification de silence est réglée sur 10 minutes, elle n'enverra pas d'autre notification avant 16 h 10, même si l'alerte est toujours là après 1 minute. Cela permet d'éviter de spammer l'utilisateur avec des notifications.", "periodTooltip": "Période pendant laquelle la requête doit être exécutée. Par exemple, 10 minutes signifient que chaque fois que la requête sera exécutée, elle utilisera les 10 dernières minutes de données.", "timezoneWarning": "Avertissement : Le fuseau horaire affiché est approximatif. Vérifiez et sélectionnez manuellement le fuseau horaire correct.", - "destinationsTooltip": "Sélectionnez une ou plusieurs destinations pour envoyer des notifications d'alerte.", + "destinationsTooltip": "Sélectionnez une ou plusieurs destinations pour envoyer les notifications d'alerte.", "createsIncident": "Crée un incident", "createsIncidentTooltip": "Si une alerte peut créer un incident, elle n'envoie pas de notification dédiée. À la place, une notification pour l'incident est envoyée lorsqu'un nouvel incident est créé ou qu'un nouveau type d'alerte rejoint un incident existant.", "helpTemplateTitle": "Remplacer le modèle", @@ -6985,11 +6985,11 @@ "helpLegendLive": "les valeurs réelles de votre alerte", "helpLegendSample": "un échantillon — la valeur réelle est définie lorsque l'alerte se déclenche", "helpLegendOpaque": "ajouté automatiquement lorsque l'alerte se déclenche", - "helpTemplateExplain": "Un modèle est le message de notification qui est envoyé : le texte et des variables telles que {'{'} alert_name {'}'}. En sélectionner un ici remplace le modèle propre à chaque destination, pour cette alerte uniquement.", + "helpTemplateExplain": "Un modèle est le message de notification envoyé — le texte plus des variables comme {'{'}alert_name{'}'}. En choisir un ici remplace le modèle propre à chaque destination, uniquement pour cette alerte.", "helpCurrentHeading": "Ce que cette alerte envoie actuellement", - "helpCurrentNoOverride": "Aucune dérogation n'est définie : chaque destination utilise son propre modèle :", - "helpCurrentNoDestinations": "Aucune destination n'a encore été sélectionnée. Chaque destination utilisera son propre modèle configuré.", - "helpCurrentOverrideHeading": "Toutes les destinations utilisent ce modèle :", + "helpCurrentNoOverride": "Aucune substitution définie — chaque destination utilise son propre modèle :", + "helpCurrentNoDestinations": "Aucune destination sélectionnée pour l'instant. Chaque destination utilisera son propre modèle configuré.", + "helpCurrentOverrideHeading": "Toutes les destinations utilisent ce modèle :", "helpPreviewHeading": "Afficher un aperçu d'un modèle", "helpPreviewSelectPlaceholder": "Sélectionnez un modèle à prévisualiser", "helpApplyToAlert": "Faire une demande d'alerte", @@ -7001,7 +7001,7 @@ "helpYourVariablesEmpty": "Vous n'avez encore ajouté aucune variable.", "helpRowTemplateExplain": "Une alerte peut correspondre à de nombreuses lignes. Le modèle de ligne détermine l'apparence d'une seule ligne. Ensuite, {'{'} rows {'}'} de votre modèle principal est supprimée dans chaque ligne correspondante, déjà formatée.", "helpRowTemplateTypeHeading": "String contre JSON", - "helpRowTemplateTypeExplain": "La chaîne produit du texte brut par ligne. JSON produit un objet JSON par ligne, adapté aux destinations structurées.", + "helpRowTemplateTypeExplain": "String produit un texte brut par ligne. JSON produit un objet JSON par ligne, adapté aux destinations structurées.", "helpRowTemplateTypeCurrent": "Actuellement sélectionné :", "helpPreviewHeadingShort": "Aperçu", "helpWhyHeading": "Pourquoi utiliser une variable ?", @@ -7014,7 +7014,7 @@ "helpVariablesExampleCaption": "Ajoutez la gravité et l'équipe en tant que variables, puis utilisez-les n'importe où dans le modèle :", "helpExampleResultLabel": "Ce qui est envoyé", "helpTemplateWhenHeading": "Quand dois-je annuler ?", - "helpTemplateWhenDesc": "Laissez ce champ vide et chaque destination utilisera son propre modèle. Définissez une option lorsque vous souhaitez que cette alerte envoie le même message cohérent à toutes les destinations, sans modifier le modèle de chaque destination.", + "helpTemplateWhenDesc": "Laissez ce champ vide et chaque destination utilise son propre modèle. Définissez une substitution lorsque vous souhaitez que cette alerte envoie le même message cohérent à chaque destination — sans modifier le modèle de chaque destination.", "helpRowTemplateWhyHeading": "Pourquoi un modèle de ligne ?", "helpRowTemplateWhyDesc": "Une alerte peut correspondre à de nombreux enregistrements. Le modèle de ligne met en forme un enregistrement ; {'{'} rows {'}'}, puis place chaque enregistrement formaté dans le modèle principal. Vous pouvez ainsi répertorier toutes les correspondances sans écrire de boucle.", "helpRowTemplateExampleCaption": "Chaque ligne correspondante est mise en forme par le modèle de ligne, puis {'{'} rows {'}'} les place toutes dans le modèle principal :", @@ -7048,7 +7048,7 @@ }, "advanced": { "addVariable": "Ajouter une variable", - "variablesTooltip": "Les variables sont utilisées pour transmettre les données de l'alerte à la destination.", + "variablesTooltip": "Les variables sont utilisées pour transmettre des données de l'alerte à la destination.", "templateType": "Type de modèle :", "noTemplatesAvailable": "Aucun modèle disponible", "refreshTemplates": "Actualiser les derniers modèles", @@ -7138,7 +7138,7 @@ "checkEvery": "Vérifiez chaque", "checkEveryTooltip": "Fréquence d'exécution de la tâche de détection. Peut être plus longue que la période d'échantillonnage (par exemple, échantillonnage tous les 5 m, exécution de la détection toutes les 1 h).", "clickLoadDataHint": "Cliquez sur Charger les données pour prévisualiser la série chronologique", - "destinationRequired": "Au moins une destination est requise !", + "destinationRequired": "Au moins une destination est requise !", "detectionResolution": "Résolution de détection", "detectionResolutionTooltip": "Le degré de précision de chaque point de données. Par exemple, « 5 m » signifie que des anomalies sont détectées à une résolution de 5 minutes.", "disabled": "Désactivé", @@ -7156,7 +7156,7 @@ "noDestinationsFound": "Aucune destination trouvée", "noFieldsFound": "Aucun champ n'a été trouvé", "notifications": "Notifications", - "notificationsTooltip": "Lorsque cette option est activée, une notification est envoyée à la destination sélectionnée chaque fois qu'une anomalie est détectée.", + "notificationsTooltip": "Lorsqu'elle est activée, une notification sera envoyée à la destination sélectionnée chaque fois qu'une anomalie est détectée.", "retrainEvery": "Reformer chaque", "retrainEveryTooltip": "À quelle fréquence réentraîner automatiquement le modèle. « Jamais » signifie s'entraîner une seule fois et conserver le modèle jusqu'à ce qu'il soit réentraîné manuellement.", "retrainFourteenDays": "14 jours", @@ -7171,7 +7171,7 @@ "sqlColumnsHint": "La requête doit retourner deux colonnes : {timeBucket} et {valueColumn}.", "sqlRequired": "Le code SQL est requis en mode SQL personnalisé", "summaryAlerting": "✓ Alertes : {status}", - "summaryAlertingEnabled": "✓ Alertes : Activées → {destinations}", + "summaryAlertingEnabled": "✓ Alertes : activées → {destinations}", "summaryAlertingNoDestination": "✓ Alertes : Activées ⚠️ {warning}", "summaryConfiguring": "Configuration de la détection d'anomalies pour le flux {streamType} « {stream} »", "summaryDataSource": "✓ Source de données : {type} — {name}", @@ -7318,7 +7318,7 @@ }, "confirmDeleteAlerts": "Êtes-vous sûr de vouloir supprimer {count} alerte ? | Êtes-vous sûr de vouloir supprimer {count} alertes ?", "confirmDeleteDestinations": "Êtes-vous sûr de vouloir supprimer {count} destination ? | Êtes-vous sûr de vouloir supprimer {count} destinations ?", - "prebuiltDestination": "Destination prédéfinie {type}", + "prebuiltDestination": "Destination préconfigurée {type}", "errorValidations": "Validations d'erreur", "outputMessagesLabel": "Messages de sortie", "incidentSingular": "Incident", @@ -7523,7 +7523,7 @@ "actionOpen": "Ouvrir", "actionDelete": "Supprimer", "deleteTitle": "Supprimer {name}?", - "deleteMessage": "Cette action le supprime définitivement. La suppression est bloquée si une alerte ou une destination l'utilise encore.", + "deleteMessage": "Cela le supprime définitivement. La suppression est bloquée si une alerte ou une destination l'utilise encore.", "deletedToast": "{name} supprimé", "deleteFailedToast": "Impossible de supprimer {name}", "loading": "Construction du graphe de dépendances…", @@ -7614,12 +7614,12 @@ "stepFolder": "Dossier", "stepTune": "Réglage", "stepInstall": "Installer", - "destinationIntro": "Chaque alerte de ce lot notifie la destination que vous choisissez ici. Les fichiers de la bibliothèque nomment les destinations de l'organisation d'où ils ont été exportés, qui n'existent pas dans la vôtre.", + "destinationIntro": "Chaque alerte de ce lot notifie la destination que vous choisissez ici. Les fichiers de bibliothèque nomment les destinations de l'organisation d'où ils ont été exportés, qui n'existent pas dans la vôtre.", "destinationLabel": "Destination", "destinationPlaceholder": "Choisir une destination", "destinationsLoadFailed": "Vos destinations existantes n'ont pas pu être chargées.", "retry": "Réessayer", - "destinationsNoneBody": "Cette organisation n'a pas encore de destinations d'alertes, donc ces alertes n'ont nulle part où notifier. Créez-en une sur la page Destinations, puis revenez et sélectionnez-la ici.", + "destinationsNoneBody": "Cette organisation n'a pas encore de destinations d'alerte, il n'y a donc aucun endroit où ces alertes peuvent envoyer leurs notifications. Créez-en une sur la page Destinations, puis revenez et sélectionnez-la ici.", "openDestinations": "Ouvrir Destinations", "selectAll": "Tout sélectionner", "clear": "Effacer", @@ -7675,7 +7675,7 @@ "importBodyLabel": "Corps du modèle *", "importTypeLabel": "Type de modèle *", "importTitleLabel": "Titre du modèle *", - "header": "Modèles de destinations", + "header": "Modèles de destination", "add": "Ajouter un modèle", "edit": "Modifier", "name": "Nom", @@ -7735,7 +7735,7 @@ "chartPreviewPlaceholder": "Le graphique apparaît ici dans les vraies notifications — il est tiré de l'historique d'évaluation de l'alerte, qu'un aperçu n'a pas.", "channelTitlesDescription": "Utilisez un titre différent sur des canaux spécifiques — par ex. une ligne d'objet plus courte pour l'e-mail.", "namePlaceholder": "par ex. Taux d'erreur élevé", - "nameLockedHint": "Les alertes et destinations référencent ce modèle par son nom, il ne peut donc pas être renommé. Clonez le modèle pour en créer une copie sous un nouveau nom.", + "nameLockedHint": "Les alertes et les destinations référencent ce modèle par son nom, il ne peut donc pas être renommé. Clonez le modèle pour créer une copie sous un nouveau nom.", "rawBodyCaption": "Envoyé exactement tel qu'écrit, avec {'{'}variables{'}'} substituées. Consultez le Guide des variables pour tout ce qui est disponible.", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "par ex. Valeur", @@ -7852,7 +7852,7 @@ "editTitle": "Modifier la source d'alerte", "name": "Nom", "nameHint": "C'est juste un libellé — toutes les sources utilisent la même configuration.", - "incidentDestination": "Destination des incidents", + "incidentDestination": "Destination d'incident", "incidentDestinationPlaceholder": "Utiliser la valeur par défaut de l'organisation", "incidentDestinationHint": "Où vont les notifications lorsque les alertes de cette source créent ou rejoignent un incident. Laissez vide pour utiliser la valeur par défaut de l'organisation — sans aucune des deux définies, les incidents correspondants se déclenchent silencieusement.", "noDestinationSet": "Aucune destination d'incident définie", @@ -7903,7 +7903,7 @@ "datadogHostnameHelpText": "Nom d'hôte pour les journaux Datadog", "exampleLabel": "Exemple :", "subtitle": "Où les alertes déclenchées sont livrées", - "exportDestination": "Destination d'exportation", + "exportDestination": "Exporter la destination", "deleteDestinationTitle": "Supprimer la destination", "deleteDestinationMessage": "Êtes-vous sûr de vouloir supprimer la destination ?", "deleteDestinationsTitle": "Supprimer les destinations", @@ -7925,10 +7925,10 @@ "ddTagsPlaceholder": "Saisir les tags (par ex., env:prod,version:1.0)", "serviceLabel": "Service", "servicePlaceholder": "Saisir le nom du service (par ex., api-gateway)", - "header": "Destinations", - "add": "Ajouter une destination", + "header": "Destinations de notification", + "add": "Nouvelle destination", "edit": "Modifier", - "search": "Destination de recherche", + "search": "Rechercher une destination", "filterAll": "Tous", "filterPrebuilt": "Préconstruit", "filterCustom": "Personnalisé", @@ -7937,8 +7937,8 @@ "destination_type": "Type de destination", "template": "Modèle", "actions": "Des actions", - "addTitle": "Ajouter une destination", - "updateTitle": "Mettre à jour la destination", + "addTitle": "Nouvelle destination", + "updateTitle": "Modifier la destination", "delete": "Supprimer", "method": "Méthode", "url": "URL", @@ -7982,35 +7982,35 @@ "outputMessages": "Messages de sortie", "destinationName": "Nom de la destination", "destinationUrl": "URL de la destination", - "destinationMethod": "Méthode de destination", + "destinationMethod": "Méthode de la destination", "templates": "Modèles", "emails": "E-mails (séparés par des virgules)", "actions": "Actions", - "destinationCreation": "Création de destination", + "destinationCreation": "Création de la destination", "jsonStringEmpty": "La chaîne JSON est vide", "invalidJsonFormat": "Format JSON invalide", "importSuccess": "Destinations importées avec succès", "importError": "Erreur lors de l'importation de la destination, veuillez vérifier le JSON", "unknownError": "Erreur inconnue", - "nameRequired": "Destination - {index} : Le champ \"name\" est requis et doit être une chaîne valide.", - "nameExists": "Destination - {index} : \"{name}\" existe déjà", - "typeInvalid": "Destination - {index} : Le champ \"type\" doit être \"email\", \"http\" ou \"action\"", - "actionTypeNotSupported": "Destination - {index} : Le type 'action' n'est pas pris en charge.", - "actionNotFound": "Destination - {index} : l'action \"{actionId}\" n'existe pas pour le type \"{type}\"", - "urlRequired": "Destination - {index} : Le champ \"url\" est requis pour les destinations de type http.", - "methodInvalid": "Destination - {index} : Le champ \"method\" doit être l'un de \"post\", \"get\" ou \"put\"", - "templateRequiredHttp": "Destination - {index} : Le champ \"template\" est requis pour les destinations de type http.", - "skipTlsVerifyRequired": "Destination - {index} : Le champ \"skip_tls_verify\" est requis et doit être une valeur booléenne", - "headersMustBeObject": "Destination - {index} : 'headers' doit être un objet pour le type http", - "urlNotAllowedEmail": "Destination - {index} : 'url' ne doit pas être fourni pour le type email", - "headersNotAllowedEmail": "Destination - {index} : 'headers' ne doit pas être fourni pour le type email", - "emailsRequired": "Destination - {index} : Le champ \"emails\" est requis et doit être un tableau pour les destinations de type email.", - "emailsMustBeStrings": "Destination - {index} : 'emails' doit être un tableau de chaînes pour le type email", - "templateRequiredEmail": "Destination - {index} : Le champ \"template\" est requis pour les destinations de type email.", - "templateNotFound": "Destination - {index} : le modèle \"{template}\" n'existe pas pour le type \"{type}\"", - "actionIdInvalid": "Destination - {index} : Le champ \"action_id\" doit être une chaîne valide.", - "createSuccess": "Destination - {index} : \"{name}\" créé avec succès \nRemarque : veuillez supprimer l'objet de destination créé {name} du fichier json ", - "createFailed": "Destination - {index} : Échec de la création de \"{name}\" --> \n Raison : {reason}" + "nameRequired": "Destination - {index}: Le champ \"name\" est obligatoire et doit être une chaîne de caractères valide.", + "nameExists": "Destination - {index}: \"{name}\" existe déjà", + "typeInvalid": "Destination - {index}: Le champ \"type\" doit être soit \"email\", \"http\", ou \"action\"", + "actionTypeNotSupported": "Destination - {index}: Le type 'action' n'est pas pris en charge.", + "actionNotFound": "Destination - {index}: l'action \"{actionId}\" n'existe pas pour le type \"{type}\"", + "urlRequired": "Destination - {index}: Le champ \"url\" est obligatoire pour les destinations de type http.", + "methodInvalid": "Destination - {index}: Le champ \"method\" doit être l'un des suivants : \"post\", \"get\" ou \"put\"", + "templateRequiredHttp": "Destination - {index}: Le champ \"template\" est obligatoire pour les destinations de type http.", + "skipTlsVerifyRequired": "Destination - {index}: Le champ \"skip_tls_verify\" est obligatoire et doit être une valeur booléenne", + "headersMustBeObject": "Destination - {index}: 'headers' doit être un objet pour le type http", + "urlNotAllowedEmail": "Destination - {index}: 'url' ne doit pas être fourni pour le type email", + "headersNotAllowedEmail": "Destination - {index}: 'headers' ne doit pas être fourni pour le type email", + "emailsRequired": "Destination - {index}: Le champ \"emails\" est obligatoire et doit être un tableau pour les destinations de type email.", + "emailsMustBeStrings": "Destination - {index}: 'emails' doit être un tableau de chaînes de caractères pour le type email", + "templateRequiredEmail": "Destination - {index}: Le champ \"template\" est obligatoire pour les destinations de type email.", + "templateNotFound": "Destination - {index}: le modèle \"{template}\" n'existe pas pour le type \"{type}\"", + "actionIdInvalid": "Destination - {index}: Le champ \"action_id\" doit être une chaîne de caractères valide.", + "createSuccess": "Destination - {index}: \"{name}\" créée avec succès \nRemarque: veuillez supprimer l'objet de destination créé {name} du fichier json ", + "createFailed": "Destination - {index}: La création de \"{name}\" a échoué --> \n Raison: {reason}" }, "priorityP1Description": "Alertes de priorité la plus élevée", "priorityP2Description": "Alertes de priorité élevée", @@ -8023,8 +8023,8 @@ "severityInfoDescription": "Incidents informatifs" }, "pipeline_destinations": { - "header": "Destinations des pipelines", - "search": "Destination de recherche" + "header": "Destinations des canalisations", + "search": "Rechercher une destination" }, "storage_settings": { "heroBrand": "OpenObserve.", @@ -8234,7 +8234,7 @@ }, "metricCard": { "lastRefreshed": "Dernière actualisation :", - "traceId": "ID de trace : {id}", + "traceId": "ID de trace: {id}", "metricLabel": "Métrique : {name}", "queryLabel": "Requête : {query}", "errorLabel": "Erreur : {error}", @@ -8387,7 +8387,7 @@ "customLogoText": "Texte du logo personnalisé", "orgLabel": "Paramètres de l'organisation", "logDetails": "Détails du journal", - "traceIdFieldName": "Nom du champ Trace ID", + "traceIdFieldName": "Nom du champ ID de trace", "spanIdFieldName": "Nom du champ Span ID", "toggleIngestionLogsLabel": "Activer/désactiver les journaux d'ingestion", "usageStreamEnabledLabel": "Activer le flux d'utilisation", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "Cartographie des agents GenAI", "title": "Cartographie des agents GenAI", - "description": "Configurez les attributs de télémétrie de secours utilisés pour normaliser l'identité des agents pour les traces et les évaluations LLM.", + "description": "Configurer les attributs de télémétrie de secours utilisés pour normaliser l'identité de l'agent pour les traces et les évaluations LLM.", "agentNameFields": "Champs de secours relatifs au nom de l'agent", "agentNameHelp": "Attributs entrants à utiliser comme solutions de secours pour gen_ai.agent.name.", "agentNameInfo": "Cochée uniquement lorsque l'attribut standard gen_ai.agent.name est manquant ou vide. Ajoutez un attribut de télémétrie entrant par ligne.", @@ -8532,7 +8532,7 @@ "resetToEmpty": "Réinitialiser à vide", "clearRegistry": "Effacer le registre", "clearRegistryTitle": "Effacer le registre des agents ?", - "clearRegistryDescription": "Cela supprime toutes les lignes de registre des agents GenAI découvertes pour cette organisation. Les nouvelles traces correspondantes rerempliront le registre lors de l'ingestion.", + "clearRegistryDescription": "Ceci supprime toutes les lignes du registre des agents GenAI découverts pour cette organisation. De nouvelles traces correspondantes repeupleront le registre lors de l'ingestion.", "clearRegistryConfirm": "Effacer le registre", "saved": "Le mappage des agents GenAI a été enregistré avec succès", "clearRegistrySuccess": "Le registre des agents GenAI a été effacé. Les agents stockés {deletedCount} et les observations en file d'attente {bufferCount} ont été supprimés.", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "Échec de l'enregistrement des alias de champs", "fieldAliasesUnsavedConfirm": "Vous avez des modifications de mappage de champs non enregistrées. Les abandonner et quitter ?", "discoveredServicesTitle": "Services découverts", - "discoveredServicesDescription": "Les services sont automatiquement découverts à partir de vos données de télémétrie et regroupés selon leur nom de service à des fins de corrélation. Les services partageant le même nom de service sont corrélés entre eux entre les journaux, les traces et les métriques.", + "discoveredServicesDescription": "Les services sont automatiquement découverts à partir de vos données de télémétrie et regroupés par leur nom de service pour la corrélation. Les services partageant le même nom de service sont corrélés entre eux à travers les logs, les traces et les métriques.", "noServicesYet": "Aucun service n'a encore été découvert", "noServicesDescription": "Les services apparaîtront ici lorsque les données de télémétrie seront ingérées avec des attributs d'identification de service (tels que k8s-deployment, nom du service, etc.)", "searchServiceName": "Rechercher nom de service ou stream...", @@ -8560,7 +8560,7 @@ "serviceName": "Nom du service", "service": "Service", "logs": "Journaux", - "traces": "Des traces", + "traces": "Traces", "metrics": "Métriques", "lastSeen": "Vu pour la dernière fois", "retry": "Réessayez", @@ -8608,7 +8608,7 @@ "instancesCount": "({count} instances)", "noDimensions": "aucune dimension", "defaultSetWarningTitle": "La corrélation peut être peu fiable.", - "defaultSetWarningBody": "Cette instance n'a aucune désambiguïsation — elle a été découverte sans aucune correspondance de charge de travail (aucun contexte de cluster, namespace ou environnement). Les logs et les traces peuvent provenir de déploiements différents du même nom de service.", + "defaultSetWarningBody": "Cette instance n'a pas de désambiguïsation — elle a été découverte sans correspondance de charge de travail (aucun contexte de cluster, de namespace ou d'environnement). Les logs et les traces peuvent provenir de différents déploiements du même nom de service.", "instanceIdentity": "Identité de l'instance", "noDimensionsCatchAll": "Aucune dimension — instance fourre-tout", "streamSources": "Sources de flux", @@ -9137,7 +9137,7 @@ }, "openInFullView": "Ouvrir en plein écran", "viewLogs": "Afficher les journaux", - "viewLogsUnavailable": "Impossible d'ouvrir les journaux pour ce span.", + "viewLogsUnavailable": "Impossible d'ouvrir les logs pour ce span.", "backToLogs": "Retour aux journaux", "openInTraces": "Ouvrir dans Traces", "loadingStream": "Chargement du flux...", @@ -9145,8 +9145,8 @@ "noCorrelatedLogsFound": "Aucun log corrélé trouvé pour ce span", "noData": { "title": "Commencez à envoyer des traces à {product}", - "description": "Aucun flux de trace n'a encore été trouvé dans cette organisation. Instruisez vos services et les traces apparaîtront automatiquement ici.", - "otlp": "Envoyer des traces via {product}", + "description": "Aucun flux de traces trouvé dans cette organisation pour le moment. Instrumentez vos services et les traces apparaîtront ici automatiquement.", + "otlp": "Envoyez des traces via {product}", "otlpDesc": "{product1}, {product2} et tout SDK compatible {product3}", "otelCollectorDesc": "Acheminez tous les signaux de télémétrie via le {product}", "or": "Ou :", @@ -9155,21 +9155,21 @@ "configureFullTextSearch": "pour configurer un champ de recherche en texte intégral pour le flux.", "collapseFields": "Effondrer les champs", "openFields": "Champs ouverts", - "timeRangeUpdated": "La plage de temps sélectionnée n'incluait pas cette trace. La plage horaire a été mise à jour pour correspondre à l'horodatage de la trace.", - "errorRetrievingTraces": "Une erreur s'est produite lors de la récupération des traces.", - "fetchingTraces": "Tiens bon, on va chercher tes traces.", + "timeRangeUpdated": "La plage horaire sélectionnée n'incluait pas cette trace. La plage horaire a été mise à jour pour correspondre à l'horodatage de la trace.", + "errorRetrievingTraces": "Une erreur est survenue lors de la récupération des traces.", + "fetchingTraces": "Chargement des traces...", "noStream": { "title": "Choisissez un stream pour commencer à explorer", - "description": "Choisissez un flux de trace, puis appuyez sur Exécuter la requête. Vous pouvez filtrer par service, durée, statut de la période, etc. une fois les résultats chargés.", + "description": "Choisissez un flux de traces, puis appuyez sur Exécuter la requête. Vous pouvez filtrer par service, durée, statut du span, et plus une fois les résultats chargés.", "selectStream": "Sélectionnez un flux", - "selectStreamDesc": "Parcourir les flux de traces disponibles dans cette organisation", - "queryGuide": "Lisez le guide des traces", - "queryGuideDesc": "Graphique de service, filtrage des intervalles, métriques RED, etc.", + "selectStreamDesc": "Parcourez les flux de traces disponibles dans cette organisation", + "queryGuide": "Lire le guide des traces", + "queryGuideDesc": "Graphe des services, filtrage des spans, métriques RED et plus", "recent": "Récent :" }, "noEvents": { "title": "Aucune trace trouvée", - "descNoFilters": "Aucune trace n'a été trouvée dans {range}. Essayez d'élargir la plage de temps pour charger les résultats.", + "descNoFilters": "Aucune trace trouvée dans {range}.", "descWithFilters": "Rien ne correspond à cette requête dans la fenêtre sélectionnée. Essayez d'élargir la plage horaire ou de supprimer un filtre.", "descOutOfRange": "Votre fenêtre temporelle ne contient aucune donnée de ce flux. Accédez au moment où des données ont été vues pour la dernière fois.", "jumpToData": "Accéder aux données les plus récentes", @@ -9178,37 +9178,37 @@ "selectedRange": "la gamme sélectionnée" }, "tracesFound": "Traces trouvées", - "spansFound": "Spans trouvées", - "errorTraces": "Traces d'erreurs", - "errorSpans": "Error Spans", + "spansFound": "Spans trouvés", + "errorTraces": "Traces d'erreur", + "errorSpans": "Spans d'erreur", "filterByErrors": "Filtrer par erreur", "clearErrorFilter": "Effacer le filtre d'erreur", "error": "ERREUR", "errorCount": "{n} ERREUR | {n} ERREURS", "success": "SUCCÈS", - "applyPendingFilters": "Appliquer les filtres en attente et les traces de recherche", - "backToTraces": "Retour à Traces", + "applyPendingFilters": "Appliquer les filtres en attente et rechercher des traces", + "backToTraces": "Retour aux traces", "loadingTrace": "Chargement en cours...", "traceId": "ID de trace", "copyTraceId": "Copier l'ID de trace", "viewFilters": "Afficher les filtres", - "reviewAndApplyFilters": "Vérifiez et appliquez des filtres à Traces", - "spansLabel": "couvre", + "reviewAndApplyFilters": "Examiner et appliquer les filtres aux traces", + "spansLabel": "spans", "errorsLabel": "erreurs", "previousMatch": "Match précédent", "nextMatch": "Prochain match", "searchInSpans": "Rechercher dans les spans", - "spansTableView": "Afficher le tableau des étendues", + "spansTableView": "Vue tableau des spans", "comingSoon": "Prochainement...", - "fetchingTrace": "À la recherche de ta trace.", - "traceFilters": "Filtres de traçage", + "fetchingTrace": "Récupération de votre trace.", + "traceFilters": "Filtres de traces", "showTraces": "Afficher les traces", "applyAndSearch": "Postulez et recherchez", "timestamp": "Horodatage", - "noErrorPresent": "Aucune erreur n'est présente pour cette période", - "noEventsPresent": "Aucun événement pour cette span", - "noLinksPresent": "Aucun lien pour cette span", - "loadingTraceDag": "Chargement du DAG de trace...", + "noErrorPresent": "Aucune erreur présente pour ce span", + "noEventsPresent": "Aucun événement pour ce span", + "noLinksPresent": "Aucun lien pour ce span", + "loadingTraceDag": "Chargement du DAG de la trace...", "exceptionsWithCount": "Exceptions ({count})", "typeLabel": "Tapez :", "messageLabel": "Message :", @@ -9254,12 +9254,12 @@ "failedToLoad": "Impossible de charger la session", "retry": "Réessayez", "sessionNotFound": "Session introuvable", - "noSpansFound": "Aucune plage n'a été trouvée pour {id} dans la période actuelle.", - "searchPlaceholder": "Rechercher des traces au cours de cette session...", + "noSpansFound": "Aucun span trouvé pour {id} dans la plage horaire actuelle.", + "searchPlaceholder": "Rechercher des traces dans cette session…", "turn": "virage", "turns": "tours", "turnCount": "{count} {unit}", - "openInTraceExplorer": "Afficher Trace", + "openInTraceExplorer": "Voir la trace", "filters": { "status": "État", "model": "modèle", @@ -9348,7 +9348,7 @@ "warning": "Avertissement", "critical": "Critique" }, - "viewTraces": "Afficher les traces", + "viewTraces": "Voir les traces", "types": { "all": "Tous", "service": "Des services", @@ -9362,8 +9362,8 @@ "title": "Taux d'erreur" } }, - "spansTab": "S'étend", - "tracesTab": "Des traces", + "spansTab": "Spans", + "tracesTab": "Traces", "serviceGraphTab": "Graphique des services", "serviceGraphSubtitle": "Découvrez comment vos services interagissent — dépendances, débit et taux d'erreur", "servicesCatalogSubtitle": "Chaque service envoyant des traces, avec latence, débit et taux d'erreur", @@ -9372,10 +9372,10 @@ "layoutHorizontal": "horizontal", "layoutVertical": "Verticale", "layoutForce": "Disposition des forces", - "exportTraces": "Traces d'exportation", + "exportTraces": "Exporter les traces", "waterfall": "Cascade", "flameGraph": "Graphe de flammes", - "traceGraph": "Graphique de traçage", + "traceGraph": "Graphe de trace", "thread": "fil", "dbSpanDetails": { "dbSystem": "Système de base de données", @@ -9385,7 +9385,7 @@ "host": "Hôte", "user": "Utilisateur", "storedProcedure": "Procédure stockée", - "noQueryText": "Aucun texte de requête enregistré pour cette span.", + "noQueryText": "Aucun texte de requête enregistré pour ce span.", "performance": "Performance", "rowsReturned": "Lignes retournées", "batchSize": "Taille du lot", @@ -9518,7 +9518,7 @@ "processExitCode": "Code de sortie de processus" }, "traceLatencyCell": { - "spansAcrossServices": "{spans} spans répartis sur {services} services" + "spansAcrossServices": "{spans} spans sur {services} services" }, "threadToolCalls": { "toolCall": "appel d'outil", @@ -9541,14 +9541,14 @@ "noSpansLoaded": "Aucun span chargé pour cette trace.", "noLlmTurns": "Aucun tour LLM détecté. La trace ne contient pas de spans avec", "system": "Système", - "historicalMessage": "{count} message antérieur de cette session — traité dans les traces précédentes. | {count} messages antérieurs de cette session — traités dans les traces précédentes.", + "historicalMessage": "{count} message précédent de cette session — traité dans les traces précédentes. | {count} messages précédents de cette session — traités dans les traces précédentes.", "user": "Utilisateur", "startedAt": "Démarré à {time}", "unknown": "inconnu", "tokens": "Jetons", "tokensSuffix": "jetons", "error": "Erreur", - "viewSpan": "Voir la span" + "viewSpan": "Voir le span" }, "traceHeader": { "operationName": "Nom de l'opération" @@ -9566,7 +9566,7 @@ "start": "Début", "requestResent": "Requête renvoyée {count} fois | Requête renvoyée {count} fois", "resends": "Renvois", - "spanIdTitle": "ID de span : {id}", + "spanIdTitle": "ID du span : {id}", "inputTokens": "Jetons d'entrée", "in": "Entrée", "outputTokens": "Jetons de sortie", @@ -9587,8 +9587,8 @@ "value": "Valeur", "timestamp": "Horodatage", "enterpriseLicenseRequired": "La fonctionnalité de corrélation nécessite une licence entreprise", - "missingSpanOrStream": "Nom de span ou de flux manquant", - "spanIdCopied": "ID de span copié dans le presse-papiers", + "missingSpanOrStream": "Nom du span ou du flux manquant", + "spanIdCopied": "ID du span copié dans le presse-papiers.", "attributesCopied": "Attributs copiés dans le presse-papiers", "copiedToClipboard": "{type} copié dans le presse-papiers", "failedToCopyClipboard": "Échec de la copie dans le presse-papiers", @@ -9605,7 +9605,7 @@ "spanNotFound": "Span {spanId} introuvable dans la trace", "unknownOperation": "Opération inconnue", "unknownService": "Service inconnu", - "traceIdCopied": "ID de trace copié dans le presse-papiers", + "traceIdCopied": "ID de trace copié dans le presse-papiers.", "sessionIdCopied": "ID de session copié dans le presse-papiers" }, "traceTree": { @@ -9630,7 +9630,7 @@ "flameGraphView": { "spans": "spans", "depth": "profondeur", - "noSpansToDisplay": "Aucune span à afficher", + "noSpansToDisplay": "Aucun span à afficher", "service": "Service :", "duration": "Durée :", "percentOfTrace": "% de la trace :", @@ -9645,19 +9645,19 @@ "noTraceInfoAvailable": "Aucune information de trace disponible pour cet événement", "traceIdLabel": "ID de trace :", "copyTraceId": "Copier l'ID de trace", - "spanIdLabel": "ID de span :", - "spanHierarchy": "Hiérarchie des spans :", + "spanIdLabel": "ID du span :", + "spanHierarchy": "Hiérarchie du span :", "applicationSpan": "Span d'application", - "browserSdkSpanPrefix": "Span du SDK navigateur (", + "browserSdkSpanPrefix": "Span SDK navigateur (", "closingParen": ")", - "backendSpansPrefix": "Spans du backend (", + "backendSpansPrefix": "Spans backend (", "performanceBreakdown": "Répartition des performances :", "totalDuration": "Durée totale :", "browserLabel": "Navigateur :", "networkLabel": "Réseau :", "backendLabel": "Backend :", "viewTraceDetails": "Voir les détails de la trace", - "backendTraceNotAvailable": "Les données de trace du backend ne sont pas encore disponibles. L'ingestion des données de trace peut prendre jusqu'à 30 secondes." + "backendTraceNotAvailable": "Les données de trace backend ne sont pas encore disponibles. Les données de trace peuvent prendre jusqu'à 30 secondes pour être ingérées." }, "failedToAnalyzeDimensions": "Échec de l'analyse des dimensions", "failedToFetchCorrelatedLogs": "Échec de la récupération des journaux corrélés", @@ -9705,10 +9705,10 @@ "p75Label": "P75 :", "p95Label": "P95 :", "p99Label": "P99 :", - "averageOfTrace": "{avg} ms ({percent}% de la trace)", + "averageOfTrace": "{avg}ms ({percent}% de la trace)", "requestCount": "{count} req" }, - "spanEventTimeline": "Chronologie des événements de span", + "spanEventTimeline": "Chronologie des événements du span", "eventClusterTooltip": "{count} événements", "spanEventCount": "{count} événement", "spanEventCountPlural": "{count} événements", @@ -10017,7 +10017,7 @@ "selectMetrics": "Sélectionnez Metric Streams", "correlatedLogs": "Journaux corrélés", "correlatedMetrics": "Métriques corrélées", - "correlatedTraces": "Traces corrélées", + "correlatedTraces": "Traces", "loadingCorrelation": "Chargement des données de corrélation...", "clickToLoadLogs": "Cliquez pour charger les journaux corrélés", "clickToLoadMetrics": "Cliquez pour charger les métriques corrélées", @@ -10040,19 +10040,19 @@ "noLogsFound": "Aucun journal corrélé n'a été trouvé", "noDataFound": "Aucune donnée trouvée", "noLogsDescription": "Aucun journal n'a été trouvé pour cette corrélation dans la plage de temps sélectionnée.", - "correlatedTracesFor": "Traces corrélées pour le service : {service}", + "correlatedTracesFor": "Traces corrélées pour le service : {service}", "all": "Tous", - "loadingTraces": "Chargement de traces corrélées...", + "loadingTraces": "Chargement des traces...", "tracesError": "Impossible de charger les traces", "tracesErrorDetails": "Une erreur s'est produite lors de la récupération des données de trace. Veuillez réessayer.", "metricsError": "Impossible de charger les métriques", "metricsErrorDetails": "Une erreur s'est produite lors de la récupération des données des métriques. Veuillez réessayer.", "noMetricsDescription": "Aucune métrique n'a été trouvée pour cette corrélation dans la plage de temps sélectionnée.", "dimensionBasedCorrelation": "Corrélation basée sur les dimensions", - "tracesFromService": "Traces provenant du service : {service}", - "noTracesFound": "Aucune trace corrélée n'a été trouvée", - "noTracesDescription": "Aucune trace n'a été trouvée pour cette corrélation dans la plage de temps sélectionnée.", - "viewInTraces": "Afficher dans Traces", + "tracesFromService": "Traces du service : {service}", + "noTracesFound": "Aucune trace trouvée", + "noTracesDescription": "Aucune trace trouvée pour cette corrélation dans la plage de temps sélectionnée.", + "viewInTraces": "Afficher dans les traces", "filters": "Filtres", "semanticFieldGroupsCaption": "Définissez des mappages de noms de champs pour la corrélation et la déduplication (par exemple, hôte, nom d'hôte, nœud → groupe « hôte »)", "exportToJson": "Exporter au format JSON", @@ -10185,10 +10185,10 @@ "editCrossLink": "Modifier le lien croisé", "name": "Nom", "nameRequired": "Le nom est obligatoire", - "namePlaceholder": "par exemple, Afficher les détails de la trace", + "namePlaceholder": "p. ex., Afficher les détails de la trace", "urlTemplate": "Modèle d'URL", "urlRequired": "L'URL est obligatoire", - "urlPlaceholder": "par ex., https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", + "urlPlaceholder": "p. ex., https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", "urlInvalid": "Saisissez une URL http(s) valide", "urlHint": "Utilisez {'${field.__name}'}, {'${field.__value}'}, {'${start_time}'}, {'${end_time}'}, {'${query}'}, {'${query_encoded}'}", "fields": "Champs", @@ -10281,7 +10281,7 @@ "colPattern": "Motif", "colPricingSimple": "Tarification", "testMatchTitle": "Correspondance du modèle de test", - "testMatchSubtitle": "Simulez la correspondance entre le nom d'un modèle issu de vos spans et les règles de tarification.", + "testMatchSubtitle": "Simulez comment un nom de modèle de vos spans correspondrait aux règles de tarification.", "modelNameInput": "Nom du modèle", "modelNameHint": "Le nom du modèle indiqué sur vos générations.", "enterModelName": "Entrez un nom de modèle pour tester la correspondance", @@ -10445,11 +10445,11 @@ "sessions": "Parcourez et inspectez les sessions des agents étape par étape", "agentGraph": "Voyez avec quoi vos agents interagissent — outils, modèles, services et magasins de données", "agentBehavior": "Repérez les agents bloqués dans des boucles et les erreurs qui les font échouer", - "discovery": "Trouvez des traces anormales qui méritent d'être examinées", + "discovery": "Trouvez les traces défaillantes à examiner", "queues": "Listes de tâches de révision avec état", - "datasets": "Organisez des jeux de données Golden à partir de traces annotées et de revues", + "datasets": "Constituez des jeux de données golden à partir de traces annotées et d'évaluations", "experiments": "Prévisualiser et créer des exécutions d'évaluation hors ligne immuables", - "quality": "Suivez la qualité des scores dans les évaluations de span, trace et session", + "quality": "Suivez la qualité des scores dans les évaluations de span, de trace et de session", "evalJobs": "Exécutez et contrôlez les tâches d'évaluation tout au long de vos sessions", "scorers": "Créez et gérez les évaluateurs qui évaluent les résultats du LLM", "scoreConfigs": "Configurez les grilles de notation utilisées pour vos évaluations" @@ -10493,7 +10493,7 @@ "dataset": { "button": "Ajouter au jeu de données", "title": "Ajouter au jeu de données", - "hint": "Transformez {ref} en golden. L'entrée est relue depuis la trace — vous écrivez la sortie attendue.", + "hint": "Transformez {ref} en golden. L'entrée est relue à partir de la trace — vous écrivez la sortie attendue.", "errors": { "dataset": "Sélectionner un jeu de données", "expectedOutput": "Écrire la sortie attendue" @@ -10502,7 +10502,7 @@ "datasetPlaceholder": "Sélectionner un jeu de données...", "noDatasets": "Aucun jeu de données pour l'instant — créez-en un depuis la page Jeux de données d'abord.", "inputLabel": "Entrée", - "inputReadOnly": "lue depuis la trace", + "inputReadOnly": "Lecture à partir de la trace", "expectedLabel": "Sortie attendue", "expectedPlaceholder": "Écrivez la sortie que cela aurait dû produire...", "confirm": "Ajouter au jeu de données", @@ -10641,7 +10641,7 @@ "inTrace": "Dans la trace {traceId}", "reviewAgain": "Réviser à nouveau", "emptyTitle": "Rien à réviser", - "emptyBody": "Ajoutez des traces, des spans ou des sessions à cette file depuis Discovery ou une vue de trace.", + "emptyBody": "Ajoutez des traces, des spans ou des sessions à cette file d'attente depuis Discovery ou une vue de trace.", "columns": { "refType": "Réf", "refId": "Référence", @@ -10692,7 +10692,7 @@ "distill": { "title": "Distiller vers le jeu de données", "action": "Jeu de données", - "hint": "Écrivez la réponse que cet élément AURAIT DÛ produire. Elle devient la sortie de référence ; l'entrée est tirée de la trace examinée.", + "hint": "Écrivez la réponse que cet élément aurait dû produire. Elle devient la sortie golden ; l'entrée est tirée de la trace examinée.", "datasetLabel": "Jeu de données", "datasetPlaceholder": "Sélectionner un jeu de données...", "noDatasets": "Aucun jeu de données pour l'instant — créez-en un à partir de la page Jeux de données d'abord.", @@ -10730,7 +10730,7 @@ "trial": "essai {index}", "summary": "Jeu de données v{version} · {trials} essai(s) · {scorers} évaluateur(s)", "previewCounts": "{rows} lignes × {trials} essais = {slots} emplacements", - "viewTrace": "Voir la trace d'exécution", + "viewTrace": "Afficher la trace d'exécution", "scoresTitle": "Scores", "taskProgress": "Tâches : {completed}/{total} terminées · {skipped} ignorées", "scoringProgress": "Scores : {completed}/{total} terminés · {skipped} ignorés", @@ -10912,7 +10912,7 @@ "trials": "Essais", "trial": "Essai {index}", "retryFailedSlot": "Réessayer l'emplacement échoué", - "viewTrace": "Voir la trace", + "viewTrace": "Afficher la trace", "scores": "Scores", "dimension": "Dimension", "unknownDimension": "Dimension inconnue", @@ -11100,7 +11100,7 @@ "stream": "Flux", "agent": "Agent", "noAgentsTitle": "Aucun agent trouvé", - "noAgentsDescription": "Aucun agent n'a été découvert dans cette plage horaire. Essayez d'élargir la plage horaire, ou vérifiez que vos traces incluent les attributs d'agent gen_ai.", + "noAgentsDescription": "Aucun agent n'a été découvert dans cette plage de temps. Essayez d'élargir la plage de temps, ou vérifiez que vos traces incluent des attributs d'agent gen_ai.", "versionAgnosticHint": "La topologie est la même pour toutes les versions — le graphique est limité par environnement, pas par version. Utilisez la comparaison de versions pour comparer les versions." }, "panels": { @@ -11113,7 +11113,7 @@ "subtitle": "jetons par modèle" }, "spanTrend": { - "title": "Tendance de l'Espagne", + "title": "Tendance des spans", "subtitle": "nombre de spans par type" }, "latencyByModel": { @@ -11129,7 +11129,7 @@ "subtitle": "nombre d'erreurs" }, "spansByModel": { - "title": "Échelle par modèle", + "title": "Spans par modèle", "subtitle": "nombre d'appels par modèle" }, "tokensByModel": { @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "Erreurs récentes", - "subtitle": "les 10 dernières spans échouées" + "subtitle": "10 derniers spans en échec" } }, "behavior": { @@ -11175,11 +11175,11 @@ "title": "Détails du signal", "tracesTitle": "Traces", "tracesHint": "Cliquez sur une trace pour l'ouvrir", - "worstLoopTraces": "Pires traces (plus de répétitions en premier)", + "worstLoopTraces": "Pires traces (les plus répétées en premier)", "topCostTraces": "Traces les plus coûteuses", "noTraces": "Aucune trace trouvée pour ce signal", "errorsTitle": "Ce que disent les erreurs", - "noErrors": "Aucun message d'erreur capturé — ouvrez une trace pour inspecter", + "noErrors": "Aucun message d'erreur capturé — ouvrez une trace pour l'inspecter", "colTraceId": "Trace", "colSpans": "Spans", "colRepeats": "Répétitions", @@ -11192,13 +11192,13 @@ "failHeadline": "{agent} a rencontré {count} erreurs “{cls}”.", "costHeadline": "{agent} : ${cost} dépenses · {tokens} tokens · {errors} erreurs.", "loopExplain": "Un taux de répétition élevé signifie généralement que l'agent ne met pas en cache les résultats ou qu'il réessaie. Ouvrez les pires traces ci-dessous pour voir les appels répétés.", - "failExplain": "Voici les messages d'erreur réels derrière cette classe de défaillance — lisez-les pour trouver la solution, ou ouvrez une trace pour voir où cela s'est produit.", - "costExplain": "Ces traces ont généré les dépenses de cet agent. Ouvrez les plus coûteuses pour voir ce qui a été exécuté." + "failExplain": "Ce sont les véritables messages d'erreur derrière cette classe de défaillance — lisez-les pour trouver le correctif, ou ouvrez une trace pour voir où cela s'est produit.", + "costExplain": "Ces traces ont généré les coûts de cet agent. Ouvrez les plus coûteuses pour voir ce qui s'est exécuté." } }, "versionCompare": { "datePickerDisabled": "Les fenêtres sont par version dans ce mode", - "sampledNote": "Les intervalles de latence et de coût sont calculés à partir d'au plus {cap} traces échantillonnées aléatoirement par version.", + "sampledNote": "Les intervalles de latence et de coût sont calculés sur la base de jusqu'à {cap} traces échantillonnées aléatoirement par version.", "bar": { "versionA": "Version A", "versionB": "Version B", @@ -11279,13 +11279,13 @@ }, "manualEvaluation": { "titles": { - "span": "Évaluer la span", + "span": "Évaluer le span", "trace": "Évaluer la trace", "session": "Évaluer la session" }, "targetLabels": { - "span": "ID de span", - "trace": "ID de trace", + "span": "ID du span", + "trace": "ID de la trace", "session": "ID de session" }, "scopes": { @@ -11297,7 +11297,7 @@ "jobLabel": "Eval Job", "jobPlaceholder": "Sélectionnez un Eval Job", "jobRequired": "Sélectionnez un Eval Job", - "noCompatibleJobs": "Aucun Eval Job {scope} n'utilise le flux de trace {stream}.", + "noCompatibleJobs": "Aucun job d'évaluation {scope} n'utilise le flux de traces {stream}.", "loadJobsError": "Échec du chargement des Eval Jobs.", "run": "Exécuter l'évaluation", "queued": "{count} tâche d'évaluation en file d'attente. | {count} tâches d'évaluation en file d'attente.", @@ -11393,7 +11393,7 @@ }, "runs": { "title": "Scores d'évaluation", - "hint": "Les scores et le raisonnement proviennent de _llm_scores. Sélectionnez un run pour ouvrir sa trace d'évaluation pour une enquête plus approfondie.", + "hint": "Les scores et le raisonnement proviennent de _llm_scores. Sélectionnez une exécution pour ouvrir la trace de son évaluateur et approfondir l'investigation.", "filterLabel": "Filtrer les scores d'évaluation", "footerTitle": "Scores d'évaluation", "noThresholdHint": "Définissez un seuil de santé sur cette configuration de score pour classer et mettre en évidence les scores malsains.", @@ -11588,7 +11588,7 @@ "booleanInfo": "Les configurations booléennes acceptent les valeurs {trueLabel} / {falseLabel}. Aucune configuration supplémentaire n'est nécessaire.", "healthyThresholdTitle": "Seuil de santé", "optional": "Facultatif", - "healthyThresholdIntro": "Définissez à partir de quand les scores sur cette dimension sont considérés comme sains. Les scores en dehors de cette plage déclencheront des problèmes de qualité dans les listes de traces, les sessions et d'autres vues.", + "healthyThresholdIntro": "Définissez quand les scores sur cette dimension sont considérés comme sains. Les scores en dehors de cette plage déclencheront des problèmes de qualité dans les listes de traces, les sessions et d'autres vues.", "healthyWhenValueIs": "Sain lorsque la valeur est :", "healthyCategories": "Catégories saines :", "healthyCategoriesHint": "Cochez toutes les valeurs qui comptent comme saines.", @@ -11667,8 +11667,8 @@ "col": { "time": "Heure", "job": "Tâche", - "spanId": "Identifiant Span", - "traceId": "ID de trace", + "spanId": "ID du span", + "traceId": "ID de la trace", "score": "Score", "latency": "Latence", "status": "Statut" @@ -11896,8 +11896,8 @@ "col": { "time": "Heure", "scorer": "Évaluateur", - "spanId": "Identifiant Span", - "traceId": "ID de trace", + "spanId": "ID du span", + "traceId": "ID de la trace", "score": "Score", "latency": "Latence", "status": "Statut" @@ -11954,20 +11954,20 @@ }, "targetScopeHelp": { "span": "Évaluer chaque span correspondant indépendamment.", - "trace": "Évaluer une trace entière après la fermeture de la fenêtre d'achèvement.", - "session": "Évaluer une session à travers les traces après la fermeture de la fenêtre d'achèvement." + "trace": "Évaluer une trace entière après la fermeture de la fenêtre de complétion.", + "session": "Évaluer une session sur l'ensemble des traces après la fermeture de la fenêtre de complétion." }, "completionSection": "Critères d'achèvement", "completionHelp": { - "trace": "La trace est évaluée dès que le premier de ces critères est rempli.", + "trace": "La trace est évaluée dès que la première de ces conditions est remplie.", "session": "La session est évaluée dès que le premier de ces critères est rempli." }, "idleWindowLabel": "Fenêtre d'inactivité (secondes)", - "idleWindowHelp": "Évalué après {duration} sans nouveau span.", - "idleWindowHelpEmpty": "Évalué dès qu'aucun nouveau span n'arrive.", + "idleWindowHelp": "L'évaluation est effectuée après {duration} sans nouveaux spans.", + "idleWindowHelpEmpty": "L'évaluation est effectuée lorsqu'aucun nouveau span n'arrive.", "maxAgeLabel": "Âge maximum (secondes)", - "maxAgeHelp": "Évalué {duration} après le premier span.", - "maxAgeHelpEmpty": "Évalué à un âge fixe, même si des spans arrivent encore.", + "maxAgeHelp": "L'évaluation est effectuée {duration} après le premier span.", + "maxAgeHelpEmpty": "L'évaluation est effectuée à un âge fixe, même si des spans continuent d'arriver.", "descriptionLabel": "Descriptif", "samplingModeLabel": "Mode d'échantillonnage", "samplingValueLabel": "Taux d'échantillonnage", @@ -11978,8 +11978,8 @@ "scorerPicker": { "title": "Buteurs", "hint": { - "span": "Sélectionnez un ou plusieurs scorers à exécuter pour chaque span correspondant.", - "trace": "Sélectionnez un ou plusieurs scorers à exécuter pour chaque trace éligible.", + "span": "Sélectionnez un ou plusieurs évaluateurs à exécuter pour chaque span correspondant.", + "trace": "Sélectionnez un ou plusieurs évaluateurs à exécuter pour chaque trace éligible.", "session": "Sélectionnez un ou plusieurs scorers à exécuter pour chaque session éligible." }, "meta": "{type} · v{version}", @@ -11990,13 +11990,13 @@ "filter": { "title": "État du filtre", "hint": { - "span": "Seuls les spans correspondant à cette condition entrent dans l'échantillonnage et le scoring.", - "trace": "Une trace entre dans l'échantillonnage et le scoring si l'un de ses spans correspond à cette condition.", - "session": "Une session entre dans l'échantillonnage et le scoring si l'un de ses spans correspond à cette condition." + "span": "Seuls les spans correspondant à cette condition entrent dans l'échantillonnage et la notation.", + "trace": "Une trace est soumise à l'échantillonnage et à la notation si l'un de ses spans correspond à cette condition.", + "session": "Une session est soumise à l'échantillonnage et à la notation si l'un de ses spans correspond à cette condition." } }, "selector": { - "title": "Quels spans (Optionnel)", + "title": "Quels spans (facultatif)", "hint": { "trace": "Laissez vide pour inclure chaque span de la trace." } @@ -12029,7 +12029,7 @@ "title": "Valeurs système de {scope}", "description": "OpenObserve construit ces valeurs séparément pour chaque {scope} que ce job évalue. Utilisez-les comme sources lors du mappage des variables de prompt du scorer.", "badge": "Fourni par le système", - "selectorRequired": "Sélecteur de span requis", + "selectorRequired": "Sélecteur de spans requis", "columns": { "variable": "Valeur", "source": "Source", @@ -12037,17 +12037,17 @@ }, "variables": { "input": { - "trace": "Entrée du span racine de la trace." + "trace": "Entrée provenant du span racine de la trace." }, "output": { - "trace": "Sortie du span racine de la trace." + "trace": "Sortie provenant du span racine de la trace." }, "statistics": { - "trace": "Métriques de trace : nombre de spans, durée, appels LLM et outils, erreurs, tokens et coût.", + "trace": "Métriques de trace : nombre de spans, durée, appels LLM et d'outils, erreurs, tokens et coût.", "session": "Métriques de session : nombre de traces et de tours, durée et erreurs." }, "spans": { - "trace": "Un sous-ensemble filtré de spans, choisi par le sélecteur de span du job." + "trace": "Un sous-ensemble filtré de spans, choisi par le sélecteur de spans de la tâche." }, "steps": { "trace": "Spans dans l'ordre chronologique ; le milieu est replié lorsque la trace est très longue.", @@ -12057,42 +12057,42 @@ } }, "spanSelector": { - "select": "Sélectionner le sélecteur de span", - "bindingHelp": "Les traces peuvent avoir des centaines de spans. Choisissez ceux que ce scorer doit examiner.", + "select": "Sélectionner un sélecteur de spans", + "bindingHelp": "Les traces peuvent contenir des centaines de spans. Choisissez ceux que cet évaluateur doit examiner.", "createForScorer": "Créer pour scorer", - "createForScorerTitle": "Créer un sélecteur de span pour ce scorer", - "editorTitle": "Sélecteur de span", + "createForScorerTitle": "Créer un sélecteur de spans pour cet évaluateur", + "editorTitle": "Sélecteur de spans", "name": "Nom du sélecteur", "schemaMode": "Champs à lire", "defaultSchema": "Champs GenAI standard", "customSchema": "Champs personnalisés", - "defaultSchemaHelp": "Ces huit champs sont lus à partir de chaque span correspondant. Tout élément manquant arrive vide.", + "defaultSchemaHelp": "Ces huit champs sont lus à partir de chaque span correspondant. Tout élément manquant est transmis vide.", "fields": "Champs", "fieldsHelp": "Seuls ces champs sont lus — rien d'autre n'est envoyé au scorer.", - "maximumSpans": "Spans maximum", + "maximumSpans": "Maximum de spans", "budget": "Limite le nombre de spans sélectionnés dans la trace.", "validation": { "name": "Saisissez un nom de sélecteur.", "duplicateName": "Les noms de sélecteurs doivent être uniques dans ce job.", "filter": "Complétez ou supprimez la condition de filtre non terminée.", "fields": "Sélectionnez au moins un champ pour un schéma personnalisé.", - "maximumSpans": "Le nombre maximum de spans doit être un nombre entier positif.", + "maximumSpans": "Le nombre maximal de spans doit être un nombre entier positif.", "budget": "Trop de spans pour les champs sélectionnés. Réduisez le nombre de spans ou lisez moins de champs.", - "binding": "Sélectionnez un sélecteur de span pour chaque scorer qui utilise des spans de trace." + "binding": "Sélectionnez un sélecteur de spans pour chaque évaluateur qui utilise des spans de trace." } }, "preview": { "scopes": { "span": { "title": "Spans correspondants", - "hint": "Une fois que vous avez choisi un flux et un filtre, ce panneau affichera le nombre de spans que votre job correspondra.", - "matchedSuffix": "spans correspondants · dernière 1h", + "hint": "Une fois que vous avez choisi un flux et un filtre, ce panneau affichera le nombre de spans que votre tâche sélectionnera.", + "matchedSuffix": "spans correspondants · dernière heure", "matchedLoading": "Comptage des spans correspondants…" }, "trace": { "title": "Traces correspondantes", - "hint": "Une fois que vous avez choisi un flux et un filtre, ce panneau affichera le nombre de traces que votre job correspondra.", - "matchedSuffix": "traces correspondantes · dernière 1h", + "hint": "Une fois que vous avez choisi un flux et un filtre, ce panneau affichera le nombre de traces que votre tâche sélectionnera.", + "matchedSuffix": "traces correspondantes · dernière heure", "matchedLoading": "Comptage des traces correspondantes…" }, "session": { @@ -12122,9 +12122,9 @@ "nameRequired": "Job name is required", "streamRequired": "A stream is required", "idleWindowMinimum": "La fenêtre d'inactivité doit être d'au moins 1 seconde", - "idleWindowMaximumTrace": "La fenêtre d'inactivité de trace ne peut pas dépasser 30 minutes", + "idleWindowMaximumTrace": "La fenêtre d'inactivité de la trace ne peut pas dépasser 30 minutes.", "idleWindowMaximumSession": "La fenêtre d'inactivité de session ne peut pas dépasser 4 heures", - "maxAgeMaximumTrace": "L'âge maximal de trace ne peut pas dépasser 2 heures", + "maxAgeMaximumTrace": "L'âge maximal de la trace ne peut pas dépasser 2 heures.", "maxAgeMaximumSession": "L'âge maximal de session ne peut pas dépasser 24 heures", "samplingValueRequired": "A sampling value is required" } @@ -12187,7 +12187,7 @@ "curlDesc": "Méthode la plus rapide : collez une commande et les journaux commencent à circuler", "shippers": "Utilisez un chargeur de grumes", "shippersDesc": "{product1}, {product2}, {product3}, {product4}, {product5} et plus", - "otelDesc": "Ingestion OTLP indépendante du fournisseur pour les journaux, les traces et les métriques", + "otelDesc": "Ingestion OTLP indépendante du fournisseur pour les logs, les traces et les métriques.", "or": "Ou :", "aws": "AWS/CloudWatch", "askAi": "Demandez à l'IA de configurer l'ingestion" @@ -12196,13 +12196,13 @@ "title": "Choisissez un stream pour commencer à explorer", "description": "Choisissez un flux, puis appuyez sur Exécuter la requête. Vous pouvez affiner à l'aide de filtres, d'une fonction VRL et d'une plage de temps personnalisée une fois les résultats obtenus.", "selectStream": "Sélectionnez un flux", - "selectStreamDesc": "Parcourez les journaux, les traces, les métriques et les flux RUM", + "selectStreamDesc": "Parcourir les flux de logs, de traces, de métriques et de RUM", "queryGuide": "Lisez le guide des requêtes", "queryGuideDesc": "Filtres, mode SQL, VRL et vues enregistrées", "recent": "Récent :" }, "noEvents": { - "title": "Aucun événement n'a été trouvé", + "title": "Aucun événement trouvé", "descNoFilters": "Aucun événement n'a été trouvé dans {range}. Essayez d'élargir la plage de temps pour charger les résultats.", "descWithFilters": "Rien ne correspond à cette requête dans la fenêtre sélectionnée. Essayez d'élargir la plage horaire, d'assouplir un filtre ou de réinitialiser la requête.", "descOutOfRange": "Votre fenêtre temporelle ne contient aucune donnée de ce flux. Accédez au moment où des données ont été vues pour la dernière fois.", @@ -12312,7 +12312,7 @@ "goodResponse": "Bonne réponse", "moderateResponse": "Réponse modérée", "slowResponse": "Réponse lente", - "failedToCopyTraceId": "Échec de la copie de l'ID de trace dans le presse-papiers", + "failedToCopyTraceId": "Échec de la copie de l'ID de trace dans le presse-papiers.", "failedToCopySql": "Échec de la copie de la requête SQL dans le presse-papiers" }, "searchResult": { @@ -12332,7 +12332,7 @@ "noMetricStreams": "Aucun flux de métriques trouvé pour le service \"{service}\"", "correlationError": "Erreur de corrélation : {error}", "contentCopied": "Contenu copié avec succès !", - "noTraceIdForInspection": "Aucun ID de trace disponible pour inspection" + "noTraceIdForInspection": "Aucun ID de trace disponible pour l'inspection." }, "searchBar": { "customRangeAlt": "Plage personnalisée", @@ -12496,7 +12496,7 @@ "expandRangeDesc": "Les données accessibles peuvent se trouver dans une fenêtre temporelle différente", "copyError": "Copier les détails de l'erreur", "copied": "Copié !", - "traceId": "ID de trace :", + "traceId": "ID de trace :", "askAi": "Demandez à AI de corriger ma requête", "showDetail": "Afficher les détails", "hideDetail": "Masquer les détails" @@ -13642,9 +13642,9 @@ "logs": "Journaux", "dashboards": "Tableaux de bord", "metrics": "Métriques", - "traces": "Des traces", + "traces": "Traces", "alerts": "Alertes", - "streams": "Ruisseaux", + "streams": "Flux", "pipelines": "Canalisations", "functions": "Fonctions", "reports": "Rapports", @@ -13662,9 +13662,9 @@ "dashboards": "Affichage du tableau de bord", "dashboardsPanel": "Tableau de bord — Panneau (passez la souris sur un panneau)", "metrics": "Métriques", - "traces": "Des traces", + "traces": "Traces", "alerts": "Alertes", - "streams": "Ruisseaux", + "streams": "Flux", "pipelines": "Canalisations", "functions": "Fonctions", "reports": "Rapports", @@ -13681,7 +13681,7 @@ "ingestionTokens": "IAM — Jetons d'ingestion", "syntheticsTokens": "IAM — Jetons de synthèse", "alertIncidents": "Alertes — Incidents", - "pipelineDestinations": "Oléoducs — Destinations", + "pipelineDestinations": "Canalisations — Destinations", "enrichmentTables": "Tableaux d'enrichissement", "iamInvitations": "IAM — Invitations", "iamOrganizations": "IAM — Organisations", @@ -13768,8 +13768,8 @@ "panelEditorRun": "Exécuter/appliquer une requête", "panelEditorSave": "Panneau de sauvegarde", "panelEditorBack": "Jeter et revenir en arrière", - "traceNextSpan": "Prochaine période", - "tracePrevSpan": "Échelle précédente", + "traceNextSpan": "Span suivant", + "tracePrevSpan": "Span précédent", "runningQueriesRefresh": "Actualiser la liste des requêtes", "ingestionTokensAdd": "Créer un nouveau jeton", "ingestionTokensRefresh": "Actualiser la liste des jetons", @@ -13780,7 +13780,7 @@ "aiChatExpand": "Développer/réduire le chat IA", "logsSaveView": "Enregistrer en tant que vue enregistrée", "logsExport": "Exporter les résultats au format CSV", - "tracesCopyUrl": "Copier l'URL du partage de traces", + "tracesCopyUrl": "Copier l'URL de partage de la trace", "alertIncidentsRefresh": "Actualiser la liste", "pipelineDestinationsRefresh": "Actualiser la liste", "enrichmentTablesRefresh": "Actualiser la liste", @@ -14316,7 +14316,7 @@ "pleaseWaitWhileLoadingAlerts": "Veuillez patienter pendant le chargement des alertes...", "destinationsDeletedSuccessfully": "{count} destination supprimée avec succès | {count} destinations supprimées avec succès", "failedToDeleteDestinations": "Échec de la suppression de {count} destination | Échec de la suppression de {count} destinations", - "destinationsDeletedWithFailures": "{count} destination supprimée avec succès, {failed} échec(s) | {count} destinations supprimées avec succès, {failed} échec(s)", + "destinationsDeletedWithFailures": "{count} destination supprimée avec succès, {failed} échouée | {count} destinations supprimées avec succès, {failed} échouées", "noDestinationsSelectedForDeletion": "Aucune destination sélectionnée pour la suppression", "deletingDestinations": "Suppression des destinations...", "destinationDeletedSuccessfully": "Destination {name} supprimée avec succès", @@ -14565,7 +14565,7 @@ }, "correlation": { "refreshingTraceData": "Actualisation des données de trace...", - "traceDetailViewComingSoon": "La vue détaillée de la trace arrive bientôt", + "traceDetailViewComingSoon": "La vue détaillée des traces arrive bientôt", "columnIsAlreadyVisible": "La colonne \"{name}\" est déjà visible", "columnAddedToTable": "Colonne \"{name}\" ajoutée au tableau" }, @@ -15360,14 +15360,14 @@ "failed": "Échec" }, "columnHints": { - "calls": "Combien de fois cette requête a été exécutée. Le propre compteur de votre base de données lorsqu'elle en fournit un — cela couvre chaque client, pas seulement les parties de votre système qui envoient des traces. Les lignes marquées comme observées côté client sont comptées à partir des traces à la place, parce que votre base de données ne les a pas signalées.", + "calls": "Combien de fois cette requête a été exécutée. Le compteur propre à votre base de données lorsqu'elle en fournit un — il couvre tous les clients, pas seulement les parties de votre système qui envoient des traces. Les lignes marquées « observé par le client » sont comptées à partir des traces à la place, car votre base de données ne les a pas rapportées.", "p50": "La moitié de tous les appels se sont terminés plus rapidement que ceci. Compte uniquement les appels terminés — une requête encore en cours, ou qui n'est jamais revenue, n'est pas mesurée ici.", "p95": "La traîne lente — 1 appel sur 20 a pris au moins ce temps. Compte uniquement les appels terminés — une requête encore en cours, ou qui n'est jamais revenue, n'est pas mesurée ici.", "p99": "Les 1% des appels les plus lents ont pris au moins ce temps. Compte uniquement les appels terminés — une requête encore en cours, ou qui n'est jamais revenue, n'est pas mesurée ici.", "max": "L'appel le plus lent de cette fenêtre — un appel réel, pas une moyenne.", "errors": "Combien de ces appels sont revenus avec une erreur.", "perTrace": "Combien de fois cela s'exécute dans une seule requête. Un nombre élevé signifie généralement une boucle.", - "load": "Temps total que cette requête a passé dans la base de données. Le chiffre propre à votre base de données lorsqu'elle en fournit un : temps d'exécution sur Postgres, mais temps d'attente sur MySQL et MariaDB — chaque ligne indique lequel. Les lignes marquées comme observées côté client sont mesurées à partir des traces, elles incluent donc l'aller-retour réseau." + "load": "Temps total que cette requête a passé dans la base de données. Le chiffre propre à votre base de données lorsqu'elle en fournit un : temps d'exécution sur Postgres, mais temps d'attente sur MySQL et MariaDB — chaque ligne indique lequel. Les lignes marquées « observé par le client » sont mesurées à partir des traces, elles incluent donc l'aller-retour réseau." }, "errorsNone": "Aucun", "errorsAll": "Tous", @@ -15405,7 +15405,7 @@ "n-plus-one": { "title": "S'exécute au moins {multiplier}× par requête", "body": "{share} du temps de base de données · {service}", - "rule": "Affiché car cette requête s'exécute au moins {ratio} fois dans une même requête, sur au moins {traces} requêtes. C'est une limite inférieure, donc le nombre réel peut être plus élevé. Un travail par lots légitime peut sembler identique." + "rule": "Affiché car cette requête s'exécute au moins {ratio} fois dans une seule requête, sur au moins {traces} requêtes. C'est une limite inférieure, le nombre réel peut donc être plus élevé. Un travail par lots légitime peut se présenter de la même façon." }, "volume-shift": { "title": "Plus sollicitée, pas plus lente", @@ -15479,7 +15479,7 @@ "subtitleCounts": "{pass} succès, {fail} échec. | {pass} succès, {fail} échecs.", "checklistTitle": "Ce que nous avons vérifié", "showMeHow": "Montrez-moi comment l'instrumenter", - "checkTrace": "Vérifier l'une de mes traces", + "checkTrace": "Examiner une de mes traces", "checks": { "enabled": { "ok": "La surveillance de la base de données est activée", @@ -15491,18 +15491,18 @@ "ok": "Vos traces arrivent", "okDetail": "{count} enregistrées dans cette plage horaire", "no": "Aucune trace n'est arrivée", - "noDetail": "La surveillance de la base de données est construite à partir des traces, et cette organisation n'en a pas encore envoyé." + "noDetail": "Le monitoring des bases de données est construit à partir des traces, et cette organisation n'en a pas encore envoyé." }, "permission": { "ok": "Vous avez accès à ces données", "okDetail": "vous êtes administrateur sur {org}", "no": "Vous n'avez pas accès à ces données", - "noDetail": "La surveillance de la base de données lit vos traces, et votre rôle ne les inclut pas. Demandez à un administrateur un accès en lecture." + "noDetail": "Le monitoring des bases de données lit vos traces, et votre rôle n'y donne pas accès. Demandez à un administrateur l'accès en lecture." }, "dbSpans": { "ok": "Vos traces mentionnent une base de données", "okDetail": "les appels à la base de données sont enregistrés", - "no": "Aucune de vos traces ne mentionne une base de données", + "no": "Aucune de vos traces ne mentionne de base de données", "noDetail": "Vos applications sont tracées, mais la partie qui communique avec la base de données ne l'est pas. Ajoutez l'instrumentation de base de données pour votre langage et les requêtes apparaîtront ici." }, "counted": { @@ -15559,10 +15559,10 @@ "noSamples": "Aucune exécution individuelle chargée pour cette plage.", "noSeries": "Aucun historique pour cette requête dans la plage que vous avez choisie.", "liveSeries": "Les points les plus récents sont encore en cours de calcul et peuvent changer.", - "noStream": "Nous n'avons pas pu déterminer quel flux de trace transporte cette requête, de sorte que ses appelants et exemples ne peuvent pas être chargés.", - "ambiguousStream": "Cette organisation possède plus d'un flux de trace, et nous ne pouvons pas déterminer sur lequel s'exécute cette requête. Choisissez un flux pour charger ses appelants et des exemples de traces.", - "pickStream": "Choisir un flux de trace", - "invalidStream": "Ce nom de flux de trace n'est pas reconnu, c'est pourquoi nous n'avons pas effectué la recherche.", + "noStream": "Nous n'avons pas pu déterminer quel flux de traces transporte cette requête, donc ses appelants et exemples ne peuvent pas être chargés.", + "ambiguousStream": "Cette organisation a plus d'un flux de traces, et nous ne pouvons pas déterminer sur lequel cette requête s'exécute. Choisissez un flux pour charger ses appelants et des exemples de traces.", + "pickStream": "Choisir un flux de traces", + "invalidStream": "Ce nom de flux de traces n'est pas reconnu, nous n'avons donc pas effectué la recherche.", "firstSeen": "PREMIÈRE APPARITION DANS CETTE LISTE À {time}", "firstSeenHint": "Le point le plus ancien de cette plage où cette requête était assez lourde pour être suivie individuellement.", "lastSeen": "DERNIÈRE APPARITION À {time}", @@ -15686,7 +15686,7 @@ "tracedCalls": "{calls} appels tracés", "coverage": "{count} services vus dans {traced} des {executions} exécutions ci-dessus. Le reste provient d'appelants que vous ne tracez pas encore.", "coverageUnknown": "{count} services vus dans {traced} appels tracés. Votre base de données n'a pas signalé de total pour cette instruction, il n'y a donc aucune part à donner.", - "noneNamed": "{traced} appels ont été tracés, mais aucun d'entre eux n'a pu être rattaché à un service — leurs traces commencent en dehors de cette plage temporelle." + "noneNamed": "{traced} appels ont été tracés, mais aucun d'entre eux n'a pu être rattaché à un service — leurs traces commencent en dehors de cette plage de temps." }, "callersEmpty": { "title": "Aucun appel tracé pour cette requête pour le moment", @@ -15752,9 +15752,9 @@ "failedWithCode": "Échec · {code}", "viewTrace": "Ouvrir la requête dont cet appel faisait partie", "scatterOk": "Terminé", - "partial": "Certaines données de trace n'ont pas pu être lues; des appels peuvent donc manquer dans cette liste.", + "partial": "Une partie de vos données de trace n'a pas pu être lue, des appels peuvent donc manquer dans cette liste.", "disclosureShort": "Chaque ligne représente un véritable appel terminé", - "disclosureDetail": "Mesuré par l'application qui a effectué l'appel, à partir des traces que vous envoyez. Seuls les appels terminés figurent ici — une requête encore en cours, ou qui a bloqué et n'est jamais revenue, n'a produit aucune mesure.", + "disclosureDetail": "Mesuré par l'application qui a effectué l'appel, à partir des traces que vous envoyez. Seuls les appels terminés sont présents — une requête encore en cours, ou une qui a bloqué et n'est jamais revenue, n'a produit aucune mesure.", "counts": { "complete": "Affichage des {count} appels de base de données dans cette fenêtre, les plus lents en premier.", "truncated": "Les {count} appels les plus lents de cette fenêtre — plus d'appels ont eu lieu que ceux affichés ici.", @@ -15959,8 +15959,8 @@ "blocking": "Blocage" }, "coverage": { - "summary": "L'attente la plus longue est {longest}. Chaque attente remonte à {roots} qui détient un verrou ouvert.", - "summaryCapped": "Plus de sessions étaient en attente que nous n'avons pu en lire à la fois. Parmi celles que nous avons, l'attente la plus longue est {longest} et elles remontent à {roots} qui détient un verrou ouvert.", + "summary": "L'attente la plus longue est {longest}. Chaque attente remonte à {roots} détenant un verrou.", + "summaryCapped": "Plus de sessions attendaient que nous ne pouvions en lire à la fois. Parmi celles dont nous disposons, l'attente la plus longue est {longest} et elles remontent à {roots} détenant un verrou.", "summaryOneRoot": "une session", "summaryManyRoots": "{count} sessions", "checked": "Vérifié toutes les {interval} secondes ; dernier examen {time}.", diff --git a/web/src/locales/languages/it-IT.json b/web/src/locales/languages/it-IT.json index 7852b69c4f..b3af717cad 100644 --- a/web/src/locales/languages/it-IT.json +++ b/web/src/locales/languages/it-IT.json @@ -78,7 +78,7 @@ }, "noDashboards": { "title": "Crea la tua prima dashboard", - "description": "Le dashboard riuniscono metriche, log e tracce in un'unica visualizzazione. Creane uno per iniziare.", + "description": "Le dashboard riuniscono metriche, log e tracce in un'unica vista. Creane una per iniziare.", "action": "Nuova dashboard", "actionDesc": "Inizia da una tela vuota", "import": "Dashboard di importazione", @@ -124,7 +124,7 @@ }, "noIngestionTokens": { "title": "Ancora nessun token di ingestione", - "description": "I token di ingestione autenticano le fonti di dati durante l'invio di log, metriche e tracce.", + "description": "I token di ingestione autenticano le origini dei dati quando inviano log, metriche e tracce.", "action": "Nuovo token", "actionDesc": "Genera un token di ingestione" }, @@ -134,10 +134,10 @@ }, "noAlertDestinations": { "title": "Ancora nessuna destinazione", - "description": "Le destinazioni definiscono dove vengono inviate le notifiche di avviso: Slack, email, webhook e altro ancora.", + "description": "Le destinazioni definiscono dove vengono inviate le notifiche di avviso — Slack, email, webhook e altro.", "action": "Nuova destinazione", "actionDesc": "Connetti un canale di notifica", - "import": "Destinazione dell'importazione", + "import": "Importa destinazione", "importDesc": "Importazione da un file JSON" }, "noAlertSources": { @@ -248,7 +248,7 @@ }, "noDatasets": { "title": "Crea il tuo primo dataset", - "description": "I dataset golden raccolgono tracce annotate e revisioni in set di valutazione versionati. Creane uno per iniziare a curare.", + "description": "I golden dataset raccolgono tracce annotate e recensioni in set di valutazione versionati. Creane uno per iniziare a curare.", "action": "Nuovo dataset", "actionDesc": "Avvia un dataset vuoto" }, @@ -288,15 +288,15 @@ }, "noLLMInsights": { "title": "Nessuna attività LLM ancora", - "description": "Strumenta i tuoi servizi con le convenzioni semantiche OpenTelemetry Gen-AI e inserisci almeno una traccia per popolare questa dashboard.", + "description": "Strumenta i tuoi servizi con le convenzioni semantiche Gen-AI di OpenTelemetry e ingerisci almeno una traccia per popolare questa dashboard.", "action": "Strumento con OpenTelemetry", "actionDesc": "Acquisisci gli attributi gen_ai_* sulle tue tracce" }, "noLLMSessions": { "title": "Ancora nessuna sessione LLM", - "description": "Le sessioni sono raggruppate per gen_ai_conversation_id. Imposta i tuoi servizi in modo che ogni conversazione tagghi le proprie tracce e le sessioni vengano visualizzate qui.", + "description": "Le sessioni sono raggruppate per gen_ai_conversation_id. Strumenta i tuoi servizi in modo che ogni conversazione etichetti le proprie tracce e le sessioni appariranno qui.", "action": "Strumento con OpenTelemetry", - "actionDesc": "I tag si estendono con gen_ai_conversation_id" + "actionDesc": "Etichetta gli span con gen_ai_conversation_id" }, "noScorers": { "title": "Ancora nessun marcatore", @@ -346,7 +346,7 @@ }, "noServiceGraph": { "title": "Nessun dato del grafico del servizio", - "description": "Prova a interrogare un intervallo di tempo più lungo o assicurati che i tuoi servizi emettano metriche di intervallo." + "description": "Prova a interrogare un intervallo di tempo più lungo o assicurati che i tuoi servizi stiano emettendo metriche span." }, "noServicesCatalog": { "title": "Nessun servizio trovato", @@ -406,7 +406,7 @@ "pipelines": "pipeline", "workflows": "workflow", "functions": "funzioni", - "streams": "ruscelli", + "streams": "stream", "alerts": "avvisi", "incidents": "incidenti", "traces": "tracce", @@ -415,7 +415,7 @@ "searches": "ricerche", "searchJobs": "processi di ricerca", "users": "utenti", - "reports": "resoconti", + "reports": "report", "queries": "domande", "serviceAccounts": "account di servizio", "invitations": "inviti", @@ -523,8 +523,8 @@ "relatedEvents": "Eventi correlati", "on": "su", "event": "evento", - "viewTraceDetails": "Visualizza dettagli trace", - "viewTrace": "Visualizza trace", + "viewTraceDetails": "Visualizza i dettagli della traccia", + "viewTrace": "Visualizza traccia", "networkRequests": "Richieste di rete", "noNetworkRequestsFound": "Nessuna richiesta di rete trovata per questo evento", "consoleLogsComingSoon": "Log della console in arrivo", @@ -1061,10 +1061,10 @@ "regionFilterMsg": "Cerca regione/cluster", "queryRangeRestrictionMsg": "L'intervallo di query è limitato a {range}. Modifica l'intervallo di date di conseguenza. Altrimenti, la data di inizio verrà modificata automaticamente per rientrare nel limite consentito.", "cancel": "Annulla richiesta", - "viewTrace": "Visualizza Trace", + "viewTrace": "Visualizza traccia", "viewTraceUnavailable": "Impossibile aprire la traccia per questo record di log.", "viewRelated": "Visualizza correlati", - "viewRelatedTooltip": "Visualizza le tracce e le metriche correlate", + "viewRelatedTooltip": "Visualizza tracce e metriche correlate", "flattened": "Appiattito", "original": "Originale", "resetFilters": "Reimposta filtri", @@ -1146,8 +1146,8 @@ "selectFunctionNamePlaceholder": "Seleziona il nome della funzione", "confirmFunctionUpdateTitle": "Conferma aggiornamento", "confirmFunctionUpdateMsg": "Sei sicuro di voler aggiornare la funzione {name}?", - "traceIdLabel": "ID di tracciamento:", - "enterTraceIdPlaceholder": "Inserisci l'ID di tracciamento", + "traceIdLabel": "ID traccia:", + "enterTraceIdPlaceholder": "Inserisci ID traccia", "changeQueryModeTitle": "Cambia la modalità query", "changeQueryModeConfirm": "Sei sicuro di voler cambiare la modalità query? I dati salvati per gli assi X, Y e i filtri verranno cancellati.", "patternExampleLog": "Log di esempio", @@ -1395,10 +1395,10 @@ "loadingErrorDetails": "Tieni duro, stiamo recuperando i dettagli dell'errore.", "eventID": "ID evento", "noCorrelatedTraces": "Nessuna traccia correlata trovata per questa sessione.", - "span": "ampiezza", - "spans": "ricopre", + "span": "span", + "spans": "span", "errorTraces": "tracce di errore", - "failedToFetchTraces": "Recupero dei dati di traccia non riuscito. Per favore riprova.", + "failedToFetchTraces": "Impossibile recuperare i dati delle tracce. Riprova.", "seekToMoment": "Cerca questo momento della sessione", "route": "Percorso", "duration": "Durata", @@ -1485,7 +1485,7 @@ "frustrationErrorClick": "Il clic ha attivato un errore JavaScript", "frustrationRageTap": "L'utente ha toccato rapidamente più volte (3+) - indica frustrazione", "frustrationErrorTap": "Il tocco ha attivato un errore JavaScript", - "fetchTraceMetadataFailed": "Impossibile recuperare i metadati della traccia", + "fetchTraceMetadataFailed": "Impossibile recuperare i metadati della traccia.", "frustrationEventTooltip": "⚠️ FRUSTRAZIONE: {types}\n{name}", "errorEventTooltip": "⛔ ERRORE: {name}", "frustrationSignalType": "Segnale di frustrazione: {type}" @@ -1537,7 +1537,7 @@ "feature_column_name": "Caratteristica", "feature_logs": "Log", "feature_metrics": "Metriche", - "feature_traces": "Tracce", + "feature_traces": "Trace", "feature_alerts": "Avvisi", "feature_dashboards": "Dashboard", "feature_reports": "Report", @@ -1663,7 +1663,7 @@ }, "core_features": { "logs_metrics_traces": { - "name": "Log, metriche, tracce", + "name": "Log, Metriche, Trace", "note": "Acquisizione e analisi complete dei dati di osservabilità" }, "rum": { @@ -1737,7 +1737,7 @@ }, "pipeline_remote_destinations": { "name": "Destinazioni remote della pipeline", - "note": "Inviare dati a destinazioni remote" + "note": "Invia dati a destinazioni remote" }, "query_optimizer": { "name": "Ottimizzatore di query/cache di aggregazione", @@ -1780,7 +1780,7 @@ "note": "Operazioni di join distribuite ottimizzate" }, "logs_metrics_traces_correlation": { - "name": "Correlazione tra registri, metriche e tracce", + "name": "Correlazione tra Log, Metriche e Trace", "note": "Rilevamento e correlazione automatici" }, "service_maps": { @@ -2504,7 +2504,7 @@ "deleteDatesMessage": "Sei sicuro di voler eliminare le date selezionate? Questa azione non può essere annullata.", "labelLogs": "Log", "labelMetrics": "Metriche", - "labelTraces": "Tracce", + "labelTraces": "Trace", "labelMetadata": "Metadati", "add": "Aggiungi stream", "dataRetention": "Conservazione dei dati (in giorni)", @@ -2546,7 +2546,7 @@ }, "workflow": { "header": "Workflow", - "subtitle": "Automatizza azioni con trigger, logica e destinazioni", + "subtitle": "Automatizza le azioni con trigger, logica e destinazioni", "create": "Nuovo workflow", "createSuccess": "Workflow creato con successo", "name": "Nome workflow", @@ -2756,7 +2756,7 @@ "disabledBadge": "Disattivato", "incompleteBadge": "Configura più tardi", "destinationSetUpLater": "Configura più tardi", - "destinationSetUpLaterPrompt": "Non hai ancora una destinazione? Attiva questa opzione per configurarla più tardi — puoi salvare una bozza e fare test subito.", + "destinationSetUpLaterPrompt": "Non hai ancora una destinazione? Attiva questa opzione per configurarla in seguito — puoi salvare una bozza e testare ora.", "destinationSetUpLaterActive": "La destinazione viene saltata per ora — nome e commento vengono comunque salvati. Ti servirà una destinazione prima di pubblicare.", "functionSetUpLater": "Configura più tardi", "functionSetUpLaterPrompt": "Non hai ancora una funzione? Attiva questa opzione per configurarla più tardi — puoi salvare una bozza e fare test subito.", @@ -2815,8 +2815,8 @@ "functionNodeEmptyName": "Il nodo funzione {id} ha un nome di funzione vuoto", "functionNodeInvalidName": "Il nodo funzione {id} ha un nome di funzione non valido \"{name}\". Deve essere una delle funzioni disponibili.", "outputStreamNodeEmptyName": "Il nodo stream di output {id} ha un nome di stream vuoto", - "remoteStreamNodeEmptyDestination": "Il nodo stream remoto {id} ha un nome di destinazione vuoto", - "remoteStreamNodeInvalidDestination": "Il nodo stream remoto {id} ha una destinazione non valida \"{destination}\". Deve essere una delle destinazioni di pipeline disponibili.", + "remoteStreamNodeEmptyDestination": "Il nodo di stream remoto {id} ha un nome di destinazione vuoto", + "remoteStreamNodeInvalidDestination": "Il nodo di stream remoto {id} ha una destinazione non valida \"{destination}\". Deve essere una delle destinazioni di pipeline disponibili.", "edgeMissingSourceNode": "Il collegamento {id} fa riferimento al nodo sorgente {source} inesistente", "edgeMissingTargetNode": "Il collegamento {id} fa riferimento al nodo di destinazione {target} inesistente", "inputNodeHasIncomingEdges": "Il nodo di input {id} non dovrebbe avere collegamenti in ingresso. Trovati {count} collegamenti in ingresso.", @@ -2971,8 +2971,8 @@ "statusUnknown": "Sconosciuto", "phaseInitializing": "Inizializzazione" }, - "deleteBackfillConfirmMessage": "Hai selezionato di eliminare i dati esistenti prima del backfill. Questa operazione eliminerà definitivamente tutti i dati nello stream di destinazione per l'intervallo di tempo specificato.", - "editBackfillDeleteConfirmMessage": "Hai selezionato di eliminare i dati esistenti prima del backfill. Questa operazione eliminerà definitivamente tutti i dati nello stream di destinazione per l'intervallo di tempo specificato. Questa azione NON può essere annullata o cancellata una volta che il job viene aggiornato. Vuoi procedere?", + "deleteBackfillConfirmMessage": "Hai selezionato l'eliminazione dei dati esistenti prima del backfill. Questa operazione eliminerà definitivamente tutti i dati nello stream di destinazione per l'intervallo di tempo specificato.", + "editBackfillDeleteConfirmMessage": "Hai selezionato l'eliminazione dei dati esistenti prima del backfill. Questa operazione eliminerà definitivamente tutti i dati nello stream di destinazione per l'intervallo di tempo specificato. Questa azione NON può essere annullata o cancellata una volta aggiornato il job. Sei sicuro di voler procedere?", "actionCannotBeUndone": "Questa azione NON può essere annullata o cancellata una volta che il job viene creato.", "areYouSureProceed": "Sei sicuro di voler procedere?", "clearFilters": "Cancella filtri", @@ -3036,7 +3036,7 @@ "sourceQueryTooltip": "Fonte: Query Node", "functionTooltip": "Nodo di funzione", "conditionTooltip": "Nodo di condizione", - "destinationStreamTooltip": "Destinazione: Stream Node", + "destinationStreamTooltip": "Destinazione: nodo di stream", "destinationExternalTooltip": "Destinazione: nodo di destinazione esterno", "pipelineNotFound": "Pipeline non trovata", "pipelineNameRequired": "Il nome della pipeline è obbligatorio", @@ -3044,7 +3044,7 @@ "destinationNodeRequired": "Il nodo di destinazione è obbligatorio", "connectAllNodes": "Connetti tutti i nodi prima di salvare", "connectAllNodesShort": "Connetti tutti i nodi", - "enrichmentTablesScheduledOnly": "Le tabelle di arricchimento come flusso di destinazione sono disponibili solo per le pipeline pianificate", + "enrichmentTablesScheduledOnly": "Le tabelle di arricchimento come stream di destinazione sono disponibili solo per le pipeline pianificate", "savingPipeline": "Salvataggio della pipeline...", "pipelineUpdated": "Pipeline aggiornata con successo", "pipelineSaved": "Pipeline salvata con successo", @@ -3182,7 +3182,7 @@ "noJobSelected": "Nessun job selezionato", "updateBackfillJobFailed": "Impossibile aggiornare il job di backfill", "fetchPipelineHistoryFailed": "Impossibile recuperare la cronologia della pipeline", - "defaultDestinationNodeWarning": "La rimozione del nodo di destinazione predefinito interrompe l'acquisizione dei dati al suo interno. Il flusso sorgente instraderà quindi solo verso il flusso di destinazione appena aggiunto. I dati non instradati verso alcun flusso di destinazione verranno eliminati.", + "defaultDestinationNodeWarning": "La rimozione del nodo di destinazione predefinito impedisce che i dati vengano ingestiti in esso. Lo stream di origine instraderà quindi solo verso lo stream di destinazione appena aggiunto. I dati non instradati a nessuno stream di destinazione verranno eliminati.", "confirmBulkDeleteMsg": "Sei sicuro di voler eliminare {count} pipeline?", "confirmPauseBackfillJob": "Sei sicuro di voler mettere in pausa il job di backfill per \"{name}\"? Potrai riprenderlo in seguito.", "confirmResumeBackfillJob": "Sei sicuro di voler riprendere il job di backfill per \"{name}\"?", @@ -3292,10 +3292,10 @@ "analyzingDimensions": "Analisi delle dimensioni...", "arrowSeparator": "→", "computingDistributions": "Calcolo delle distribuzioni di frequenza tra {count} dimensioni", - "dashboardDescError": "Confronto della percentuale di errori dei trace durante il periodo di picco degli errori rispetto alla baseline su tutte le dimensioni", - "dashboardDescLatency": "Confronto della latenza percentile dei trace selezionati (durata {start}-{end}µs) rispetto alla baseline su tutte le dimensioni", - "dashboardDescVolume": "Confronto della distribuzione del conteggio dei trace rispetto alla baseline su tutte le dimensioni", - "dashboardDescVolumeRate": "Confronto della distribuzione del conteggio dei trace dei periodi selezionati (tasso {start}-{end} trace) rispetto alla baseline su tutte le dimensioni", + "dashboardDescError": "Confronto della percentuale di errori dei trace durante il periodo di picco degli errori rispetto alla baseline per tutte le dimensioni", + "dashboardDescLatency": "Confronto della latenza percentile dei trace selezionati (durata {start}-{end}µs) rispetto alla baseline per tutte le dimensioni", + "dashboardDescVolume": "Confronto della distribuzione del conteggio dei trace rispetto alla baseline per tutte le dimensioni", + "dashboardDescVolumeRate": "Confronto della distribuzione del conteggio dei trace dei periodi selezionati (tasso {start}-{end} trace) rispetto alla baseline per tutte le dimensioni", "dashboardTitleError": "Analisi degli errori", "dashboardTitleLatency": "Analisi della latenza", "dashboardTitleVolume": "Analisi del volume", @@ -3315,7 +3315,7 @@ "title": "Approfondimenti", "tabLabel": "Rate", "analyzeTooltipLogs": "Analizza la distribuzione delle dimensioni per l'intervallo di tempo corrente", - "analyzeTooltipTraces": "Analizza le dimensioni delle tracce per individuare velocità, latenza e pattern di errore", + "analyzeTooltipTraces": "Analizza le dimensioni dei trace per tasso, latenza e pattern di errori.", "rateLabel": "Rate:", "searchInspectionsLabel": "Ispeziona i dettagli di esecuzione del lavoro di ricerca", "inspectBtnLabel": "Ispezionare", @@ -3466,7 +3466,7 @@ "dotnettracing": ".Net Tracing", "dotnetlogs": ".Net Logs", "macos": "macOS", - "tracesotlp": "Trace ({product})", + "tracesotlp": "Tracce ({product})", "rum": "Monitoraggio degli utenti reali", "openvpn": "OpenVPN", "nginx": "Nginx", @@ -3629,8 +3629,8 @@ "anyWindowsHostNote": "Qualsiasi server Windows o VM.", "arrow": "→", "askOnSlack": "Chiedi su Slack", - "autoInstrumentTracesDesc": "Opzionale. L'operatore OpenTelemetry inietta strumentazione nei workload annotati, così ottieni **tracce distribuite senza toccare il codice dell'applicazione né ricostruire le immagini**. Scegli un linguaggio, poi annota lo spazio dei nomi in cui viene eseguito.", - "autoInstrumentTracesTitle": "Strumenta automaticamente le tue applicazioni per le tracce", + "autoInstrumentTracesDesc": "Facoltativo. L'operatore OpenTelemetry inietta l'instrumentazione nei workload annotati, così ottieni **tracce distribuite senza toccare il codice dell'applicazione o ricostruire le immagini**. Scegli un linguaggio, poi annota il namespace in cui viene eseguito.", + "autoInstrumentTracesTitle": "Auto-instrumenta le tue applicazioni per le tracce", "cassandraJmxNote": "Abilita l'accesso remoto JMX su Cassandra per consentire al ricevitore di connettersi.", "cassandraTagline": "Raccogli le metriche Cassandra tramite il receiver JMX dell'OpenTelemetry Collector e inviale a OpenObserve.", "checking": "Verifica…", @@ -3654,14 +3654,14 @@ "configureCollectorTitle": "Configura l'OpenTelemetry Collector", "connectedLogsHeadline": "Connesso — I log stanno arrivando", "connectedMetricsHeadline": "Connesso — Le metriche stanno arrivando", - "connectedTracesHeadline": "Connesso — Le tracce stanno arrivando", + "connectedTracesHeadline": "Connesso — le tracce stanno fluendo", "countLogs": "{count} log | {count} log", "countMetricStreams": "{count} flusso di metriche | {count} flussi di metriche", "countSpans": "{count} span | {count} span", "downloadEnvTooltip": "Scarica .env", "downloadJmxJarDesc": "Il ricevitore JMX esegue questo jar helper (richiede Java sull'host collector).", "downloadJmxJarTitle": "Scarica il JAR delle metriche JMX", - "dynamodbFirehoseEndpointDesc": "Usali come destinazione **HTTP Endpoint** durante la creazione del tuo delivery stream Kinesis Data Firehose.", + "dynamodbFirehoseEndpointDesc": "Usali come destinazione **HTTP Endpoint** durante la creazione del delivery stream Kinesis Data Firehose.", "dynamodbFirehoseEndpointTitle": "Endpoint Firehose OpenObserve", "dynamodbPipelineDesc": "Abilita **DynamoDB Streams** sulla tua tabella, collega lo stream a uno **Kinesis Data Stream**, poi punta un delivery stream **Kinesis Data Firehose** all'endpoint HTTP sopra.", "dynamodbPipelineTitle": "Trasmetti DynamoDB → Firehose", @@ -3675,7 +3675,7 @@ "gcpFixBody": "GCP segnala errori di consegna sulla subscription stessa. Se il sink sta pubblicando ma qui non arriva nulla, l'endpoint push di solito rifiuta la richiesta:", "gcpFixTitle": "Controlla la subscription push", "gcpPushUrlNote": "Mantieni segreto questo URL: incorpora la chiave di ingestione. Ruotala dall'intestazione di questa pagina se viene esposto.", - "gcpSinkDesc": "Nella console GCP, crea un **sink Log Router** (Logging → Log Router → Create sink) con Pub/Sub come destinazione e lascia che crei il topic. Il filtro di inclusione del sink determina quali log raggiungono OpenObserve.", + "gcpSinkDesc": "Nella console GCP, crea un **sink del Log Router** (Logging → Log Router → Create sink) con Pub/Sub come destinazione e lascia che crei il topic. Il filtro di inclusione del sink decide quali log raggiungono OpenObserve.", "gcpSinkTitle": "Instrada i log verso un topic Pub/Sub", "gcpSinkWriterNote": "Concedi all'identità di scrittura del sink il ruolo Pub/Sub Publisher sull'argomento, altrimenti non pubblicherà nulla in silenzio.", "gcpStreamHelp": "Utilizzato nell'URL di push qui sopra e controllato dal controllo qui sotto. Uno stream dedicato mantiene i log GCP separati.", @@ -3714,7 +3714,7 @@ "k8sInstallerNote": "Questo installa automaticamente cert-manager, l'operatore OpenTelemetry e il collector OpenObserve.", "k8sInternalEndpointNote": "Usa questa opzione quando OpenObserve è in esecuzione nello stesso cluster — il traffico non lo lascia mai.", "k8sTroubleAnnotationA": "L'iniezione avviene alla creazione del pod, quindi i pod esistenti non vengono influenzati fino al riavvio — esegui `kubectl rollout restart deployment -n my-namespace`. Conferma che l'annotazione sia stata applicata con `kubectl get ns my-namespace -o yaml` e verifica che il valore corrisponda a `openobserve-collector/openobserve-`. Per Go, `otel-go-auto-target-exe` deve essere il percorso del binario **all'interno** del contenitore.", - "k8sTroubleAnnotationQ": "Ho annotato un namespace ma non compaiono tracce", + "k8sTroubleAnnotationQ": "Ho annotato un namespace ma non appaiono tracce", "k8sTroubleEndpointA": "Usa **In-Cluster** solo quando OpenObserve stesso è in esecuzione in questo cluster; il traffico rimane quindi al suo interno e non attraversa mai la rete. L'URL è `http://-openobserve-router..svc.cluster.local:5080` — il valore predefinito presuppone la release `o2` nel namespace `openobserve`, quindi modificalo se il tuo è diverso. Tutti gli altri usano l'endpoint esterno.", "k8sTroubleEndpointQ": "Quale endpoint devo usare — esterno o in-cluster?", "k8sTroubleExampleA": "Sì — **HOT commerce** è un'applicazione di esempio configurata end-to-end, e la documentazione dell'**OpenTelemetry Operator** contiene il riferimento completo alle annotazioni. Entrambi sono collegati in fondo a questa pagina.", @@ -3748,7 +3748,7 @@ "mysqlTagline": "Raccogli le metriche MySQL con l'OpenTelemetry Collector e inviale a OpenObserve.", "noLogsFoundYet": "Ancora nessun log trovato", "noMetricsFoundYet": "Ancora nessuna metrica trovata", - "noSpansFoundYet": "Ancora nessuna span trovata", + "noSpansFoundYet": "Ancora nessuno span trovato", "nothingOnStream": "nessun dato su {stream} — esegui la tua app e riprova", "notTestedYet": "Non ancora testato", "onStream": "su {stream}", @@ -3763,7 +3763,7 @@ "otlpTracesStreamHelp": "Scritto nella configurazione qui sopra come `stream-name` e controllato dal controllo qui sotto.", "otlpTrouble401A": "L'header `Authorization` deve essere `Basic ` usando il token di ingestione di questa organizzazione — il valore sopra è già corretto. Se è stato ruotato, ricopialo da questa pagina.", "otlpTrouble401Q": "Il collector registra 401 o 403", - "otlpTroubleHttpGrpcA": "HTTP è il default sicuro e attraversa proxy e bilanciatori di carico senza problemi. gRPC ha un overhead inferiore con volumi elevati di span ma richiede che la porta 5081 sia raggiungibile end-to-end.", + "otlpTroubleHttpGrpcA": "HTTP è l'impostazione predefinita sicura e attraversa proxy e load balancer senza problemi. gRPC ha un overhead inferiore con volumi elevati di span, ma richiede la porta 5081 raggiungibile end-to-end.", "otlpTroubleHttpGrpcQ": "Devo usare HTTP o gRPC?", "otlpTroubleStreamA": "L'header `stream-name` determina lo stream. Impostalo sullo stesso nome del campo sopra, altrimenti il controllo seguente monitora uno stream su cui non viene scritto nulla.", "otlpTroubleStreamQ": "Gli span arrivano ma finiscono nello stream sbagliato", @@ -3969,13 +3969,13 @@ "sqlServerTagline": "Raccogli le metriche SQL Server con l'OpenTelemetry Collector e inviale a OpenObserve.", "startIngestingTestForLogs": "inizia l'ingestione, poi verifica i log", "startIngestingTestForMetrics": "inizia l'ingestione, poi verifica le metriche", - "startIngestingTestForSpans": "inizia l'ingestione, poi verifica gli span", + "startIngestingTestForSpans": "inizia a ingerire, poi verifica gli span", "streamNameError": "Usa solo lettere, numeri e _.", "streamNameLabel": "Nome stream", "stuck": "Bloccato?", "taglineDatabricks": "Invia i log dei notebook Databricks a OpenObserve tramite l'API logs.", "taglineGcp": "Trasmetti i log di Google Cloud in OpenObserve con una subscription push Pub/Sub — nessun agente o collector da eseguire.", - "taglineKubernetes": "Distribuisci il collector OpenObserve nel tuo cluster — log dei container, eventi Kubernetes e metriche del cluster, oltre a tracce senza codice per i tuoi workload.", + "taglineKubernetes": "Distribuisci il collector OpenObserve nel tuo cluster: log dei container, eventi Kubernetes e metriche del cluster, oltre a tracce zero-code per i tuoi workload.", "taglineLinux": "Installa l'agente OpenObserve su qualsiasi host Linux — log di sistema e journald più metriche di CPU, memoria, disco e rete.", "taglineMacos": "Installa l'agente OpenObserve su qualsiasi Mac — il log unificato e i file di log standard più metriche di CPU, memoria, disco e rete.", "taglineOtlpTraces": "Punta qualsiasi exporter OpenTelemetry su OpenObserve — collector o SDK, HTTP o gRPC. Il tuo endpoint e token sono compilati qui sotto.", @@ -4001,7 +4001,7 @@ "verifyMongodbMetricsDesc": "Premi Test qui sotto, oppure controlla gli Stream per le metriche `mongodb_*`.", "verifyMysqlMetricsDesc": "Premi Test qui sotto, oppure controlla gli Stream per le metriche `mysql_*`.", "verifyOracledbMetricsDesc": "Premi Test qui sotto, oppure controlla gli Stream per le metriche `oracledb_*`.", - "verifyOtlpTracesDesc": "Riavvia il collector (o la tua app), esegui una richiesta che produca uno span, quindi premi Test.", + "verifyOtlpTracesDesc": "Riavvia il collector (o la tua app), effettua una richiesta che generi uno span, quindi premi Test.", "verifyPostgresqlMetricsDesc": "Premi Test qui sotto, oppure controlla gli Stream per le metriche `postgresql_*`.", "verifyReactNativeRumDesc": "Esegui l'app su un simulatore, emulatore o dispositivo, spostati tra alcune schermate, poi clicca su Test — gli eventi React Native finiscono nello stream `_rumdata`.", "verifyRedisMetricsDesc": "Premi Test qui sotto, oppure controlla gli Stream per le metriche `redis_*`.", @@ -4036,11 +4036,11 @@ "verifyAndroidRumDesc": "Esegui l'app su un emulatore o dispositivo, spostati tra alcune schermate, quindi premi Test — gli eventi Android nativi finiscono nello stream `_rumdata`.", "verifyIosRumDesc": "Esegui l'app su un simulatore o dispositivo, spostati tra alcune schermate, quindi premi Test — gli eventi iOS nativi finiscono nello stream `_rumdata`.", "dbmPreparePostgresTitle": "Monitoraggio database · Concedi accesso (facoltativo)", - "dbmPreparePostgresDesc": "**Tutto quanto sopra è già completo di per sé** — i tempi delle query raggiungono già Databases dai trace della tua applicazione, senza alcuna configurazione qui. Questi ultimi passaggi aggiungono ciò che un trace non può mai vedere: deadlock e query bloccate, che solo il database stesso registra. Concedi `pg_monitor` affinché il collector possa leggere le query delle altre sessioni — eseguilo in un client SQL, **non** nella shell.", + "dbmPreparePostgresDesc": "**Tutto quanto sopra è già completo di per sé** — i tempi delle query raggiungono già Database dalle tracce della tua applicazione, senza alcuna configurazione qui. Questi ultimi passaggi aggiungono ciò che una traccia non potrà mai vedere: deadlock e query bloccate, che solo il database stesso registra. Concedi `pg_monitor` affinché il collector possa leggere le query delle altre sessioni: eseguilo in un client SQL, **non** nella tua shell.", "dbmPrepareMysqlTitle": "Monitoraggio database · Conserva la cronologia dei deadlock (facoltativo)", "dbmPrepareMariadbTitle": "Monitoraggio database · Conserva la cronologia dei deadlock (facoltativo)", - "dbmPrepareMysqlDesc": "**Tutto quanto sopra è già completo di per sé** — i tempi delle query raggiungono già Databases dai trace della tua applicazione, senza alcuna configurazione qui. Questi ultimi passaggi aggiungono ciò che un trace non può mai vedere: deadlock e query bloccate, che solo il database stesso registra. Attiva la cronologia completa dei deadlock — eseguilo in un client SQL, **non** nella shell.", - "dbmPrepareMariadbDesc": "**Tutto quanto sopra è già completo di per sé** — i tempi delle query raggiungono già Databases dai trace della tua applicazione, senza alcuna configurazione qui. Questi ultimi passaggi aggiungono ciò che un trace non può mai vedere: deadlock e query bloccate, che solo il database stesso registra. Attiva la cronologia completa dei deadlock — eseguilo in un client SQL, **non** nella shell.", + "dbmPrepareMysqlDesc": "**Tutto quanto sopra è già completo di per sé** — i tempi delle query raggiungono già Database dalle tracce della tua applicazione, senza alcuna configurazione qui. Questi ultimi passaggi aggiungono ciò che una traccia non potrà mai vedere: deadlock e query bloccate, che solo il database stesso registra. Attiva la cronologia completa dei deadlock: eseguilo in un client SQL, **non** nella tua shell.", + "dbmPrepareMariadbDesc": "**Tutto quanto sopra è già completo di per sé** — i tempi delle query raggiungono già Database dalle tracce della tua applicazione, senza alcuna configurazione qui. Questi ultimi passaggi aggiungono ciò che una traccia non potrà mai vedere: deadlock e query bloccate, che solo il database stesso registra. Attiva la cronologia completa dei deadlock: eseguilo in un client SQL, **non** nella tua shell.", "dbmPgLoggingTitle": "Monitoraggio database · Lascia che Postgres registri i deadlock (facoltativo)", "dbmPgLoggingDesc": "I deadlock vengono scritti solo nel log di Postgres, e solo quando le impostazioni seguenti sono attive — quindi questo passaggio è ciò che fa popolare la scheda Deadlocks. La riga del prefisso deve corrispondere esattamente: il collector la legge per trovare chi è coinvolto, e un prefisso diverso significa che non trova nulla pur continuando a dichiarare uno stato sano.", "dbmPgLoggingVerifyTitle": "Monitoraggio database · Verifica che le impostazioni abbiano avuto effetto (facoltativo)", @@ -4066,7 +4066,7 @@ "dbmMysqlLogPathHelp": "Il collector deve essere in grado di leggere questo file. Trovalo con: SHOW VARIABLES LIKE 'log_error';", "dbmMariadbLogPathHelp": "Il collector deve essere in grado di leggere questo file. Trovalo con: SHOW VARIABLES LIKE 'log_error';", "dbmPrepareMssqlTitle": "Monitoraggio database · Concedi accesso (facoltativo)", - "dbmPrepareMssqlDesc": "**Tutto quanto sopra è completo di per sé** — i tempi di query raggiungono già i Database dai trace della tua applicazione, senza alcuna configurazione qui. Quest'ultimo gruppo aggiunge ciò che un trace non può mai vedere: deadlock e query bloccate, che solo il database stesso registra. Sono necessarie entrambe le autorizzazioni: una consente al collector di leggere altre sessioni, l'altra di leggere la cronologia dei deadlock. Eseguile in un client SQL, **non** nella tua shell.", + "dbmPrepareMssqlDesc": "**Tutto quanto sopra è già completo di per sé** — i tempi delle query raggiungono già Database dalle tracce della tua applicazione, senza alcuna configurazione qui. Questo ultimo gruppo aggiunge ciò che una traccia non potrà mai vedere: deadlock e query bloccate, che solo il database stesso registra. Servono entrambe le autorizzazioni: una consente al collector di leggere le altre sessioni, l'altra di leggere la cronologia dei deadlock. Esegui entrambe in un client SQL, **non** nella tua shell.", "dbmConfigureMssqlDesc": "Scrive `dbm-config.yaml` — imposta il database a cui connettersi qui sotto. SQL Server ottiene deadlock, query bloccate, campioni di attività, query principali e piani di esecuzione qui. Il receiver sqlserver legge l'intera istanza, quindi attività e query principali non sono limitate al database che hai indicato sopra.", "dbmRunMssqlDesc": "Esegue entrambe le configurazioni insieme. Usa lo stesso login e password creati nel passaggio 1.", "dbmVerifyBlockingDesc": "Apri **Infra → Database → Query bloccate**. Le sessioni in attesa di un lock appaiono non appena una viene campionata — una scheda vuota ti dice se non c'è nulla di bloccato o se non viene raccolto nulla.", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "Apri **Infra → Database** e scegli una scheda qui sotto. I deadlock e le query bloccate appaiono non appena il database ne segnala uno — una scheda vuota ti dice se non è successo nulla o se non viene raccolto nulla. Lo stato di salute delle tabelle si popola dopo il primo snapshot di 60 secondi." }, "instrumentBeforeImportTitle": "Strumenta prima di importare il client", - "instrumentBeforeImportBody": "Se la tua app funziona ma non arrivano span, l'instrumentazione probabilmente è stata caricata dopo l'importazione del client. Riorganizza in modo che l'init venga eseguito per primo:", + "instrumentBeforeImportBody": "Se la tua app è in esecuzione ma non arriva alcuno span, probabilmente l'instrumentazione è stata caricata dopo l'importazione del client. Riorganizza l'ordine in modo che l'init venga eseguito per prima:", "launchCloudFormationStack": "Avvia lo stack CloudFormation", "openStackSetsConsole": "Apri la console StackSets", "integrations": { @@ -5717,8 +5717,8 @@ "emptyActionAlertsDesc": "Rivedi gli avvisi e le soglie configurati", "emptyActionLogs": "Esplora i log", "emptyActionLogsDesc": "Cerca e filtra i tuoi flussi di log", - "emptyActionTraces": "Esplora le tracce", - "emptyActionTracesDesc": "Ispeziona le tracce distribuite e la latenza del servizio", + "emptyActionTraces": "Esplora tracce", + "emptyActionTracesDesc": "Ispeziona le tracce distribuite e la latenza dei servizi", "anomalyDetectedTitle": "Anomalia rilevata — {name}", "anomalyDetectedDescription": "Stream: {stream} · {count} punto/i anomalo/i", "secondsAgo": "{count} s fa", @@ -5806,7 +5806,7 @@ "taglineTail": ". Posso scrivere il tuo", "taglineSql": "SQL", "taglineVrl": "VRL", - "taglineAnd": "e guidarti attraverso i tuoi log, tracce, metriche e incidenti.", + "taglineAnd": "e ti guiderà attraverso log, tracce, metriche e incidenti.", "signedInAs": "Ha effettuato l'accesso come", "role": "Ruolo", "tryOneOfThese": "Oppure prova uno di questi" @@ -5814,12 +5814,12 @@ "capabilities": { "query": { "title": "Scrivere una richiesta", - "description": "SQL per log, trace, RUM o ProMQL per le metriche.", + "description": "SQL per log, tracce, RUM, o PromQL per le metriche.", "prompt": "Aiutami a scrivere una richiesta" }, "incident": { "title": "Indagare sugli incidenti", - "description": "Causa principale nei log, nelle tracce e negli avvisi, ad esempio «Perché il gateway-5xx si è attivato?»", + "description": "Individua la causa principale attraverso log, tracce e avvisi — ad es. \"Perché è scattato gateway-5xx?\"", "prompt": "Aiutami a indagare sugli incidenti" }, "dashboard": { @@ -5916,9 +5916,9 @@ "alert": "Avviso", "dashboard": "Dashboard", "pipeline": "Pipeline", - "report": "Report", + "report": "report", "function": "Funzione", - "stream": "Stream", + "stream": "stream", "folder": "Cartella", "panel": "Pannello", "user": "Utente", @@ -5962,7 +5962,7 @@ "features": "CARATTERISTICHE", "included": "Cosa è incluso?", "proPlanSubtitle": "Soluzioni personalizzate per piccoli team", - "unlimitedNote": "Utenti, log, metriche, tracce e altro ancora illimitati.", + "unlimitedNote": "Utenti, log, metriche, tracce illimitati e altro.", "paymentNote": "Pagamento calcolato in base all'utilizzo alla fine del ciclo di fatturazione mensile.", "proPlanLabel": "Paga in base al tuo uso", "contactLabel": "Contatta il reparto vendite", @@ -6145,13 +6145,13 @@ "anomalyImportFailed": "Rilevamento anomalie - {index}: \"{name}\" importazione non riuscita — {reason}", "nameRequired": "Alert - {index}: Il nome è obbligatorio e deve essere una stringa valida.", "orgIdInvalid": "Alert - {index}: L'ID organizzazione è obbligatorio, deve esistere nell'elenco delle organizzazioni e deve essere uguale a {orgId}.", - "streamTypeInvalid": "Alert - {index}: Il tipo di stream è obbligatorio e deve essere uno tra: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Avviso - {index}: il tipo di stream è obbligatorio e deve essere uno tra: 'logs', 'metrics', 'traces'.", "streamNameInvalid": "Alert - {index}: Il nome dello stream è obbligatorio, deve esistere nell'elenco degli stream e deve essere una stringa valida.", - "destinationsRequired": "Alert - {index}: Le destinazioni sono obbligatorie e devono essere un array.", + "destinationsRequired": "Avviso - {index}: le destinazioni sono obbligatorie e devono essere un array.", "enabledBoolean": "Alert - {index}: Abilitato deve essere Boolean.", "tzOffsetNumber": "Alert - {index}: L'offset del fuso orario deve essere un numero.", "timezoneRequiredForCron": "Alert - {index}: il fuso orario è obbligatorio quando il tipo di frequenza è 'cron'.", - "destinationNotExist": "Alert - {index}: la destinazione \"{destination}\" non esiste", + "destinationNotExist": "Avviso - {index}: la destinazione \"{destination}\" non esiste", "createSuccess": "Alert - {index}: \"{name}\" creato con successo \nNota: rimuovere l'oggetto alert {name} creato dal file json", "createFailed": "Alert - {index}: creazione di \"{name}\" fallita --> \n Motivo: {reason}", "unknownError": "Errore sconosciuto", @@ -6328,7 +6328,7 @@ "guidelinesLabel": "Linee guida:", "selectStreamGuideline": "Seleziona uno stream esistente dall'elenco o inserisci il nome per crearne uno nuovo", "enrichmentTablesTerm": "Enrichment_tables", - "enrichmentTablesDestinationNote": "poiché lo stream di destinazione è disponibile solo per pipeline programmate", + "enrichmentTablesDestinationNote": "Utilizzabile come stream di destinazione solo per pipeline pianificate", "useCurlyBracesNote": "Usa le parentesi graffe", "configureStreamNameDynamicNote": "per configurare il nome dello stream dinamicamente. ad es.", "staticTextBeforeAfterNote": ". Testo statico prima/dopo", @@ -6362,7 +6362,7 @@ "pendingBatches": "Batch in sospeso", "pendingBatchesTooltip": "Avvisi in attesa di essere raggruppati", "historyTimeline": { - "firing": "In allarme", + "firing": "Attivo", "ok": "Ok", "error": "Errore", "skipped": "Saltato", @@ -6438,7 +6438,7 @@ "destinationsArray": "Le destinazioni devono essere un array", "destinationRequiredPlain": "È richiesta almeno una destinazione", "noDestinationsInSystem": "Nessuna destinazione disponibile trovata nel sistema", - "invalidDestinations": "Destinazioni non valide: {destinations} - devono essere dall'elenco delle destinazioni disponibili", + "invalidDestinations": "Destinazioni non valide: {destinations} - devono essere presenti nell'elenco delle destinazioni disponibili", "enabledFlagBoolean": "Il flag abilitato deve essere un valore booleano", "silenceNotificationRequired": "La notifica di silenzio non deve essere vuota", "thresholdNotEmpty": "La soglia non deve essere vuota", @@ -6459,8 +6459,8 @@ "searchAllFolders": "Tutte le cartelle", "streamConfig": "Configurazione dello streaming", "alertRules": "Regole di avviso", - "noTemplatesMsg": "Per creare un avviso sono necessari almeno un modello e una destinazione. I modelli definiscono il formato del messaggio di notifica: inizia con la creazione di uno.", - "noDestinationsMsg": "Per creare un avviso sono necessari almeno una destinazione e un modello. Le destinazioni definiscono dove vengono inviate le notifiche: inizia con la creazione di una.", + "noTemplatesMsg": "Per creare un avviso sono necessari almeno un modello e una destinazione. I modelli definiscono il formato del messaggio di notifica: inizia creandone uno.", + "noDestinationsMsg": "Per creare un avviso sono necessari almeno una destinazione e un modello. Le destinazioni definiscono dove vengono inviate le notifiche: inizia creandone una.", "add": "Aggiungi avviso", "edit": "Modifica", "clone": "Avviso clone", @@ -6512,21 +6512,21 @@ "threshold": "Soglia", "silenceNotification": "Notifica di silenzio per", "destination": "Destinazione", - "destinationOrWorkflowRequired": "Aggiungi almeno una destinazione o un flusso di lavoro.", + "destinationOrWorkflowRequired": "Aggiungi almeno una destinazione o un workflow.", "customDestination": "Destinazione personalizzata", - "customDestinationDescription": "Configurare un endpoint HTTP o una destinazione e-mail personalizzati", - "testIdleMessage": "Fai clic su «Test» per verificare la configurazione della destinazione", + "customDestinationDescription": "Configura un endpoint HTTP personalizzato o una destinazione email", + "testIdleMessage": "Fai clic su 'Test' per verificare la configurazione della destinazione", "destinationPreview": "Anteprima della destinazione", "template": "Sostituisci template", "additionalVariables": "Variabili aggiuntive", - "testSuccessMessage": "Test riuscito! La tua destinazione è configurata correttamente.", + "testSuccessMessage": "Test riuscito! La destinazione è configurata correttamente.", "testFailedMessage": "Test fallito. Controlla la tua configurazione e riprova.", "testFailedWithReason": "Test fallito: {reason}", - "testInProgress": "Destinazione del test...", + "testInProgress": "Test della destinazione in corso...", "sendingNotification": "Invio di notifiche di test per verificare la connettività", "testErrorDNS": "Risoluzione DNS non riuscita. Controlla l'URL o il nome host del webhook.", "testErrorConnection": "Connessione rifiutata. Verifica l'URL e assicurati che il servizio sia raggiungibile.", - "testErrorTimeout": "La richiesta è scaduta. Il servizio di destinazione potrebbe essere lento o irraggiungibile.", + "testErrorTimeout": "Richiesta scaduta. Il servizio di destinazione potrebbe essere lento o irraggiungibile.", "testErrorSSL": "Errore nel certificato SSL/TLS. Verifica il certificato o disabilita la verifica SSL.", "testErrorClientError": "Errore del client (4xx). Controlla le tue credenziali e la tua configurazione.", "testErrorServerError": "Errore del server (5xx). Il servizio di destinazione sta riscontrando problemi.", @@ -6732,7 +6732,7 @@ "ifPrefix": "se", "noConditionsDefined": "Nessuna condizione definita", "loadingCorrelatedMetrics": "Caricamento metriche correlate...", - "loadingCorrelatedTraces": "Caricamento trace correlate...", + "loadingCorrelatedTraces": "Caricamento delle tracce correlate...", "disambiguationChangedMessage": "La configurazione di service discovery (campi di disambiguazione) è stata modificata dopo la creazione di questo incidente.", "noActivityYet": "Nessuna attività ancora", "eventsAndCommentsAppearHere": "Gli eventi e i commenti appariranno qui", @@ -6779,7 +6779,7 @@ "acknowledge": "Riconoscere", "resolve": "Risolvere", "reopen": "Riaprire", - "statusOpen": "Aperta", + "statusOpen": "Aperto", "statusAcknowledged": "Riconosciuto", "statusResolved": "Risolto", "correlationServiceDiscovery": "Scoperta dei servizi", @@ -6844,7 +6844,7 @@ "noAlertDetailsAvailable": "Nessun dettaglio dell'avviso disponibile", "clickOnTriggerToViewDetails": "Fai clic su un trigger nella tabella per visualizzare i dettagli", "refreshCorrelatedData": "Aggiorna i dati correlati", - "showingCorrelatedTraces": "Visualizzazione delle trace correlate dall'intervallo di tempo dell'incidente", + "showingCorrelatedTraces": "Visualizzazione delle tracce correlate dall'intervallo di tempo dell'incidente", "incidentTitleUpdatedSuccess": "Titolo dell'incidente aggiornato con successo", "markAsAcknowledgedTooltip": "Contrassegna l'incidente come preso in carico e in fase di gestione", "markAsResolvedTooltip": "Contrassegna l'incidente come risolto e chiudilo", @@ -6965,15 +6965,15 @@ "helpLegendSampleExample": "42", "sectionTitle": "Impostazioni", "noDestinationsAvailable": "Nessuna destinazione disponibile", - "noTargetsAvailable": "Nessuna destinazione o flusso di lavoro disponibile", + "noTargetsAvailable": "Nessuna destinazione o workflow disponibile", "targetsDestinationsGroup": "Destinazioni", "targetsWorkflowsGroup": "Flussi di lavoro", "refreshDestinations": "Aggiorna le destinazioni più recenti", - "addNewDestination": "Aggiungi nuova destinazione", + "addNewDestination": "Aggiungi destinazione", "cooldownTooltip": "Se l'avviso si attiva, quanto tempo deve attendere prima di inviare un'altra notifica. Ad esempio, se l'avviso si attiva alle 16:00 e la notifica di silenzio è impostata su 10 minuti, non invierà un'altra notifica fino alle 16:10 anche se l'avviso è ancora dopo 1 minuto. Questo serve per evitare di inviare notifiche all'utente come spam.", "periodTooltip": "Periodo per il quale la query deve essere eseguita. Ad esempio, 10 minuti significa che ogni volta che la query verrà eseguita utilizzerà gli ultimi 10 minuti di dati.", "timezoneWarning": "Avvertenza: il fuso orario visualizzato è approssimativo. Verifica e seleziona manualmente il fuso orario corretto.", - "destinationsTooltip": "Seleziona una o più destinazioni per inviare notifiche di avviso.", + "destinationsTooltip": "Seleziona una o più destinazioni a cui inviare le notifiche di avviso.", "createsIncident": "Crea incidente", "createsIncidentTooltip": "Se un avviso può creare un incidente, non invia una notifica dedicata. Al suo posto, viene inviata una notifica per l'incidente quando viene creato un nuovo incidente o quando un nuovo tipo di avviso si unisce a un incidente esistente.", "helpTemplateTitle": "Sostituisci modello", @@ -6985,9 +6985,9 @@ "helpLegendLive": "i valori reali del tuo avviso", "helpLegendSample": "un campione: il valore reale viene impostato quando si attiva l'avviso", "helpLegendOpaque": "aggiunto automaticamente quando si attiva l'avviso", - "helpTemplateExplain": "Un modello è il messaggio di notifica che viene inviato: il testo più variabili come {'{'} alert_name {'}'}. Selezionandone uno qui si sovrascrive il modello di ciascuna destinazione, solo per questo avviso.", + "helpTemplateExplain": "Un modello è il messaggio di notifica che viene inviato — il testo più le variabili come {'{'}alert_name{'}'}. Sceglierne uno qui sovrascrive il modello di ciascuna destinazione, solo per questo avviso.", "helpCurrentHeading": "Cosa invia ora questo avviso", - "helpCurrentNoOverride": "Nessun override impostato: ogni destinazione utilizza il proprio modello:", + "helpCurrentNoOverride": "Nessuna sostituzione impostata — ogni destinazione utilizza il proprio modello:", "helpCurrentNoDestinations": "Nessuna destinazione ancora selezionata. Ogni destinazione utilizzerà il proprio modello configurato.", "helpCurrentOverrideHeading": "Tutte le destinazioni utilizzano questo modello:", "helpPreviewHeading": "Visualizzare l'anteprima di un modello", @@ -7001,7 +7001,7 @@ "helpYourVariablesEmpty": "Non hai ancora aggiunto alcuna variabile.", "helpRowTemplateExplain": "Un avviso può corrispondere a più righe. Il modello di riga decide l'aspetto di una singola riga. Quindi {'{'} rows {'}'} nel modello principale viene inserito in ogni riga corrispondente, già formattata.", "helpRowTemplateTypeHeading": "Stringa e JSON", - "helpRowTemplateTypeExplain": "La stringa produce testo semplice per riga. JSON produce un oggetto JSON per riga, adatto per destinazioni strutturate.", + "helpRowTemplateTypeExplain": "String genera testo semplice per riga. JSON genera un oggetto JSON per riga, adatto per destinazioni strutturate.", "helpRowTemplateTypeCurrent": "Attualmente selezionato:", "helpPreviewHeadingShort": "Anteprima", "helpWhyHeading": "Perché usare una variabile?", @@ -7014,7 +7014,7 @@ "helpVariablesExampleCaption": "Aggiungi severità e team come variabili, quindi utilizzale ovunque nel modello:", "helpExampleResultLabel": "Cosa viene inviato", "helpTemplateWhenHeading": "Quando devo eseguire l'override?", - "helpTemplateWhenDesc": "Lascia questo campo vuoto e ogni destinazione utilizza il proprio modello. Imposta un'eccezione quando desideri che questo avviso invii lo stesso messaggio coerente a tutte le destinazioni, senza modificare il modello di ciascuna destinazione.", + "helpTemplateWhenDesc": "Lascia vuoto questo campo e ogni destinazione usa il proprio modello. Imposta un override quando vuoi che questo singolo avviso invii lo stesso messaggio coerente a ogni destinazione — senza modificare il modello di ogni destinazione.", "helpRowTemplateWhyHeading": "Perché un modello di riga?", "helpRowTemplateWhyDesc": "Un avviso può corrispondere a molti record. Il modello di riga formatta un record; {'{'} rows {'}'} quindi trascina ogni record formattato nel modello principale, in modo da elencare tutte le corrispondenze senza scrivere un ciclo.", "helpRowTemplateExampleCaption": "Ogni riga corrispondente è formattata dal modello di riga, quindi {'{'} rows {'}'} le inserisce tutte nel modello principale:", @@ -7023,10 +7023,10 @@ "helpRowTemplatePreviewEmpty": "Nessun modello di riga ancora: digitane uno nella scheda Impostazioni aggiuntive per visualizzarlo in anteprima qui.", "helpPreviewSelectEmpty": "Scegli un modello qui sopra per visualizzare in anteprima il messaggio che invierà.", "helpCurrentBodyEmpty": "Questo modello non ha un corpo da visualizzare in anteprima.", - "helpDestinationNoTemplate": "Utilizza la formattazione predefinita di questa destinazione.", + "helpDestinationNoTemplate": "Usa la formattazione predefinita di questa destinazione.", "builtInVars": { "orgName": "Il nome della tua organizzazione", - "streamType": "Tipo di stream (log, metriche, tracce)", + "streamType": "Tipo di stream (log, metriche, trace)", "streamName": "Nome dello stream controllato dall'avviso", "alertName": "Il nome dell'avviso", "alertType": "Tipo di avviso (es. pianificato, in tempo reale)", @@ -7048,7 +7048,7 @@ }, "advanced": { "addVariable": "Aggiungi variabile", - "variablesTooltip": "Le variabili vengono utilizzate per passare i dati dall'avviso alla destinazione.", + "variablesTooltip": "Le variabili servono a passare dati dall'avviso alla destinazione.", "templateType": "Tipo di template:", "noTemplatesAvailable": "Nessun template disponibile", "refreshTemplates": "Aggiorna i template più recenti", @@ -7156,7 +7156,7 @@ "noDestinationsFound": "Nessuna destinazione trovata", "noFieldsFound": "Nessun campo trovato", "notifications": "Notifiche", - "notificationsTooltip": "Se abilitata, verrà inviata una notifica alla destinazione selezionata ogni volta che viene rilevata un'anomalia.", + "notificationsTooltip": "Se abilitato, una notifica verrà inviata alla destinazione selezionata ogni volta che viene rilevata un'anomalia.", "retrainEvery": "Riqualificare ogni", "retrainEveryTooltip": "Con quale frequenza riqualificare automaticamente il modello. «Mai» significa addestrare il modello una sola volta e conservare il modello fino a quando non viene riaddestrato manualmente.", "retrainFourteenDays": "14 giorni", @@ -7317,8 +7317,8 @@ "testFailedUnknownError": "Test fallito con errore sconosciuto" }, "confirmDeleteAlerts": "Vuoi davvero eliminare {count} avviso? | Vuoi davvero eliminare {count} avvisi?", - "confirmDeleteDestinations": "Vuoi davvero eliminare {count} destinazione? | Vuoi davvero eliminare {count} destinazioni?", - "prebuiltDestination": "Destinazione {type} predefinita", + "confirmDeleteDestinations": "Sei sicuro di voler eliminare {count} destinazione? | Sei sicuro di voler eliminare {count} destinazioni?", + "prebuiltDestination": "Destinazione preconfigurata {type}", "errorValidations": "Validazioni degli errori", "outputMessagesLabel": "Messaggi di output", "incidentSingular": "Incidente", @@ -7374,7 +7374,7 @@ "critical": "Critico", "warning": "Attenzione", "ok": "OK", - "firingTotal": "Attiva", + "firingTotal": "In allarme", "observedTotal": "Gruppi", "nOfMFiring": "{firing} di {observed} gruppi attivi", "groupedBy": "raggruppato per {columns}", @@ -7523,7 +7523,7 @@ "actionOpen": "Apri", "actionDelete": "Elimina", "deleteTitle": "Eliminare {name}?", - "deleteMessage": "Questa azione lo rimuove definitivamente. L'eliminazione è bloccata se un alert o una destinazione lo utilizza ancora.", + "deleteMessage": "Questa operazione lo rimuove definitivamente. L'eliminazione è bloccata se un avviso o una destinazione lo utilizza ancora.", "deletedToast": "{name} eliminato", "deleteFailedToast": "Impossibile eliminare {name}", "loading": "Creazione del grafico delle dipendenze…", @@ -7614,12 +7614,12 @@ "stepFolder": "Cartella", "stepTune": "Regola", "stepInstall": "Installa", - "destinationIntro": "Ogni avviso in questo lotto notifica la destinazione che scegli qui. I file della libreria nominano le destinazioni dell'organizzazione da cui sono stati esportati, che non esistono nella tua.", + "destinationIntro": "Ogni avviso in questo lotto invia una notifica alla destinazione che scegli qui. I file della libreria nominano le destinazioni dell'organizzazione da cui sono stati esportati, che non esistono nella tua.", "destinationLabel": "Destinazione", "destinationPlaceholder": "Scegli una destinazione", - "destinationsLoadFailed": "Impossibile caricare le destinazioni esistenti.", + "destinationsLoadFailed": "Non è stato possibile caricare le destinazioni esistenti.", "retry": "Riprova", - "destinationsNoneBody": "Questa organizzazione non ha ancora destinazioni per avvisi, quindi non c'è dove questi avvisi possano notificare. Creane una nella pagina Destinazioni, poi torna qui per selezionarla.", + "destinationsNoneBody": "Questa organizzazione non ha ancora destinazioni per gli avvisi, quindi non c'è dove questi avvisi possano inviare notifiche. Creane una nella pagina Destinazioni, poi torna qui e selezionala.", "openDestinations": "Apri Destinazioni", "selectAll": "Seleziona tutto", "clear": "Cancella", @@ -7852,10 +7852,10 @@ "editTitle": "Modifica origine degli avvisi", "name": "Nome", "nameHint": "Solo un'etichetta: ogni origine utilizza la stessa configurazione.", - "incidentDestination": "Destinazione incidente", + "incidentDestination": "Destinazione per incidenti", "incidentDestinationPlaceholder": "Usa predefinito dell'organizzazione", "incidentDestinationHint": "Dove vanno le notifiche quando gli avvisi di questa origine creano o si uniscono a un incidente. Lascia vuoto per usare l'impostazione predefinita dell'organizzazione: se non è impostata nessuna delle due, gli incidenti corrispondenti scattano in silenzio.", - "noDestinationSet": "Nessuna destinazione incidente impostata", + "noDestinationSet": "Nessuna destinazione per incidenti impostata", "setupStep1Title": "1. Crea un webhook", "setupStep1Body": "In Grafana, Alertmanager o qualsiasi strumento che possa inviare JSON via POST, crea un punto di contatto / ricevitore webhook.", "setupRemainingStepsHint": "Salva questa origine per ottenere il suo URL e token, quindi incollali nella configurazione del webhook.", @@ -7884,7 +7884,7 @@ "alert_destinations": { "sectionTab": "Destinazioni", "chooseTypeTitle": "Scegli il tipo", - "selectDestinationType": "Seleziona il tipo di destinazione", + "selectDestinationType": "Seleziona tipo di destinazione", "connectionStepTitle": "Connessione", "connectionDetailsTitle": "Dettagli di connessione", "urlHelpText": "URL di base senza barra finale (es. https://your-domain.com)", @@ -7903,9 +7903,9 @@ "datadogHostnameHelpText": "Hostname per i log Datadog", "exampleLabel": "Esempio:", "subtitle": "Dove vengono consegnati gli avvisi attivati", - "exportDestination": "Destinazione di esportazione", + "exportDestination": "Esporta destinazione", "deleteDestinationTitle": "Elimina destinazione", - "deleteDestinationMessage": "Sicuro di voler eliminare la destinazione?", + "deleteDestinationMessage": "Sei sicuro di voler eliminare la destinazione?", "deleteDestinationsTitle": "Elimina destinazioni", "selected": "selezionati", "organizationLabel": "Organizzazione", @@ -7925,8 +7925,8 @@ "ddTagsPlaceholder": "Inserisci i tag (es., env:prod,version:1.0)", "serviceLabel": "Servizio", "servicePlaceholder": "Inserisci il nome del servizio (es., api-gateway)", - "header": "Destinazioni", - "add": "Aggiungi destinazione", + "header": "Destinazioni di notifica", + "add": "Nuova destinazione", "edit": "Modifica", "search": "Cerca destinazione", "filterAll": "Tutti", @@ -7937,8 +7937,8 @@ "destination_type": "Tipo di destinazione", "template": "Template", "actions": "Azioni", - "addTitle": "Aggiungi destinazione", - "updateTitle": "Destinazione dell'aggiornamento", + "addTitle": "Nuova destinazione", + "updateTitle": "Aggiorna destinazione", "delete": "Elimina", "method": "Metodo", "url": "URL", @@ -7962,7 +7962,7 @@ "separator_hint": "Stringa separatrice da utilizzare tra i record (spazi consentiti)", "templateDefaultOption": "Default ({name})", "templateHelp": "Leave as default to use the standard {type} template ({name}), or pick a custom one.", - "loadingData": "Caricamento dati destinazione...", + "loadingData": "Caricamento dei dati della destinazione...", "noEmailTemplates": "Sembra che tu non abbia ancora creato alcun Modello Email.", "createEmailTemplate": "Crea Modello Email", "headers": "Intestazioni", @@ -7977,40 +7977,40 @@ "servicenowDescription": "Crea incidenti in ServiceNow" }, "import": { - "title": "Importa Destinazione", + "title": "Importa destinazione", "errorValidations": "Errori di Validazione", "outputMessages": "Messaggi di Output", - "destinationName": "Nome Destinazione", - "destinationUrl": "URL Destinazione", - "destinationMethod": "Metodo Destinazione", + "destinationName": "Nome destinazione", + "destinationUrl": "URL destinazione", + "destinationMethod": "Metodo destinazione", "templates": "Modelli", "emails": "Email (separate da virgola)", "actions": "Azioni", - "destinationCreation": "Creazione Destinazione", + "destinationCreation": "Creazione destinazione", "jsonStringEmpty": "La stringa JSON è vuota", "invalidJsonFormat": "Formato JSON non valido", "importSuccess": "Destinazioni importate con successo", - "importError": "Errore nell'importazione della Destinazione, controlla il JSON", + "importError": "Errore durante l'importazione della destinazione: controlla il JSON", "unknownError": "Errore sconosciuto", - "nameRequired": "Destinazione - {index}: Il campo \"name\" è obbligatorio e deve essere una stringa valida.", + "nameRequired": "Destinazione - {index}: il campo \"name\" è obbligatorio e deve essere una stringa valida.", "nameExists": "Destinazione - {index}: \"{name}\" esiste già", - "typeInvalid": "Destinazione - {index}: Il campo \"type\" deve essere \"email\", \"http\" o \"action\"", - "actionTypeNotSupported": "Destinazione - {index}: Il tipo 'action' non è supportato.", + "typeInvalid": "Destinazione - {index}: il campo \"type\" deve essere \"email\", \"http\" o \"action\"", + "actionTypeNotSupported": "Destinazione - {index}: il tipo 'action' non è supportato.", "actionNotFound": "Destinazione - {index}: l'azione \"{actionId}\" non esiste per il tipo \"{type}\"", - "urlRequired": "Destinazione - {index}: Il campo \"url\" è obbligatorio per le destinazioni di tipo http.", - "methodInvalid": "Destinazione - {index}: Il campo \"method\" deve essere uno tra \"post\", \"get\" o \"put\"", - "templateRequiredHttp": "Destinazione - {index}: Il campo \"template\" è obbligatorio per le destinazioni di tipo http.", - "skipTlsVerifyRequired": "Destinazione - {index}: Il campo \"skip_tls_verify\" è obbligatorio e deve essere un valore booleano", + "urlRequired": "Destinazione - {index}: il campo \"url\" è obbligatorio per le destinazioni di tipo http.", + "methodInvalid": "Destinazione - {index}: il campo \"method\" deve essere uno tra \"post\", \"get\" o \"put\"", + "templateRequiredHttp": "Destinazione - {index}: il campo \"template\" è obbligatorio per le destinazioni di tipo http.", + "skipTlsVerifyRequired": "Destinazione - {index}: il campo \"skip_tls_verify\" è obbligatorio e deve essere un valore booleano", "headersMustBeObject": "Destinazione - {index}: 'headers' deve essere un oggetto per il tipo http", "urlNotAllowedEmail": "Destinazione - {index}: 'url' non deve essere fornito per il tipo email", "headersNotAllowedEmail": "Destinazione - {index}: 'headers' non deve essere fornito per il tipo email", - "emailsRequired": "Destinazione - {index}: Il campo \"emails\" è obbligatorio e deve essere un array per le destinazioni di tipo email.", + "emailsRequired": "Destinazione - {index}: il campo \"emails\" è obbligatorio e deve essere un array per le destinazioni di tipo email.", "emailsMustBeStrings": "Destinazione - {index}: 'emails' deve essere un array di stringhe per il tipo email", - "templateRequiredEmail": "Destinazione - {index}: Il campo \"template\" è obbligatorio per le destinazioni di tipo email.", - "templateNotFound": "Destinazione - {index}: il modello \"{template}\" non esiste per il tipo \"{type}\"", - "actionIdInvalid": "Destinazione - {index}: Il campo \"action_id\" deve essere una stringa valida.", - "createSuccess": "Destinazione - {index}: \"{name}\" creata con successo \nNota: rimuovi l'oggetto destinazione {name} creato dal file json ", - "createFailed": "Destinazione - {index}: creazione di \"{name}\" fallita --> \n Motivo: {reason}" + "templateRequiredEmail": "Destinazione - {index}: il campo \"template\" è obbligatorio per le destinazioni di tipo email.", + "templateNotFound": "Destinazione - {index}: il template \"{template}\" non esiste per il tipo \"{type}\"", + "actionIdInvalid": "Destinazione - {index}: il campo \"action_id\" deve essere una stringa valida.", + "createSuccess": "Destinazione - {index}: \"{name}\" creata con successo \nNota: rimuovi l'oggetto destinazione creato {name} dal file json ", + "createFailed": "Destinazione - {index}: creazione di \"{name}\" non riuscita --> \n Motivo: {reason}" }, "priorityP1Description": "Avvisi a priorità massima", "priorityP2Description": "Avvisi a priorità alta", @@ -8023,7 +8023,7 @@ "severityInfoDescription": "Incidenti informativi" }, "pipeline_destinations": { - "header": "Destinazioni delle pipeline", + "header": "Destinazioni pipeline", "search": "Cerca destinazione" }, "storage_settings": { @@ -8234,7 +8234,7 @@ }, "metricCard": { "lastRefreshed": "Ultimo aggiornamento:", - "traceId": "ID traccia: {id}", + "traceId": "Trace ID: {id}", "metricLabel": "Metrica: {name}", "queryLabel": "Query: {query}", "errorLabel": "Errore: {error}", @@ -8387,8 +8387,8 @@ "customLogoText": "Testo del logo personalizzato", "orgLabel": "Parametri dell'organizzazione", "logDetails": "Dettagli del log", - "traceIdFieldName": "Nome del campo Trace ID", - "spanIdFieldName": "Nome del campo Span ID", + "traceIdFieldName": "Nome campo Trace ID", + "spanIdFieldName": "Nome campo Span ID", "toggleIngestionLogsLabel": "Attiva/disattiva i log di ingestione", "usageStreamEnabledLabel": "Abilita flusso di utilizzo", "claimParserFunction": "Analisi dei reclami SSO", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "Mappatura degli agenti GenAI", "title": "Mappatura degli agenti GenAI", - "description": "Configura gli attributi di telemetria di riserva utilizzati per normalizzare l'identità dell'agente per le tracce e le valutazioni LLM.", + "description": "Configura gli attributi di telemetria di fallback utilizzati per normalizzare l'identità dell'agente per le tracce LLM e le valutazioni.", "agentNameFields": "Campi di riserva del nome dell'agente", "agentNameHelp": "Attributi in entrata da utilizzare come fallback per gen_ai.agent.name.", "agentNameInfo": "Selezionato solo quando l'attributo gen_ai.agent.name standard è mancante o vuoto. Aggiungi un attributo di telemetria in entrata per riga.", @@ -8532,7 +8532,7 @@ "resetToEmpty": "Reimposta a vuoto", "clearRegistry": "Cancella registro", "clearRegistryTitle": "Cancella il registro degli agenti?", - "clearRegistryDescription": "Questo elimina tutte le righe del registro dell'agente GenAI scoperte per questa organizzazione. Le nuove tracce corrispondenti ripopoleranno il registro durante l'inserimento.", + "clearRegistryDescription": "Questa operazione elimina tutte le righe del registro agenti GenAI scoperte per questa organizzazione. Le nuove tracce corrispondenti ripopoleranno il registro durante l'ingestione.", "clearRegistryConfirm": "Cancella registro", "saved": "Mappatura degli agenti GenAI salvata con successo", "clearRegistrySuccess": "Registro agenti GenAI cancellato. Eliminati {deletedCount} agenti memorizzati e {bufferCount} osservazioni in coda.", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "Impossibile salvare gli alias dei campi", "fieldAliasesUnsavedConfirm": "Hai modifiche alle mappature dei campi non salvate. Vuoi annullarle e uscire?", "discoveredServicesTitle": "Servizi scoperti", - "discoveredServicesDescription": "I servizi vengono rilevati automaticamente dai dati di telemetria e raggruppati in base al nome completo (FQN) per la correlazione. I servizi che condividono lo stesso FQN sono correlati tra loro tramite log, tracce e metriche.", + "discoveredServicesDescription": "I servizi vengono scoperti automaticamente dai dati di telemetria e raggruppati per nome del servizio ai fini della correlazione. I servizi che condividono lo stesso nome del servizio vengono correlati tra log, tracce e metriche.", "noServicesYet": "Nessun servizio ancora scoperto", "noServicesDescription": "I servizi verranno visualizzati qui quando i dati di telemetria vengono inseriti con gli attributi di identificazione del servizio (come k8s-deployment, nome del servizio, ecc.)", "searchServiceName": "Nome del servizio di ricerca...", @@ -8572,7 +8572,7 @@ "fieldMappingDialogHelp": "Aggiungi o rimuovi i nomi dei campi che devono essere riconosciuti come nome del servizio nei tuoi dati di telemetria.", "fieldMappingPlaceholder": "Digita un nome di campo e premi Invio", "foundInLogs": "Trovato nei log", - "foundInTraces": "Trovato nelle trace", + "foundInTraces": "Trovato nelle tracce", "foundInMetrics": "Trovato nelle metriche", "distinguishByLabel": "Distingui i servizi per", "distinguishByHelp": "Scegli i campi che definiscono dove vengono eseguiti i tuoi servizi. Ad esempio, cluster + namespace + deployment insieme creano un'identità univoca per ciascun servizio. Fino a 5 campi.", @@ -8608,13 +8608,13 @@ "instancesCount": "({count} istanze)", "noDimensions": "nessuna dimensione", "defaultSetWarningTitle": "La correlazione potrebbe non essere affidabile.", - "defaultSetWarningBody": "Questa istanza non ha disambiguazione — è stata rilevata senza alcuna corrispondenza di carico di lavoro (nessun contesto di cluster, namespace o environment). I log e le trace potrebbero provenire da deployment diversi dello stesso nome di servizio.", + "defaultSetWarningBody": "Questa istanza non ha disambiguazione — è stata scoperta senza corrispondenza di workload (nessun contesto di cluster, namespace o ambiente). Log e tracce potrebbero provenire da distribuzioni diverse dello stesso nome di servizio.", "instanceIdentity": "Identità dell'istanza", "noDimensionsCatchAll": "Nessuna dimensione — istanza catch-all", "streamSources": "Origini degli stream", "fieldNameMapping": "Mappatura dei nomi dei campi", "logsWithCount": "Log ({count})", - "tracesWithCount": "Trace ({count})", + "tracesWithCount": "Tracce ({count})", "metricsWithCount": "Metriche ({count})" }, "addRegexPattern": { @@ -8728,7 +8728,7 @@ "createFailed": "Pattern regex - {index}: creazione di \"{name}\" non riuscita --> \n Motivo: {error}" }, "index": { - "genAiAgentMappingDesc": "Mappa gli span GenAI agli identificatori degli agenti" + "genAiAgentMappingDesc": "Associa gli span GenAI agli identificatori degli agenti" }, "organizationManagementPage": { "setAiCredits": "Imposta crediti AI", @@ -8863,7 +8863,7 @@ "noValues": "Nessun valore", "cardinality": "Cardinalità:", "uniqueValues": "{n} valori unici", - "streams": "Flussi", + "streams": "Stream", "streamsSubtext": "stream", "noAdditionalDimensions": "Nessuna dimensione aggiuntiva rilevata.", "noSampleData": "Nessun dato campione disponibile per questo campo.", @@ -8931,7 +8931,7 @@ "cachedReportHint": "Nota: i report memorizzati nella cache vengono archiviati per un accesso rapido alle dashboard; la condivisione è disabilitata per questi report.", "selectDashboardStep": "Seleziona dashboard", "timeRangeDescription": "Genera un report con i dati dell'intervallo di tempo specificato.", - "pngPageLimitNote": "Il PNG cattura solo la prima pagina visibile della dashboard. Utilizza il PDF se la dashboard si estende su più pagine.", + "pngPageLimitNote": "La cattura PNG mostra solo la prima pagina visibile della dashboard. Utilizza il PDF se la dashboard si estende su più pagine.", "widthPlaceholder": "es. 1440", "heightPlaceholder": "es. 900", "dimensionsDefaultHint": "Lascia vuoto per utilizzare le impostazioni predefinite del server.", @@ -9139,14 +9139,14 @@ "viewLogs": "Visualizza i log", "viewLogsUnavailable": "Impossibile aprire i log per questo span.", "backToLogs": "Torna ai log", - "openInTraces": "Apri in Traces", + "openInTraces": "Apri in Tracce", "loadingStream": "Caricamento dello stream...", "noLogsAvailableForService": "Nessun log disponibile per questo servizio", "noCorrelatedLogsFound": "Nessun log correlato trovato per questo span", "noData": { "title": "Inizia a inviare tracce a {product}", - "description": "Non sono ancora state trovate tracce in questa organizzazione. Strumenta i tuoi servizi e le tracce appariranno qui automaticamente.", - "otlp": "Invia tracce tramite {product}", + "description": "Nessuno stream di tracce trovato in questa organizzazione. Strumenta i tuoi servizi e le tracce appariranno qui automaticamente.", + "otlp": "Invia tracce via {product}", "otlpDesc": "{product1}, {product2} e qualsiasi SDK compatibile con {product3}", "otelCollectorDesc": "Instrada tutti i segnali di telemetria tramite {product}", "or": "Oppure:", @@ -9155,21 +9155,21 @@ "configureFullTextSearch": "per configurare un campo di ricerca a testo completo per lo stream.", "collapseFields": "Comprimi campi", "openFields": "Campi aperti", - "timeRangeUpdated": "L'intervallo di tempo selezionato non includeva questa traccia. L'intervallo di tempo è stato aggiornato in modo che corrisponda al timestamp della traccia.", - "errorRetrievingTraces": "Si è verificato un errore durante il recupero delle tracce.", - "fetchingTraces": "Resisti, stiamo cercando le tue tracce.", + "timeRangeUpdated": "L'intervallo di tempo selezionato non includeva questa traccia. L'intervallo di tempo è stato aggiornato per corrispondere al timestamp della traccia.", + "errorRetrievingTraces": "Errore durante il recupero delle tracce.", + "fetchingTraces": "Caricamento delle tracce...", "noStream": { "title": "Scegli uno stream per iniziare a esplorare", - "description": "Scegli un flusso di traccia, quindi premi Esegui query. Puoi filtrare per servizio, durata, stato dell'intervallo e altro ancora una volta caricati i risultati.", + "description": "Scegli uno stream di tracce, quindi premi Esegui query. Puoi filtrare per servizio, durata, stato dello span e altro dopo il caricamento dei risultati.", "selectStream": "Seleziona uno stream", - "selectStreamDesc": "Sfoglia i flussi di traccia disponibili in questa organizzazione", - "queryGuide": "Leggi la guida alle tracce", - "queryGuideDesc": "Grafico del servizio, filtro span, metriche RED e altro", + "selectStreamDesc": "Sfoglia gli stream di tracce disponibili in questa organizzazione", + "queryGuide": "Leggi la guida sulle tracce", + "queryGuideDesc": "Grafico dei servizi, filtro per span, metriche RED e altro", "recent": "Recenti:" }, "noEvents": { "title": "Nessuna traccia trovata", - "descNoFilters": "Nessuna traccia è stata trovata in {range}. Prova ad ampliare l'intervallo di tempo per caricare i risultati.", + "descNoFilters": "Nessuna traccia trovata in {range}.", "descWithFilters": "Niente corrisponde a questa query nella finestra selezionata. Prova ad ampliare l'intervallo di tempo o a rimuovere un filtro.", "descOutOfRange": "La tua finestra temporale non contiene dati da questo stream. Vai al momento in cui i dati sono stati visti l'ultima volta.", "jumpToData": "Vai ai dati più recenti", @@ -9178,37 +9178,37 @@ "selectedRange": "la gamma selezionata" }, "tracesFound": "Tracce trovate", - "spansFound": "Spacchi trovati", - "errorTraces": "Tracce di errore", - "errorSpans": "Spazi di errore", + "spansFound": "Span trovati", + "errorTraces": "Tracce con errore", + "errorSpans": "Span con errore", "filterByErrors": "Filtra per errori", "clearErrorFilter": "Cancella filtro errori", "error": "ERRORE", "errorCount": "{n} ERRORE | {n} ERRORI", "success": "SUCCESSO", - "applyPendingFilters": "Applica filtri in sospeso e Search Traces", - "backToTraces": "Torna a Traces", + "applyPendingFilters": "Applica i filtri in sospeso e cerca tracce", + "backToTraces": "Torna alle tracce", "loadingTrace": "Caricamento...", - "traceId": "ID di tracciamento", - "copyTraceId": "Copia l'ID di tracciamento", + "traceId": "ID traccia", + "copyTraceId": "Copia ID traccia", "viewFilters": "Visualizza filtri", - "reviewAndApplyFilters": "Rivedi e applica filtri a Traces", - "spansLabel": "ricopre", + "reviewAndApplyFilters": "Rivedi e applica i filtri alle tracce", + "spansLabel": "span", "errorsLabel": "sbagli", "previousMatch": "Partita precedente", "nextMatch": "Prossima partita", - "searchInSpans": "Cerca in intervalli", - "spansTableView": "Visualizzazione della tabella Spans", + "searchInSpans": "Cerca negli span", + "spansTableView": "Vista tabella degli span", "comingSoon": "Presto in arrivo...", - "fetchingTrace": "Cerco la tua traccia.", - "traceFilters": "Filtri Trace", + "fetchingTrace": "Recupero della tua traccia.", + "traceFilters": "Filtri delle tracce", "showTraces": "Mostra tracce", "applyAndSearch": "Applica e cerca", "timestamp": "Timestamp", - "noErrorPresent": "Nessun errore presente per questo intervallo", + "noErrorPresent": "Nessun errore presente per questo span", "noEventsPresent": "Nessun evento per questo span", - "noLinksPresent": "Nessun collegamento per questo span", - "loadingTraceDag": "Caricamento DAG della traccia...", + "noLinksPresent": "Nessun link per questo span", + "loadingTraceDag": "Caricamento del DAG della traccia...", "exceptionsWithCount": "Eccezioni ({count})", "typeLabel": "Tipo:", "messageLabel": "Messaggio:", @@ -9240,7 +9240,7 @@ "cost": "Costo", "status": "Status" }, - "stream": "Flusso", + "stream": "Stream", "agent": "Agente", "noAgentsTitle": "Nessun agente in questo intervallo", "noAgentsDescription": "Nessun agente GenAI rilevato per l'intervallo di tempo selezionato. Prova un intervallo più ampio o torna alla vista flusso.", @@ -9254,12 +9254,12 @@ "failedToLoad": "Caricamento della sessione non riuscito", "retry": "Riprova", "sessionNotFound": "Sessione non trovata", - "noSpansFound": "Nessun intervallo trovato per {id} nell'intervallo di tempo corrente.", - "searchPlaceholder": "Cerca tracce in questa sessione...", + "noSpansFound": "Nessuno span trovato per {id} nell'intervallo di tempo corrente.", + "searchPlaceholder": "Cerca tracce in questa sessione…", "turn": "girare", "turns": "turni", "turnCount": "{count} {unit}", - "openInTraceExplorer": "Visualizza Trace", + "openInTraceExplorer": "Visualizza traccia", "filters": { "status": "Status", "model": "Modello", @@ -9362,11 +9362,11 @@ "title": "Tasso di errore" } }, - "spansTab": "Spaziate", + "spansTab": "Span", "tracesTab": "Tracce", "serviceGraphTab": "Grafico dei servizi", "serviceGraphSubtitle": "Scopri come i tuoi servizi si chiamano tra loro — dipendenze, throughput e tassi di errore", - "servicesCatalogSubtitle": "Ogni servizio che invia trace, con latenza, throughput e tasso di errore", + "servicesCatalogSubtitle": "Ogni servizio che invia tracce, con latenza, throughput e tasso di errore", "treeView": "Vista ad albero", "graphView": "Visualizzazione del grafico", "layoutHorizontal": "orizzontale", @@ -9375,7 +9375,7 @@ "exportTraces": "Esporta tracce", "waterfall": "Cascata", "flameGraph": "Grafico della fiamma", - "traceGraph": "Grafico di traccia", + "traceGraph": "Grafico della traccia", "thread": "Discussione", "dbSpanDetails": { "dbSystem": "Sistema DB", @@ -9398,13 +9398,13 @@ "changeStreamTitle": "Cambiare flusso?", "switchStream": "Cambia flusso", "cancel": "Annulla", - "changeStreamMessage": "Questo aggiornerà anche il flusso nella scheda Traces/Spans e reimposta la query esistente.", + "changeStreamMessage": "Questo aggiornerà anche lo stream nella scheda Tracce/Span e reimposterà la query esistente.", "errorGettingFunctions": "Errore durante il recupero delle funzioni", "errorPullingIndex": "Errore durante il recupero dell'indice per l'organizzazione selezionata{message}", "errorGettingStreams": "Errore durante il recupero dei flussi", "errorLoadingStreams": "Errore durante il caricamento dei flussi", "errorConstructingQuery": "Si è verificato un errore durante la costruzione della query di ricerca.", - "traceNotFound": "Trace {traceId} non trovato", + "traceNotFound": "Traccia {traceId} non trovata", "errorProcessingRequest": "Errore durante l'elaborazione della richiesta", "searchRequestFailed": "Richiesta di ricerca fallita" }, @@ -9440,7 +9440,7 @@ "time": "Ora", "service": "Servizio", "operation": "Operazione", - "traceId": "ID Trace" + "traceId": "ID traccia" }, "lLMInsightsDashboard": { "stream": "Stream", @@ -9454,7 +9454,7 @@ "viewByStream": "Visualizza per Stream", "totalCost": "Costo totale", "totalTokens": "Token totali", - "totalTraces": "Trace totali", + "totalTraces": "Tracce totali", "p95Latency": "Latenza P95", "errorRate": "Tasso di errore", "timeAxis": "Ora", @@ -9466,13 +9466,13 @@ "serviceGraphNodeSidePanel": { "viewRelated": "Visualizza correlati", "logs": "Log", - "traces": "Trace", + "traces": "Tracce", "databases": "Database", - "viewTraces": "Visualizza Trace", + "viewTraces": "Visualizza tracce", "operations": "Operazioni", "metrics": "Metriche", "noOperationsFound": "Nessuna operazione trovata", - "viewInTraces": "Visualizza nelle Trace", + "viewInTraces": "Visualizza nelle tracce", "noResourceDataFound": "Nessun dato {resource} trovato", "retry": "Riprova", "noMetricsAvailable": "Nessuna metrica disponibile per questo servizio.", @@ -9518,13 +9518,13 @@ "processExitCode": "Codice di uscita processo" }, "traceLatencyCell": { - "spansAcrossServices": "{spans} span su {services} servizi" + "spansAcrossServices": "{spans} span in {services} servizi" }, "threadToolCalls": { "toolCall": "chiamata strumento", "toolCalls": "chiamate strumento", "showCalls": "Mostra chiamate", - "openSpanDetails": "Apri dettagli span", + "openSpanDetails": "Apri i dettagli dello span", "arguments": "Argomenti", "result": "Risultato", "empty": "(vuoto)" @@ -9538,17 +9538,17 @@ "cost": "Costo", "model": "Modello", "errors": "Errori", - "noSpansLoaded": "Nessuno span caricato per questa trace.", - "noLlmTurns": "Nessun turno LLM rilevato. La trace non contiene span con", + "noSpansLoaded": "Nessuno span caricato per questa traccia.", + "noLlmTurns": "Nessun turno LLM rilevato. La traccia non contiene span con", "system": "Sistema", - "historicalMessage": "{count} messaggio precedente da questa sessione — gestito nelle tracce precedenti. | {count} messaggi precedenti da questa sessione — gestiti nelle tracce precedenti.", + "historicalMessage": "{count} messaggio precedente di questa sessione — gestito nelle tracce precedenti. | {count} messaggi precedenti di questa sessione — gestiti nelle tracce precedenti.", "user": "Utente", "startedAt": "Iniziato alle {time}", "unknown": "sconosciuto", "tokens": "Token", "tokensSuffix": "token", "error": "Errore", - "viewSpan": "Vedi span" + "viewSpan": "Visualizza span" }, "traceHeader": { "operationName": "Nome operazione" @@ -9587,7 +9587,7 @@ "value": "Valore", "timestamp": "Timestamp", "enterpriseLicenseRequired": "La funzionalità di correlazione richiede una licenza enterprise", - "missingSpanOrStream": "Nome span o stream mancante", + "missingSpanOrStream": "Nome dello span o dello stream mancante", "spanIdCopied": "ID span copiato negli appunti", "attributesCopied": "Attributi copiati negli appunti", "copiedToClipboard": "{type} copiato negli appunti", @@ -9601,26 +9601,26 @@ "filterAdded": "Filtro aggiunto: {field} {operator} '{value}'", "timeline": "Timeline", "serviceMap": "Mappa dei servizi", - "traceNotFound": "Trace {traceId} non trovata", - "spanNotFound": "Span {spanId} non trovato nella trace", + "traceNotFound": "Traccia {traceId} non trovata", + "spanNotFound": "Span {spanId} non trovato nella traccia", "unknownOperation": "Operazione sconosciuta", "unknownService": "Servizio sconosciuto", - "traceIdCopied": "ID trace copiato negli appunti", + "traceIdCopied": "ID traccia copiato negli appunti", "sessionIdCopied": "ID sessione copiato negli appunti" }, "traceTree": { "clickToExpand": "Clicca per espandere", "clickToCollapse": "Clicca per comprimere", - "errorSpan": "Span errore", + "errorSpan": "Span con errore", "httpStatus": "HTTP {status}", - "spanEvent": "{count} evento span | {count} eventi span" + "spanEvent": "{count} evento dello span | {count} eventi dello span" }, "tracesAnalysisDashboard": { "baseline": "Baseline:", "selected": "Selezionato:", "dimensions": "Dimensioni", "collapseDimensions": "Comprimi dimensioni", - "tracesPerInterval": "traces/interval" + "tracesPerInterval": "tracce/intervallo" }, "sessionDetails": { "missingSessionInfo": "ID sessione o stream mancante nell'URL", @@ -9633,7 +9633,7 @@ "noSpansToDisplay": "Nessuno span da visualizzare", "service": "Servizio:", "duration": "Durata:", - "percentOfTrace": "% della trace:", + "percentOfTrace": "% della traccia:", "hasErrors": "⚠ Ha errori" }, "tracesNoEventsState": { @@ -9641,13 +9641,13 @@ }, "correlation": { "distributedTrace": "Traccia distribuita", - "loadingTraceData": "Caricamento dei dati di traccia...", - "noTraceInfoAvailable": "Nessuna informazione di traccia disponibile per questo evento", + "loadingTraceData": "Caricamento dei dati della traccia...", + "noTraceInfoAvailable": "Nessuna informazione di traccia disponibile per questo evento.", "traceIdLabel": "ID traccia:", "copyTraceId": "Copia ID traccia", "spanIdLabel": "ID span:", - "spanHierarchy": "Gerarchia span:", - "applicationSpan": "Span applicativo", + "spanHierarchy": "Gerarchia degli span:", + "applicationSpan": "Span dell'applicazione", "browserSdkSpanPrefix": "Span del browser SDK (", "closingParen": ")", "backendSpansPrefix": "Span del backend (", @@ -9656,8 +9656,8 @@ "browserLabel": "Browser:", "networkLabel": "Rete:", "backendLabel": "Backend:", - "viewTraceDetails": "Visualizza dettagli traccia", - "backendTraceNotAvailable": "Dati di traccia del backend non ancora disponibili. I dati di traccia potrebbero richiedere fino a 30 secondi per essere acquisiti." + "viewTraceDetails": "Visualizza i dettagli della traccia", + "backendTraceNotAvailable": "I dati della traccia del backend non sono ancora disponibili. I dati della traccia potrebbero richiedere fino a 30 secondi per essere ingeriti." }, "failedToAnalyzeDimensions": "Impossibile analizzare le dimensioni", "failedToFetchCorrelatedLogs": "Impossibile recuperare i log correlati", @@ -9708,7 +9708,7 @@ "averageOfTrace": "{avg}ms ({percent}% della traccia)", "requestCount": "{count} req" }, - "spanEventTimeline": "Cronologia eventi span", + "spanEventTimeline": "Cronologia degli eventi dello span", "eventClusterTooltip": "{count} eventi", "spanEventCount": "{count} evento", "spanEventCountPlural": "{count} eventi", @@ -9720,7 +9720,7 @@ "eventClusterAriaLabelPlural": "{count} eventi, {errors} errori", "eventMarkerTooltip": "Evento: {name}", "exceptionMarkerTooltip": "Eccezione: {type}", - "spanEventFallback": "evento span" + "spanEventFallback": "evento dello span" }, "actions": { "realTime": "Tempo reale", @@ -10017,7 +10017,7 @@ "selectMetrics": "Seleziona Metric Streams", "correlatedLogs": "Log correlati", "correlatedMetrics": "Metriche correlate", - "correlatedTraces": "Tracce correlate", + "correlatedTraces": "Tracce", "loadingCorrelation": "Caricamento dei dati di correlazione...", "clickToLoadLogs": "Fai clic per caricare i log correlati", "clickToLoadMetrics": "Fai clic per caricare le metriche correlate", @@ -10042,15 +10042,15 @@ "noLogsDescription": "Nessun log trovato per questa correlazione nell'intervallo di tempo selezionato.", "correlatedTracesFor": "Tracce correlate per il servizio: {service}", "all": "Tutti", - "loadingTraces": "Caricamento di tracce correlate...", - "tracesError": "Caricamento delle tracce non riuscito", - "tracesErrorDetails": "Si è verificato un errore durante il recupero dei dati di traccia. Per favore riprova.", + "loadingTraces": "Caricamento delle tracce...", + "tracesError": "Impossibile caricare le tracce", + "tracesErrorDetails": "Si è verificato un errore durante il recupero dei dati delle tracce. Riprova.", "metricsError": "Impossibile caricare le metriche", "metricsErrorDetails": "Si è verificato un errore durante il recupero dei dati delle metriche. Riprova.", "noMetricsDescription": "Nessuna metrica trovata per questa correlazione nell'intervallo di tempo selezionato.", "dimensionBasedCorrelation": "Correlazione basata sulle dimensioni", "tracesFromService": "Tracce dal servizio: {service}", - "noTracesFound": "Nessuna traccia correlata trovata", + "noTracesFound": "Nessuna traccia trovata", "noTracesDescription": "Nessuna traccia trovata per questa correlazione nell'intervallo di tempo selezionato.", "viewInTraces": "Visualizza in Tracce", "filters": "Filtri", @@ -10185,7 +10185,7 @@ "editCrossLink": "Modifica collegamento incrociato", "name": "Nome", "nameRequired": "Il nome è obbligatorio", - "namePlaceholder": "ad esempio, Visualizza i dettagli della traccia", + "namePlaceholder": "ad es., Visualizza i dettagli della traccia", "urlTemplate": "Template URL", "urlRequired": "L'URL è obbligatorio", "urlPlaceholder": "ad es., https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", @@ -10281,7 +10281,7 @@ "colPattern": "Pattern", "colPricingSimple": "Prezzi", "testMatchTitle": "Test Model Match", - "testMatchSubtitle": "Simula il modo in cui il nome di un modello dei tuoi intervalli di tempo corrisponderebbe alle regole di prezzo.", + "testMatchSubtitle": "Simula come un nome di modello dai tuoi span corrisponderebbe alle regole di prezzo.", "modelNameInput": "Nome del modello", "modelNameHint": "Il nome del modello delle tue generazioni.", "enterModelName": "Inserisci il nome del modello per verificare la corrispondenza", @@ -10445,11 +10445,11 @@ "sessions": "Sfoglia e ispeziona le sessioni degli agenti una dopo l'altra", "agentGraph": "Scopri con cosa interagiscono i tuoi agenti — strumenti, modelli, servizi e datastore", "agentBehavior": "Identifica gli agenti bloccati in loop e gli errori che li fanno fallire", - "discovery": "Trova tracce non sane che meritano una revisione", + "discovery": "Trova tracce problematiche che vale la pena rivedere", "queues": "Elenchi di attività di revisione con stato", "datasets": "Cura dataset golden da tracce annotate e revisioni", "experiments": "Anteprima e creazione di esecuzioni di valutazione offline immutabili", - "quality": "Monitora la qualità dei punteggi nelle valutazioni di span, trace e sessione", + "quality": "Monitora la qualità dei punteggi nelle valutazioni di span, traccia e sessione.", "evalJobs": "Esegui e monitora i lavori di valutazione durante le tue sessioni", "scorers": "Crea e gestisci i punteggi che valutano gli output LLM", "scoreConfigs": "Configura le rubriche di punteggio utilizzate nelle tue valutazioni" @@ -10493,7 +10493,7 @@ "dataset": { "button": "Aggiungi al dataset", "title": "Aggiungi al dataset", - "hint": "Trasforma {ref} in un golden. L'input viene letto dalla traccia — tu scrivi l'output atteso.", + "hint": "Trasforma {ref} in un golden. L'input viene riletto dalla traccia — scrivi tu l'output atteso.", "errors": { "dataset": "Seleziona un dataset", "expectedOutput": "Scrivi l'output atteso" @@ -10641,7 +10641,7 @@ "inTrace": "Nella traccia {traceId}", "reviewAgain": "Rivedi", "emptyTitle": "Niente da revisionare", - "emptyBody": "Aggiungi tracciati, span o sessioni a questa coda da Discovery o da una vista traccia.", + "emptyBody": "Aggiungi tracce, span o sessioni a questa coda da Discovery o da una vista delle tracce.", "columns": { "refType": "Rif.", "refId": "Riferimento", @@ -10660,8 +10660,8 @@ "next": "Elemento successivo", "collapseNav": "Comprimi elenco elementi", "expandNav": "Espandi elenco elementi", - "openTrace": "Apri traccia completa", - "openTraceSoon": "La visualizzazione della traccia completa arriverà nel prossimo aggiornamento.", + "openTrace": "Apri la traccia completa", + "openTraceSoon": "La visualizzazione completa della traccia arriverà nel prossimo aggiornamento.", "input": "Input", "output": "Output", "retrievedContext": "Contesto recuperato", @@ -10692,7 +10692,7 @@ "distill": { "title": "Distilla in dataset", "action": "Dataset", - "hint": "Scrivi la risposta che questo elemento AVREBBE DOVUTO produrre. Diventa l'output golden; l'input è preso dalla traccia revisionata.", + "hint": "Scrivi la risposta che questo elemento avrebbe dovuto produrre. Diventa l'output golden; l'input viene preso dalla traccia esaminata.", "datasetLabel": "Dataset", "datasetPlaceholder": "Seleziona un dataset...", "noDatasets": "Nessun dataset ancora — creane prima uno dalla pagina Datasets.", @@ -10704,7 +10704,7 @@ "updated": "Golden aggiornato — questo elemento era già in quel dataset", "openDataset": "Apri dataset", "needsReview": "Completa prima la revisione — un golden richiede un giudizio arbitrato.", - "sessionUnsupported": "Gli elementi della sessione non possono essere distillati — solo trace e span.", + "sessionUnsupported": "Gli elementi di sessione non possono essere distillati — solo tracce e span.", "loadError": "Impossibile caricare i dataset", "error": "Impossibile aggiungere questo elemento al dataset" }, @@ -10735,7 +10735,7 @@ "taskProgress": "Attività: {completed}/{total} completate · {skipped} saltate", "scoringProgress": "Punteggi: {completed}/{total} completi · {skipped} saltati", "skipTiers": "Righe saltate: {full} completamente · {partial} parzialmente", - "scoreEvidence": "{scorer} · v{version}: {samples} campioni, {noReference} senza riferimento, {noTrace} senza traccia", + "scoreEvidence": "{scorer} · v{version}: {samples} campioni, {noReference} nessun riferimento, {noTrace} nessuna traccia", "scorerApplicability": "{scorer} · v{version}: {eligible} slot idonei, {noReference} senza riferimento", "loadError": "Impossibile caricare gli esperimenti", "previewError": "Impossibile visualizzare l'anteprima degli slot", @@ -10912,7 +10912,7 @@ "trials": "Prove", "trial": "Prova {index}", "retryFailedSlot": "Riprova slot non riuscito", - "viewTrace": "Visualizza trace", + "viewTrace": "Visualizza traccia", "scores": "Punteggi", "dimension": "Dimensione", "unknownDimension": "Dimensione sconosciuta", @@ -10999,7 +10999,7 @@ "actions": "Azioni" }, "source": { - "trace": "trace", + "trace": "traccia", "annotation": "annotazione", "manual": "manuale" }, @@ -11100,7 +11100,7 @@ "stream": "Stream", "agent": "Agente", "noAgentsTitle": "Nessun agente trovato", - "noAgentsDescription": "Nessun agente scoperto in questo intervallo di tempo. Prova ad ampliare l'intervallo o verifica che le tue tracce includano attributi dell'agente gen_ai.", + "noAgentsDescription": "Nessun agente rilevato in questo intervallo di tempo. Prova ad ampliare l'intervallo di tempo o verifica che le tue tracce includano attributi agente gen_ai.", "versionAgnosticHint": "La topologia è la stessa tra le versioni — il grafico è limitato per ambiente, non per versione. Usa il confronto versioni per confrontare le versioni." }, "panels": { @@ -11113,8 +11113,8 @@ "subtitle": "gettoni per modello" }, "spanTrend": { - "title": "Tendenza della Spagna", - "subtitle": "conteggio degli intervalli per tipo" + "title": "Andamento degli span", + "subtitle": "conteggio degli span per tipo" }, "latencyByModel": { "title": "Latenza per modello", @@ -11129,7 +11129,7 @@ "subtitle": "conteggio errori" }, "spansByModel": { - "title": "Spaziato per modello", + "title": "Span per modello", "subtitle": "numero di chiamate per modello" }, "tokensByModel": { @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "Errori recenti", - "subtitle": "ultimi 10 intervalli non riusciti" + "subtitle": "ultimi 10 span con errori" } }, "behavior": { @@ -11148,7 +11148,7 @@ "disabled": "I segnali di comportamento agente sono disattivati per questo deployment" }, "loopsTitle": "Agenti in loop", - "loopsHint": "Agenti che eseguono ripetutamente lo stesso strumento molte volte per traccia", + "loopsHint": "Agenti che rieseguono lo stesso strumento molte volte per traccia", "summaryLoops": "Agenti in loop", "summaryFailures": "Tassonomia dei guasti", "summaryAgents": "Agenti interessati", @@ -11175,7 +11175,7 @@ "title": "Dettagli segnale", "tracesTitle": "Tracce", "tracesHint": "Clicca su una traccia per aprirla", - "worstLoopTraces": "Peggiori tracce (con più ripetizioni per prime)", + "worstLoopTraces": "Tracce peggiori (le più ripetute per prime)", "topCostTraces": "Tracce più costose", "noTraces": "Nessuna traccia trovata per questo segnale", "errorsTitle": "Cosa dicono gli errori", @@ -11188,17 +11188,17 @@ "showLess": "Mostra meno", "colError": "Messaggio di errore", "colOccurrences": "Volte", - "loopHeadline": "{agent} ha chiamato {tool} {ratio}× per traccia in media ({calls} chiamate in {traces} tracce).", + "loopHeadline": "{agent} ha chiamato {tool} {ratio}× per traccia in media ({calls} chiamate su {traces} tracce).", "failHeadline": "{agent} ha riscontrato {count} errori “{cls}”.", "costHeadline": "{agent}: ${cost} spesi · {tokens} token · {errors} errori.", - "loopExplain": "Un alto tasso di ripetizione di solito significa che l'agente non sta memorizzando nella cache i risultati o sta riprovando. Apri le peggiori tracce qui sotto per vedere le chiamate ripetute.", - "failExplain": "Questi sono i messaggi di errore reali dietro questa classe di fallimento — leggili per trovare la soluzione, o apri una traccia per vedere dove è successo.", - "costExplain": "Queste tracce hanno guidato la spesa di questo agente. Apri le più costose per vedere cosa è stato eseguito." + "loopExplain": "Un tasso di ripetizione alto di solito indica che l'agente non memorizza i risultati nella cache o sta ritentando. Apri le tracce peggiori qui sotto per vedere le chiamate ripetute.", + "failExplain": "Questi sono i messaggi di errore effettivi dietro questa classe di errore — leggili per trovare la soluzione, oppure apri una traccia per vedere dove è successo.", + "costExplain": "Queste tracce hanno determinato la spesa dell'agente. Apri quelle più costose per vedere cosa è stato eseguito." } }, "versionCompare": { "datePickerDisabled": "Le finestre sono per versione in questa modalità", - "sampledNote": "Gli intervalli di latenza e costi sono calcolati da fino a {cap} tracce campionate casualmente per versione.", + "sampledNote": "Gli intervalli di latenza e costo sono calcolati da un massimo di {cap} tracce campionate casualmente per versione.", "bar": { "versionA": "Versione A", "versionB": "Versione B", @@ -11280,24 +11280,24 @@ "manualEvaluation": { "titles": { "span": "Valuta span", - "trace": "Valuta trace", + "trace": "Valuta traccia", "session": "Valuta sessione" }, "targetLabels": { "span": "ID span", - "trace": "ID trace", + "trace": "ID traccia", "session": "ID sessione" }, "scopes": { "span": "span", - "trace": "trace", + "trace": "traccia", "session": "sessione" }, "description": "Scegli un Eval Job da eseguire su questo target. Il worker di valutazione caricherà la telemetria sorgente dall'intervallo di tempo di questa pagina.", "jobLabel": "Eval Job", "jobPlaceholder": "Seleziona un Eval Job", "jobRequired": "Seleziona un Eval Job", - "noCompatibleJobs": "Nessun Eval Job {scope} utilizza il trace stream {stream}.", + "noCompatibleJobs": "Nessun job di valutazione per {scope} usa lo stream di tracce {stream}.", "loadJobsError": "Impossibile caricare gli Eval Job.", "run": "Esegui valutazione", "queued": "Accodata {count} attività di valutazione. | Accodate {count} attività di valutazione.", @@ -11324,7 +11324,7 @@ "filterHint": "Confronta questa configurazione del punteggio tra gli ambiti di destinazione della valutazione.", "all": "Tutti", "span": "Span", - "trace": "Trace", + "trace": "Traccia", "session": "Sessione" }, "kpis": { @@ -11393,7 +11393,7 @@ }, "runs": { "title": "Punteggi di valutazione", - "hint": "I punteggi e le motivazioni provengono da _llm_scores. Seleziona un'esecuzione per aprire la sua traccia di valutazione per ulteriori indagini.", + "hint": "I punteggi e il ragionamento provengono da _llm_scores. Seleziona una esecuzione per aprire la sua traccia di valutazione per ulteriori indagini.", "filterLabel": "Filtra punteggi di valutazione", "footerTitle": "Punteggi di valutazione", "noThresholdHint": "Imposta una soglia di healthy su questa configurazione del punteggio per classificare ed evidenziare i punteggi non healthy.", @@ -11588,7 +11588,7 @@ "booleanInfo": "Le configurazioni booleane accettano i valori {trueLabel} / {falseLabel}. Non è necessaria alcuna configurazione aggiuntiva.", "healthyThresholdTitle": "Soglia di integrità", "optional": "Facoltativo", - "healthyThresholdIntro": "Definisci quando i punteggi su questa dimensione sono considerati integri. I punteggi al di fuori di questo intervallo attiveranno problemi di qualità negli elenchi di trace, nelle sessioni e in altre visualizzazioni.", + "healthyThresholdIntro": "Definisci quando i punteggi su questa dimensione sono considerati sani. I punteggi al di fuori di questo intervallo attiveranno problemi di qualità negli elenchi di tracce, nelle sessioni e in altre viste.", "healthyWhenValueIs": "Integro quando il valore è:", "healthyCategories": "Categorie integre:", "healthyCategoriesHint": "Seleziona tutti i valori che contano come integri.", @@ -11667,8 +11667,8 @@ "col": { "time": "Ora", "job": "Processo", - "spanId": "ID Spagna", - "traceId": "ID di tracciamento", + "spanId": "ID span", + "traceId": "ID traccia", "score": "Punteggio", "latency": "Latenza", "status": "Stato" @@ -11896,8 +11896,8 @@ "col": { "time": "Ora", "scorer": "Scorer", - "spanId": "ID Spagna", - "traceId": "ID di tracciamento", + "spanId": "ID span", + "traceId": "ID traccia", "score": "Punteggio", "latency": "Latenza", "status": "Stato" @@ -11949,25 +11949,25 @@ "targetScopeLabel": "Valuta Ogni", "targetScopes": { "span": "Span", - "trace": "Trace", + "trace": "Traccia", "session": "Sessione" }, "targetScopeHelp": { "span": "Valuta ogni span corrispondente in modo indipendente.", - "trace": "Valuta un'intera trace dopo la chiusura della finestra di completamento.", - "session": "Valuta una sessione attraverso le trace dopo la chiusura della finestra di completamento." + "trace": "Valuta un'intera traccia dopo la chiusura della finestra di completamento.", + "session": "Valuta una sessione attraverso le tracce dopo la chiusura della finestra di completamento." }, "completionSection": "Criteri di completamento", "completionHelp": { - "trace": "La trace viene valutata non appena viene soddisfatto il primo di questi.", + "trace": "La traccia viene valutata non appena si verifica la prima di queste condizioni.", "session": "La sessione viene valutata non appena viene soddisfatto il primo di questi." }, "idleWindowLabel": "Finestra di inattività (secondi)", - "idleWindowHelp": "Valutato dopo {duration} senza nuovi span.", - "idleWindowHelpEmpty": "Valutato quando non arrivano nuovi span.", + "idleWindowHelp": "Valutata dopo {duration} senza nuovi span.", + "idleWindowHelpEmpty": "Valutata quando non arrivano nuovi span.", "maxAgeLabel": "Età massima (secondi)", - "maxAgeHelp": "Valutato {duration} dopo il primo span.", - "maxAgeHelpEmpty": "Valutato a un'età fissa, anche se gli span stanno ancora arrivando.", + "maxAgeHelp": "Valutata {duration} dopo il primo span.", + "maxAgeHelpEmpty": "Valutata a un'età fissa, anche se gli span stanno ancora arrivando.", "descriptionLabel": "Descrizione", "samplingModeLabel": "Modalità di campionamento", "samplingValueLabel": "Tasso di campionamento", @@ -11979,7 +11979,7 @@ "title": "Marcatori", "hint": { "span": "Seleziona uno o più scorer da eseguire per ogni span corrispondente.", - "trace": "Seleziona uno o più scorer da eseguire per ogni trace idonea.", + "trace": "Seleziona uno o più scorer da eseguire per ogni traccia idonea.", "session": "Seleziona uno o più scorer da eseguire per ogni sessione idonea." }, "meta": "{type} · v{version}", @@ -11990,36 +11990,36 @@ "filter": { "title": "Condizione del filtro", "hint": { - "span": "Solo gli span che corrispondono a questa condizione entrano nel campionamento e nello scoring.", - "trace": "Una trace entra nel campionamento e nello scoring se uno qualsiasi dei suoi span corrisponde a questa condizione.", - "session": "Una sessione entra nel campionamento e nello scoring se uno qualsiasi dei suoi span corrisponde a questa condizione." + "span": "Solo gli span che corrispondono a questa condizione vengono inclusi nel campionamento e nella valutazione.", + "trace": "Una traccia entra nel campionamento e nella valutazione se uno qualsiasi dei suoi span corrisponde a questa condizione.", + "session": "Una sessione entra nel campionamento e nella valutazione se uno qualsiasi dei suoi span corrisponde a questa condizione." } }, "selector": { - "title": "Quali span (opzionale)", + "title": "Quali Span (facoltativo)", "hint": { - "trace": "Lascia vuoto per includere ogni span nella trace." + "trace": "Lascia vuoto per includere tutti gli span della traccia." } }, "endSignal": { "title": "Segnale di fine (opzionale)", "hint": { - "trace": "Definisci una condizione di span che chiude immediatamente la trace quando uno span qualsiasi la soddisfa.", - "session": "Definisci una condizione di span che chiude immediatamente la sessione quando uno span qualsiasi la soddisfa." + "trace": "Definisci una condizione di span che chiude la traccia immediatamente quando qualsiasi span la soddisfa.", + "session": "Definisci una condizione di span che chiude la sessione immediatamente quando qualsiasi span la soddisfa." } }, "inputMapping": { "title": "Variabili del prompt", "hint": { - "span": "Associa ogni variabile a un attributo dello span.", - "trace": "Associa ogni variabile a un valore fornito dal sistema o a un attributo dello span.", - "session": "Associa ogni variabile a un valore fornito dal sistema o a un attributo dello span." + "span": "Mappa ogni variabile a un attributo di span.", + "trace": "Mappa ogni variabile a un valore fornito dal sistema o a un attributo di span.", + "session": "Mappa ogni variabile a un valore fornito dal sistema o a un attributo di span." }, "placeholder": "Seleziona un valore", - "searchPlaceholder": "Cerca valori di sistema e attributi dello span…", + "searchPlaceholder": "Cerca valori di sistema e attributi di span…", "groups": { "systemProvided": "Valori forniti dal sistema · Per ogni {scope} che questo job valuta", - "spanAttributes": "Attributi dello span" + "spanAttributes": "Attributi di span" }, "selectScorers": "Seleziona i segnapunti per configurarne le mappature.", "noVariables": "Questo segnapunti non ha variabili template da mappare.", @@ -12029,7 +12029,7 @@ "title": "Valori di sistema per {scope}", "description": "OpenObserve costruisce questi valori separatamente per ogni {scope} che questo job valuta. Usali come fonti quando mappi le variabili del prompt dello scorer.", "badge": "Fornito dal sistema", - "selectorRequired": "Span Selector richiesto", + "selectorRequired": "Selettore di span obbligatorio", "columns": { "variable": "Valore", "source": "Origine", @@ -12037,40 +12037,40 @@ }, "variables": { "input": { - "trace": "Input dallo span radice della trace." + "trace": "Input dallo span radice della traccia." }, "output": { - "trace": "Output dallo span radice della trace." + "trace": "Output dallo span radice della traccia." }, "statistics": { - "trace": "Metriche della trace: conteggio degli span, durata, chiamate LLM e tool, errori, token e costo.", - "session": "Metriche della sessione: conteggio delle trace e dei turni, durata ed errori." + "trace": "Metriche della traccia: numero di span, durata, chiamate LLM e strumenti, errori, token e costo.", + "session": "Metriche della sessione: numero di tracce e turni, durata ed errori." }, "spans": { - "trace": "Un sottoinsieme filtrato di span, scelto dallo Span Selector del job." + "trace": "Un sottoinsieme filtrato di span, scelto dal Selettore di span del job." }, "steps": { - "trace": "Span in ordine temporale; la parte centrale è piegata quando la trace è molto lunga.", - "session": "Trace in ordine temporale, rappresentate come turni di conversazione." + "trace": "Span in ordine temporale; la parte centrale viene compressa quando la traccia è molto lunga.", + "session": "Tracce in ordine temporale, rappresentate come turni di conversazione." } } } }, "spanSelector": { - "select": "Seleziona Span Selector", - "bindingHelp": "Le trace possono avere centinaia di span. Scegli quelli a cui questo scorer dovrebbe guardare.", + "select": "Seleziona il selettore di span", + "bindingHelp": "Le tracce possono avere centinaia di span. Scegli quelli che questo valutatore deve esaminare.", "createForScorer": "Crea per scorer", - "createForScorerTitle": "Crea uno Span Selector per questo scorer", - "editorTitle": "Span Selector", + "createForScorerTitle": "Crea un selettore di span per questo valutatore", + "editorTitle": "Selettore di span", "name": "Nome del selettore", "schemaMode": "Campi da leggere", "defaultSchema": "Campi GenAI standard", "customSchema": "Campi personalizzati", - "defaultSchemaHelp": "Questi otto campi vengono letti da ogni span corrispondente. Eventuali campi mancanti vengono passati vuoti.", + "defaultSchemaHelp": "Questi otto campi vengono letti da ogni span corrispondente. Qualsiasi valore mancante viene restituito vuoto.", "fields": "Campi", "fieldsHelp": "Vengono letti solo questi campi — nient'altro viene inviato allo scorer.", "maximumSpans": "Numero massimo di span", - "budget": "Limita quanti span vengono selezionati dalla trace.", + "budget": "Limita quanti span vengono selezionati dalla traccia.", "validation": { "name": "Inserisci un nome per il selettore.", "duplicateName": "I nomi dei selettori devono essere unici in questo job.", @@ -12078,22 +12078,22 @@ "fields": "Seleziona almeno un campo per uno schema personalizzato.", "maximumSpans": "Il numero massimo di span deve essere un numero intero positivo.", "budget": "Troppi span per i campi selezionati. Riduci il numero di span o leggi meno campi.", - "binding": "Seleziona un selettore di span per ogni scorer che utilizza span di traccia." + "binding": "Seleziona un selettore di span per ogni valutatore che utilizza span di traccia." } }, "preview": { "scopes": { "span": { "title": "Span corrispondenti", - "hint": "Dopo aver scelto uno stream e un filtro, questo pannello mostrerà quanti span il tuo job corrisponderà.", + "hint": "Dopo aver scelto uno stream e un filtro, questo pannello mostrerà quanti span corrisponderanno al tuo job.", "matchedSuffix": "span corrispondenti · ultima 1h", - "matchedLoading": "Conteggio span corrispondenti…" + "matchedLoading": "Conteggio degli span corrispondenti…" }, "trace": { - "title": "Trace corrispondenti", - "hint": "Dopo aver scelto uno stream e un filtro, questo pannello mostrerà quante trace il tuo job corrisponderà.", + "title": "Tracce corrispondenti", + "hint": "Dopo aver scelto uno stream e un filtro, questo pannello mostrerà quante tracce corrisponderanno al tuo job.", "matchedSuffix": "tracce corrispondenti · ultima 1h", - "matchedLoading": "Conteggio trace corrispondenti…" + "matchedLoading": "Conteggio delle tracce corrispondenti…" }, "session": { "title": "Sessioni corrispondenti", @@ -12122,9 +12122,9 @@ "nameRequired": "Job name is required", "streamRequired": "A stream is required", "idleWindowMinimum": "La finestra di inattività deve essere di almeno 1 secondo", - "idleWindowMaximumTrace": "La finestra di inattività della trace non può superare i 30 minuti", + "idleWindowMaximumTrace": "La finestra di inattività della traccia non può superare i 30 minuti", "idleWindowMaximumSession": "La finestra di inattività della sessione non può superare le 4 ore", - "maxAgeMaximumTrace": "L'età massima della trace non può superare le 2 ore", + "maxAgeMaximumTrace": "L'età massima della traccia non può superare le 2 ore", "maxAgeMaximumSession": "L'età massima della sessione non può superare le 24 ore", "samplingValueRequired": "A sampling value is required" } @@ -12187,7 +12187,7 @@ "curlDesc": "Il modo più rapido: incolla un comando e i log iniziano a scorrere", "shippers": "Usa un log shipper", "shippersDesc": "{product1}, {product2}, {product3}, {product4}, {product5} e altri", - "otelDesc": "Inserimento OTLP indipendente dal fornitore per log, tracce e metriche", + "otelDesc": "Ingestione OTLP indipendente dal fornitore per log, tracce e metriche", "or": "Oppure:", "aws": "AWS/CloudWatch", "askAi": "Chiedi all'IA di configurare l'ingestione" @@ -12196,7 +12196,7 @@ "title": "Scegli uno stream per iniziare a esplorare", "description": "Scegli uno stream, quindi premi Esegui query. Puoi perfezionare con filtri, una funzione VRL e un intervallo di tempo personalizzato una volta arrivati i risultati.", "selectStream": "Seleziona uno stream", - "selectStreamDesc": "Sfoglia i log, le tracce, le metriche e i flussi RUM", + "selectStreamDesc": "Sfoglia gli stream di log, tracce, metriche e RUM", "queryGuide": "Leggi la guida alle domande", "queryGuideDesc": "Filtri, modalità SQL, VRL e visualizzazioni salvate", "recent": "Recenti:" @@ -12496,7 +12496,7 @@ "expandRangeDesc": "I dati accessibili possono trovarsi in una finestra temporale diversa", "copyError": "Copia i dettagli dell'errore", "copied": "Copiato!", - "traceId": "ID di tracciamento:", + "traceId": "ID traccia:", "askAi": "Chiedi all'IA di risolvere la mia query", "showDetail": "Mostra dettagli", "hideDetail": "Nascondi dettagli" @@ -13384,7 +13384,7 @@ }, "minutes": "verbale", "noDestinations": "Nessuna destinazione disponibile", - "refreshDestinations": "Aggiorna le destinazioni", + "refreshDestinations": "Aggiorna destinazioni", "retries": "Riprova", "retriesOnFailure": "Riprova in caso di errore", "retriesOnFailureSuffix": "volte.", @@ -13676,12 +13676,12 @@ "alertSources": "Avvisi — Sorgenti esterne", "alertTemplates": "Avvisi — Modelli", "panelEditor": "Editor di pannelli", - "traceDetail": "Dettaglio della traccia", + "traceDetail": "Dettaglio traccia", "runningQueries": "Interrogazioni in esecuzione", "ingestionTokens": "IAM — Token di ingestione", "syntheticsTokens": "IAM — Token Synthetics", "alertIncidents": "Avvisi - Incidenti", - "pipelineDestinations": "Gasdotti — Destinazioni", + "pipelineDestinations": "Pipeline — Destinazioni", "enrichmentTables": "Tabelle di arricchimento", "iamInvitations": "IAM — Inviti", "iamOrganizations": "IAM — Organizzazioni", @@ -13757,7 +13757,7 @@ "iamGroupsRefresh": "Aggiorna elenco", "iamServiceAccountsAdd": "Aggiungi un nuovo account di servizio", "iamServiceAccountsRefresh": "Aggiorna elenco", - "alertDestinationsAdd": "Aggiungi una nuova destinazione", + "alertDestinationsAdd": "Aggiungi nuova destinazione", "alertDestinationsRefresh": "Aggiorna elenco", "alertSourcesAdd": "Aggiungi nuova sorgente di avviso", "alertSourcesRefresh": "Aggiorna elenco", @@ -13769,7 +13769,7 @@ "panelEditorSave": "Salva pannello", "panelEditorBack": "Scarta e torna indietro", "traceNextSpan": "Span successivo", - "tracePrevSpan": "Arco precedente", + "tracePrevSpan": "Span precedente", "runningQueriesRefresh": "Aggiorna l'elenco delle query", "ingestionTokensAdd": "Crea un nuovo token", "ingestionTokensRefresh": "Aggiorna l'elenco dei token", @@ -13780,7 +13780,7 @@ "aiChatExpand": "Espandi/comprimi chat AI", "logsSaveView": "Salva come visualizzazione salvata", "logsExport": "Esporta i risultati in formato CSV", - "tracesCopyUrl": "Copia, traccia, condividi l'URL", + "tracesCopyUrl": "Copia URL di condivisione della traccia", "alertIncidentsRefresh": "Aggiorna elenco", "pipelineDestinationsRefresh": "Aggiorna elenco", "enrichmentTablesRefresh": "Aggiorna elenco", @@ -14047,7 +14047,7 @@ "alertState": { "ok": "OK", "normal": "Normale", - "firing": "In allarme", + "firing": "Attivo", "notifyfailed": "Notifica fallita", "flapping": "Oscillante", "anomaly": "Anomalia", @@ -14133,7 +14133,7 @@ }, "eventStatus": { "failed": "Fallito", - "firing": "In allarme", + "firing": "Attivo", "anomaly": "Anomalia" }, "featureStatus": { @@ -14148,7 +14148,7 @@ "array": "Array" }, "incidentStatus": { - "firing": "In allarme", + "firing": "Attivo", "closed": "Chiuso" }, "invoiceStatus": { @@ -14318,7 +14318,7 @@ "failedToDeleteDestinations": "Impossibile eliminare {count} destinazione | Impossibile eliminare {count} destinazioni", "destinationsDeletedWithFailures": "{count} destinazione eliminata con successo, {failed} non riuscita | {count} destinazioni eliminate con successo, {failed} non riuscite", "noDestinationsSelectedForDeletion": "Nessuna destinazione selezionata per l'eliminazione", - "deletingDestinations": "Eliminazione delle destinazioni...", + "deletingDestinations": "Eliminazione destinazioni...", "destinationDeletedSuccessfully": "Destinazione {name} eliminata con successo", "errorWhilePullingDestinations": "Errore durante il recupero delle destinazioni.", "pleaseWaitWhileLoadingDestinations": "Attendere durante il caricamento delle destinazioni...", @@ -14564,8 +14564,8 @@ "errorWhileUpdating": "Errore durante l'aggiornamento del report." }, "correlation": { - "refreshingTraceData": "Aggiornamento dei dati delle tracce...", - "traceDetailViewComingSoon": "La visualizzazione dettagliata della traccia è in arrivo", + "refreshingTraceData": "Aggiornamento dei dati della traccia...", + "traceDetailViewComingSoon": "Vista dettaglio traccia in arrivo", "columnIsAlreadyVisible": "La colonna \"{name}\" è già visibile", "columnAddedToTable": "Colonna \"{name}\" aggiunta alla tabella" }, @@ -14605,7 +14605,7 @@ "isNotASupportedFileType": "Il tipo di file \"{fileName}\" non è supportato. Sono consentiti solo file {allowed}." }, "workflows": { - "thisBranchAlreadyEndsInA": "Questo ramo termina già in una Destinazione.", + "thisBranchAlreadyEndsInA": "Questo ramo termina già in una destinazione.", "chooseATriggerNodeToStart": "Scegli un nodo trigger per avviare il tuo flusso di lavoro", "thisConnectionWouldCreateALoop": "Questa connessione creerebbe un ciclo", "onlyOneIncomingConnectionToA": "È consentita una sola connessione in ingresso a un passaggio" @@ -14613,7 +14613,7 @@ "views": { "youAreNotAuthorizedToManage": "Non sei autorizzato a gestire la licenza.", "copiedToClipboard": "Copiato negli appunti", - "noDestinationsFoundPleaseCreateA": "Nessuna destinazione trovata. Crea prima una destinazione.", + "noDestinationsFoundPleaseCreateA": "Nessuna destinazione trovata. Creare prima una destinazione.", "errorWhilePullingDestinations": "Errore durante il recupero delle destinazioni.", "rumTokenUpdatedSuccessfully": "Token RUM aggiornato con successo.", "rumTokenGeneratedSuccessfully": "Token RUM generato con successo.", @@ -14631,7 +14631,7 @@ "pleaseWaitWhileLoadingStreams": "Attendi mentre carico gli stream...", "errorWhilePullingSummary": "Errore durante il recupero del riepilogo.", "pleaseWaitWhileLoadingSummary": "Attendi mentre carico il riepilogo...", - "noDestinationsCreateOneBeforeSaving": "Nessuna destinazione trovata. Creane una prima di salvare questo avviso.", + "noDestinationsCreateOneBeforeSaving": "Nessuna destinazione trovata. Crearne una prima di salvare questo avviso.", "errorWhileLoadingAlert": "Errore durante il caricamento dell'avviso." }, "RUM": { @@ -14830,7 +14830,7 @@ "noHistory": "Nessuna cronologia di valutazione per questo avviso. La misurazione inizia una volta che è stato eseguito.", "loadFailed": "Impossibile caricare la cronologia di valutazione", "legendGood": "OK", - "legendBad": "In allarme", + "legendBad": "Attivo", "legendUnmeasured": "Non misurato" } }, @@ -15008,7 +15008,7 @@ "loginCallback": "Callback di accesso", "emptyStateDemo": "Demo stato vuoto", "searchScheduler": "Pianificatore di ricerche", - "traceDetails": "Dettagli Traccia", + "traceDetails": "Dettagli della traccia", "sessionDetails": "Dettagli Sessione", "streamExplorer": "Esplora Stream", "viewDashboard": "Visualizza Dashboard", @@ -15360,14 +15360,14 @@ "failed": "Fallite" }, "columnHints": { - "calls": "Quante volte è stata eseguita questa query. Il conteggio del tuo database se lo riporta — copre ogni client, non solo le parti del tuo sistema che inviano tracce. Le righe contrassegnate come osservate dal client vengono contate dalle tracce, perché il tuo database non le ha riportate.", + "calls": "Quante volte è stata eseguita questa query. Il conteggio del database stesso dove lo riporta — che copre ogni client, non solo le parti del tuo sistema che inviano tracce. Le righe contrassegnate come osservate dal client vengono invece conteggiate dalle tracce, perché il database non le ha riportate.", "p50": "Metà di tutte le chiamate sono terminate più velocemente di questo. Conta solo le chiamate terminate — una query ancora in esecuzione, o che non è mai tornata, non viene misurata qui.", "p95": "La coda lenta — 1 chiamata su 20 ha impiegato almeno questo tempo. Conta solo le chiamate terminate — una query ancora in esecuzione, o che non è mai tornata, non viene misurata qui.", "p99": "Il peggiore 1% delle chiamate ha impiegato almeno questo tempo. Conta solo le chiamate terminate — una query ancora in esecuzione, o che non è mai tornata, non viene misurata qui.", "max": "La singola chiamata più lenta in questa finestra — una chiamata reale, non una media.", "errors": "Quante di queste chiamate sono tornate con un errore.", "perTrace": "Quante volte viene eseguita all'interno di una singola richiesta. Un numero alto di solito significa un ciclo.", - "load": "Tempo totale trascorso da questa query nel database. La cifra del tuo database dove la riporta: tempo di esecuzione su Postgres, ma tempo di ATTESA su MySQL e MariaDB — ogni riga dice quale. Le righe contrassegnate come osservate dal client sono misurate dalle tracce, quindi includono il round-trip di rete." + "load": "Tempo totale trascorso da questa query nel database. La cifra del database stesso dove la riporta: tempo di esecuzione su Postgres, ma tempo di ATTESA su MySQL e MariaDB — ogni riga indica quale. Le righe contrassegnate come osservate dal client sono misurate dalle tracce, quindi includono il round-trip di rete." }, "errorsNone": "Nessuno", "errorsAll": "Tutti", @@ -15405,7 +15405,7 @@ "n-plus-one": { "title": "Viene eseguita almeno {multiplier}× per richiesta", "body": "{share} del tempo di database · {service}", - "rule": "Mostrato perché questa query viene eseguita almeno {ratio} volte all'interno di una singola richiesta, in almeno {traces} richieste. È un limite inferiore, quindi il numero reale potrebbe essere più alto. Il lavoro batch legittimo può apparire allo stesso modo." + "rule": "Mostrata perché questa query viene eseguita almeno {ratio} volte in una singola richiesta, in almeno {traces} richieste. È un limite inferiore, quindi il numero reale potrebbe essere più alto. Un lavoro batch legittimo può sembrare lo stesso." }, "volume-shift": { "title": "Più chiamata, non più lenta", @@ -15533,7 +15533,7 @@ "plans": "Piani di query", "plansHint": "I passi che il tuo database ha compiuto per eseguire questa query. Inizia da qui per capire perché è lenta.", "callers": "Chiamanti ed esempi", - "callersHint": "Quali parti della tua applicazione hanno eseguito questa query e singole esecuzioni lente che puoi aprire come traccia.", + "callersHint": "Quali parti della tua applicazione hanno eseguito questa query e le singole esecuzioni lente che puoi aprire come traccia.", "callersLocked": "Le singole esecuzioni provengono dal tracing. Nessuna traccia ha registrato questa query in questo intervallo di tempo." }, "notFound": { @@ -15559,10 +15559,10 @@ "noSamples": "Nessuna esecuzione individuale caricata per questo intervallo.", "noSeries": "Nessuna cronologia per questa query nell'intervallo scelto.", "liveSeries": "I punti più recenti sono ancora in fase di conteggio e potrebbero cambiare.", - "noStream": "Non siamo riusciti a determinare quale flusso di trace trasporta questa query, quindi i suoi chiamanti ed esempi non possono essere caricati.", - "ambiguousStream": "Questa organizzazione ha più di un flusso di trace e non possiamo dire su quale venga eseguita questa query. Scegli un flusso per caricare i suoi chiamanti e trace di esempio.", - "pickStream": "Scegli un flusso di trace", - "invalidStream": "Quel nome di flusso di trace non è uno che riconosciamo, quindi non abbiamo eseguito la ricerca.", + "noStream": "Non siamo riusciti a determinare quale stream di tracce trasporta questa query, quindi i suoi chiamanti e gli esempi non possono essere caricati.", + "ambiguousStream": "Questa organizzazione ha più di uno stream di tracce e non possiamo dire su quale venga eseguita questa query. Scegli uno stream per caricare i suoi chiamanti e le tracce di esempio.", + "pickStream": "Scegli uno stream di tracce", + "invalidStream": "Il nome di quello stream di tracce non è riconosciuto, quindi non abbiamo eseguito la ricerca.", "firstSeen": "PRIMA APPARIZIONE IN QUESTA LISTA ALLE {time}", "firstSeenHint": "Il punto più precoce in questo intervallo in cui questa query era abbastanza pesante da essere tracciata da sola.", "lastSeen": "ULTIMA APPARIZIONE ALLE {time}", @@ -15593,7 +15593,7 @@ "sampleOk": "OK", "sampleError": "Fallite", "viewTrace": "Vedi la richiesta →", - "viewTraces": "Vedi trace di esempio", + "viewTraces": "Vedi tracce di esempio", "copySummary": "Copia", "copySummaryHint": "Ogni numero qui è già presente in questa pagina — questo si limita a scrivere la frase, quindi il minuto 13 di un incidente produce un messaggio invece di nulla.", "summaryCopied": "Riepilogo copiato", @@ -15686,7 +15686,7 @@ "tracedCalls": "{calls} chiamate tracciate", "coverage": "{count} servizi visti in {traced} delle {executions} esecuzioni sopra. Il resto proviene da chiamanti che non stai ancora tracciando.", "coverageUnknown": "{count} servizi visti in {traced} chiamate tracciate. Il tuo database non ha riportato un totale per questa istruzione, quindi non c'è alcuna quota da mostrare.", - "noneNamed": "{traced} chiamate sono state tracciate, ma nessuna di esse ha potuto essere collegata a un servizio: le loro tracce iniziano al di fuori di questo intervallo di tempo." + "noneNamed": "{traced} chiamate sono state tracciate, ma nessuna di esse ha potuto essere ricondotta a un servizio — le loro tracce iniziano al di fuori di questo intervallo di tempo." }, "callersEmpty": { "title": "Nessuna chiamata tracciata per questa query", @@ -15752,9 +15752,9 @@ "failedWithCode": "Fallita · {code}", "viewTrace": "Apri la richiesta di cui questa chiamata faceva parte", "scatterOk": "Completata", - "partial": "Alcuni dati di tracciamento non possono essere letti, quindi alcune chiamate potrebbero mancare da questa lista.", + "partial": "Alcuni dei tuoi dati di tracce non hanno potuto essere letti, quindi alcune chiamate potrebbero mancare da questo elenco.", "disclosureShort": "Ogni riga è una chiamata reale completata.", - "disclosureDetail": "Misurate dall'applicazione che ha effettuato la chiamata, dalle tracce che invii. Solo le chiamate terminate sono qui — una query ancora in esecuzione, o che si è bloccata e non è mai tornata, non ha prodotto alcuna misurazione.", + "disclosureDetail": "Misurato dall'applicazione che ha effettuato la chiamata, dalle tracce che invii. Solo le chiamate completate sono qui — una query ancora in esecuzione, o una che si è bloccata e non è più tornata, non ha prodotto alcuna misurazione.", "counts": { "complete": "Mostrando tutte le {count} chiamate al database in questa finestra, dalla più lenta.", "truncated": "Le {count} chiamate più lente in questa finestra — ne sono state eseguite più di quante mostrate qui.", @@ -15959,8 +15959,8 @@ "blocking": "Bloccante" }, "coverage": { - "summary": "L'attesa più lunga è {longest}. Ogni attesa riconduce a {roots} con un lock aperto.", - "summaryCapped": "C'erano più sessioni in attesa di quante potessimo leggerne in una volta. Di quelle che abbiamo, l'attesa più lunga è {longest} e riconducono a {roots} con un lock aperto.", + "summary": "L'attesa più lunga è {longest}. Ogni attesa riconduce a {roots} che tengono aperto un lock.", + "summaryCapped": "Più sessioni erano in attesa di quante potessimo leggere in una volta. Di quelle che abbiamo, l'attesa più lunga è {longest} e riconducono a {roots} che tengono aperto un lock.", "summaryOneRoot": "una sessione", "summaryManyRoots": "{count} sessioni", "checked": "Controllato ogni {interval} secondi; ultimo controllo {time}.", diff --git a/web/src/locales/languages/ja-JP.json b/web/src/locales/languages/ja-JP.json index 3ab14d19e7..a0726e5574 100644 --- a/web/src/locales/languages/ja-JP.json +++ b/web/src/locales/languages/ja-JP.json @@ -43,7 +43,7 @@ "allCaughtUp": "すべて確認済みです", "noPanels": { "title": "ここにはパネルがまだありません", - "description": "パネルを追加して、ログ、メトリクス、トレースの可視化を開始します。", + "description": "パネルを追加して、ログ、メトリクス、トレースの可視化を始めましょう。", "action": "パネルを追加", "actionDesc": "チャート、テーブルなど" }, @@ -78,7 +78,7 @@ }, "noDashboards": { "title": "はじめてのダッシュボードを作成", - "description": "ダッシュボードでは、メトリクス、ログ、トレースが 1 つのビューにまとめられます。作成して始めましょう。", + "description": "ダッシュボードはメトリクス、ログ、トレースを1つのビューにまとめます。1つ作成して始めましょう。", "action": "新しいダッシュボード", "actionDesc": "空のキャンバスから始める", "import": "ダッシュボードをインポート", @@ -133,11 +133,11 @@ "description": "組織はユーザーとデータをグループ化します。作成して始めましょう。" }, "noAlertDestinations": { - "title": "目的地はまだありません", - "description": "送信先は、アラート通知の送信先 (Slack、メール、Webhook など) を定義します。", - "action": "新しい目的地", + "title": "宛先はまだありません", + "description": "宛先は、アラート通知の送信先を定義します — Slack、メール、Webhookなど。", + "action": "新しい宛先", "actionDesc": "通知チャネルを接続する", - "import": "インポート先", + "import": "宛先をインポート", "importDesc": "JSON ファイルからのインポート" }, "noAlertSources": { @@ -147,10 +147,10 @@ "actionDesc": "Webhook URLとトークンを作成" }, "noPipelineDestinations": { - "title": "目的地はまだありません", + "title": "宛先はまだありません", "description": "パイプライン出力の外部ターゲット — HTTP エンドポイントとリモート書き込みターゲット。", - "action": "新しい目的地", - "actionDesc": "パイプラインデスティネーションの接続" + "action": "新しい宛先", + "actionDesc": "パイプライン宛先を接続" }, "noAlertTemplates": { "title": "テンプレートはまだありません", @@ -192,7 +192,7 @@ }, "noDiscoveredServices": { "title": "サービスが見つかりませんでした", - "description": "トレースが到着し始めると、サービスが自動的にここに表示されます。" + "description": "トレースが到着し始めると、サービスがここに自動的に表示されます。" }, "noNodes": { "title": "使用可能なノードはありません", @@ -248,7 +248,7 @@ }, "noDatasets": { "title": "最初のデータセットを作成", - "description": "ゴールデンデータセットは、注釈付きのトレースとレビューをバージョン管理された評価セットに収集します。作成してキュレーションを始めましょう。", + "description": "ゴールデンデータセットは、注釈付きトレースとレビューをバージョン管理された評価セットに収集します。1つ作成してキュレーションを始めましょう。", "action": "新しいデータセット", "actionDesc": "空のデータセットを開始" }, @@ -288,15 +288,15 @@ }, "noLLMInsights": { "title": "LLM アクティビティはまだありません", - "description": "OpenTelemetry Gen-AI セマンティック規約を使用してサービスをインストルメントし、少なくとも 1 つのトレースを取り込んでこのダッシュボードに入力してください。", + "description": "OpenTelemetry Gen-AIセマンティック規約でサービスを計装し、少なくとも1つのトレースを取り込んで、このダッシュボードに表示させます。", "action": "オープンテレメトリー搭載機器", - "actionDesc": "トレースの gen_ai_* 属性をキャプチャ" + "actionDesc": "トレースでgen_ai_*属性をキャプチャします" }, "noLLMSessions": { "title": "LLM セッションはまだありません", - "description": "セッションは gen_ai_conversation_id でグループ化されます。各会話がトレースにタグ付けされるようにサービスをインストルメントすると、セッションがここに表示されます。", + "description": "セッションはgen_ai_conversation_idでグループ化されます。各会話がトレースにタグを付けるようにサービスを計装すると、セッションがここに表示されます。", "action": "オープンテレメトリー搭載機器", - "actionDesc": "gen_ai_conversation_id でスパンにタグを付ける" + "actionDesc": "スパンにgen_ai_conversation_idをタグ付けします" }, "noScorers": { "title": "スコアラーはまだいません", @@ -342,11 +342,11 @@ }, "noTraces": { "title": "トレースが見つかりません", - "description": "選択したサービスと時間範囲に一致するトレースはありません。より広い時間範囲または別のサービスを試してください。" + "description": "選択したサービスと時間範囲に一致するトレースがありません。時間範囲を広げるか、別のサービスを試してください。" }, "noServiceGraph": { "title": "サービスグラフデータなし", - "description": "より長い時間範囲をクエリしてみるか、サービスがスパンメトリクスを出力していることを確認してください。" + "description": "より長い時間範囲でクエリしてみるか、サービスがスパンメトリクスを出力していることを確認してください。" }, "noServicesCatalog": { "title": "サービスが見つかりません", @@ -480,7 +480,7 @@ "noSearchResults": "検索結果がありません", "noServiceAccounts": "サービスアカウントがありません", "noStreams": "データが取り込まれていません", - "noTraces": "トレースがありません", + "noTraces": "トレースなし", "noUsers": "ユーザーがいません" }, "noExperiments": { @@ -744,7 +744,7 @@ "nameIsRequired": "名前は必須です", "streamTypeIsRequired": "ストリームタイプは必須です", "functionNameIsRequired": "関数名は必須です", - "remoteDestinationIsRequired": "リモート接続先は必須です", + "remoteDestinationIsRequired": "リモート宛先が必要です", "timezoneIsRequired": "タイムゾーンは必須です", "idPrefix": "ID: {id}", "unchangedCount": "変更なし ({count})", @@ -1064,7 +1064,7 @@ "viewTrace": "トレースを表示", "viewTraceUnavailable": "このログレコードのトレースを開けませんでした。", "viewRelated": "関連を表示", - "viewRelatedTooltip": "関連するトレースとメトリクスを表示する", + "viewRelatedTooltip": "関連するトレースとメトリクスを表示", "flattened": "平坦化", "original": "オリジナル", "resetFilters": "フィルターをリセット", @@ -1146,8 +1146,8 @@ "selectFunctionNamePlaceholder": "関数名を選択", "confirmFunctionUpdateTitle": "更新を確認", "confirmFunctionUpdateMsg": "関数 {name} を更新してよろしいですか?", - "traceIdLabel": "トレース ID:", - "enterTraceIdPlaceholder": "トレース ID を入力", + "traceIdLabel": "トレースID:", + "enterTraceIdPlaceholder": "トレースIDを入力", "changeQueryModeTitle": "クエリーモードを変更", "changeQueryModeConfirm": "クエリモードを変更してもよろしいですか?X 軸、Y 軸、フィルターに保存されたデータは消去されます。", "patternExampleLog": "ログの例", @@ -1384,7 +1384,7 @@ "breadcrumbs": "ブレッドクラム", "tags": "[タグ]", "traces": "トレース", - "searchEvents": "イベント検索", + "searchEvents": "イベントを検索", "loadingSessions": "しっかりつかまって。セッションを引っ張ってるから。", "errorStack": "エラースタック", "sessionReplay": "セッションリプレイ", @@ -1394,11 +1394,11 @@ "discoverSessionMessage": "セッションリプレイは、ウェブサイトまたはアプリケーションでのユーザーインタラクションをキャプチャして再生します。これにより、ユーザーがどのようにナビゲートしたか、どこをクリックしたか、何を入力したか、コンテンツにどのように反応したかを視覚的に確認できます。", "loadingErrorDetails": "ちょっと待ってください。エラーの詳細を取得中です。", "eventID": "イベント ID", - "noCorrelatedTraces": "このセッションの相関トレースは見つかりませんでした。", + "noCorrelatedTraces": "このセッションに関連するトレースが見つかりません。", "span": "スパン", "spans": "スパン", "errorTraces": "エラートレース", - "failedToFetchTraces": "トレースデータを取得できませんでした。もう一度試してください。", + "failedToFetchTraces": "トレースデータの取得に失敗しました。もう一度お試しください。", "seekToMoment": "セッションの今この瞬間を探して", "route": "ルート", "duration": "所要時間", @@ -1561,7 +1561,7 @@ "feature_license": "ライセンス", "feature_support": "サポート", "feature_cost": "費用", - "feature_pipelines_external": "パイプライン-外部宛先", + "feature_pipelines_external": "パイプライン - 外部宛先", "feature_extreme_performance": "究極のパフォーマンス (多くのクエリで100倍向上)", "feature_query_optimizer": "クエリオプティマイザー", "value_license_agpl": "AGPL", @@ -1663,7 +1663,7 @@ }, "core_features": { "logs_metrics_traces": { - "name": "ログ、メトリックス、トレース", + "name": "ログ、メトリクス、トレース", "note": "完全なオブザーバビリティデータの取り込みと分析" }, "rum": { @@ -1736,8 +1736,8 @@ "note": "PII と機密情報の保護" }, "pipeline_remote_destinations": { - "name": "パイプラインのリモート送信先", - "note": "リモート宛先へのデータ送信" + "name": "パイプラインのリモート宛先", + "note": "リモート宛先にデータを送信" }, "query_optimizer": { "name": "クエリー・オプティマイザー/アグリゲーション・キャッシュ", @@ -1780,7 +1780,7 @@ "note": "最適化された分散結合操作" }, "logs_metrics_traces_correlation": { - "name": "ログ、指標、トレースの相関関係", + "name": "ログ、メトリクス、トレースの相関", "note": "自動検出および関連づけ" }, "service_maps": { @@ -2665,7 +2665,7 @@ "output": "出力", "noInput": "このステップは前回の実行でレコードを受け取りませんでした。", "sentExternally": "外部宛先に送信しました", - "destinationNoRecords": "この宛先にレコードが届きませんでした — 何も送信されませんでした。", + "destinationNoRecords": "この宛先にレコードが届かなかったため、送信は行われませんでした。", "branchFiltered": "0 レコード — このブランチには何も渡されませんでした。", "conditionNoMatch": "この条件に一致するレコードはありませんでした — 後続には何も進みませんでした。", "errorHeading": "エラー", @@ -2741,12 +2741,12 @@ "functionCreateNew": "新しい関数を作成", "functionRequired": "関数が必要です", "functionLoadError": "関数を読み込めません", - "destinationBody": "送信先に送信", + "destinationBody": "宛先に送信", "destinationBodySet": "{name} に送信", - "destinationSelect": "送信先", - "destinationCreateNew": "新しい送信先を作成", - "destinationRequired": "送信先を選択してください", - "destinationLoadError": "送信先を読み込めません", + "destinationSelect": "宛先", + "destinationCreateNew": "新しい宛先を作成", + "destinationRequired": "宛先を選択してください", + "destinationLoadError": "宛先を読み込めません", "namePlaceholder": "ステップ名 (任意)", "commentLabel": "コメント (任意)", "commentPlaceholder": "このステップに関するメモを追加...", @@ -2756,8 +2756,8 @@ "disabledBadge": "無効", "incompleteBadge": "後で設定", "destinationSetUpLater": "後で設定", - "destinationSetUpLaterPrompt": "まだ送信先がありませんか?これをオンにすると後で設定できます — 今すぐ下書きを保存してテストできます。", - "destinationSetUpLaterActive": "今のところ送信先はスキップされます — 名前とコメントは保存されます。公開前に送信先が必要です。", + "destinationSetUpLaterPrompt": "宛先がまだありませんか? これをオンにして後で設定できます。下書きを保存して今すぐテストできます。", + "destinationSetUpLaterActive": "宛先は今のところスキップされます。名前とコメントは引き続き保存されます。公開する前に宛先が必要です。", "functionSetUpLater": "後で設定", "functionSetUpLaterPrompt": "まだ関数がありませんか?これをオンにすると後で設定できます — 今すぐ下書きを保存してテストできます。", "functionSetUpLaterActive": "今のところ関数はスキップされます — 名前とコメントは保存されます。公開前に関数が必要です。" @@ -2815,7 +2815,7 @@ "functionNodeEmptyName": "関数ノード {id} の関数名が空です。", "functionNodeInvalidName": "関数ノード {id} の関数名 \"{name}\" が無効です。利用可能な関数のいずれかである必要があります。", "outputStreamNodeEmptyName": "出力ストリームノード {id} のストリーム名が空です。", - "remoteStreamNodeEmptyDestination": "リモートストリームノード {id} の宛先名が空です。", + "remoteStreamNodeEmptyDestination": "リモートストリームノード {id} の宛先名が空です", "remoteStreamNodeInvalidDestination": "リモートストリームノード {id} の宛先 \"{destination}\" が無効です。利用可能なパイプライン宛先のいずれかである必要があります。", "edgeMissingSourceNode": "エッジ {id} が存在しないソースノード {source} を参照しています。", "edgeMissingTargetNode": "エッジ {id} が存在しないターゲットノード {target} を参照しています。", @@ -2844,7 +2844,7 @@ "v0ConditionFields": "パイプライン - {index}、ノード {nodeIndex}: V0形式 - 各条件にはcolumn、operator、valueが必要です。", "v1ConditionInvalid": "パイプライン - {index}、ノード {nodeIndex}: 無効なV1条件形式です。", "conditionFormatUnrecognized": "パイプライン - {index}、ノード {nodeIndex}: 認識できない条件形式です。", - "remoteDestinationRequired": "パイプライン - {index}: リモート宛先は必須です", + "remoteDestinationRequired": "パイプライン - {index}: リモート宛先が必要です", "createSuccess": "パイプライン - {index}: \"{name}\" が正常に作成されました \n注: 作成されたパイプラインオブジェクト {name} をjsonファイルから削除してください", "createFailed": "パイプライン - {index}: \"{name}\" の作成に失敗しました --> \n 理由: {reason}", "sqlQueryMismatch": "パイプライン - {index}: SQLクエリはすべてのノードで同じである必要があります。また、ノード内のクエリと一致するようにしてください。\n\n input.sql_query: {sqlQuery} \n\n input.source.query_condition.sql: {sourceSql} \n", @@ -2945,7 +2945,7 @@ "defaultDelayTooltip": "デフォルト: 5 秒", "deleteDataBeforeBackfill": "バックフィル前に既存データを削除", "irreversibleDeletionWarning": "警告: 元に戻せないデータ削除", - "deleteBackfillWarningMessage": "これは、バックフィルを実行する前に、指定された期間の宛先ストリーム内のすべてのデータを完全に削除します。この操作は元に戻せません。", + "deleteBackfillWarningMessage": "これにより、バックフィルを実行する前に、指定した期間の宛先ストリーム内のすべてのデータが完全に削除されます。この操作は元に戻せません。", "timeAlignmentRequirements": "時間アライメント要件(UTC):", "logsHourBoundaryNote": "ストリーム: 時間はUTCの1時間境界に合わせる必要があります(例: 10:00:00、10:15:00ではない)", "metricsTracesLabel": "メトリクス/トレース", @@ -2971,8 +2971,8 @@ "statusUnknown": "不明", "phaseInitializing": "初期化中" }, - "deleteBackfillConfirmMessage": "バックフィル前に既存データを削除することを選択しました。これにより、指定された期間の宛先ストリーム内のすべてのデータが完全に削除されます。", - "editBackfillDeleteConfirmMessage": "バックフィル前に既存データを削除することを選択しました。これにより、指定された期間の宛先ストリーム内のすべてのデータが完全に削除されます。この操作は、ジョブが更新されると取り消しやキャンセルはできません。続行してもよろしいですか?", + "deleteBackfillConfirmMessage": "バックフィルの前に既存データを削除することを選択しました。これにより、指定した期間の宛先ストリーム内のすべてのデータが完全に削除されます。", + "editBackfillDeleteConfirmMessage": "バックフィルの前に既存データを削除することを選択しました。これにより、指定した期間の宛先ストリーム内のすべてのデータが完全に削除されます。ジョブが更新されると、この操作は元に戻したりキャンセルしたりすることはできません。続行してもよろしいですか?", "actionCannotBeUndone": "この操作は、ジョブが作成されると取り消しやキャンセルはできません。", "areYouSureProceed": "続行してもよろしいですか?", "clearFilters": "フィルターをクリア", @@ -3021,7 +3021,7 @@ "trigger": "トリガー", "aggregation": "アグリゲーション", "selectColumn": "列を選択", - "value": "価値", + "value": "値", "fieldRequired": "フィールドは必須です!", "sqlQuery": "SQL クエリー", "promqlQuery": "プロムQL クエリ", @@ -3036,15 +3036,15 @@ "sourceQueryTooltip": "ソース:クエリノード", "functionTooltip": "ファンクションノード", "conditionTooltip": "条件ノード", - "destinationStreamTooltip": "宛先:ストリームノード", - "destinationExternalTooltip": "送信先:外部送信先ノード", + "destinationStreamTooltip": "宛先: ストリームノード", + "destinationExternalTooltip": "宛先: 外部宛先ノード", "pipelineNotFound": "パイプラインが見つかりません", "pipelineNameRequired": "パイプライン名が必要です", "sourceNodeRequired": "ソースノードが必要です", - "destinationNodeRequired": "デスティネーションノードが必要です", + "destinationNodeRequired": "宛先ノードが必要です", "connectAllNodes": "保存する前にすべてのノードを接続してください", "connectAllNodesShort": "すべてのノードを接続してください", - "enrichmentTablesScheduledOnly": "宛先ストリームとしてのエンリッチメントテーブルは、スケジュールされたパイプラインでのみ使用できます", + "enrichmentTablesScheduledOnly": "宛先ストリームとしてのエンリッチメントテーブルは、スケジュールされたパイプラインでのみ利用できます", "savingPipeline": "パイプラインを保存中...", "pipelineUpdated": "パイプラインは正常に更新されました", "pipelineSaved": "パイプラインは正常に保存されました", @@ -3096,7 +3096,7 @@ "queryNode": "クエリ", "transformNode": "トランスフォーム", "functionNode": "ファンクション", - "destinationNode": "目的地", + "destinationNode": "宛先", "remoteNode": "リモート", "conditionsNode": "条件", "editorFunctionTooltip": "関数でペイロードを再形成する", @@ -3156,7 +3156,7 @@ "customStep5": "出力形式(JSONまたはNDJSON)を選択します", "customStep6": "動作を確認するため接続をテストします", "defaultTitle": "接続詳細", - "defaultStep1": "特定の手順を表示するには、宛先タイプを選択します" + "defaultStep1": "宛先タイプを選択すると、具体的な手順が表示されます" }, "deleteFunctionAssociationConfirm": "関数の関連付けを削除してもよろしいですか?", "deleteStreamRoutingConfirm": "ストリームルーティングを削除してもよろしいですか?", @@ -3182,7 +3182,7 @@ "noJobSelected": "ジョブが選択されていません", "updateBackfillJobFailed": "バックフィルジョブの更新に失敗しました", "fetchPipelineHistoryFailed": "パイプライン履歴の取得に失敗しました", - "defaultDestinationNodeWarning": "デフォルトの宛先ノードを削除すると、そこへのデータの取り込みが停止します。ソースストリームは、新しく追加された宛先ストリームのみにルーティングされるようになります。どの宛先ストリームにもルーティングされないデータは破棄されます。", + "defaultDestinationNodeWarning": "デフォルトの宛先ノードを削除すると、そのノードへのデータ取り込みが停止します。ソースストリームは、新しく追加された宛先ストリームにのみルーティングされます。どの宛先ストリームにもルーティングされないデータは破棄されます。", "confirmBulkDeleteMsg": "パイプラインを {count} 件削除してもよろしいですか?", "confirmPauseBackfillJob": "バックフィルジョブ「{name}」を一時停止してもよろしいですか?後で再開できます。", "confirmResumeBackfillJob": "バックフィルジョブ「{name}」を再開してもよろしいですか?", @@ -3292,10 +3292,10 @@ "analyzingDimensions": "ディメンションを解析中...", "arrowSeparator": "→", "computingDistributions": "{count} 次元にわたる度数分布の計算", - "dashboardDescError": "エラースパイク期間中のトレースのエラー率を、ディメンション全体でベースラインと比較", - "dashboardDescLatency": "選択したトレースのパーセンタイルレイテンシ(所要時間 {start}-{end}µs)をベースラインとディメンション全体で比較", - "dashboardDescVolume": "トレース数の分布をベースラインとディメンション全体で比較", - "dashboardDescVolumeRate": "選択した期間のトレース数分布(レート {start}-{end} トレース)をベースラインとディメンション全体で比較", + "dashboardDescError": "エラースパイク期間中のトレースのエラー率を、ディメンション別にベースラインと比較", + "dashboardDescLatency": "選択したトレースのパーセンタイルレイテンシ(所要時間 {start}-{end}µs)を、ディメンション別にベースラインと比較", + "dashboardDescVolume": "ディメンション別に、トレース数の分布をベースラインと比較", + "dashboardDescVolumeRate": "選択した期間のトレース数の分布(レート {start}-{end} トレース)を、ディメンション別にベースラインと比較", "dashboardTitleError": "エラーインサイト", "dashboardTitleLatency": "レイテンシインサイト", "dashboardTitleVolume": "ボリュームインサイト", @@ -3303,8 +3303,8 @@ "durationLabel": "所要時間:", "failedToLoad": "分析を読み込めませんでした", "panelDescErrorComparison": "ディメンション {dimension} のエラー率比較。選択バーが高いほど、このディメンション値がエラースパイク期間中に多くのエラーを持つことを示します。", - "panelDescLatencyComparison": "ディメンション {dimension} のパーセンタイルレイテンシ比較。選択バーが高いほど、このディメンション値が遅いトレースと関連していることを示します。", - "panelDescVolumeComparison": "ディメンション {dimension} のトレース数比較。選択バーが高いほど、このディメンション値が高ボリューム期間中により頻繁に出現することを示します。", + "panelDescLatencyComparison": "ディメンション {dimension} のパーセンタイルレイテンシ比較。選択されたバーが高いほど、このディメンション値は遅いトレースと相関していることを示します。", + "panelDescVolumeComparison": "ディメンション {dimension} のトレース数比較。選択されたバーが高いほど、このディメンション値が高ボリューム期間に頻繁に現れることを示します。", "panelDescVolumeTopValues": "ディメンション {dimension} の件数上位値。", "refreshTooltip": "パーセンタイルを更新して分析を更新", "retryButton": "リトライ", @@ -3315,7 +3315,7 @@ "title": "インサイト", "tabLabel": "レート", "analyzeTooltipLogs": "現在の時間範囲のディメンション分布を分析", - "analyzeTooltipTraces": "レート、レイテンシー、エラーパターンのトレースディメンションを分析", + "analyzeTooltipTraces": "レート、レイテンシ、エラーパターンについてトレースディメンションを分析", "rateLabel": "レート:", "searchInspectionsLabel": "検索ジョブの実行詳細を検査する", "inspectBtnLabel": "検査", @@ -3418,7 +3418,7 @@ "singleTargetTitle": "単一のリモート書き込みターゲット", "fanoutTitle": "複数のバックエンドへのファンアウト", "tipPrefix": "ヒント: `vmagent`はフラグを繰り返すことで書き込みを複製できます", - "tipSuffix": "そのため、既存のVictoriaMetrics宛先を維持しながらメトリクスをOpenObserveに転送できます。", + "tipSuffix": "フラグを指定すると、既存のVictoriaMetrics宛先を維持しつつ、メトリクスをOpenObserveにも転送できます。", "docLinkText": "vmagentのリモート書き込みターゲットの設定について詳しく学ぶ。" }, "ai": { @@ -3629,8 +3629,8 @@ "anyWindowsHostNote": "任意の Windows サーバーまたは VM。", "arrow": "→", "askOnSlack": "Slack で質問する", - "autoInstrumentTracesDesc": "省略可能。OpenTelemetry オペレーターはアノテーション付きワークロードに計測を挿入するため、**アプリケーション コードに触れたりイメージを再ビルドしたりせずに分散トレース**を取得できます。言語を選択し、実行中の名前空間にアノテーションを付けます。", - "autoInstrumentTracesTitle": "アプリケーションをトレース用に自動インストルメント化する", + "autoInstrumentTracesDesc": "任意です。OpenTelemetryオペレーターが注釈付きワークロードに計装を注入するため、**アプリケーションコードに触れず、イメージを再ビルドすることなく分散トレースを取得できます**。言語を選択し、実行中のネームスペースに注釈を付けてください。", + "autoInstrumentTracesTitle": "トレース用にアプリケーションを自動計装する", "cassandraJmxNote": "レシーバーが接続できるように、Cassandra で JMX リモートアクセスを有効にします。", "cassandraTagline": "OpenTelemetry Collector の JMX レシーバーを使用して Cassandra メトリクスを収集し、OpenObserve に送信します。", "checking": "確認中…", @@ -3675,7 +3675,7 @@ "gcpFixBody": "GCPはサブスクリプション自体の配信失敗を報告します。シンクがパブリッシュしているのにここに何も届かない場合、通常はプッシュエンドポイントがリクエストを拒否しています:", "gcpFixTitle": "プッシュサブスクリプションを確認", "gcpPushUrlNote": "このURLは秘密にしてください — 取り込みキーが埋め込まれています。漏洩した場合はこのページのヘッダーからローテーションしてください。", - "gcpSinkDesc": "GCP コンソールで、Pub/Sub を宛先として **Log Router シンク** を作成し(Logging → Log Router → Create sink)、トピックを自動作成させます。シンクの包含フィルターによって、OpenObserve に到達するログが決まります。", + "gcpSinkDesc": "GCPコンソールで、宛先としてPub/Subを使用して**Log Routerシンク**(Logging → Log Router → Create sink)を作成し、トピックを作成させます。シンクの包含フィルターが、どのログがOpenObserveに到達するかを決定します。", "gcpSinkTitle": "ログを Pub/Sub トピックにルーティングする", "gcpSinkWriterNote": "シンクのライターIDにトピックのPub/Subパブリッシャーロールを付与してください。そうしないと、静かに何もパブリッシュされません。", "gcpStreamHelp": "上記のプッシュ URL で使用され、下のチェックで監視されます。専用のストリームにより GCP ログを分離できます。", @@ -3714,7 +3714,7 @@ "k8sInstallerNote": "これにより、cert-manager、OpenTelemetryオペレーター、OpenObserveコレクターが自動的にインストールされます。", "k8sInternalEndpointNote": "OpenObserveがこの同じクラスター内で実行される場合にこれを使用してください — トラフィックはクラスター外に出ることはありません。", "k8sTroubleAnnotationA": "インジェクションはポッド作成時に行われるため、既存のポッドは再起動するまで影響を受けません — `kubectl rollout restart deployment -n my-namespace`を実行してください。アノテーションが適用されたことを`kubectl get ns my-namespace -o yaml`で確認し、値が`openobserve-collector/openobserve-`と一致することを確認してください。Goの場合、`otel-go-auto-target-exe`はコンテナ**内**のバイナリのパスである必要があります。", - "k8sTroubleAnnotationQ": "名前空間にアノテーションを付けましたが、トレースが表示されません", + "k8sTroubleAnnotationQ": "ネームスペースに注釈を付けたのにトレースが表示されません", "k8sTroubleEndpointA": "**In-Cluster**は、OpenObserve自体がこのクラスター内で実行されている場合にのみ使用してください。その場合、トラフィックはクラスター内に留まり、ネットワークを越えることはありません。URLは`http://-openobserve-router..svc.cluster.local:5080`です — デフォルトでは名前空間`openobserve`のリリース`o2`を想定しているため、異なる場合は編集してください。それ以外の場合は外部エンドポイントを使用します。", "k8sTroubleEndpointQ": "どちらのエンドポイントを使用すべきですか — 外部ですか、それともクラスター内ですか?", "k8sTroubleExampleA": "はい — **HOTコマース**はエンドツーエンドで接続されたサンプルアプリケーションであり、**OpenTelemetryオペレーター**のドキュメントには完全なアノテーションリファレンスが記載されています。両方ともこのページの下部にリンクされています。", @@ -3748,7 +3748,7 @@ "mysqlTagline": "OpenTelemetry Collector で MySQL メトリクスを収集し、OpenObserve に送信してください。", "noLogsFoundYet": "まだログが見つかりません", "noMetricsFoundYet": "まだメトリクスが見つかりません", - "noSpansFoundYet": "まだスパンが見つかりません", + "noSpansFoundYet": "スパンはまだ見つかりません", "nothingOnStream": "{stream}には何もありません — アプリを実行してもう一度テストしてください", "notTestedYet": "まだテストされていません", "onStream": "{stream}上", @@ -3757,7 +3757,7 @@ "oracleTagline": "OpenTelemetry Collector で Oracle DB メトリクスを収集し、OpenObserve に送信してください。", "otlpFixBody": "エクスポーターを定義するだけでは不十分です — パイプラインにリストされる必要があります。これは、正しく見える設定が何も送信しない最も一般的な理由です:", "otlpFixTitle": "エクスポーターが実際にパイプラインに配線されているか確認", - "otlpGrpcNote": "高スパン量の場合、HTTPよりもオーバーヘッドが低くなります。ポート5081はコレクターから到達可能である必要があります。", + "otlpGrpcNote": "高スパン量の場合、HTTPよりもオーバーヘッドが低くなります。ポート5081にコレクターから到達できる必要があります。", "otlpHttpNote": "OpenTelemetry Collectorのデフォルトであり、プロキシやロードバランサーの背後を含むどこでも動作します。", "otlpSdkEnvNote": "標準のOTEL_*環境変数 — すべてのOpenTelemetry SDKがこれらを読み取るため、コードの変更は不要です。", "otlpTracesStreamHelp": "上記の構成に `stream-name` として書き込まれ、下のチェックで監視されます。", @@ -3766,7 +3766,7 @@ "otlpTroubleHttpGrpcA": "HTTPは安全なデフォルトであり、プロキシやロードバランサーを問題なく通過します。gRPCは高スパン量でのオーバーヘッドが低いですが、ポート5081がエンドツーエンドで到達可能である必要があります。", "otlpTroubleHttpGrpcQ": "HTTPとgRPCのどちらを使用すべきですか?", "otlpTroubleStreamA": "`stream-name`ヘッダーがストリームを決定します。上記のフィールドと同じ名前に設定してください。そうしないと、以下のチェックでは何も書き込まれないストリームを監視します。", - "otlpTroubleStreamQ": "スパンは到着するが、間違ったストリームに配置される", + "otlpTroubleStreamQ": "スパンは届くが、間違ったストリームに入ってしまう", "otlpTroubleTlsA": "`tls.insecure`フラグはエンドポイントのスキームと一致している必要があります — このデプロイメントのURLに基づいて、上記では`{insecure}`に設定されています。平文のHTTPエンドポイントでは`insecure: true`が必要で、HTTPSでは`false`が必要です。", "otlpTroubleTlsQ": "TLSエラーでgRPC接続が失敗する", "pillActiveBackends": "アクティブなバックエンド", @@ -3969,13 +3969,13 @@ "sqlServerTagline": "OpenTelemetry Collector で SQL Server メトリクスを収集し、OpenObserve に送信してください。", "startIngestingTestForLogs": "取り込みを開始し、ログをテストしてください", "startIngestingTestForMetrics": "取り込みを開始し、メトリクスをテストしてください", - "startIngestingTestForSpans": "取り込みを開始し、スパンをテストしてください", + "startIngestingTestForSpans": "取り込みを開始して、スパンをテストする", "streamNameError": "使用できるのは文字、数字、_ のみです。", "streamNameLabel": "ストリーム名", "stuck": "行き詰まっていますか?", "taglineDatabricks": "ログ API を使用して Databricks ノートブックのログを OpenObserve に送信します。", "taglineGcp": "Pub/Sub プッシュサブスクリプションを使用して Google Cloud ログを OpenObserve にストリーミングします — エージェントやコレクターを実行する必要はありません。", - "taglineKubernetes": "OpenObserve Collector をクラスターにデプロイします — コンテナログ、Kubernetes イベント、クラスターメトリクスに加え、ワークロード向けのコード不要のトレースも取得できます。", + "taglineKubernetes": "OpenObserveコレクターをクラスターにデプロイします — コンテナログ、Kubernetesイベント、クラスターメトリクスに加え、ワークロード向けのコード不要のトレースも取得できます。", "taglineLinux": "任意の Linux ホストに OpenObserve エージェントをインストールします — システムログと journald ログに加え、CPU、メモリ、ディスク、ネットワークのメトリクスを収集します。", "taglineMacos": "任意の Mac に OpenObserve エージェントをインストールします — 統合ログと標準ログファイルに加え、CPU、メモリ、ディスク、ネットワークのメトリクスを収集します。", "taglineOtlpTraces": "任意の OpenTelemetry エクスポーターを OpenObserve に向けます — コレクターまたは SDK、HTTP または gRPC。エンドポイントとトークンは下に入力されています。", @@ -4001,7 +4001,7 @@ "verifyMongodbMetricsDesc": "下の Test をクリックするか、Streams で `mongodb_*` メトリクスを確認してください。", "verifyMysqlMetricsDesc": "下の Test をクリックするか、Streams で `mysql_*` メトリクスを確認してください。", "verifyOracledbMetricsDesc": "下の Test をクリックするか、Streams で `oracledb_*` メトリクスを確認してください。", - "verifyOtlpTracesDesc": "コレクター(またはアプリ)を再起動し、スパンを生成するリクエストを実行してから、Test をクリックしてください。", + "verifyOtlpTracesDesc": "コレクター(またはアプリ)を再起動し、スパンを生成するリクエストを実行してから、テストを押します。", "verifyPostgresqlMetricsDesc": "下の Test をクリックするか、Streams で `postgresql_*` メトリクスを確認してください。", "verifyReactNativeRumDesc": "シミュレーター、エミュレーター、またはデバイスでアプリを実行し、いくつかの画面を移動してから Test を押してください。React Native イベントは `_rumdata` ストリームに格納されます。", "verifyRedisMetricsDesc": "下の Test をクリックするか、Streams で `redis_*` メトリクスを確認してください。", @@ -4036,11 +4036,11 @@ "verifyAndroidRumDesc": "エミュレーターまたはデバイスでアプリを実行し、いくつかの画面を移動してからTestを押します — ネイティブAndroidイベントは `_rumdata` ストリームに届きます。", "verifyIosRumDesc": "シミュレーターまたはデバイスでアプリを実行し、いくつかの画面を移動してからTestを押します — ネイティブiOSイベントは `_rumdata` ストリームに届きます。", "dbmPreparePostgresTitle": "データベースモニタリング · アクセス権の付与(オプション)", - "dbmPreparePostgresDesc": "**上記の操作は単独で完結しています** — クエリのタイミングは、ここでの設定なしに、アプリケーションのトレースからデータベースにすでに届いています。これらの最後の手順では、トレースでは決して確認できないもの(デッドロックとブロックされたクエリ)を追加します。これらはデータベース自体だけが記録します。`pg_monitor` を付与して、コレクターが他のセッションのクエリを読み取れるようにします — SQL クライアントで実行してください。**シェルではなく**。", + "dbmPreparePostgresDesc": "**上記はすべて単独で完了しています** — クエリのタイミングは、ここでの設定なしで、アプリケーションのトレースからすでにDatabasesに届いています。これらの最後のステップは、トレースでは決して見えないものを追加します。デッドロックとブロックされたクエリです。これらはデータベース自体のみが記録します。`pg_monitor`を付与して、コレクターが他のセッションのクエリを読み取れるようにします — SQLクライアントで実行してください。**シェルではなく**。", "dbmPrepareMysqlTitle": "データベースモニタリング · デッドロック履歴の保持(オプション)", "dbmPrepareMariadbTitle": "データベースモニタリング · デッドロック履歴の保持(オプション)", - "dbmPrepareMysqlDesc": "**上記の操作は単独で完結しています** — クエリのタイミングは、ここでの設定なしに、アプリケーションのトレースからデータベースにすでに届いています。これらの最後の手順では、トレースでは決して確認できないもの(デッドロックとブロックされたクエリ)を追加します。これらはデータベース自体だけが記録します。完全なデッドロック履歴を有効にします — SQL クライアントで実行してください。**シェルではなく**。", - "dbmPrepareMariadbDesc": "**上記の操作は単独で完結しています** — クエリのタイミングは、ここでの設定なしに、アプリケーションのトレースからデータベースにすでに届いています。これらの最後の手順では、トレースでは決して確認できないもの(デッドロックとブロックされたクエリ)を追加します。これらはデータベース自体だけが記録します。完全なデッドロック履歴を有効にします — SQL クライアントで実行してください。**シェルではなく**。", + "dbmPrepareMysqlDesc": "**上記はすべて単独で完了しています** — クエリのタイミングは、ここでの設定なしで、アプリケーションのトレースからすでにDatabasesに届いています。これらの最後のステップは、トレースでは決して見えないものを追加します。デッドロックとブロックされたクエリです。これらはデータベース自体のみが記録します。完全なデッドロック履歴を有効にします — SQLクライアントで実行してください。**シェルではなく**。", + "dbmPrepareMariadbDesc": "**上記はすべて単独で完了しています** — クエリのタイミングは、ここでの設定なしで、アプリケーションのトレースからすでにDatabasesに届いています。これらの最後のステップは、トレースでは決して見えないものを追加します。デッドロックとブロックされたクエリです。これらはデータベース自体のみが記録します。完全なデッドロック履歴を有効にします — SQLクライアントで実行してください。**シェルではなく**。", "dbmPgLoggingTitle": "データベースモニタリング · Postgres にデッドロックを記録させる(オプション)", "dbmPgLoggingDesc": "デッドロックは、下記の設定がオンの場合にのみ、Postgres ログに書き込まれます。したがって、この手順によって Deadlocks タブが埋まるようになります。プレフィックス行は正確に一致する必要があります。コレクターはその行を読み取って関係者を特定します。プレフィックスが異なると、コレクターは正常に報告しながらも何も見つけられません。", "dbmPgLoggingVerifyTitle": "データベースモニタリング · 設定が有効になったことを確認(オプション)", @@ -4066,7 +4066,7 @@ "dbmMysqlLogPathHelp": "コレクターがこのファイルを読み取れる必要があります。次のコマンドで確認できます: SHOW VARIABLES LIKE 'log_error';", "dbmMariadbLogPathHelp": "コレクターがこのファイルを読み取れる必要があります。次のコマンドで確認できます: SHOW VARIABLES LIKE 'log_error';", "dbmPrepareMssqlTitle": "データベースモニタリング · アクセス権限を付与(オプション)", - "dbmPrepareMssqlDesc": "**上記はすべて単独で完結しています** — クエリのタイミングは、ここでの設定なしでアプリケーションのトレースからデータベースにすでに到達しています。この最後のグループは、トレースでは決して見えないもの、つまりデッドロックとブロックされたクエリを追加します。これらはデータベース自体だけが記録します。両方の権限が必要です。1つはコレクタが他のセッションを読み取るため、もう1つはデッドロック履歴を読み取るためです。SQLクライアントで実行してください。**シェルではありません**。", + "dbmPrepareMssqlDesc": "**上記はすべて単独で完了しています** — クエリのタイミングは、ここでの設定なしで、アプリケーションのトレースからすでにDatabasesに届いています。この最後のグループは、トレースでは決して見えないものを追加します。デッドロックとブロックされたクエリです。これらはデータベース自体のみが記録します。両方の権限が必要です — 1つはコレクターが他のセッションを読み取れるようにし、もう1つはデッドロック履歴を読み取れるようにします。SQLクライアントで実行してください。**シェルではなく**。", "dbmConfigureMssqlDesc": "`dbm-config.yaml` を書き込みます — 接続するデータベースを以下に設定してください。SQL Server はここでデッドロック、ブロックされたクエリ、アクティビティサンプル、トップクエリ、実行プランを取得します。sqlserver レシーバーはインスタンス全体を読み取るため、アクティビティとトップクエリは上記で指定したデータベースに限定されません。", "dbmRunMssqlDesc": "両方の設定を一緒に実行します。ステップ1で作成したログインとパスワードを使用してください。", "dbmVerifyBlockingDesc": "**インフラ → データベース → ブロックされたクエリ** を開きます。ロックを待っているセッションは、サンプリングされるとすぐに表示されます。空のタブは、何もブロックされていないか、何も収集されていないかを示します。", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "**インフラ → データベース** を開き、以下のタブを選択します。デッドロックとブロックされたクエリは、データベースが報告するとすぐに表示されます。空のタブは、何も発生していないか、何も収集されていないかを示します。テーブルのヘルスは最初の60秒のスナップショット後に埋まります。" }, "instrumentBeforeImportTitle": "クライアントをインポートする前に計測する", - "instrumentBeforeImportBody": "アプリは実行されるがスパンが届かない場合、計測がクライアントのインポート後に読み込まれた可能性があります。initが最初に実行されるように順序を変更してください:", + "instrumentBeforeImportBody": "アプリは動作しているがスパンが届かない場合、計装がクライアントのインポート後に読み込まれた可能性があります。initが最初に実行されるように順序を変更してください:", "launchCloudFormationStack": "CloudFormationスタックを起動", "openStackSetsConsole": "StackSetsコンソールを開く", "integrations": { @@ -4423,7 +4423,7 @@ "alignRight": "Right", "sectionStyling": "スタイリング", "sectionConditionalStyling": "条件付きスタイリング", - "conditionThreshold": "価値", + "conditionThreshold": "値", "conditionAddRule": "+ ルールを追加", "conditionNoRules": "まだルールはありません。", "conditionIfValue": "値が", @@ -4486,7 +4486,7 @@ "unsavedMessage": "保存されていない変更があります。本当に終了してもよろしいですか?", "currentFolderLabel": "現在のフォルダー", "selectFolderLabel": "フォルダを選択", - "selectFolderPlaceholder": "移動先フォルダーを選択", + "selectFolderPlaceholder": "宛先フォルダーを選択", "selectDashboardLabel": "ダッシュボードを選択", "selectTabLabel": "タブを選択", "layerType": "レイヤータイプ", @@ -4646,7 +4646,7 @@ "markLinesTooltip": "チャートに閾値線を表示します。", "markLineType": "タイプ", "markLineLabel": "[ラベル]", - "markLineValue": "価値", + "markLineValue": "値", "markLineAdd": "+ 追加", "markLineAverage": "アベレージ", "markLineMedian": "中央値", @@ -4748,7 +4748,7 @@ "editValueMapping": "値マッピングを編集", "valueMappingsTitle": "バリューマッピング", "valueMappingType": "タイプ", - "valueMappingValue": "価値", + "valueMappingValue": "値", "valueMappingRegex": "正規表現", "valueMappingFrom": "から", "valueMappingTo": "に", @@ -4916,7 +4916,7 @@ "storage": "ストレージ", "dashboard": "ダッシュボード" }, - "selectFolderTitle": "保存先フォルダを選択", + "selectFolderTitle": "宛先フォルダーの選択", "back": "戻る", "addDashboard": "ダッシュボードを追加", "folder": "フォルダ", @@ -5554,7 +5554,7 @@ "deletePanelTitle": "パネルを削除", "deletePanelMessage": "このパネルを削除してよろしいですか?", "movePanelTitle": "パネルを別のタブに移動", - "movePanelMessage": "「送信先を選択」タブ", + "movePanelMessage": "宛先タブを選択", "noQueriesToCreateAlert": "このパネルには、アラートを作成するクエリはありません", "panelQueryMustHaveStream": "パネルクエリにはストリームが設定されている必要があります", "unsupportedPanelTypeAlert": "{type} パネルからアラートを作成すると、期待どおりに動作しない場合があります", @@ -5562,7 +5562,7 @@ "panelDuplicationFailed": "パネルを複製できませんでした", "firstColumn": "先頭列", "zAxis": "Z 軸", - "breakdown": "ブレークダウン", + "breakdown": "内訳", "pivotField": "ピボットフィールド", "pivotFieldTooltip": "ここにディメンションフィールドをドラッグします。その個別の値はピボットテーブルの列ヘッダーになります。最大 3 つのフィールドでマルチレベルピボットが可能です。", "breakdownTooltipHBar": "これらのフィールドを使用してデータを Y 軸上のさまざまなセクションに分割すると、見やすくなります。", @@ -5679,7 +5679,7 @@ "shippers": "ログシッパー" }, "indexSizeLbl": "インデックスサイズ", - "docsCountLbl": "イベント数", + "docsCountLbl": "イベント", "functionTitle": "関数", "schedulePipelineTitle": "スケジュール", "rtPipelineTitle": "リアルタイム", @@ -5717,8 +5717,8 @@ "emptyActionAlertsDesc": "設定したアラートと閾値を確認", "emptyActionLogs": "ログを見る", "emptyActionLogsDesc": "ログストリームの検索とフィルタリング", - "emptyActionTraces": "トレースを調べる", - "emptyActionTracesDesc": "分散型トレースとサービスレイテンシーの検査", + "emptyActionTraces": "トレースを探索", + "emptyActionTracesDesc": "分散トレースとサービスレイテンシーを確認", "anomalyDetectedTitle": "異常を検出 — {name}", "anomalyDetectedDescription": "ストリーム: {stream} · {count} 異常ポイント", "secondsAgo": "{count}秒前", @@ -5806,7 +5806,7 @@ "taglineTail": "。君を書けるよ", "taglineSql": "SQL", "taglineVrl": "VRL", - "taglineAnd": "ログ、トレース、メトリクス、インシデントを順を追って確認できます。", + "taglineAnd": "ログ、トレース、メトリクス、インシデントをご案内します。", "signedInAs": "としてサインイン", "role": "役割", "tryOneOfThese": "または、次のいずれかを試してください" @@ -5814,12 +5814,12 @@ "capabilities": { "query": { "title": "クエリーを書く", - "description": "ログ用の SQL、トレース、RUM、またはメトリクス用の PromQL。", + "description": "ログ、トレース、RUM向けのSQL、またはメトリクス向けのPromQL。", "prompt": "クエリーの作成を手伝ってください" }, "incident": { "title": "インシデントを調査", - "description": "ログ、トレース、アラートにわたる根本原因 — 例:「なぜgateway-5xxが起動したのか?」", + "description": "ログ、トレース、アラートにわたる根本原因分析 — 例: 「gateway-5xx が発火したのはなぜ?」", "prompt": "インシデントの調査を手伝ってください" }, "dashboard": { @@ -5962,7 +5962,7 @@ "features": "特徴", "included": "何が含まれていますか?", "proPlanSubtitle": "小規模チーム向けのカスタムソリューション", - "unlimitedNote": "無制限のユーザー、ログ、メトリクス、トレースなど。", + "unlimitedNote": "ユーザー、ログ、メトリクス、トレースなど無制限。", "paymentNote": "支払いは、毎月の請求サイクル終了時の使用量に基づいて計算されます。", "proPlanLabel": "従量課金制", "contactLabel": "セールスに問い合わせる", @@ -6145,9 +6145,9 @@ "anomalyImportFailed": "異常検出 - {index}: \"{name}\" のインポートに失敗しました — {reason}", "nameRequired": "アラート - {index}: 名前は必須であり、有効な文字列である必要があります。", "orgIdInvalid": "アラート - {index}: 組織IDは必須であり、組織リストに存在し、{orgId} と等しい必要があります。", - "streamTypeInvalid": "アラート - {index}: ストリームタイプは必須であり、'logs'、'metrics'、'traces' のいずれかである必要があります。", + "streamTypeInvalid": "アラート - {index}: ストリームタイプは必須で、'logs'、'metrics'、'traces' のいずれかである必要があります。", "streamNameInvalid": "アラート - {index}: ストリーム名は必須であり、ストリームリストに存在し、有効な文字列である必要があります。", - "destinationsRequired": "アラート - {index}: 送信先は必須であり、配列である必要があります。", + "destinationsRequired": "アラート - {index}: 宛先は必須で、配列である必要があります。", "enabledBoolean": "アラート - {index}: Enabled はブール値である必要があります。", "tzOffsetNumber": "アラート - {index}: タイムゾーンオフセットは数値である必要があります。", "timezoneRequiredForCron": "アラート - {index}: 頻度タイプが'cron'の場合、タイムゾーンが必要です。", @@ -6328,7 +6328,7 @@ "guidelinesLabel": "ガイドライン:", "selectStreamGuideline": "リストから既存のストリームを選択するか、名前を入力して新しいストリームを作成してください。", "enrichmentTablesTerm": "Enrichment_tables", - "enrichmentTablesDestinationNote": "宛先ストリームとして利用できるのは、スケジュールされたパイプラインのみです。", + "enrichmentTablesDestinationNote": "宛先ストリームとして利用できるのはスケジュールされたパイプラインのみです", "useCurlyBracesNote": "波括弧を使用", "configureStreamNameDynamicNote": "ストリーム名を動的に設定するには。例:", "staticTextBeforeAfterNote": ". 静的テキスト前後", @@ -6392,7 +6392,7 @@ "validEmails": "有効なメールアドレスを追加してください!", "silenceNonNegative": "通知のサイレンスは0以上である必要があります", "periodPositive": "期間は0より大きい必要があります", - "destinationRequired": "少なくとも1つの宛先が必要です。", + "destinationRequired": "宛先が少なくとも1つ必要です。", "thresholdPositive": "しきい値は0より大きい必要があります", "frequencyPositive": "頻度は0より大きい必要があります", "aggregationColumnRequired": "集計関数を使用する場合は列が必要です。", @@ -6435,10 +6435,10 @@ "cronRequiredForCronType": "頻度タイプが cron の場合、cron 式が必要です", "timezoneRequiredForCronType": "頻度タイプが cron の場合、タイムゾーンが必要です", "triggerConditionRequired": "トリガー条件が必要です", - "destinationsArray": "送信先は配列である必要があります", - "destinationRequiredPlain": "少なくとも1つの送信先が必要です", - "noDestinationsInSystem": "システムで利用可能な送信先が見つかりません", - "invalidDestinations": "無効な送信先: {destinations} - 利用可能な送信先リストから選択する必要があります", + "destinationsArray": "宛先は配列である必要があります", + "destinationRequiredPlain": "宛先が少なくとも1つ必要です", + "noDestinationsInSystem": "システム内に利用可能な宛先が見つかりません", + "invalidDestinations": "無効な宛先: {destinations} - 利用可能な宛先リストから選択してください", "enabledFlagBoolean": "有効フラグはブール値である必要があります", "silenceNotificationRequired": "サイレンス通知は空にできません", "thresholdNotEmpty": "しきい値は空にできません", @@ -6459,8 +6459,8 @@ "searchAllFolders": "すべてのフォルダー", "streamConfig": "ストリーム構成", "alertRules": "アラートルール", - "noTemplatesMsg": "アラートを作成するには、少なくとも 1 つのテンプレートと 1 つの宛先が必要です。テンプレートは通知メッセージの形式を定義します。まずはテンプレートを作成します。", - "noDestinationsMsg": "アラートを作成するには、少なくとも 1 つの宛先と 1 つのテンプレートが必要です。送信先は通知の送信先を定義します。まずは通知を作成します。", + "noTemplatesMsg": "アラートを作成するには、少なくとも1つのテンプレートと1つの宛先が必要です。テンプレートは通知メッセージの形式を定義します — まずテンプレートを作成してください。", + "noDestinationsMsg": "アラートを作成するには、少なくとも1つの宛先と1つのテンプレートが必要です。宛先は通知の送信先を定義します — まず宛先を作成してください。", "add": "アラートを追加", "edit": "編集", "clone": "アラートを複製", @@ -6511,37 +6511,37 @@ "frequency": "周波数", "threshold": "閾値", "silenceNotification": "サイレント通知", - "destination": "送信先", - "destinationOrWorkflowRequired": "少なくとも1つの宛先またはワークフローを追加してください。", - "customDestination": "カスタム目的地", - "customDestinationDescription": "カスタム HTTP エンドポイントまたは E メール送信先を設定する", - "testIdleMessage": "[テスト] をクリックして、送信先の設定を確認します", - "destinationPreview": "デスティネーションプレビュー", + "destination": "宛先", + "destinationOrWorkflowRequired": "宛先またはワークフローを少なくとも1つ追加してください。", + "customDestination": "カスタム宛先", + "customDestinationDescription": "カスタムHTTPエンドポイントまたはメール宛先を設定します", + "testIdleMessage": "「テスト」をクリックして宛先設定を確認してください", + "destinationPreview": "宛先プレビュー", "template": "テンプレートオーバーライド", "additionalVariables": "その他の変数", - "testSuccessMessage": "テストが成功しました!目的地は正しく設定されています。", + "testSuccessMessage": "テスト成功! 宛先は正しく設定されています。", "testFailedMessage": "テストが失敗しました。設定を確認して、もう一度試してください。", "testFailedWithReason": "テスト失敗: {reason}", - "testInProgress": "送信先をテスト中...", + "testInProgress": "宛先をテスト中...", "sendingNotification": "接続を確認するためのテスト通知の送信", "testErrorDNS": "DNS 解決が失敗しました。ウェブフック URL またはホスト名を確認してください。", "testErrorConnection": "接続が拒否されました。URL を確認し、サービスにアクセスできることを確認してください。", - "testErrorTimeout": "リクエストがタイムアウトしました。送信先のサービスが遅いか、アクセスできない可能性があります。", + "testErrorTimeout": "リクエストがタイムアウトしました。宛先サービスが遅いか、到達不能の可能性があります。", "testErrorSSL": "SSL/TLS 証明書エラーです。証明書を確認するか、SSL 検証を無効にしてください。", "testErrorClientError": "クライアントエラー (4xx)。認証情報と設定を確認してください。", - "testErrorServerError": "サーバーエラー (5xx)。送信先サービスで問題が発生しています。", + "testErrorServerError": "サーバーエラー (5xx)。宛先サービスに問題が発生しています。", "viewDetails": "詳細を表示", "error": "[エラー]", "httpStatus": "HTTP ステータス", "responseBody": "レスポンスボディ", "retry": "リトライ", "suggestCheckUrl": "Webhook URL が正しく、アクセス可能であることを確認してください。", - "suggestCheckFirewall": "ファイアウォールの設定を確認して、宛先サービスにアクセスできることを確認してください。", + "suggestCheckFirewall": "ファイアウォール設定を確認し、宛先サービスにアクセスできることを確認してください。", "suggestCheckCredentials": "API 認証情報が正しいことを確認してください。", "suggestCheckPermissions": "認証情報に必要な権限があることを確認してください。", "suggestCheckEndpoint": "エンドポイント URL が正しいことを確認してください。", "suggestRateLimit": "レート制限を超えました。しばらく待ってから再試行してください。", - "suggestServerIssue": "送信先サービスで問題が発生しています。後でもう一度試してください。", + "suggestServerIssue": "宛先サービスに問題が発生しています。後でもう一度お試しください。", "description": "説明", "stream_name": "ストリーム名", "cloneTitle": "アラートを複製", @@ -6601,7 +6601,7 @@ "notEqualTo": "等しくない", "eventsDetected": "イベントが検出されました", "sendsTo": "送信先", - "noDestination": "目的地なし", + "noDestination": "宛先なし", "notSetupYet": "(まだ設定されていません)", "cooldown": "クールダウン", "betweenAlerts": "アラート間", @@ -6649,7 +6649,7 @@ }, "placeholders": { "typeSomething": "何かを入力してください", - "value": "価値", + "value": "値", "selectColumn": "列を選択", "savedFunctions": "保存済み機能", "autoUsesCheckInterval": "自動 (チェック間隔を使用)", @@ -6766,7 +6766,7 @@ "correlatedAlertsCount": "アラート: {count} 件の関連アラート", "noCorrelatedLogs": "関連するログが見つかりません", "noCorrelatedMetrics": "相関するメトリクスが見つかりません", - "noCorrelatedTraces": "相関するトレースが見つかりません", + "noCorrelatedTraces": "関連トレースが見つかりません", "lastAlertAt": "最終アラート", "title_field": "タイトル", "stableDimensions": "ディメンション", @@ -6779,7 +6779,7 @@ "acknowledge": "確認する", "resolve": "解決", "reopen": "[再開]", - "statusOpen": "[開く]", + "statusOpen": "未解決", "statusAcknowledged": "確認済み", "statusResolved": "解決済み", "correlationServiceDiscovery": "サービスディスカバリー", @@ -6844,7 +6844,7 @@ "noAlertDetailsAvailable": "利用可能なアラート詳細がありません", "clickOnTriggerToViewDetails": "詳細を表示するには、テーブル内のトリガーをクリックしてください", "refreshCorrelatedData": "相関データを更新", - "showingCorrelatedTraces": "インシデント期間の相関トレースを表示中", + "showingCorrelatedTraces": "インシデント期間の関連トレースを表示中", "incidentTitleUpdatedSuccess": "インシデントタイトルが正常に更新されました", "markAsAcknowledgedTooltip": "インシデントを確認済みかつ対応中としてマーク", "markAsResolvedTooltip": "インシデントを解決済みとしてマークしてクローズ", @@ -6965,15 +6965,15 @@ "helpLegendSampleExample": "42", "sectionTitle": "設定", "noDestinationsAvailable": "利用可能な宛先がありません", - "noTargetsAvailable": "利用可能な宛先またはワークフローはありません", + "noTargetsAvailable": "利用可能な宛先またはワークフローがありません", "targetsDestinationsGroup": "宛先", "targetsWorkflowsGroup": "ワークフロー", "refreshDestinations": "最新の宛先を更新", - "addNewDestination": "新しい目的地を追加", + "addNewDestination": "宛先を追加", "cooldownTooltip": "アラートがトリガーされた場合、次の通知を送信するまでどのくらい待つ必要があります。たとえば、アラートが午後 4 時にトリガーされ、サイレンス通知が 10 分に設定されている場合、アラートが 1 分経っても午後 4 時 10 分まで別の通知は送信されません。これは、ユーザーに迷惑メールが送信されないようにするためです。", "periodTooltip": "クエリの実行期間。たとえば、10 分ということは、クエリが実行されるたびに、直近の 10 分間のデータが使用されることを意味します。", "timezoneWarning": "警告:表示されているタイムゾーンはおおよそのものです。正しいタイムゾーンを手動で確認して選択してください。", - "destinationsTooltip": "アラート通知を送信する宛先を 1 つ以上選択します。", + "destinationsTooltip": "アラート通知を送信する宛先を1つ以上選択してください。", "createsIncident": "インシデントを作成", "createsIncidentTooltip": "アラートがインシデントを作成できる場合、専用の通知は送信されません。代わりに、新しいインシデントが作成されたとき、または新しいアラートタイプが既存のインシデントに加わったときに、インシデントの通知が送信されます。", "helpTemplateTitle": "テンプレートオーバーライド", @@ -6985,11 +6985,11 @@ "helpLegendLive": "アラートの実際の値", "helpLegendSample": "サンプル — 実際の値はアラートが発生したときに設定されます", "helpLegendOpaque": "アラートが発生すると自動的に追加されます", - "helpTemplateExplain": "テンプレートとは、送信される通知メッセージです。テキストに {'{'} alert_name {'}'} などの変数を加えたものです。ここで選択すると、このアラートの場合のみ各送信先独自のテンプレートが上書きされます。", + "helpTemplateExplain": "テンプレートは送信される通知メッセージです — テキストと {'{'}alert_name{'}'} のような変数で構成されます。ここで選択すると、このアラートに限り、各宛先の独自テンプレートを上書きします。", "helpCurrentHeading": "このアラートが現在送信する内容", - "helpCurrentNoOverride": "オーバーライド設定なし — 各宛先は独自のテンプレートを使用します。", - "helpCurrentNoDestinations": "目的地はまだ選択されていません。各目的地は独自の構成済みテンプレートを使用します。", - "helpCurrentOverrideHeading": "すべての宛先にこのテンプレートが使用されます。", + "helpCurrentNoOverride": "上書きは設定されていません — 各宛先は独自のテンプレートを使用します:", + "helpCurrentNoDestinations": "宛先がまだ選択されていません。各宛先は設定済みの独自テンプレートを使用します。", + "helpCurrentOverrideHeading": "すべての宛先がこのテンプレートを使用します:", "helpPreviewHeading": "テンプレートをプレビューする", "helpPreviewSelectPlaceholder": "プレビューするテンプレートを選択してください", "helpApplyToAlert": "アラートに適用", @@ -7001,7 +7001,7 @@ "helpYourVariablesEmpty": "変数はまだ追加されていません。", "helpRowTemplateExplain": "アラートは複数の行と一致する可能性があります。行テンプレートは 1 つの行の表示方法を決定します。次に、メインテンプレートの {'{'} rows {'}'} は、既にフォーマットされているマッチしたすべての行にドロップされます。", "helpRowTemplateTypeHeading": "文字列とJSON", - "helpRowTemplateTypeExplain": "String は行ごとにプレーンテキストを生成します。JSON は行ごとに JSON オブジェクトを生成するので、構造化された宛先に適しています。", + "helpRowTemplateTypeExplain": "String は行ごとにプレーンテキストを生成します。JSON は行ごとに JSON オブジェクトを生成し、構造化された宛先に適しています。", "helpRowTemplateTypeCurrent": "現在選択されているもの:", "helpPreviewHeadingShort": "プレビュー", "helpWhyHeading": "なぜ変数を使うの?", @@ -7014,7 +7014,7 @@ "helpVariablesExampleCaption": "重要度とチームを変数として追加し、テンプレート内の任意の場所で使用できます。", "helpExampleResultLabel": "送信される内容", "helpTemplateWhenHeading": "いつオーバーライドすればいいですか?", - "helpTemplateWhenDesc": "空のままにしておくと、各宛先は独自のテンプレートを使用します。各送信先のテンプレートを編集せずに、この 1 つのアラートですべての宛先に同じ一貫したメッセージを送信したい場合は、オーバーライドを設定します。", + "helpTemplateWhenDesc": "これを空のままにすると、各宛先は自身のテンプレートを使用します。この1つのアラートで、各宛先のテンプレートを編集せずに、すべての宛先に同じ一貫したメッセージを送信したい場合は、上書きを設定します。", "helpRowTemplateWhyHeading": "なぜ行テンプレートなのか?", "helpRowTemplateWhyDesc": "アラートは多数のレコードを照合できます。行テンプレートは 1 つのレコードをフォーマットし、{'{'} rows {'}'} はフォーマットされたすべてのレコードをメインテンプレートにドロップします。そのため、ループを作成せずに一致したレコードをすべて一覧表示できます。", "helpRowTemplateExampleCaption": "一致する各行は行テンプレートによってフォーマットされ、{'{'} rows {'}'} はそれらをすべてメインテンプレートにドロップします。", @@ -7023,7 +7023,7 @@ "helpRowTemplatePreviewEmpty": "行テンプレートはまだありません。[その他の設定] タブに行テンプレートを入力すると、ここでプレビューできます。", "helpPreviewSelectEmpty": "上のテンプレートを選択して、送信されるメッセージをプレビューしてください。", "helpCurrentBodyEmpty": "このテンプレートにはプレビューできる本文がありません。", - "helpDestinationNoTemplate": "この宛先のデフォルトフォーマットを使用します。", + "helpDestinationNoTemplate": "この宛先のデフォルトの書式を使用します。", "builtInVars": { "orgName": "あなたの組織名", "streamType": "ストリームタイプ(ログ、メトリクス、トレース)", @@ -7133,12 +7133,12 @@ }, "anomaly": { "addFilter": "フィルターを追加", - "addNewDestination": "新しい目的地を追加", + "addNewDestination": "新しい宛先を追加", "anomalyScoreRange": "異常スコア範囲:", "checkEvery": "すべてチェック", "checkEveryTooltip": "検出ジョブの実行頻度。サンプル期間より長くてもかまいません (例:5 m ごとにサンプリングし、1 時間ごとに検出を実行する)。", "clickLoadDataHint": "[データをロード] をクリックして時系列をプレビューします", - "destinationRequired": "少なくとも 1 つの目的地が必要です!", + "destinationRequired": "宛先が少なくとも1つ必要です!", "detectionResolution": "検出解像度", "detectionResolutionTooltip": "各データポイントの細かさ。たとえば、「5m」は、5 分の解像度で異常が検出されたことを意味します。", "disabled": "無効", @@ -7153,7 +7153,7 @@ "lookBackWindowTooltip": "各検出でクエリが実行されるまでの時間。しばらく待ってもウィンドウをキャップします。デフォルトは [間隔ごとにチェック] です。", "maxThresholdMarkLine": "最大しきい値", "minThresholdMarkLine": "最小しきい値", - "noDestinationsFound": "目的地が見つかりません", + "noDestinationsFound": "宛先が見つかりません", "noFieldsFound": "フィールドが見つかりません", "notifications": "通知", "notificationsTooltip": "有効にすると、異常が検出されるたびに、選択した宛先に通知が送信されます。", @@ -7305,20 +7305,20 @@ "triggerRetrainingFailed": "再学習のトリガーに失敗しました", "bulkDeleteAlertsFailed": "アラートの削除中にエラーが発生しました。もう一度お試しください。", "deleteDestinationFailed": "宛先の削除中にエラーが発生しました", - "bulkDeleteDestinationsFailed": "宛先の削除中にエラーが発生しました。もう一度お試しください。", + "bulkDeleteDestinationsFailed": "宛先の削除中にエラーが発生しました。再試行してください。", "bulkDeleteTemplatesFailed": "テンプレートの削除中にエラーが発生しました。もう一度お試しください。" }, "prebuilt": { "conversionSuccess": "宛先が正常に変換されました", "validationError": "検証エラー: {error}", - "invalidDestinationType": "無効な宛先タイプ", + "invalidDestinationType": "宛先タイプが無効です", "invalidTargetType": "無効なターゲットタイプ", "unknownDestinationType": "不明な宛先タイプ", "testFailedUnknownError": "テストが不明なエラーで失敗しました" }, "confirmDeleteAlerts": "{count} 個のアラートを削除してもよろしいですか? | {count} 個のアラートを削除してもよろしいですか?", - "confirmDeleteDestinations": "{count} 個の宛先を削除してもよろしいですか? | {count} 個の宛先を削除してもよろしいですか?", - "prebuiltDestination": "組み込み{type}宛先", + "confirmDeleteDestinations": "宛先を{count}件削除してもよろしいですか? | 宛先を{count}件削除してもよろしいですか?", + "prebuiltDestination": "プリビルト {type} 宛先", "errorValidations": "エラーバリデーション", "outputMessagesLabel": "出力メッセージ", "incidentSingular": "インシデント", @@ -7523,7 +7523,7 @@ "actionOpen": "開く", "actionDelete": "削除", "deleteTitle": "{name} を削除しますか?", - "deleteMessage": "これにより完全に削除されます。アラートまたは宛先がまだ使用している場合、削除はブロックされます。", + "deleteMessage": "これにより完全に削除されます。アラートまたは宛先がまだ使用している場合は、削除がブロックされます。", "deletedToast": "{name} を削除しました", "deleteFailedToast": "{name} を削除できませんでした", "loading": "依存関係グラフを構築中…", @@ -7542,7 +7542,7 @@ "missingTag": "欠落", "enabled": "有効", "paused": "一時停止", - "impactTemplate": "使用元 {destinations} · {alerts}", + "impactTemplate": "使用中: {destinations} · {alerts}", "impactDestination": "使用元 {alerts}" }, "alert_library": { @@ -7614,12 +7614,12 @@ "stepFolder": "フォルダー", "stepTune": "調整", "stepInstall": "インストール", - "destinationIntro": "このバッチのすべてのアラートは、ここで選択した宛先に通知します。ライブラリファイルには、エクスポート元の組織の宛先が指定されていますが、それらはこの組織には存在しません。", + "destinationIntro": "このバッチ内のすべてのアラートは、ここで選択した宛先に通知します。ライブラリファイルには、エクスポート元の組織の宛先が指定されていますが、それらはお客様の組織には存在しません。", "destinationLabel": "宛先", "destinationPlaceholder": "宛先を選択", "destinationsLoadFailed": "既存の宛先を読み込めませんでした。", "retry": "再試行", - "destinationsNoneBody": "この組織にはまだアラート宛先がないため、これらのアラートの通知先がありません。「宛先」ページで作成し、ここに戻って選択してください。", + "destinationsNoneBody": "この組織にはまだアラート宛先がないため、これらのアラートの通知先がありません。宛先ページで作成してから、ここに戻って選択してください。", "openDestinations": "宛先を開く", "selectAll": "すべて選択", "clear": "クリア", @@ -7735,7 +7735,7 @@ "chartPreviewPlaceholder": "実際の通知ではチャートがここに表示されます — これはアラート自身の評価履歴から描画されるため、プレビューにはありません。", "channelTitlesDescription": "特定のチャネルで異なるタイトルを使用 — 例: メールの短い件名。", "namePlaceholder": "例: 高エラー率", - "nameLockedHint": "アラートと宛先はこのテンプレートを名前で参照するため、名前を変更できません。新しい名前でコピーを開始するには、テンプレートを複製してください。", + "nameLockedHint": "アラートと宛先はこのテンプレートを名前で参照するため、名前を変更できません。テンプレートを複製して、新しい名前でコピーを作成してください。", "rawBodyCaption": "記述されたとおりに送信され、{'{'}variables{'}'} が置き換えられます。利用可能なすべての変数については変数ガイドを参照してください。", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "例: 値", @@ -7814,7 +7814,7 @@ "testSendConfirm": "これにより、選択したチャネルに [TEST] とマークされた実際のメッセージが投稿されます。", "testSendSuccess": "テストメッセージを送信しました", "testSendRateLimited": "テスト送信が多すぎます。しばらく待ってから再試行してください", - "testSendNoDestination": "先に宛先を選択してください" + "testSendNoDestination": "最初に宛先を選択してください" }, "alert_sources": { "header": "外部アラートソース", @@ -7852,10 +7852,10 @@ "editTitle": "アラートソースを編集", "name": "名前", "nameHint": "単なるラベルです。すべてのソースが同じセットアップを使用します。", - "incidentDestination": "インシデント送信先", + "incidentDestination": "インシデント宛先", "incidentDestinationPlaceholder": "組織のデフォルトを使用", "incidentDestinationHint": "このソースのアラートがインシデントを作成または参加したときに通知が送信される場所。空のままにすると組織のデフォルトを使用します。どちらも設定されていない場合、一致するインシデントは通知なしで発生します。", - "noDestinationSet": "インシデント送信先が設定されていません", + "noDestinationSet": "インシデント宛先が設定されていません", "setupStep1Title": "1. ウェブフックを作成", "setupStep1Body": "Grafana、Alertmanager、またはJSONをPOSTできる任意のツールで、ウェブフックの連絡先/レシーバーを作成します。", "setupRemainingStepsHint": "このソースを保存してURLとトークンを取得し、そのウェブフック設定に貼り付けます。", @@ -7879,7 +7879,7 @@ "updatedSuccess": "アラートソースが更新されました", "error": "アラートソースの読み込みエラー", "senderError": "ソースステータスの読み込みエラー", - "destinationsLoadError": "宛先の読み込みエラー" + "destinationsLoadError": "宛先の読み込み中にエラーが発生しました" }, "alert_destinations": { "sectionTab": "宛先", @@ -7925,20 +7925,20 @@ "ddTagsPlaceholder": "タグを入力(例:env:prod,version:1.0)", "serviceLabel": "サービス", "servicePlaceholder": "サービス名を入力(例:api-gateway)", - "header": "アラート送信先", - "add": "送信先を追加", + "header": "通知宛先", + "add": "新しい宛先", "edit": "編集", - "search": "送信先を検索", + "search": "宛先を検索", "filterAll": "[すべて]", "filterPrebuilt": "構築済み", "filterCustom": "カスタム", "templateDefaultBadge": "デフォルト", "name": "名前", - "destination_type": "デスティネーションタイプ", + "destination_type": "宛先タイプ", "template": "テンプレート", "actions": "操作", - "addTitle": "送信先を追加", - "updateTitle": "送信先を更新", + "addTitle": "新規宛先", + "updateTitle": "宛先を更新", "delete": "削除", "method": "送信方法", "url": "URL", @@ -7952,7 +7952,7 @@ "custom_headers": "カスタムヘッダー (オプション)", "preview": "プレビュー", "test": "テスト", - "saved": "目的地は正常に保存されました", + "saved": "宛先が正常に保存されました", "customWebhook": "カスタム (ウェブフック)", "customEmail": "カスタム (電子メール)", "customAction": "カスタム (アクション)", @@ -7962,7 +7962,7 @@ "separator_hint": "レコード間に使用する区切り文字列 (スペース可)", "templateDefaultOption": "Default ({name})", "templateHelp": "Leave as default to use the standard {type} template ({name}), or pick a custom one.", - "loadingData": "宛先データを読み込み中...", + "loadingData": "宛先データを読み込んでいます...", "noEmailTemplates": "まだメールテンプレートを作成していないようです。", "createEmailTemplate": "メールテンプレートを作成", "headers": "ヘッダー", @@ -7986,31 +7986,31 @@ "templates": "テンプレート", "emails": "メールアドレス(カンマ区切り)", "actions": "アクション", - "destinationCreation": "宛先作成", + "destinationCreation": "宛先の作成", "jsonStringEmpty": "JSON文字列が空です", "invalidJsonFormat": "無効なJSON形式", - "importSuccess": "宛先のインポートに成功しました", - "importError": "宛先のインポート中にエラーが発生しました。JSONを確認してください", + "importSuccess": "宛先を正常にインポートしました", + "importError": "宛先のインポート中にエラーが発生しました。JSONを確認してください。", "unknownError": "不明なエラー", - "nameRequired": "宛先 - {index}: \"name\" フィールドは必須で、有効な文字列である必要があります。", - "nameExists": "宛先 - {index}: \"{name}\" は既に存在します", - "typeInvalid": "宛先 - {index}: \"type\" フィールドは \"email\"、\"http\"、\"action\" のいずれかでなければなりません", - "actionTypeNotSupported": "宛先 - {index}: 'action' タイプはサポートされていません。", - "actionNotFound": "宛先 - {index}: タイプ \"{type}\" に対してアクション \"{actionId}\" が存在しません", - "urlRequired": "宛先 - {index}: httpタイプの宛先には \"url\" フィールドが必要です。", - "methodInvalid": "宛先 - {index}: \"method\" フィールドは \"post\"、\"get\"、\"put\" のいずれかでなければなりません", - "templateRequiredHttp": "宛先 - {index}: httpタイプの宛先には \"template\" フィールドが必要です。", - "skipTlsVerifyRequired": "宛先 - {index}: \"skip_tls_verify\" フィールドは必須で、ブール値である必要があります", - "headersMustBeObject": "宛先 - {index}: httpタイプの場合、'headers' はオブジェクトである必要があります", - "urlNotAllowedEmail": "宛先 - {index}: emailタイプの場合、'url' は指定しないでください", - "headersNotAllowedEmail": "宛先 - {index}: emailタイプの場合、'headers' は指定しないでください", - "emailsRequired": "宛先 - {index}: emailタイプの宛先には \"emails\" フィールドが必要で、配列である必要があります。", - "emailsMustBeStrings": "宛先 - {index}: emailタイプの場合、'emails' は文字列の配列である必要があります", - "templateRequiredEmail": "宛先 - {index}: emailタイプの宛先には \"template\" フィールドが必要です。", - "templateNotFound": "宛先 - {index}: タイプ \"{type}\" に対してテンプレート \"{template}\" が存在しません", - "actionIdInvalid": "宛先 - {index}: \"action_id\" フィールドは有効な文字列である必要があります。", - "createSuccess": "宛先 - {index}: \"{name}\" が正常に作成されました \n注意: 作成された宛先オブジェクト {name} をJSONファイルから削除してください ", - "createFailed": "宛先 - {index}: \"{name}\" の作成に失敗しました --> \n 理由: {reason}" + "nameRequired": "宛先 - {index}: 「name」フィールドは必須で、有効な文字列である必要があります。", + "nameExists": "宛先 - {index}: 「{name}」は既に存在します", + "typeInvalid": "宛先 - {index}: 「type」フィールドは「email」、「http」、「action」のいずれかである必要があります", + "actionTypeNotSupported": "宛先 - {index}: 「action」タイプはサポートされていません。", + "actionNotFound": "宛先 - {index}: タイプ「{type}」のアクション「{actionId}」が存在しません", + "urlRequired": "宛先 - {index}: httpタイプの宛先には「url」フィールドが必須です。", + "methodInvalid": "宛先 - {index}: 「method」フィールドは「post」、「get」、「put」のいずれかである必要があります", + "templateRequiredHttp": "宛先 - {index}: httpタイプの宛先には「template」フィールドが必須です。", + "skipTlsVerifyRequired": "宛先 - {index}: 「skip_tls_verify」フィールドは必須で、ブール値である必要があります", + "headersMustBeObject": "宛先 - {index}: httpタイプの「headers」はオブジェクトである必要があります", + "urlNotAllowedEmail": "宛先 - {index}: emailタイプでは「url」を指定しないでください", + "headersNotAllowedEmail": "宛先 - {index}: emailタイプでは「headers」を指定しないでください", + "emailsRequired": "宛先 - {index}: emailタイプの宛先には「emails」フィールドが必須で、配列である必要があります。", + "emailsMustBeStrings": "宛先 - {index}: emailタイプの「emails」は文字列の配列である必要があります", + "templateRequiredEmail": "宛先 - {index}: emailタイプの宛先には「template」フィールドが必須です。", + "templateNotFound": "宛先 - {index}: タイプ「{type}」のテンプレート「{template}」が存在しません", + "actionIdInvalid": "宛先 - {index}: 「action_id」フィールドは有効な文字列である必要があります。", + "createSuccess": "宛先 - {index}: 「{name}」が正常に作成されました\n注: 作成された宛先オブジェクト {name} をJSONファイルから削除してください ", + "createFailed": "宛先 - {index}: 「{name}」の作成に失敗しました --> \n 理由: {reason}" }, "priorityP1Description": "最優先アラート", "priorityP2Description": "高優先度アラート", @@ -8023,8 +8023,8 @@ "severityInfoDescription": "情報インシデント" }, "pipeline_destinations": { - "header": "パイプライン送信先", - "search": "検索先" + "header": "パイプライン宛先", + "search": "宛先を検索" }, "storage_settings": { "heroBrand": "OpenObserve.", @@ -8387,8 +8387,8 @@ "customLogoText": "カスタムロゴテキスト", "orgLabel": "組織パラメーター", "logDetails": "ログ詳細", - "traceIdFieldName": "トレース ID フィールド名", - "spanIdFieldName": "スパン ID フィールド名", + "traceIdFieldName": "トレースIDフィールド名", + "spanIdFieldName": "スパンIDフィールド名", "toggleIngestionLogsLabel": "取り込みログの切り替え", "usageStreamEnabledLabel": "使用ストリームを有効にする", "claimParserFunction": "SSO クレームパーサー", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "GenAI エージェントマッピング", "title": "GenAI エージェントマッピング", - "description": "LLM トレースと評価のエージェント ID を正規化するために使用されるフォールバックテレメトリ属性を設定します。", + "description": "LLMトレースと評価でエージェントの識別情報を正規化するために使用するフォールバックテレメトリ属性を構成します。", "agentNameFields": "エージェント名フォールバックフィールド", "agentNameHelp": "gen_ai.agent.name のフォールバックとして使用する受信アトリビュート。", "agentNameInfo": "標準の gen_ai.agent.name 属性が欠落しているか、空の場合にのみチェックされます。1 行に 1 つの受信テレメトリ属性を追加します。", @@ -8532,7 +8532,7 @@ "resetToEmpty": "空にリセット", "clearRegistry": "レジストリをクリア", "clearRegistryTitle": "エージェントレジストリを消去しますか?", - "clearRegistryDescription": "これにより、この組織で検出されたすべての GenAI エージェントレジストリ行が削除されます。新しく一致するトレースは、取り込み中にレジストリに再入力されます。", + "clearRegistryDescription": "これにより、この組織で検出されたGenAIエージェントレジストリの全行が削除されます。新しい一致するトレースは、取り込み中にレジストリを再生成します。", "clearRegistryConfirm": "レジストリをクリア", "saved": "GenAI エージェントマッピングが正常に保存されました", "clearRegistrySuccess": "GenAI エージェントレジストリをクリアしました。保存されたエージェント {deletedCount} 件と、キューに入った観測 {bufferCount} 件を削除しました。", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "フィールドエイリアスの保存に失敗しました", "fieldAliasesUnsavedConfirm": "保存されていないフィールドマッピングの変更があります。破棄して移動しますか?", "discoveredServicesTitle": "検出されたサービス", - "discoveredServicesDescription": "サービスはテレメトリデータから自動的に検出され、サービス名別にグループ化されて関連付けられます。同じサービス名を共有するサービスは、ログ、トレース、メトリックス間で相互に関連付けられます。", + "discoveredServicesDescription": "サービスはテレメトリデータから自動的に検出され、相関付けのためにサービス名でグループ化されます。同じサービス名を共有するサービスは、ログ、トレース、メトリクス間で相互に関連付けられます。", "noServicesYet": "まだサービスが見つかりませんでした", "noServicesDescription": "テレメトリデータがサービス識別属性 (k8s-deployment、サービス名など) とともに取り込まれると、サービスがここに表示されます。", "searchServiceName": "サービスまたはストリーム名を検索...", @@ -8572,7 +8572,7 @@ "fieldMappingDialogHelp": "テレメトリデータ全体でサービス名として認識されるべきフィールド名を追加または削除します。", "fieldMappingPlaceholder": "フィールド名を入力してEnterキーを押してください", "foundInLogs": "ログ内で発見", - "foundInTraces": "トレース内で発見", + "foundInTraces": "トレース内で検出", "foundInMetrics": "メトリクス内で発見", "distinguishByLabel": "サービスの区別基準", "distinguishByHelp": "サービスが稼働する場所を定義するフィールドを選択します。たとえば、cluster + namespace + deployment を組み合わせると、各サービスに一意のアイデンティティが作成されます。最大5フィールド。", @@ -8608,13 +8608,13 @@ "instancesCount": "({count}インスタンス)", "noDimensions": "ディメンションなし", "defaultSetWarningTitle": "相関が信頼できない可能性があります。", - "defaultSetWarningBody": "このインスタンスには曖昧性解消がありません — ワークロードの一致なし(cluster、namespace、environment のコンテキストなし)で検出されました。ログとトレースは同じサービス名の異なるデプロイメントから来ている可能性があります。", + "defaultSetWarningBody": "このインスタンスには曖昧性解消がありません。ワークロードの一致なし(クラスター、ネームスペース、環境コンテキストなし)で検出されました。ログとトレースは、同じサービス名の異なるデプロイメントからのものである可能性があります。", "instanceIdentity": "インスタンスアイデンティティ", "noDimensionsCatchAll": "ディメンションなし — キャッチオールインスタンス", "streamSources": "ストリームソース", "fieldNameMapping": "フィールド名マッピング", "logsWithCount": "ログ({count})", - "tracesWithCount": "トレース({count})", + "tracesWithCount": "トレース ({count})", "metricsWithCount": "メトリクス({count})" }, "addRegexPattern": { @@ -8931,7 +8931,7 @@ "cachedReportHint": "注: キャッシュされたレポートはダッシュボードへのクイックアクセス用に保存されます。これらのレポートでは共有は無効です。", "selectDashboardStep": "ダッシュボードを選択", "timeRangeDescription": "指定した時間範囲のデータでレポートを生成します", - "pngPageLimitNote": "PNG はダッシュボードの最初の表示ページのみをキャプチャします。ダッシュボードが複数ページにわたる場合は PDF を使用してください。", + "pngPageLimitNote": "PNGはダッシュボードの最初の表示ページのみをキャプチャします。ダッシュボードが複数ページに渡る場合はPDFを使用してください。", "widthPlaceholder": "例: 1440", "heightPlaceholder": "例: 900", "dimensionsDefaultHint": "空白のままにするとサーバーのデフォルトが使用されます", @@ -9050,7 +9050,7 @@ "totalTimeRange": "合計クエリ範囲", "searchType": "検索タイプ", "querySource": "クエリーソース", - "traceId": "トレース ID", + "traceId": "トレースID", "userId": "ユーザー ID", "orgId": "組織 ID", "streamType": "ストリームタイプ", @@ -9142,10 +9142,10 @@ "openInTraces": "トレースで開く", "loadingStream": "ストリームをロード中...", "noLogsAvailableForService": "このサービスで利用できるログはありません", - "noCorrelatedLogsFound": "このスパンに関連するログが見つかりません", + "noCorrelatedLogsFound": "このスパンに関連するログは見つかりませんでした", "noData": { - "title": "{product} にトレースの送信を開始", - "description": "この組織にはまだトレースストリームが見つかりません。インストゥルメントされたサービスとトレースがここに自動的に表示されます。", + "title": "{product} へのトレース送信を始めましょう", + "description": "この組織にはまだトレースストリームが見つかりません。サービスを計装すると、トレースがここに自動的に表示されます。", "otlp": "{product} 経由でトレースを送信", "otlpDesc": "{product1}、{product2}、および任意の {product3} 互換 SDK", "otelCollectorDesc": "すべてのテレメトリ信号を {product} 経由でルーティング", @@ -9155,21 +9155,21 @@ "configureFullTextSearch": "ストリームに全文検索フィールドを設定します。", "collapseFields": "フィールドを折りたたむ", "openFields": "オープンフィールド", - "timeRangeUpdated": "選択した時間範囲にはこのトレースが含まれていません。時間範囲はトレースのタイムスタンプと一致するように更新されました。", + "timeRangeUpdated": "選択した時間範囲にこのトレースが含まれていませんでした。時間範囲はトレースのタイムスタンプに合わせて更新されました。", "errorRetrievingTraces": "トレースの取得中にエラーが発生しました。", - "fetchingTraces": "しっかりつかまって足跡を掴んでる", + "fetchingTraces": "トレースを読み込んでいます...", "noStream": { "title": "ストリームを選んで探索を始めましょう", - "description": "トレースストリームを選択し、[クエリの実行] を押します。結果が読み込まれたら、サービス、期間、スパンステータスなどでフィルタリングできます。", + "description": "トレースストリームを選択し、クエリを実行ボタンを押してください。結果が読み込まれたら、サービス、期間、スパンステータスなどでフィルタリングできます。", "selectStream": "ストリームを選択する", - "selectStreamDesc": "この組織で利用可能なトレースストリームを閲覧する", + "selectStreamDesc": "この組織の利用可能なトレースストリームを参照", "queryGuide": "トレースガイドを読む", - "queryGuideDesc": "サービスグラフ、スパンフィルタリング、RED メトリクスなど", + "queryGuideDesc": "サービスグラフ、スパンフィルタリング、REDメトリクスなど", "recent": "最近:" }, "noEvents": { "title": "トレースが見つかりません", - "descNoFilters": "{range} にはトレースが見つかりませんでした。結果を読み込むには、時間範囲を広げてみてください。", + "descNoFilters": "{range} にトレースが見つかりませんでした。", "descWithFilters": "選択したウィンドウには、このクエリと一致するものはありません。時間範囲を広げるか、フィルターを削除してみてください。", "descOutOfRange": "選択した時間ウィンドウには、このストリームのデータが含まれていません。データが最後に確認された時点へジャンプしてください。", "jumpToData": "最新のデータへジャンプ", @@ -9177,8 +9177,8 @@ "askAi": "AI にクエリの修正を依頼する", "selectedRange": "選択した範囲" }, - "tracesFound": "トレースが見つかりました", - "spansFound": "スパンが見つかりました", + "tracesFound": "検出されたトレース", + "spansFound": "検出されたスパン", "errorTraces": "エラートレース", "errorSpans": "エラースパン", "filterByErrors": "エラーで絞り込む", @@ -9186,29 +9186,29 @@ "error": "エラー", "errorCount": "{n} エラー | {n} エラー", "success": "成功", - "applyPendingFilters": "保留中のフィルターの適用とトレースの検索", + "applyPendingFilters": "保留中のフィルターを適用してトレースを検索", "backToTraces": "トレースに戻る", "loadingTrace": "読み込み中...", - "traceId": "トレース ID", - "copyTraceId": "トレース ID をコピー", + "traceId": "トレースID", + "copyTraceId": "トレースIDをコピー", "viewFilters": "フィルターを表示", - "reviewAndApplyFilters": "フィルターを確認してトレースに適用する", + "reviewAndApplyFilters": "フィルターを確認してトレースに適用", "spansLabel": "スパン", "errorsLabel": "エラー", "previousMatch": "前の試合", "nextMatch": "次の試合", - "searchInSpans": "スパンで検索", - "spansTableView": "スパンテーブルビュー", + "searchInSpans": "スパン内を検索", + "spansTableView": "スパンのテーブル表示", "comingSoon": "近日公開予定...", "fetchingTrace": "トレースを取得しています。", "traceFilters": "トレースフィルター", "showTraces": "トレースを表示", "applyAndSearch": "応募と検索", "timestamp": "タイムスタンプ", - "noErrorPresent": "このスパンにはエラーはありません", - "noEventsPresent": "このスパンにイベントはありません", - "noLinksPresent": "このスパンにリンクはありません", - "loadingTraceDag": "トレースDAGを読み込み中...", + "noErrorPresent": "このスパンにはエラーがありません", + "noEventsPresent": "このスパンにはイベントがありません", + "noLinksPresent": "このスパンにはリンクがありません", + "loadingTraceDag": "トレースDAGを読み込んでいます...", "exceptionsWithCount": "例外 ({count})", "typeLabel": "タイプ:", "messageLabel": "メッセージ:", @@ -9254,8 +9254,8 @@ "failedToLoad": "セッションを読み込めませんでした", "retry": "リトライ", "sessionNotFound": "セッションが見つかりません", - "noSpansFound": "現在の時間範囲では {id} のスパンが見つかりません。", - "searchPlaceholder": "このセッションのトレースを検索...", + "noSpansFound": "現在の時間範囲で {id} のスパンは見つかりませんでした。", + "searchPlaceholder": "このセッションのトレースを検索…", "turn": "順番", "turns": "ターン", "turnCount": "{count} {unit}", @@ -9366,7 +9366,7 @@ "tracesTab": "トレース", "serviceGraphTab": "サービスグラフ", "serviceGraphSubtitle": "サービスがどのように相互に呼び出すかを確認 — 依存関係、スループット、エラー率", - "servicesCatalogSubtitle": "トレースを送信するすべてのサービス、レイテンシー、スループット、エラー率", + "servicesCatalogSubtitle": "トレースを送信するすべてのサービス(レイテンシー、スループット、エラーレートを含む)", "treeView": "ツリービュー", "graphView": "グラフビュー", "layoutHorizontal": "水平", @@ -9385,7 +9385,7 @@ "host": "ホスト", "user": "ユーザー", "storedProcedure": "ストアドプロシージャ", - "noQueryText": "このスパンに対してクエリテキストが記録されていません。", + "noQueryText": "このスパンにはクエリテキストが記録されていません。", "performance": "パフォーマンス", "rowsReturned": "返された行数", "batchSize": "バッチサイズ", @@ -9440,7 +9440,7 @@ "time": "時間", "service": "サービス", "operation": "操作", - "traceId": "トレースID" + "traceId": "トレース ID" }, "lLMInsightsDashboard": { "stream": "ストリーム", @@ -9454,7 +9454,7 @@ "viewByStream": "ストリームで表示", "totalCost": "総コスト", "totalTokens": "総トークン数", - "totalTraces": "総トレース数", + "totalTraces": "トレース合計", "p95Latency": "P95レイテンシ", "errorRate": "エラー率", "timeAxis": "時刻", @@ -9518,7 +9518,7 @@ "processExitCode": "プロセス終了コード" }, "traceLatencyCell": { - "spansAcrossServices": "{spans} スパンが {services} サービスにまたがる" + "spansAcrossServices": "{spans} スパンが {services} サービスにまたがっています" }, "threadToolCalls": { "toolCall": "ツール呼び出し", @@ -9538,10 +9538,10 @@ "cost": "コスト", "model": "モデル", "errors": "エラー", - "noSpansLoaded": "このトレースにスパンが読み込まれていません。", - "noLlmTurns": "LLMターンが検出されませんでした。このトレースには次のようなスパンが含まれていません:", + "noSpansLoaded": "このトレースにはスパンが読み込まれていません。", + "noLlmTurns": "LLM ターンが検出されませんでした。このトレースには、対象の属性を持つスパンが含まれていません", "system": "システム", - "historicalMessage": "{count} このセッションの以前のメッセージ — 以前のトレースで処理されました。 | {count} このセッションの以前のメッセージ — 以前のトレースで処理されました。", + "historicalMessage": "{count} 件のこのセッションの以前のメッセージ — 以前のトレースで処理されました。 | {count} 件のこのセッションの以前のメッセージ — 以前のトレースで処理されました。", "user": "ユーザー", "startedAt": "{time} に開始", "unknown": "不明", @@ -9566,7 +9566,7 @@ "start": "開始", "requestResent": "リクエストを{count}回再送しました | リクエストを{count}回再送しました", "resends": "再送回数", - "spanIdTitle": "スパンID: {id}", + "spanIdTitle": "スパン ID: {id}", "inputTokens": "入力トークン", "in": "入力", "outputTokens": "出力トークン", @@ -9587,8 +9587,8 @@ "value": "値", "timestamp": "タイムスタンプ", "enterpriseLicenseRequired": "相関機能にはエンタープライズライセンスが必要です", - "missingSpanOrStream": "スパンまたはストリーム名が不足しています", - "spanIdCopied": "スパンIDをクリップボードにコピーしました", + "missingSpanOrStream": "スパン名またはストリーム名がありません", + "spanIdCopied": "スパン ID をクリップボードにコピーしました", "attributesCopied": "属性をクリップボードにコピーしました", "copiedToClipboard": "{type}をクリップボードにコピーしました", "failedToCopyClipboard": "クリップボードへのコピーに失敗しました", @@ -9605,7 +9605,7 @@ "spanNotFound": "トレース内にスパン {spanId} が見つかりません", "unknownOperation": "不明な操作", "unknownService": "不明なサービス", - "traceIdCopied": "トレースIDをクリップボードにコピーしました", + "traceIdCopied": "トレース ID をクリップボードにコピーしました", "sessionIdCopied": "セッションIDをクリップボードにコピーしました" }, "traceTree": { @@ -9613,7 +9613,7 @@ "clickToCollapse": "クリックして折りたたみ", "errorSpan": "エラースパン", "httpStatus": "HTTP {status}", - "spanEvent": "{count} スパンイベント | {count} スパンイベント" + "spanEvent": "{count} 件のスパンイベント | {count} 件のスパンイベント" }, "tracesAnalysisDashboard": { "baseline": "ベースライン:", @@ -9633,7 +9633,7 @@ "noSpansToDisplay": "表示するスパンがありません", "service": "サービス:", "duration": "期間:", - "percentOfTrace": "トレースの%:", + "percentOfTrace": "トレースの %:", "hasErrors": "⚠ エラーあります" }, "tracesNoEventsState": { @@ -9643,12 +9643,12 @@ "distributedTrace": "分散トレース", "loadingTraceData": "トレースデータを読み込んでいます...", "noTraceInfoAvailable": "このイベントのトレース情報はありません", - "traceIdLabel": "トレースID:", - "copyTraceId": "トレースIDをコピー", - "spanIdLabel": "スパンID:", + "traceIdLabel": "トレース ID:", + "copyTraceId": "トレース ID をコピー", + "spanIdLabel": "スパン ID:", "spanHierarchy": "スパン階層:", "applicationSpan": "アプリケーションスパン", - "browserSdkSpanPrefix": "ブラウザSDKスパン (", + "browserSdkSpanPrefix": "ブラウザ SDK スパン (", "closingParen": ")", "backendSpansPrefix": "バックエンドスパン (", "performanceBreakdown": "パフォーマンス内訳:", @@ -9657,7 +9657,7 @@ "networkLabel": "ネットワーク:", "backendLabel": "バックエンド:", "viewTraceDetails": "トレース詳細を表示", - "backendTraceNotAvailable": "バックエンドのトレースデータはまだ利用できません。トレースデータの取り込みには最大30秒かかる場合があります." + "backendTraceNotAvailable": "バックエンドのトレースデータはまだ利用できません。トレースデータの取り込みには最大30秒かかる場合があります。" }, "failedToAnalyzeDimensions": "ディメンションの分析に失敗しました", "failedToFetchCorrelatedLogs": "関連ログの取得に失敗しました", @@ -9705,7 +9705,7 @@ "p75Label": "P75:", "p95Label": "P95:", "p99Label": "P99:", - "averageOfTrace": "{avg}ms(トレースの{percent}%)", + "averageOfTrace": "{avg}ms (トレースの{percent}%)", "requestCount": "{count} リクエスト" }, "spanEventTimeline": "スパンイベントタイムライン", @@ -9794,7 +9794,7 @@ "requiresConfirmation": "実行前に確認が必要", "envVars": "環境変数", "envKey": "変数名", - "envValue": "価値", + "envValue": "値", "addEnvVar": "[変数を追加]", "credentialFiles": "認証情報ファイル", "credEnvVar": "環境変数名", @@ -10017,7 +10017,7 @@ "selectMetrics": "メトリックスストリームの選択", "correlatedLogs": "相関ログ", "correlatedMetrics": "相関指標", - "correlatedTraces": "相関トレース", + "correlatedTraces": "トレース", "loadingCorrelation": "相関データを読み込んでいます...", "clickToLoadLogs": "クリックして相関ログを読み込む", "clickToLoadMetrics": "クリックして相関指標を読み込む", @@ -10040,18 +10040,18 @@ "noLogsFound": "相関ログが見つかりません", "noDataFound": "データが見つかりません", "noLogsDescription": "選択した時間範囲では、この相関関係のログは見つかりませんでした。", - "correlatedTracesFor": "サービスの相関トレース:{service}", + "correlatedTracesFor": "サービス {service} の相関トレース", "all": "[すべて]", - "loadingTraces": "相関トレースをロード中...", - "tracesError": "トレースを読み込めませんでした", - "tracesErrorDetails": "トレースデータの取得中にエラーが発生しました。もう一度試してください。", + "loadingTraces": "トレースを読み込み中...", + "tracesError": "トレースを読み込めません", + "tracesErrorDetails": "トレースデータの取得中にエラーが発生しました。もう一度お試しください。", "metricsError": "メトリクスを読み込めません", "metricsErrorDetails": "メトリックスデータの取得中にエラーが発生しました。もう一度試してください。", "noMetricsDescription": "選択した時間範囲では、この相関の指標は見つかりませんでした。", "dimensionBasedCorrelation": "ディメンションベースの相関", - "tracesFromService": "サービスからのトレース:{service}", - "noTracesFound": "相関トレースは見つかりませんでした", - "noTracesDescription": "選択した時間範囲でこの相関のトレースが見つかりません。", + "tracesFromService": "サービス {service} のトレース", + "noTracesFound": "トレースが見つかりません", + "noTracesDescription": "選択した時間範囲内にこの相関のトレースが見つかりません。", "viewInTraces": "トレースで表示", "filters": "フィルター", "semanticFieldGroupsCaption": "相関と重複排除のためのフィールド名マッピングを定義します (例:ホスト、ホスト名、ノード →「ホスト」グループ)", @@ -10185,7 +10185,7 @@ "editCrossLink": "クロスリンクを編集", "name": "[名前]", "nameRequired": "名前が必要です", - "namePlaceholder": "例:トレースの詳細を表示", + "namePlaceholder": "例: トレースの詳細を表示", "urlTemplate": "URL テンプレート", "urlRequired": "URL が必要です", "urlPlaceholder": "例: https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", @@ -10281,7 +10281,7 @@ "colPattern": "パターン", "colPricingSimple": "価格設定", "testMatchTitle": "テストモデルマッチ", - "testMatchSubtitle": "スパンのモデル名が価格設定ルールとどのように一致するかをシミュレートします。", + "testMatchSubtitle": "スパンのモデル名が価格ルールにどのように一致するかをシミュレートします。", "modelNameInput": "[モデル名]", "modelNameHint": "あなたの世代のモデル名。", "enterModelName": "モデル名を入力してマッチングをテストしてください", @@ -10445,11 +10445,11 @@ "sessions": "エージェントセッションを順番に閲覧して確認する", "agentGraph": "エージェントが操作するもの(ツール、モデル、サービス、データストア)を確認", "agentBehavior": "ループにはまったエージェントと、それらを失敗させるエラーを特定します", - "discovery": "レビューに値する問題のあるトレースを見つける", + "discovery": "レビューする価値のある異常なトレースを見つける", "queues": "ステートフルなレビュー用TODOリスト", - "datasets": "注釈付きトレースとレビューからゴールデンデータセットをキュレーションする", + "datasets": "注釈付きトレースとレビューからゴールデンデータセットを厳選する", "experiments": "不変のオフライン評価実行をプレビューして作成", - "quality": "スパン、トレース、セッション評価全体でスコア品質を追跡します", + "quality": "スパン、トレース、セッション評価にわたるスコア品質を追跡する", "evalJobs": "セッション全体で評価ジョブを実行および監視する", "scorers": "LLM アウトプットを採点するスコアラーの作成と管理", "scoreConfigs": "評価に使用するスコアリングルーブリックを設定します" @@ -10493,7 +10493,7 @@ "dataset": { "button": "データセットに追加", "title": "データセットに追加", - "hint": "{ref} をゴールデンにします。入力はトレースから読み戻されます — 期待される出力を記述してください。", + "hint": "{ref} をゴールデンに変換します。入力はトレースから読み戻され、期待される出力を記述します。", "errors": { "dataset": "データセットを選択", "expectedOutput": "期待される出力を記述" @@ -10641,7 +10641,7 @@ "inTrace": "トレース {traceId} 内", "reviewAgain": "再レビュー", "emptyTitle": "レビュー対象がありません", - "emptyBody": "Discoveryまたはトレースビューから、トレース、スパン、セッションをこのキューに追加してください。", + "emptyBody": "Discovery またはトレースビューから、このキューにトレース、スパン、セッションを追加します。", "columns": { "refType": "参照", "refId": "参照", @@ -10660,8 +10660,8 @@ "next": "次の項目", "collapseNav": "項目リストを折りたたむ", "expandNav": "項目リストを展開", - "openTrace": "完全なトレースを開く", - "openTraceSoon": "完全なトレース表示は次のアップデートで提供されます。", + "openTrace": "フルトレースを開く", + "openTraceSoon": "フルトレースビューは次のアップデートで利用可能になります。", "input": "入力", "output": "出力", "retrievedContext": "取得コンテキスト", @@ -10692,7 +10692,7 @@ "distill": { "title": "データセットへ抽出", "action": "データセット", - "hint": "この項目が生成すべきだった回答を書いてください。それがゴールデン出力となり、入力はレビュー済みトレースから取得されます。", + "hint": "このアイテムが生成すべきだった回答を記述します。それがゴールデン出力となり、入力はレビュー済みトレースから取得されます。", "datasetLabel": "データセット", "datasetPlaceholder": "データセットを選択...", "noDatasets": "まだデータセットがありません — まずデータセットページから作成してください。", @@ -10704,7 +10704,7 @@ "updated": "ゴールデン出力が更新されました — この項目は既にそのデータセットに含まれていました", "openDataset": "データセットを開く", "needsReview": "まずレビューを完了してください — ゴールデンには裁定判断が必要です", - "sessionUnsupported": "セッション項目は蒸留できません — トレースとスパンのみ可能です", + "sessionUnsupported": "セッションアイテムは蒸留できません — トレースとスパンのみ", "loadError": "データセットの読み込みに失敗しました", "error": "この項目をデータセットに追加できませんでした" }, @@ -10735,7 +10735,7 @@ "taskProgress": "タスク: {completed}/{total} 完了 · {skipped} スキップ", "scoringProgress": "スコア: {completed}/{total} 完了 · {skipped} スキップ", "skipTiers": "スキップされた行: {full} 完全スキップ · {partial} 部分スキップ", - "scoreEvidence": "{scorer} · v{version}: {samples} サンプル, {noReference} 参照なし, {noTrace} トレースなし", + "scoreEvidence": "{scorer} · v{version}: {samples} サンプル、{noReference} 参照なし、{noTrace} トレースなし", "scorerApplicability": "{scorer} · v{version}: {eligible} 対象スロット, {noReference} 参照なし", "loadError": "実験の読み込みに失敗しました", "previewError": "実験スロットのプレビューに失敗しました", @@ -11100,7 +11100,7 @@ "stream": "ストリーム", "agent": "エージェント", "noAgentsTitle": "エージェントが見つかりません", - "noAgentsDescription": "この時間範囲ではエージェントが見つかりませんでした。時間範囲を広げるか、トレースにgen_aiエージェント属性が含まれていることを確認してください。", + "noAgentsDescription": "この時間範囲ではエージェントが見つかりませんでした。時間範囲を広げるか、トレースに gen_ai エージェント属性が含まれているか確認してください。", "versionAgnosticHint": "トポロジーはバージョン間で同じです — グラフは環境でスコープされ、バージョンではスコープされません。バージョン比較を使用してバージョンを比較してください。" }, "panels": { @@ -11114,7 +11114,7 @@ }, "spanTrend": { "title": "スパントレンド", - "subtitle": "種類別のスパンカウント" + "subtitle": "種類別スパン数" }, "latencyByModel": { "title": "モデル別のレイテンシー", @@ -11129,7 +11129,7 @@ "subtitle": "エラー数" }, "spansByModel": { - "title": "モデル別のスパン", + "title": "モデル別スパン", "subtitle": "モデルごとのコール数" }, "tokensByModel": { @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "最近のエラー", - "subtitle": "直近10回失敗したスパン" + "subtitle": "直近10件の失敗したスパン" } }, "behavior": { @@ -11148,7 +11148,7 @@ "disabled": "このデプロイメントではエージェントの動作シグナルがオフになっています" }, "loopsTitle": "ループしているエージェント", - "loopsHint": "トレースごとに同じツールを何度も再実行するエージェント", + "loopsHint": "エージェントがトレースごとに同じツールを何度も再実行しています", "summaryLoops": "ループエージェント", "summaryFailures": "障害分類", "summaryAgents": "影響を受けたエージェント", @@ -11163,7 +11163,7 @@ "unknownAgent": "(不明なエージェント)", "colAgent": "エージェント", "colTool": "ツール", - "colRatio": "呼び出し数 / トレース", + "colRatio": "コール / トレース", "colCalls": "呼び出し数", "colTraces": "トレース", "colFailClass": "障害クラス", @@ -11174,31 +11174,31 @@ "detail": { "title": "シグナルの詳細", "tracesTitle": "トレース", - "tracesHint": "トレースをクリックして開く", - "worstLoopTraces": "最悪のトレース(繰り返しが多い順)", + "tracesHint": "トレースをクリックして開きます", + "worstLoopTraces": "最悪のトレース(繰り返しの多い順)", "topCostTraces": "最もコストの高いトレース", "noTraces": "このシグナルのトレースが見つかりません", "errorsTitle": "エラーの内容", - "noErrors": "エラーメッセージは取得されていません — トレースを開いて確認", + "noErrors": "エラーメッセージは取得されていません — トレースを開いて調査してください", "colTraceId": "トレース", "colSpans": "スパン", "colRepeats": "繰り返し", - "openInNewTab": "新しいタブでトレースを開く", + "openInNewTab": "トレースを新しいタブで開きます", "showFull": "エラー全文を表示", "showLess": "表示を減らす", "colError": "エラーメッセージ", "colOccurrences": "回数", - "loopHeadline": "{agent} が {tool} をトレースあたり平均 {ratio} 回呼び出し({calls} 回の呼び出し、{traces} トレース)。", + "loopHeadline": "{agent} は平均してトレースあたり {tool} を {ratio}× 呼び出しています({calls} 回の呼び出しが {traces} トレースにわたって)。", "failHeadline": "{agent} が {count} 件の “{cls}” エラーを発生。", "costHeadline": "{agent}: ${cost} 消費 · {tokens} トークン · {errors} エラー。", - "loopExplain": "繰り返し率が高い場合は、通常エージェントが結果をキャッシュしていないか、再試行していることを意味します。以下の最悪のトレースを開いて繰り返し呼び出しを確認してください。", - "failExplain": "これらがこの障害クラスの実際のエラーメッセージです — 修正方法を見つけるために読むか、トレースを開いて発生場所を確認してください。", - "costExplain": "これらのトレースがこのエージェントのコストを押し上げました。最もコストの高いものを開いて何が実行されたか確認してください。" + "loopExplain": "高い繰り返し率は、通常エージェントが結果をキャッシュしていないか、再試行していることを意味します。下の最悪のトレースを開いて、繰り返された呼び出しを確認してください。", + "failExplain": "これらはこの障害クラスを引き起こしている実際のエラーメッセージです — それらを読んで修正を見つけるか、トレースを開いて発生場所を確認してください。", + "costExplain": "これらのトレースがこのエージェントの支出を牽引しました。最もコストの高いトレースを開いて、何が実行されたかを確認してください。" } }, "versionCompare": { "datePickerDisabled": "このモードではウィンドウはバージョンごとです", - "sampledNote": "レイテンシとコストの間隔は、バージョンごとにランダムサンプリングされた最大 {cap} 個のトレースから計算されます。", + "sampledNote": "レイテンシとコストの間隔は、バージョンごとに無作為に抽出された最大 {cap} 件のトレースから計算されます。", "bar": { "versionA": "バージョン A", "versionB": "バージョン B", @@ -11284,8 +11284,8 @@ "session": "セッションを評価" }, "targetLabels": { - "span": "スパン ID", - "trace": "トレース ID", + "span": "スパンID", + "trace": "トレースID", "session": "セッション ID" }, "scopes": { @@ -11297,7 +11297,7 @@ "jobLabel": "評価ジョブ", "jobPlaceholder": "評価ジョブを選択", "jobRequired": "評価ジョブを選択", - "noCompatibleJobs": "{scope} の評価ジョブには {stream} トレースストリームを使用するものはありません。", + "noCompatibleJobs": "{scope} 評価ジョブで {stream} トレースストリームを使用するものはありません。", "loadJobsError": "評価ジョブの読み込みに失敗しました。", "run": "評価を実行", "queued": "{count} 件の評価タスクをキューに追加しました。 | {count} 件の評価タスクをキューに追加しました。", @@ -11393,7 +11393,7 @@ }, "runs": { "title": "評価スコア", - "hint": "スコアと推論は_llm_scoresから取得されます。実行を選択して、その評価者トレースを開いて詳細を調査してください。", + "hint": "スコアと推論は _llm_scores から得られます。ランを選択すると、その評価トレースが開き、さらに調査できます。", "filterLabel": "評価スコアをフィルター", "footerTitle": "評価スコア", "noThresholdHint": "このスコア設定に健全性しきい値を設定して、不健全なスコアを分類および強調表示します。", @@ -11588,7 +11588,7 @@ "booleanInfo": "ブール型の設定は {trueLabel} / {falseLabel} の値を受け付けます。追加の設定は不要です。", "healthyThresholdTitle": "健全性しきい値", "optional": "任意", - "healthyThresholdIntro": "このディメンションのスコアが健全とみなされる条件を定義します。この範囲外のスコアは、トレース一覧、セッション、その他のビューで品質の問題をトリガーします。", + "healthyThresholdIntro": "このディメンションのスコアが健全と見なされる範囲を定義します。この範囲外のスコアは、トレースリスト、セッション、その他のビューで品質問題を引き起こします。", "healthyWhenValueIs": "値が次の場合に健全:", "healthyCategories": "健全なカテゴリ:", "healthyCategoriesHint": "健全とみなすすべての値にチェックを入れてください。", @@ -11667,8 +11667,8 @@ "col": { "time": "時刻", "job": "ジョブ", - "spanId": "スパン ID", - "traceId": "トレース ID", + "spanId": "スパンID", + "traceId": "トレースID", "score": "スコア", "latency": "レイテンシー", "status": "ステータス" @@ -11896,8 +11896,8 @@ "col": { "time": "時刻", "scorer": "スコアラー", - "spanId": "スパン ID", - "traceId": "トレース ID", + "spanId": "スパンID", + "traceId": "トレースID", "score": "スコア", "latency": "レイテンシー", "status": "ステータス" @@ -11953,21 +11953,21 @@ "session": "セッション" }, "targetScopeHelp": { - "span": "一致するスパンをそれぞれ個別に評価します。", - "trace": "完了ウィンドウが閉じた後にトレース全体を評価します。", - "session": "完了ウィンドウが閉じた後にトレースをまたいでセッション全体を評価します。" + "span": "一致する各スパンを個別に評価します。", + "trace": "完了ウィンドウが閉じた後に、トレース全体を評価します。", + "session": "完了ウィンドウが閉じた後に、トレースをまたいでセッションを評価します。" }, "completionSection": "完了条件", "completionHelp": { - "trace": "これらのいずれかが最初に満たされた時点でトレースが評価されます。", + "trace": "これらのいずれかが最初に満たされた時点で、トレースが評価されます。", "session": "これらのいずれかが最初に満たされた時点でセッションが評価されます。" }, "idleWindowLabel": "アイドルウィンドウ(秒)", - "idleWindowHelp": "新しいスパンがない状態で{duration}後に評価されます。", + "idleWindowHelp": "新しいスパンがない状態が {duration} 続いた後に評価されます。", "idleWindowHelpEmpty": "新しいスパンが到着しなくなったら評価されます。", "maxAgeLabel": "最大経過時間(秒)", - "maxAgeHelp": "最初のスパンから{duration}後に評価されます。", - "maxAgeHelpEmpty": "スパンがまだ到着していても、固定された経過時間で評価されます。", + "maxAgeHelp": "最初のスパンから {duration} 後に評価されます。", + "maxAgeHelpEmpty": "スパンがまだ到着していても、固定の経過時間で評価されます。", "descriptionLabel": "[説明]", "samplingModeLabel": "サンプリングモード", "samplingValueLabel": "サンプリングレート", @@ -11978,8 +11978,8 @@ "scorerPicker": { "title": "スコアラー", "hint": { - "span": "一致するスパンごとに実行するスコアラーを1つ以上選択します。", - "trace": "対象となるトレースごとに実行するスコアラーを1つ以上選択します。", + "span": "一致するすべてのスパンに対して実行するスコアラーを 1 つ以上選択します。", + "trace": "対象となるすべてのトレースに対して実行するスコアラーを 1 つ以上選択します。", "session": "対象となるセッションごとに実行するスコアラーを1つ以上選択します。" }, "meta": "{type} · v{version}", @@ -11991,29 +11991,29 @@ "title": "フィルター条件", "hint": { "span": "この条件に一致するスパンのみがサンプリングとスコアリングの対象になります。", - "trace": "スパンのいずれかがこの条件に一致する場合、トレースがサンプリングとスコアリングの対象になります。", - "session": "スパンのいずれかがこの条件に一致する場合、セッションがサンプリングとスコアリングの対象になります。" + "trace": "トレースは、いずれかのスパンがこの条件に一致する場合にサンプリングとスコアリングの対象になります。", + "session": "セッションは、いずれかのスパンがこの条件に一致する場合にサンプリングとスコアリングの対象になります。" } }, "selector": { - "title": "対象スパン(オプション)", + "title": "対象スパン(任意)", "hint": { - "trace": "空のままにすると、トレース内のすべてのスパンが含まれます。" + "trace": "空にすると、トレース内のすべてのスパンが含まれます。" } }, "endSignal": { "title": "終了シグナル(オプション)", "hint": { - "trace": "いずれかのスパンが一致したときにトレースを即座に閉じるスパン条件を定義します。", - "session": "いずれかのスパンが一致したときにセッションを即座に閉じるスパン条件を定義します。" + "trace": "いずれかのスパンが一致した時点でトレースを即座に終了するスパン条件を定義します。", + "session": "いずれかのスパンが一致した時点でセッションを即座に終了するスパン条件を定義します。" } }, "inputMapping": { "title": "プロンプト変数", "hint": { - "span": "各変数をスパン属性にマップします。", - "trace": "各変数をシステム提供の値またはスパン属性にマップします。", - "session": "各変数をシステム提供の値またはスパン属性にマップします。" + "span": "各変数をスパン属性にマッピングします。", + "trace": "各変数をシステム提供の値またはスパン属性にマッピングします。", + "session": "各変数をシステム提供の値またはスパン属性にマッピングします。" }, "placeholder": "値を選択", "searchPlaceholder": "システム値とスパン属性を検索…", @@ -12029,7 +12029,7 @@ "title": "{scope} システム値", "description": "OpenObserve は、このジョブが評価する各 {scope} について、これらの値を個別に構築します。スコアラーのプロンプト変数をマッピングする際にソースとして使用してください。", "badge": "システム提供", - "selectorRequired": "スパンセレクターが必要", + "selectorRequired": "スパンセレクターが必要です", "columns": { "variable": "値", "source": "ソース", @@ -12043,22 +12043,22 @@ "trace": "トレースのルートスパンからの出力。" }, "statistics": { - "trace": "トレースメトリクス:スパン数、期間、LLMとツールの呼び出し、エラー、トークン、コスト。", - "session": "セッションメトリクス:トレース数とターン数、期間、エラー。" + "trace": "トレースメトリクス: スパン数、期間、LLM とツール呼び出し、エラー、トークン、コスト。", + "session": "セッションメトリクス: トレース数とターン数、期間、エラー。" }, "spans": { "trace": "ジョブのスパンセレクターによって選択された、フィルタリングされたスパンのサブセット。" }, "steps": { - "trace": "時間順に並べられたスパン。トレースが非常に長い場合は中央が折り畳まれます。", - "session": "時間順に並べられたトレース。会話のターンとして表現されます。" + "trace": "時間順のスパン。トレースが非常に長い場合は中間が折りたたまれます。", + "session": "時間順のトレース。会話のターンとして表現されます。" } } } }, "spanSelector": { "select": "スパンセレクターを選択", - "bindingHelp": "トレースには数百のスパンが含まれる場合があります。このスコアラーが確認するスパンを選択してください。", + "bindingHelp": "トレースには数百のスパンが含まれることがあります。このスコアラーが参照するスパンを選択してください。", "createForScorer": "スコアラー用に作成", "createForScorerTitle": "このスコアラー用のスパンセレクターを作成", "editorTitle": "スパンセレクター", @@ -12066,11 +12066,11 @@ "schemaMode": "読み取るフィールド", "defaultSchema": "標準のGenAIフィールド", "customSchema": "カスタムフィールド", - "defaultSchemaHelp": "これら8つのフィールドは、一致するすべてのスパンから読み取られます。不足しているものは空で渡されます。", + "defaultSchemaHelp": "これら8つのフィールドは、一致するすべてのスパンから読み取られます。欠落しているものは空として扱われます。", "fields": "フィールド", "fieldsHelp": "これらのフィールドのみが読み取られます — それ以外はスコアラーに送信されません。", "maximumSpans": "最大スパン数", - "budget": "トレースから選択されるスパンの数を制限します。", + "budget": "トレースから選択されるスパン数を制限します。", "validation": { "name": "セレクター名を入力してください。", "duplicateName": "セレクター名はこのジョブ内で一意である必要があります。", @@ -12085,15 +12085,15 @@ "scopes": { "span": { "title": "一致したスパン", - "hint": "ストリームとフィルターを選択すると、このパネルにジョブが一致するスパンの数が表示されます。", - "matchedSuffix": "スパン一致 · 過去1時間", - "matchedLoading": "一致したスパンをカウント中…" + "hint": "ストリームとフィルターを選択すると、このパネルにジョブが一致するスパン数が表示されます。", + "matchedSuffix": "一致したスパン・過去1時間", + "matchedLoading": "一致したスパンを数えています…" }, "trace": { "title": "一致したトレース", - "hint": "ストリームとフィルターを選択すると、このパネルにジョブが一致するトレースの数が表示されます。", - "matchedSuffix": "トレース一致 · 過去1時間", - "matchedLoading": "一致したトレースをカウント中…" + "hint": "ストリームとフィルターを選択すると、このパネルにジョブが一致するトレース数が表示されます。", + "matchedSuffix": "一致したトレース・過去1時間", + "matchedLoading": "一致したトレースを数えています…" }, "session": { "title": "一致したセッション", @@ -12124,7 +12124,7 @@ "idleWindowMinimum": "アイドルウィンドウは少なくとも1秒以上である必要があります", "idleWindowMaximumTrace": "トレースのアイドルウィンドウは30分を超えることはできません", "idleWindowMaximumSession": "セッションのアイドルウィンドウは4時間を超えることはできません", - "maxAgeMaximumTrace": "トレースの最大保持時間は2時間を超えることはできません", + "maxAgeMaximumTrace": "トレースの最大経過時間は2時間を超えることはできません", "maxAgeMaximumSession": "セッションの最大保持時間は24時間を超えることはできません", "samplingValueRequired": "A sampling value is required" } @@ -12187,7 +12187,7 @@ "curlDesc": "一番手っ取り早い方法 — コマンドを1つ貼り付けるとログが流れ始める", "shippers": "ログシッパーを使う", "shippersDesc": "{product1}、{product2}、{product3}、{product4}、{product5}など", - "otelDesc": "ログ、トレース、メトリクスのベンダーに依存しないOTLPインジェスト", + "otelDesc": "ログ、トレース、メトリクスのためのベンダー中立な OTLP 取り込み", "or": "または:", "aws": "AWS/CloudWatch", "askAi": "AIにインジェストの設定を依頼" @@ -12196,7 +12196,7 @@ "title": "ストリームを選んで探索を始めましょう", "description": "ストリームを選択し、[クエリの実行] を押します。結果が出たら、フィルター、VRL 関数、カスタム時間範囲を使用して絞り込むことができます。", "selectStream": "ストリームを選択する", - "selectStreamDesc": "ログ、トレース、メトリクス、RUM ストリームを閲覧", + "selectStreamDesc": "ログ、トレース、メトリクス、RUM ストリームを参照", "queryGuide": "クエリガイドを読む", "queryGuideDesc": "フィルター、SQL モード、VRL、保存済みビュー", "recent": "最近:" @@ -12293,13 +12293,13 @@ "scannedEventsForQuery": "このクエリのスキャンされたイベント", "timeTaken": "所要時間", "noData": "データなし", - "traceId": "トレースID", + "traceId": "トレース ID", "viewQuery": "クエリを表示", "sqlQuery": "SQLクエリ", "copied": "コピーしました!", "sql": "SQL", "noSqlAvailable": "利用可能なSQLクエリはありません", - "fullTraceId": "完全なトレースID", + "fullTraceId": "完全なトレース ID", "columnDuration": "期間", "columnNodeName": "ノード名", "columnRole": "ロール", @@ -12312,7 +12312,7 @@ "goodResponse": "良好な応答", "moderateResponse": "中程度の応答", "slowResponse": "低速応答", - "failedToCopyTraceId": "トレースIDのクリップボードへのコピーに失敗しました", + "failedToCopyTraceId": "トレース ID をクリップボードにコピーできませんでした", "failedToCopySql": "SQLのクリップボードへのコピーに失敗しました" }, "searchResult": { @@ -12332,7 +12332,7 @@ "noMetricStreams": "サービス \"{service}\" のメトリックストリームが見つかりません", "correlationError": "相関エラー: {error}", "contentCopied": "コンテンツのコピーに成功しました!", - "noTraceIdForInspection": "検査に使用できるトレースIDがありません" + "noTraceIdForInspection": "検査に使用できるトレース ID がありません" }, "searchBar": { "customRangeAlt": "カスタム範囲", @@ -13268,7 +13268,7 @@ "maxDuration": "最大時間", "noExecutionData": "実行データが見つかりません", "noExecutionDataDesc": "実行{runId}のストリームデータが、予定時刻の前後5分のウィンドウ内に見つかりませんでした。", - "openTrace": "Playwrightトレースを開く", + "openTrace": "Playwright トレースを開く", "runId": "実行ID", "screenshotAlt": "ステップスクリーンショット", "screenshotPlaceholder": "スクリーンショットのプレースホルダー", @@ -13354,7 +13354,7 @@ "errorPatternsWindowDesc": "{window}で正規化 · 行をクリックして実行をフィルタリング" }, "scheduleAlert": { - "addNewDestination": "新しい目的地を追加", + "addNewDestination": "新規宛先を追加", "alertedIfFails": "テストが失敗した場合はアラートを通知します", "alertedIfFailsSuffix": "回。", "alerts": "アラート", @@ -13370,8 +13370,8 @@ "weeks": "週" }, "customIntervalValue": "繰り返し間隔", - "destinationRequired": "少なくとも 1 つの目的地が必要です", - "destinations": "目的地", + "destinationRequired": "少なくとも1つの宛先が必要です", + "destinations": "宛先", "frequency": "周波数", "frequencyOptions": { "15min": "15 分", @@ -13383,8 +13383,8 @@ "custom": "カスタム" }, "minutes": "分", - "noDestinations": "目的地はありません", - "refreshDestinations": "デスティネーションを更新", + "noDestinations": "利用可能な宛先はありません", + "refreshDestinations": "宛先を更新", "retries": "リトライ", "retriesOnFailure": "失敗時に再試行", "retriesOnFailureSuffix": "回。", @@ -13676,12 +13676,12 @@ "alertSources": "アラート — 外部ソース", "alertTemplates": "アラート — テンプレート", "panelEditor": "パネルエディター", - "traceDetail": "トレースの詳細", + "traceDetail": "トレース詳細", "runningQueries": "クエリの実行", "ingestionTokens": "IAM — インジェストトークン", "syntheticsTokens": "IAM — Synthetics トークン", "alertIncidents": "アラート — インシデント", - "pipelineDestinations": "パイプライン — 目的地", + "pipelineDestinations": "パイプライン — 宛先", "enrichmentTables": "エンリッチメントテーブル", "iamInvitations": "IAM — 招待状", "iamOrganizations": "IAM — 組織", @@ -13757,7 +13757,7 @@ "iamGroupsRefresh": "リストを更新", "iamServiceAccountsAdd": "新しいサービスアカウントを追加", "iamServiceAccountsRefresh": "リストを更新", - "alertDestinationsAdd": "新しい目的地を追加", + "alertDestinationsAdd": "新規宛先を追加", "alertDestinationsRefresh": "リストを更新", "alertSourcesAdd": "新しいアラートソースを追加", "alertSourcesRefresh": "リストを更新", @@ -13780,7 +13780,7 @@ "aiChatExpand": "AI チャットを展開/折りたたむ", "logsSaveView": "保存済みビューとして保存", "logsExport": "結果を CSV としてエクスポート", - "tracesCopyUrl": "トレース共有 URL をコピー", + "tracesCopyUrl": "トレース共有URLをコピー", "alertIncidentsRefresh": "リストを更新", "pipelineDestinationsRefresh": "リストを更新", "enrichmentTablesRefresh": "リストを更新", @@ -14314,16 +14314,16 @@ "pleaseWaitWhileLoadingAlert": "アラートを読み込んでいます。お待ちください...", "errorWhilePullingAlerts": "アラートの取得中にエラーが発生しました。", "pleaseWaitWhileLoadingAlerts": "アラートを読み込んでいます。お待ちください...", - "destinationsDeletedSuccessfully": "宛先を{count}件正常に削除しました | 宛先を{count}件正常に削除しました", - "failedToDeleteDestinations": "宛先を{count}件削除できませんでした | 宛先を{count}件削除できませんでした", - "destinationsDeletedWithFailures": "宛先を{count}件正常に削除しましたが、{failed}件失敗しました | 宛先を{count}件正常に削除しましたが、{failed}件失敗しました", + "destinationsDeletedSuccessfully": "{count} 件の宛先が正常に削除されました | {count} 件の宛先が正常に削除されました", + "failedToDeleteDestinations": "{count} 件の宛先を削除できませんでした | {count} 件の宛先を削除できませんでした", + "destinationsDeletedWithFailures": "{count} 件の宛先は正常に削除され、{failed} 件が失敗しました | {count} 件の宛先は正常に削除され、{failed} 件が失敗しました", "noDestinationsSelectedForDeletion": "削除する宛先が選択されていません", "deletingDestinations": "宛先を削除しています...", - "destinationDeletedSuccessfully": "宛先{name}が正常に削除されました", + "destinationDeletedSuccessfully": "宛先 {name} が正常に削除されました", "errorWhilePullingDestinations": "宛先の取得中にエラーが発生しました。", - "pleaseWaitWhileLoadingDestinations": "宛先を読み込んでいます。お待ちください...", + "pleaseWaitWhileLoadingDestinations": "宛先を読み込み中です。お待ちください...", "errorWhileLoadingActions": "アクションの読み込み中にエラーが発生しました。", - "pleaseWaitWhileLoadingAlertDestination": "アラート宛先を読み込んでいます。お待ちください...", + "pleaseWaitWhileLoadingAlertDestination": "アラート宛先を読み込み中です。お待ちください...", "errorImportingAlertPleaseCheck": "アラートのインポート中にエラーが発生しました。JSONを確認してください。", "alertsImportedSuccessfully": "アラートを{count}件正常にインポートしました | アラートを{count}件正常にインポートしました", "invalidJson": "無効なJSON: {error}", @@ -14564,8 +14564,8 @@ "errorWhileUpdating": "レポートの更新中にエラーが発生しました。" }, "correlation": { - "refreshingTraceData": "トレースデータを更新中...", - "traceDetailViewComingSoon": "トレース詳細ビューは近日公開予定", + "refreshingTraceData": "トレースデータを更新しています...", + "traceDetailViewComingSoon": "トレース詳細ビューは近日公開予定です", "columnIsAlreadyVisible": "列 \"{name}\" は既に表示されています", "columnAddedToTable": "列 \"{name}\" がテーブルに追加されました" }, @@ -14605,7 +14605,7 @@ "isNotASupportedFileType": "\"{fileName}\" はサポートされていないファイルタイプです。許可されているのは {allowed} ファイルのみです。" }, "workflows": { - "thisBranchAlreadyEndsInA": "このブランチは既に宛先で終わっています。", + "thisBranchAlreadyEndsInA": "このブランチは既に宛先で終了しています。", "chooseATriggerNodeToStart": "ワークフローを開始するにはトリガーノードを選択してください", "thisConnectionWouldCreateALoop": "この接続はループを作成します", "onlyOneIncomingConnectionToA": "ステップへの受信接続は1つのみ許可されています" @@ -15360,20 +15360,20 @@ "failed": "失敗" }, "columnHints": { - "calls": "このクエリが実行された回数。データベースが報告する場合はデータベース自身のカウントです — それはトレースを送信するシステムの部分だけでなく、すべてのクライアントを対象とします。「クライアント観測」とマークされた行は、データベースが報告しなかったため、代わりにトレースからカウントされます。", + "calls": "このクエリが実行された回数。データベースが報告する場合はその値を使用します。それはすべてのクライアントをカバーし、トレースを送信しているシステムの一部だけではありません。クライアント観測とマークされた行は、データベースが報告しなかったため、トレースからカウントされます。", "p50": "すべてのコールの半分がこれよりも速く完了しました。完了したコールのみをカウントします — まだ実行中のクエリや、戻ってこなかったクエリはここでは測定されません。", "p95": "遅いテール — 20回に1回のコールが少なくともこの時間かかりました。完了したコールのみをカウントします — まだ実行中のクエリや、戻ってこなかったクエリはここでは測定されません。", "p99": "最悪の1%のコールが少なくともこの時間かかりました。完了したコールのみをカウントします — まだ実行中のクエリや、戻ってこなかったクエリはここでは測定されません。", "max": "この時間枠内で最も遅い単一のコール — 実測の1回のコールであり、平均ではありません。", "errors": "これらのコールのうち、エラーで返ってきたものの数。", "perTrace": "これが単一のリクエスト内で実行される回数。数値が高い場合は通常ループを意味します。", - "load": "このクエリがデータベース内で費やした合計時間。データベースが報告する場合はデータベース自身の数値: Postgresでは実行時間、MySQLとMariaDBでは待機時間 — 各行にどちらかが示されています。「クライアント観測」とマークされた行はトレースから測定されるため、ネットワークの往復が含まれます。" + "load": "このクエリがデータベースで費やした合計時間。データベースが報告する場合はその値を使用します。Postgresでは実行時間、MySQLとMariaDBでは待機時間です。各行にどちらかが示されます。クライアント観測とマークされた行はトレースから測定されるため、ネットワークの往復時間が含まれます。" }, "errorsNone": "なし", "errorsAll": "すべて", "actions": { "open": "詳細を開く", - "traces": "サンプルトレースを見る", + "traces": "トレースの例を見る", "copy": "クエリをコピー", "copied": "クエリをコピーしました", "copyFailed": "クエリをコピーできませんでした。", @@ -15405,7 +15405,7 @@ "n-plus-one": { "title": "リクエストごとに少なくとも{multiplier}回実行", "body": "データベース時間の{share}・{service}", - "rule": "このクエリが1つのリクエスト内で少なくとも{ratio}回実行され、それが少なくとも{traces}リクエストにわたって見られるため表示されています。これは下限値なので、実際の数値はより高い可能性があります。正当なバッチ処理も同じように見えることがあります。" + "rule": "このクエリが単一のリクエスト内で少なくとも {ratio} 回実行され、少なくとも {traces} 件のリクエストにわたって実行されているため表示されます。これは下限値であり、実際の数値はそれより高い可能性があります。正当なバッチ処理も同じように見えることがあります。" }, "volume-shift": { "title": "呼び出し回数が増加、速度は同じ", @@ -15479,7 +15479,7 @@ "subtitleCounts": "{pass} 件成功、{fail} 件失敗。 | {pass} 件成功、{fail} 件失敗。", "checklistTitle": "確認した内容", "showMeHow": "計装方法を表示", - "checkTrace": "自分のトレースの1つを確認", + "checkTrace": "自分のトレースを確認", "checks": { "enabled": { "ok": "データベースモニタリングはオンになっています", @@ -15488,16 +15488,16 @@ "noDetail": "管理者がこの組織でこれをオンにして、コレクターを再起動できます。" }, "traces": { - "ok": "トレースが届いています", + "ok": "トレースは届いています", "okDetail": "この時間範囲で{count}件記録されました", - "no": "トレースはまだ届いていません", + "no": "トレースが届いていません", "noDetail": "データベースモニタリングはトレースから構築されますが、この組織はまだトレースを送信していません。" }, "permission": { "ok": "このデータにアクセスできます", "okDetail": "あなたは{org}の管理者です", "no": "このデータにアクセスできません", - "noDetail": "データベースモニタリングはトレースを読み取りますが、あなたのロールにはその権限が含まれていません。読み取りアクセスについて管理者に問い合わせてください。" + "noDetail": "データベースモニタリングはトレースを読み取りますが、あなたのロールにはトレースが含まれていません。読み取りアクセスについて管理者に依頼してください。" }, "dbSpans": { "ok": "トレースにデータベースが含まれています", @@ -15533,7 +15533,7 @@ "plans": "クエリプラン", "plansHint": "このクエリを実行するためにデータベースが実行した手順。遅い原因を調べるにはここから始めてください。", "callers": "呼び出し元と例", - "callersHint": "アプリケーションのどの部分がこのクエリを実行したか、およびトレースとして開くことができる個々の遅い実行。", + "callersHint": "このクエリを実行したアプリケーションの部分と、個々の遅い実行をトレースとして開くことができます。", "callersLocked": "個々の実行はトレースから取得されます。この時間範囲では、このクエリはトレースされていません。" }, "notFound": { @@ -15559,10 +15559,10 @@ "noSamples": "この期間の個別の実行は読み込まれていません。", "noSeries": "選択した期間には、このクエリの履歴がありません。", "liveSeries": "最新のポイントはまだ集計中で、変更される可能性があります。", - "noStream": "このクエリがどのトレースストリームに含まれるかを特定できなかったため、呼び出し元と例を読み込めません。", - "ambiguousStream": "この組織には複数のトレースストリームがあり、このクエリがどのストリームで実行されるかを特定できません。ストリームを選択して、呼び出し元とサンプルトレースを読み込んでください。", + "noStream": "どのトレースストリームがこのクエリを保持しているか特定できなかったため、その呼び出し元とサンプルを読み込めません。", + "ambiguousStream": "この組織には複数のトレースストリームがあり、このクエリがどのストリームで実行されているか特定できません。ストリームを選択して、呼び出し元とサンプルトレースを読み込んでください。", "pickStream": "トレースストリームを選択", - "invalidStream": "そのトレースストリーム名は認識できなかったため、検索を実行しませんでした。", + "invalidStream": "そのトレースストリーム名は認識できませんでした。そのため検索を実行しませんでした。", "firstSeen": "このリストに最初に表示されたのは {time} です", "firstSeenHint": "この期間内で、このクエリが単独で追跡するほど重かった最も早い時点。", "lastSeen": "このリストに最後に表示されたのは {time} です", @@ -15593,7 +15593,7 @@ "sampleOk": "正常", "sampleError": "失敗", "viewTrace": "リクエストを表示 →", - "viewTraces": "サンプルトレースを表示", + "viewTraces": "トレースの例を見る", "copySummary": "コピー", "copySummaryHint": "ここにあるすべての数値はすでにこのページに表示されています。これは単に文を書き出すだけで、インシデントの13分目には何もない代わりにメッセージが生成されます。", "summaryCopied": "要約をコピーしました", @@ -15686,7 +15686,7 @@ "tracedCalls": "{calls} 件の呼び出しをトレース", "coverage": "{count} 件のサービスが {traced} 回のトレース済み実行で確認されました(上記の実行 {executions} 回のうち)。残りはまだトレースしていない呼び出し元からのものです。", "coverageUnknown": "{count} 件のサービスが {traced} 件のトレース済み呼び出しで確認されました。データベースがこのステートメントの合計を報告していないため、割合を表示できません。", - "noneNamed": "{traced} 件の呼び出しがトレースされましたが、そのどれもサービスに結び付けることができませんでした — それらのトレースはこの時間範囲の外で開始されています。" + "noneNamed": "トレースされた呼び出しは {traced} 件でしたが、そのいずれもサービスに結び付けることはできませんでした。これらのトレースはこの時間範囲の外で始まります。" }, "callersEmpty": { "title": "このクエリのトレース済み呼び出しはまだありません", @@ -15752,9 +15752,9 @@ "failedWithCode": "失敗 · {code}", "viewTrace": "このコールが含まれていたリクエストを開く", "scatterOk": "完了", - "partial": "一部のトレースデータを読み取れなかったため、このリストからコールが欠落している可能性があります。", + "partial": "トレースデータの一部を読み取れなかったため、このリストから呼び出しが欠落している可能性があります。", "disclosureShort": "各行は実際に完了した1つのコールです", - "disclosureDetail": "送信したトレースから、コールを行ったアプリケーションによって測定されます。完了したコールのみがここに表示されます — まだ実行中のクエリや、ハングして応答が返らなかったクエリは測定されません。", + "disclosureDetail": "送信されたトレースから、呼び出しを行ったアプリケーションによって測定されます。ここには完了した呼び出しのみが表示されます。まだ実行中のクエリや、ハングして応答が返らなかったクエリは測定されません。", "counts": { "complete": "このウィンドウ内のすべての{count}データベースコールを、遅い順に表示しています。", "truncated": "このウィンドウ内の{count}件の最も遅いコール — ここに表示されているよりも多く実行されました。", @@ -15959,8 +15959,8 @@ "blocking": "ブロック中" }, "coverage": { - "summary": "最長待ち時間は{longest}です。すべての待機は、ロックを保持したままの{roots}に遡ります。", - "summaryCapped": "一度に読み取れるより多くのセッションが待機していました。取得できたセッションの中で、最長待ち時間は{longest}で、ロックを保持したままの{roots}に遡ります。", + "summary": "最長の待機時間は {longest} です。すべての待機は、ロックを保持している {roots} に遡ります。", + "summaryCapped": "一度に読み取れる数を超えるセッションが待機していました。取得できたもののうち、最長の待機は {longest} で、ロックを保持している {roots} に遡ります。", "summaryOneRoot": "1セッション", "summaryManyRoots": "{count} セッション", "checked": "{interval}秒ごとにチェック。最終確認は{time}。", diff --git a/web/src/locales/languages/ko-KR.json b/web/src/locales/languages/ko-KR.json index 9af7fb8806..07a93d03bd 100644 --- a/web/src/locales/languages/ko-KR.json +++ b/web/src/locales/languages/ko-KR.json @@ -78,7 +78,7 @@ }, "noDashboards": { "title": "첫 대시보드 만들기", - "description": "대시보드는 지표, 로그 및 추적을 하나의 뷰로 제공합니다.하나를 만들어 시작하세요.", + "description": "대시보드는 메트릭, 로그, 트레이스를 하나의 뷰로 통합합니다. 시작하려면 대시보드를 만드세요.", "action": "새 대시보드", "actionDesc": "빈 캔버스에서 시작", "import": "대시보드 가져오기", @@ -124,7 +124,7 @@ }, "noIngestionTokens": { "title": "아직 통합 토큰이 없습니다.", - "description": "통합 토큰은 로그, 지표 및 추적을 전송할 때 데이터 소스를 인증합니다.", + "description": "수집 토큰은 로그, 메트릭, 트레이스를 보낼 때 데이터 소스를 인증합니다.", "action": "새 토큰", "actionDesc": "통합 토큰 생성" }, @@ -133,11 +133,11 @@ "description": "조직은 사용자와 데이터를 함께 그룹화합니다.하나를 만들어 시작하세요." }, "noAlertDestinations": { - "title": "아직 목적지가 없습니다", - "description": "목적지는 Slack, 이메일, 웹후크 등 경고 알림이 전송되는 위치를 정의합니다.", - "action": "새 목적지", + "title": "아직 대상이 없습니다", + "description": "대상은 Slack, 이메일, 웹훅 등 알림이 전송되는 곳을 정의합니다.", + "action": "새 대상", "actionDesc": "알림 채널 연결", - "import": "목적지 가져오기", + "import": "대상 가져오기", "importDesc": "JSON 파일에서 가져오기" }, "noAlertSources": { @@ -147,9 +147,9 @@ "actionDesc": "웹훅 URL과 토큰을 생성하세요" }, "noPipelineDestinations": { - "title": "아직 목적지가 없습니다", + "title": "아직 대상이 없습니다", "description": "파이프라인 출력을 위한 외부 대상 — HTTP 엔드포인트 및 원격 쓰기 대상", - "action": "새 목적지", + "action": "새 대상", "actionDesc": "파이프라인 대상 연결" }, "noAlertTemplates": { @@ -192,7 +192,7 @@ }, "noDiscoveredServices": { "title": "검색된 서비스 없음", - "description": "추적이 도착하기 시작하면 서비스가 자동으로 여기에 표시됩니다." + "description": "트레이스가 도착하기 시작하면 서비스가 여기에 자동으로 표시됩니다." }, "noNodes": { "title": "사용 가능한 노드 없음", @@ -248,7 +248,7 @@ }, "noDatasets": { "title": "첫 번째 데이터셋 만들기", - "description": "골든 데이터셋은 주석이 달린 트레이스와 리뷰를 버전 관리되는 평가 세트로 수집합니다. 하나를 만들어 큐레이션을 시작하세요.", + "description": "골든 데이터셋은 주석이 달린 트레이스와 리뷰를 버전 관리되는 평가 세트로 수집합니다. 큐레이션을 시작하려면 하나를 만드세요.", "action": "새 데이터셋", "actionDesc": "빈 데이터셋으로 시작" }, @@ -288,15 +288,15 @@ }, "noLLMInsights": { "title": "LLM 활동이 아직 없습니다", - "description": "OpenTelemetry Gen-AI 시맨틱 규칙으로 서비스를 계측하고 최소 하나의 트레이스를 수집하여 이 대시보드를 채웁니다.", + "description": "OpenTelemetry Gen-AI 의미 규칙으로 서비스를 계측하고, 이 대시보드를 채우려면 트레이스를 하나 이상 수집하세요.", "action": "오픈 텔레메트리 기능이 있는 기기", - "actionDesc": "트레이스에서 gen_ai_* 어트리뷰트를 캡처하세요" + "actionDesc": "트레이스에서 gen_ai_* 속성을 캡처하세요." }, "noLLMSessions": { "title": "LLM 세션이 아직 없습니다", - "description": "세션은 gen_ai_conversation_id별로 그룹화됩니다. 각 대화에 트레이스에 태그를 지정하도록 서비스를 계측하면 세션이 여기에 표시됩니다.", + "description": "세션은 gen_ai_conversation_id로 그룹화됩니다. 각 대화가 트레이스에 태그를 지정하도록 서비스를 계측하면 세션이 여기에 표시됩니다.", "action": "오픈 텔레메트리 기능이 있는 기기", - "actionDesc": "gen_ai_conversation_id가 포함된 태그 범위" + "actionDesc": "스팬에 gen_ai_conversation_id 태그를 지정하세요." }, "noScorers": { "title": "아직 득점자 없음", @@ -341,12 +341,12 @@ "description": "이 창에는 비정상 항목이 없습니다. 시간 범위를 넓히거나 큐 필터를 전환하여 이미 분류한 항목을 확인하세요." }, "noTraces": { - "title": "흔적을 찾을 수 없음", - "description": "선택한 서비스 및 시간 범위와 일치하는 추적이 없습니다.더 넓은 시간 범위 또는 다른 서비스를 사용해 보십시오." + "title": "트레이스를 찾을 수 없습니다", + "description": "선택한 서비스 및 시간 범위와 일치하는 트레이스가 없습니다. 더 넓은 시간 범위나 다른 서비스를 시도하세요." }, "noServiceGraph": { "title": "서비스 그래프 데이터 없음", - "description": "더 긴 시간 범위를 쿼리하거나 서비스에서 스팬 메트릭을 내보내고 있는지 확인하세요." + "description": "더 긴 시간 범위를 쿼리하거나 서비스가 스팬 메트릭을 내보내고 있는지 확인하세요." }, "noServicesCatalog": { "title": "서비스를 찾을 수 없음", @@ -406,10 +406,10 @@ "pipelines": "파이프라인", "workflows": "워크플로우", "functions": "기능", - "streams": "시냇물", + "streams": "스트림", "alerts": "민첩한", "incidents": "사건", - "traces": "추적", + "traces": "트레이스", "discoveryItems": "비정상 항목", "datasetItems": "항목", "searches": "검색을 수행합니다", @@ -523,8 +523,8 @@ "relatedEvents": "관련 이벤트", "on": "켜짐", "event": "이벤트", - "viewTraceDetails": "추적 세부정보 보기", - "viewTrace": "추적 보기", + "viewTraceDetails": "트레이스 세부 정보 보기", + "viewTrace": "트레이스 보기", "networkRequests": "네트워크 요청", "noNetworkRequestsFound": "이 이벤트에 대한 네트워크 요청을 찾을 수 없습니다.", "consoleLogsComingSoon": "콘솔 로그 곧 제공 예정", @@ -744,7 +744,7 @@ "nameIsRequired": "이름은 필수입니다", "streamTypeIsRequired": "스트림 유형은 필수입니다", "functionNameIsRequired": "함수 이름은 필수입니다", - "remoteDestinationIsRequired": "원격 대상은 필수입니다", + "remoteDestinationIsRequired": "원격 대상이 필요합니다", "timezoneIsRequired": "시간대는 필수입니다", "idPrefix": "ID: {id}", "unchangedCount": "변경되지 않음 ({count})", @@ -845,9 +845,9 @@ "loadError": "저장된 조건을 읽을 수 없어 재설정되었습니다. 지금 저장하면 덮어쓰게 됩니다." }, "destination": { - "createNew": "새 대상 생성", + "createNew": "새 대상 만들기", "select": "대상", - "loadError": "대상 가져오기 중 오류가 발생했습니다." + "loadError": "대상을 불러오는 중 오류가 발생했습니다." }, "function": { "createNew": "새 함수 생성", @@ -907,7 +907,7 @@ "of": "의", "rowDetail": "소스 세부 정보", "sourceName": "이름", - "sourceValue": "가치", + "sourceValue": "값", "showHistogramLabel": "히스토그램", "hideHistogram": "히스토그램 숨기기", "showPatternsLabel": "패턴", @@ -1064,7 +1064,7 @@ "viewTrace": "트레이스 보기", "viewTraceUnavailable": "이 로그 레코드의 트레이스를 열 수 없습니다.", "viewRelated": "관련 보기", - "viewRelatedTooltip": "관련 추적 및 지표 보기", + "viewRelatedTooltip": "관련 트레이스 및 메트릭 보기", "flattened": "평평하게 합니다", "original": "원본", "resetFilters": "필터 재설정", @@ -1384,7 +1384,7 @@ "breadcrumbs": "빵 부스러기", "tags": "태그", "traces": "트레이스", - "searchEvents": "검색 이벤트", + "searchEvents": "이벤트 검색", "loadingSessions": "잠시만요. 세션을 가져오는 중이에요.", "errorStack": "오류 스택", "sessionReplay": "세션 리플레이", @@ -1394,11 +1394,11 @@ "discoverSessionMessage": "Session Replay는 웹 사이트 또는 애플리케이션에서의 사용자 상호 작용을 캡처하고 재생합니다.이를 통해 사용자가 탐색하는 방식, 클릭한 위치, 입력하는 내용, 콘텐츠에 참여하는 방식을 시각적으로 검토할 수 있습니다.", "loadingErrorDetails": "잠시만요. 오류 세부 정보를 가져오는 중입니다.", "eventID": "이벤트 ID", - "noCorrelatedTraces": "이 세션에 대해 상관관계가 있는 추적을 찾을 수 없습니다.", - "span": "한 뼘", - "spans": "기간", - "errorTraces": "오류 추적", - "failedToFetchTraces": "추적 데이터를 가져오지 못했습니다.다시 시도해 주세요.", + "noCorrelatedTraces": "이 세션에 대해 연관된 트레이스를 찾을 수 없습니다.", + "span": "스팬", + "spans": "스팬", + "errorTraces": "오류 트레이스", + "failedToFetchTraces": "트레이스 데이터를 가져오지 못했습니다. 다시 시도하세요.", "seekToMoment": "세션에서 이 순간을 찾아라", "route": "노선", "duration": "지속", @@ -1485,7 +1485,7 @@ "frustrationErrorClick": "클릭으로 JavaScript 오류가 발생함", "frustrationRageTap": "사용자가 빠르게 여러 번 탭함(3회 이상) - 불만을 나타냄", "frustrationErrorTap": "탭으로 JavaScript 오류가 발생함", - "fetchTraceMetadataFailed": "트레이스 메타데이터를 가져오지 못했습니다", + "fetchTraceMetadataFailed": "트레이스 메타데이터를 가져오지 못했습니다.", "frustrationEventTooltip": "⚠️ 불만: {types}\n{name}", "errorEventTooltip": "⛔ 오류: {name}", "frustrationSignalType": "불만 신호: {type}" @@ -1561,7 +1561,7 @@ "feature_license": "라이선스", "feature_support": "서포트", "feature_cost": "비용", - "feature_pipelines_external": "파이프라인 - 외부 목적지", + "feature_pipelines_external": "파이프라인 - 외부 대상", "feature_extreme_performance": "뛰어난 성능 (많은 쿼리의 경우 100배 향상)", "feature_query_optimizer": "쿼리 옵티마이저", "value_license_agpl": "AGPL", @@ -1663,7 +1663,7 @@ }, "core_features": { "logs_metrics_traces": { - "name": "로그, 지표, 트레이스", + "name": "로그, 메트릭, 트레이스", "note": "완전한 옵저버빌리티 데이터 수집 및 분석" }, "rum": { @@ -1736,8 +1736,8 @@ "note": "PII 및 민감한 정보 보호" }, "pipeline_remote_destinations": { - "name": "파이프라인 원격 목적지", - "note": "원격 목적지로 데이터 전송" + "name": "파이프라인 원격 대상", + "note": "원격 대상으로 데이터 보내기" }, "query_optimizer": { "name": "쿼리 최적화 프로그램/어그리게이션 캐시", @@ -1780,7 +1780,7 @@ "note": "최적화된 분산 조인 작업" }, "logs_metrics_traces_correlation": { - "name": "로그, 지표 및 트레이스 상관관계", + "name": "로그, 메트릭 및 트레이스 상관관계", "note": "자동 탐지 및 상관관계 분석" }, "service_maps": { @@ -2546,7 +2546,7 @@ }, "workflow": { "header": "워크플로우", - "subtitle": "트리거, 로직 및 대상을 사용한 액션 자동화", + "subtitle": "트리거, 로직 및 대상으로 액션 자동화", "create": "새 워크플로우", "createSuccess": "워크플로우가 성공적으로 생성되었습니다", "name": "워크플로 이름", @@ -2627,7 +2627,7 @@ }, "triggerMeta": { "orgId": "알림이 속한 조직 ID.", - "streamType": "스트림 유형 — 로그, 메트릭, 트레이스.", + "streamType": "스트림 유형 — 로그, 메트릭 또는 트레이스.", "streamName": "알림이 모니터링하는 스트림.", "alertName": "트리거된 알림의 이름.", "alertType": "알림 유형 — 실시간 또는 예약.", @@ -2665,7 +2665,7 @@ "output": "출력", "noInput": "마지막 실행에서 이 단계는 레코드를 받지 못했습니다.", "sentExternally": "외부 대상으로 전송됨", - "destinationNoRecords": "이 대상에 도달한 레코드가 없습니다 — 전송된 것이 없습니다.", + "destinationNoRecords": "이 대상에 도달한 레코드가 없습니다 — 아무것도 전송되지 않았습니다.", "branchFiltered": "레코드 0개 — 이 분기로 전달된 것이 없습니다.", "conditionNoMatch": "이 조건과 일치하는 레코드가 없습니다 — 다운스트림으로 계속된 것이 없습니다.", "errorHeading": "오류", @@ -2756,8 +2756,8 @@ "disabledBadge": "비활성화됨", "incompleteBadge": "나중에 설정", "destinationSetUpLater": "아직 대상이 없으신가요? 이 옵션을 켜면 나중에 설정할 수 있습니다 — 지금 초안을 저장하고 테스트할 수 있습니다.", - "destinationSetUpLaterPrompt": "대상은 지금 건너뜁니다 — 이름과 댓글은 여전히 저장됩니다. 게시하기 전에 대상이 필요합니다.", - "destinationSetUpLaterActive": "나중에 설정", + "destinationSetUpLaterPrompt": "아직 대상이 없으신가요? 이 옵션을 켜면 나중에 설정할 수 있습니다 — 지금 초안을 저장하고 테스트할 수 있습니다.", + "destinationSetUpLaterActive": "대상은 지금 건너뜁니다 — 이름과 설명은 계속 저장됩니다. 게시하려면 대상이 필요합니다.", "functionSetUpLater": "아직 함수가 없으신가요? 이 옵션을 켜면 나중에 설정할 수 있습니다 — 지금 초안을 저장하고 테스트할 수 있습니다.", "functionSetUpLaterPrompt": "함수는 지금 건너뜁니다 — 이름과 댓글은 여전히 저장됩니다. 게시하기 전에 함수가 필요합니다.", "functionSetUpLaterActive": "나중에 설정" @@ -2816,7 +2816,7 @@ "functionNodeInvalidName": "함수 노드 {id}의 함수 이름 \"{name}\"이(가) 잘못되었습니다. 사용 가능한 함수 중 하나여야 합니다.", "outputStreamNodeEmptyName": "출력 스트림 노드 {id}의 스트림 이름이 비어 있습니다.", "remoteStreamNodeEmptyDestination": "원격 스트림 노드 {id}의 대상 이름이 비어 있습니다.", - "remoteStreamNodeInvalidDestination": "원격 스트림 노드 {id}의 대상 \"{destination}\"이(가) 잘못되었습니다. 사용 가능한 파이프라인 대상 중 하나여야 합니다.", + "remoteStreamNodeInvalidDestination": "원격 스트림 노드 {id}에 잘못된 대상 \"{destination}\"이 있습니다. 사용 가능한 파이프라인 대상 중 하나여야 합니다.", "edgeMissingSourceNode": "엣지 {id}가 존재하지 않는 소스 노드 {source}를 참조합니다.", "edgeMissingTargetNode": "엣지 {id}가 존재하지 않는 대상 노드 {target}를 참조합니다.", "inputNodeHasIncomingEdges": "입력 노드 {id}는 들어오는 엣지가 없어야 합니다. 들어오는 엣지 {count}개가 발견되었습니다.", @@ -2844,7 +2844,7 @@ "v0ConditionFields": "파이프라인 - {index}, 노드 {nodeIndex}: V0 형식 - 각 조건에는 column, operator, value가 있어야 합니다.", "v1ConditionInvalid": "파이프라인 - {index}, 노드 {nodeIndex}: 잘못된 V1 조건 형식입니다.", "conditionFormatUnrecognized": "파이프라인 - {index}, 노드 {nodeIndex}: 인식할 수 없는 조건 형식입니다.", - "remoteDestinationRequired": "파이프라인 - {index}: 원격 대상은 필수입니다.", + "remoteDestinationRequired": "파이프라인 - {index}: 원격 대상이 필요합니다.", "createSuccess": "파이프라인 - {index}: \"{name}\" 생성 성공 \n참고: 생성된 파이프라인 객체 {name}을(를) json 파일에서 제거해 주세요.", "createFailed": "파이프라인 - {index}: \"{name}\" 생성 실패 --> \n 이유: {reason}", "sqlQueryMismatch": "Pipeline - {index}: SQL 쿼리는 모든 노드에서 동일해야 하며 노드의 쿼리와 일치하도록 시도하십시오 \n\n input.sql_query: {sqlQuery} \n\n input.source.query_condition.sql: {sourceSql} \n", @@ -2945,7 +2945,7 @@ "defaultDelayTooltip": "기본값: 5초", "deleteDataBeforeBackfill": "백필 전에 기존 데이터 삭제", "irreversibleDeletionWarning": "경고: 되돌릴 수 없는 데이터 삭제", - "deleteBackfillWarningMessage": "백필을 실행하기 전에 지정된 시간 범위의 대상 스트림에 있는 모든 데이터를 영구적으로 삭제합니다. 이 작업은 취소할 수 없습니다.", + "deleteBackfillWarningMessage": "이 작업은 백필을 실행하기 전에 지정된 시간 범위 동안 대상 스트림의 모든 데이터를 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다.", "timeAlignmentRequirements": "시간 정렬 요구 사항(UTC):", "logsHourBoundaryNote": "스트림: 시간은 UTC의 매시간 경계에 맞춰야 합니다(예: 10:00:00, 10:15:00 아님).", "metricsTracesLabel": "메트릭/트레이스", @@ -2971,8 +2971,8 @@ "statusUnknown": "알 수 없음", "phaseInitializing": "초기화 중" }, - "deleteBackfillConfirmMessage": "백필 전에 기존 데이터를 삭제하도록 선택했습니다. 이렇게 하면 지정된 시간 범위의 대상 스트림에 있는 모든 데이터가 영구적으로 삭제됩니다.", - "editBackfillDeleteConfirmMessage": "백필 전에 기존 데이터를 삭제하도록 선택했습니다. 이렇게 하면 지정된 시간 범위의 대상 스트림에 있는 모든 데이터가 영구적으로 삭제됩니다. 작업이 업데이트되면 이 작업은 취소하거나 되돌릴 수 없습니다. 계속하시겠습니까?", + "deleteBackfillConfirmMessage": "백필 전에 기존 데이터를 삭제하도록 선택했습니다. 이 작업은 지정된 시간 범위 동안 대상 스트림의 모든 데이터를 영구적으로 삭제합니다.", + "editBackfillDeleteConfirmMessage": "백필 전에 기존 데이터를 삭제하도록 선택했습니다. 이 작업은 지정된 시간 범위 동안 대상 스트림의 모든 데이터를 영구적으로 삭제합니다. 작업이 업데이트되면 이 작업은 되돌리거나 취소할 수 없습니다. 계속 진행하시겠습니까?", "actionCannotBeUndone": "작업이 생성되면 이 작업은 취소하거나 되돌릴 수 없습니다.", "areYouSureProceed": "계속하시겠습니까?", "clearFilters": "필터 지우기", @@ -3021,7 +3021,7 @@ "trigger": "트리거", "aggregation": "어그리게이션", "selectColumn": "컬럼 선택", - "value": "가치", + "value": "값", "fieldRequired": "필드는 필수입니다!", "sqlQuery": "SQL 쿼리", "promqlQuery": "프롬큐 쿼리", @@ -3041,10 +3041,10 @@ "pipelineNotFound": "파이프라인을 찾을 수 없음", "pipelineNameRequired": "파이프라인 이름이 필요합니다", "sourceNodeRequired": "소스 노드가 필요합니다.", - "destinationNodeRequired": "대상 노드가 필요합니다", + "destinationNodeRequired": "대상 노드가 필요합니다.", "connectAllNodes": "저장하기 전에 모든 노드를 연결하십시오.", "connectAllNodesShort": "모든 노드를 연결하십시오", - "enrichmentTablesScheduledOnly": "대상 스트림으로 테이블을 보강하는 기능은 스케줄링된 파이프라인에서만 사용할 수 있습니다.", + "enrichmentTablesScheduledOnly": "보강 테이블을 대상 스트림으로 사용하는 것은 예약된 파이프라인에서만 가능합니다.", "savingPipeline": "파이프라인 저장 중...", "pipelineUpdated": "파이프라인이 성공적으로 업데이트되었습니다", "pipelineSaved": "파이프라인이 성공적으로 저장되었습니다.", @@ -3076,7 +3076,7 @@ "functionAlreadyAssociated": "함수가 이미 연결되어 있습니다", "atLeastOneCondition": "조건을 하나 이상 추가하세요", "fillAllConditionFields": "모든 조건 필드를 입력하세요(열, 연산자, 값은 필수입니다)", - "selectExternalDestination": "목록에서 외부 대상을 선택하세요", + "selectExternalDestination": "목록에서 외부 대상을 선택하세요.", "backfillNumericRange": "{min}에서 {max} 사이여야 합니다", "selectValidTimeRange": "유효한 시간 범위를 선택하세요", "startBeforeEndTime": "시작 시간은 종료 시간 이전이어야 합니다.", @@ -3096,7 +3096,7 @@ "queryNode": "쿼리", "transformNode": "트랜스폼", "functionNode": "기능", - "destinationNode": "목적지", + "destinationNode": "대상", "remoteNode": "리모트", "conditionsNode": "조건", "editorFunctionTooltip": "함수로 페이로드 재구성", @@ -3156,7 +3156,7 @@ "customStep5": "출력 형식(JSON 또는 NDJSON)을 선택하세요", "customStep6": "연결을 테스트하여 작동하는지 확인하세요", "defaultTitle": "연결 정보", - "defaultStep1": "특정 지침을 보려면 대상 유형을 선택하세요" + "defaultStep1": "특정 지침을 보려면 대상 유형을 선택하세요." }, "deleteFunctionAssociationConfirm": "함수 연결을 삭제하시겠습니까?", "deleteStreamRoutingConfirm": "스트림 라우팅을 삭제하시겠습니까?", @@ -3182,7 +3182,7 @@ "noJobSelected": "선택된 작업 없음", "updateBackfillJobFailed": "백필 작업 업데이트 실패", "fetchPipelineHistoryFailed": "파이프라인 기록을 가져오지 못했습니다.", - "defaultDestinationNodeWarning": "기본 대상 노드를 제거하면 더 이상 해당 노드로 데이터가 수집되지 않습니다. 그러면 소스 스트림은 새로 추가된 대상 스트림으로만 라우팅됩니다. 어떤 대상 스트림으로도 라우팅되지 않은 데이터는 삭제됩니다.", + "defaultDestinationNodeWarning": "기본 대상 노드를 제거하면 해당 노드로 데이터가 수집되지 않습니다. 그러면 소스 스트림은 새로 추가된 대상 스트림으로만 라우팅됩니다. 어떤 대상 스트림으로도 라우팅되지 않은 데이터는 삭제됩니다.", "confirmBulkDeleteMsg": "{count}개의 파이프라인을 삭제하시겠습니까?", "confirmPauseBackfillJob": "백필 작업 \"{name}\"을(를) 일시 중지하시겠습니까? 나중에 다시 시작할 수 있습니다.", "confirmResumeBackfillJob": "백필 작업 \"{name}\"을(를) 다시 시작하시겠습니까?", @@ -3292,10 +3292,10 @@ "analyzingDimensions": "치수 분석 중...", "arrowSeparator": "→", "computingDistributions": "{count} 차원에 걸친 주파수 분포 계산", - "dashboardDescError": "오류 급증 기간 동안의 트레이스 오류 비율을 차원별로 기준선과 비교합니다.", - "dashboardDescLatency": "선택한 트레이스의 백분위 지연 시간 (기간 {start}-{end}µs)을 차원별로 기준선과 비교합니다.", - "dashboardDescVolume": "차원별로 트레이스 개수 분포를 기준선과 비교합니다.", - "dashboardDescVolumeRate": "선택한 기간의 트레이스 개수 분포 (비율 {start}-{end} 트레이스)를 차원별로 기준선과 비교합니다.", + "dashboardDescError": "오류 급증 기간 동안의 트레이스 오류 비율을 차원별로 기준값과 비교합니다.", + "dashboardDescLatency": "선택한 트레이스의 백분위수 지연 시간(기간 {start}-{end}µs)을 차원별로 기준값과 비교합니다.", + "dashboardDescVolume": "트레이스 수 분포를 차원별로 기준값과 비교합니다.", + "dashboardDescVolumeRate": "선택한 기간의 트레이스 수 분포(비율 {start}-{end} 트레이스)를 차원별로 기준값과 비교합니다.", "dashboardTitleError": "오류 인사이트", "dashboardTitleLatency": "지연 시간 인사이트", "dashboardTitleVolume": "볼륨 인사이트", @@ -3303,8 +3303,8 @@ "durationLabel": "기간:", "failedToLoad": "분석을 로드하지 못했습니다.", "panelDescErrorComparison": "차원: {dimension}의 오류 비율 비교. 선택된 막대가 높을수록 이 차원 값이 오류 급증 기간에 더 많은 오류가 발생했음을 나타냅니다.", - "panelDescLatencyComparison": "차원: {dimension}의 백분위 지연 시간 비교. 선택된 막대가 높을수록 이 차원 값이 더 느린 트레이스와 상관관계가 있음을 나타냅니다.", - "panelDescVolumeComparison": "차원: {dimension}의 트레이스 개수 비교. 선택된 막대가 높을수록 이 차원 값이 높은 볼륨 기간에 더 자주 나타남을 나타냅니다.", + "panelDescLatencyComparison": "차원: {dimension}에 대한 백분위수 지연 시간 비교. 선택된 막대가 높을수록 이 차원 값이 더 느린 트레이스와 상관관계가 있음을 나타냅니다.", + "panelDescVolumeComparison": "차원: {dimension}에 대한 트레이스 수 비교. 선택된 막대가 높을수록 이 차원 값이 높은 볼륨 기간에 더 자주 나타남을 나타냅니다.", "panelDescVolumeTopValues": "차원: {dimension}의 개수별 상위 값.", "refreshTooltip": "업데이트된 백분위수로 분석 새로 고침", "retryButton": "재시도", @@ -3315,7 +3315,7 @@ "title": "인사이트", "tabLabel": "요율", "analyzeTooltipLogs": "현재 시간 범위의 차원 분포 분석", - "analyzeTooltipTraces": "속도, 지연 및 오류 패턴에 대한 트레이스 차원 분석", + "analyzeTooltipTraces": "비율, 지연 시간 및 오류 패턴별로 트레이스 차원을 분석합니다.", "rateLabel": "요금:", "searchInspectionsLabel": "검색 작업 실행 세부 정보 검사", "inspectBtnLabel": "검사", @@ -3418,7 +3418,7 @@ "singleTargetTitle": "단일 원격 쓰기 대상", "fanoutTitle": "여러 백엔드로 팬아웃", "tipPrefix": "팁: `vmagent`는 다음 플래그를 반복하여 쓰기를 중복할 수 있습니다", - "tipSuffix": "따라서 메트릭을 OpenObserve로 전달하면서 기존 VictoriaMetrics 대상을 유지할 수 있습니다.", + "tipSuffix": "플래그를 사용하면 기존 VictoriaMetrics 대상을 유지하면서 OpenObserve로 메트릭을 전달할 수 있습니다.", "docLinkText": "vmagent 원격 쓰기 대상 구성에 대해 자세히 알아보기." }, "ai": { @@ -3629,14 +3629,14 @@ "anyWindowsHostNote": "모든 Windows 서버 또는 VM.", "arrow": "→", "askOnSlack": "Slack에서 문의", - "autoInstrumentTracesDesc": "선택 사항. OpenTelemetry 운영자는 주석이 달린 워크로드에 계측을 주입하므로 **애플리케이션 코드를 수정하거나 이미지를 다시 빌드하지 않고도 분산 추적**을 얻을 수 있습니다. 언어를 선택한 다음 실행 중인 네임스페이스에 주석을 답니다.", - "autoInstrumentTracesTitle": "애플리케이션 트레이스 자동 계측", + "autoInstrumentTracesDesc": "선택 사항입니다. OpenTelemetry 오퍼레이터가 어노테이션이 지정된 워크로드에 계측을 주입하므로 **애플리케이션 코드를 수정하거나 이미지를 다시 빌드하지 않고도 분산 트레이스를 얻을 수 있습니다**. 언어를 선택한 다음 실행 중인 네임스페이스에 어노테이션을 지정하세요.", + "autoInstrumentTracesTitle": "트레이스를 위한 애플리케이션 자동 계측", "cassandraJmxNote": "수신기가 연결할 수 있도록 Cassandra에서 JMX 원격 액세스를 활성화하십시오.", "cassandraTagline": "OpenTelemetry Collector의 JMX 리시버를 통해 Cassandra 메트릭을 수집하여 OpenObserve로 전송하세요.", "checking": "확인 중…", "checkingForLogs": "로그 확인 중…", "checkingForMetrics": "메트릭 확인 중…", - "checkingForSpans": "스팬 확인 중…", + "checkingForSpans": "스팬을 확인하는 중…", "chipEditor": "편집기", "chipInstall": "설치", "chipLogs": "로그", @@ -3661,7 +3661,7 @@ "downloadEnvTooltip": ".env 다운로드", "downloadJmxJarDesc": "JMX 수신기는 이 헬퍼 jar를 실행합니다 (수집 호스트에 Java가 필요합니다).", "downloadJmxJarTitle": "JMX 메트릭 Jar 다운로드", - "dynamodbFirehoseEndpointDesc": "Kinesis Data Firehose 전송 스트림을 만들 때 이 값을 **HTTP Endpoint** 대상으로 사용하세요.", + "dynamodbFirehoseEndpointDesc": "Kinesis Data Firehose 전송 스트림을 만들 때 이 값을 **HTTP 엔드포인트** 대상으로 사용하세요.", "dynamodbFirehoseEndpointTitle": "OpenObserve Firehose 엔드포인트", "dynamodbPipelineDesc": "테이블에서 **DynamoDB Streams**를 활성화하고 **Kinesis Data Stream**에 연결한 다음, 위의 HTTP 엔드포인트를 가리키도록 **Kinesis Data Firehose** 전송 스트림을 구성하세요.", "dynamodbPipelineTitle": "DynamoDB → Firehose 스트리밍", @@ -3675,7 +3675,7 @@ "gcpFixBody": "GCP는 구독 자체에서 전달 실패를 보고합니다. 싱크가 게시 중인데 여기에 아무 것도 도착하지 않으면 푸시 엔드포인트가 일반적으로 요청을 거부하고 있습니다:", "gcpFixTitle": "푸시 구독 확인", "gcpPushUrlNote": "이 URL을 비밀로 유지하세요 — 여기에는 수집 키가 포함되어 있습니다. 유출되면 이 페이지의 헤더에서 키를 교체하세요.", - "gcpSinkDesc": "GCP 콘솔에서 Pub/Sub를 대상으로 하는 **Log Router sink**를 만들고(Logging → Log Router → Create sink) 주제를 생성하도록 두세요. 싱크의 포함 필터가 OpenObserve에 도달하는 로그를 결정합니다.", + "gcpSinkDesc": "GCP 콘솔에서 Pub/Sub를 대상으로 하는 **Log Router 싱크**(Logging → Log Router → Create sink)를 만들고 토픽을 생성하도록 하세요. 싱크의 포함 필터가 OpenObserve에 도달하는 로그를 결정합니다.", "gcpSinkTitle": "로그를 Pub/Sub 주제로 라우팅", "gcpSinkWriterNote": "싱크의 작성자 ID에 토픽에 대한 Pub/Sub 게시자 역할을 부여하세요. 그렇지 않으면 조용히 아무것도 게시하지 않습니다.", "gcpStreamHelp": "위의 푸시 URL에 사용되며 아래 검사에서 모니터링됩니다. 전용 스트림은 GCP 로그를 분리합니다.", @@ -3714,7 +3714,7 @@ "k8sInstallerNote": "이것은 cert-manager, OpenTelemetry 운영자 및 OpenObserve 수집기를 자동으로 설치합니다.", "k8sInternalEndpointNote": "OpenObserve가 동일한 클러스터에서 실행될 때 이 옵션을 사용하세요 — 트래픽이 클러스터를 벗어나지 않습니다.", "k8sTroubleAnnotationA": "주입은 파드 생성 시 발생하므로 기존 파드는 재시작할 때까지 영향을 받지 않습니다 — `kubectl rollout restart deployment -n my-namespace`를 실행하세요. `kubectl get ns my-namespace -o yaml`로 주석이 적용되었는지 확인하고, 값이 `openobserve-collector/openobserve-`와 일치하는지 확인하세요. Go의 경우 `otel-go-auto-target-exe`는 컨테이너 **내부**의 바이너리 경로여야 합니다.", - "k8sTroubleAnnotationQ": "네임스페이스에 주석을 달았지만 추적이 나타나지 않습니다", + "k8sTroubleAnnotationQ": "네임스페이스에 어노테이션을 지정했지만 트레이스가 나타나지 않습니다", "k8sTroubleEndpointA": "**In-Cluster**는 OpenObserve 자체가 이 클러스터에서 실행될 때만 사용하세요. 그러면 트래픽이 클러스터 내부에 머물며 네트워크를 건너지 않습니다. URL은 `http://-openobserve-router..svc.cluster.local:5080`입니다. 기본값은 네임스페이스 `openobserve`의 릴리스 `o2`를 가정하므로, 다른 경우 편집하세요. 그 외에는 외부 엔드포인트를 사용합니다.", "k8sTroubleEndpointQ": "어떤 엔드포인트를 사용해야 하나요 — 외부 또는 클러스터 내부?", "k8sTroubleExampleA": "예 — **HOT commerce**는 엔드투엔드로 연결된 샘플 애플리케이션이며, **OpenTelemetry Operator** 문서에 전체 주석 참조가 있습니다. 둘 다 이 페이지 하단에 링크되어 있습니다.", @@ -3748,7 +3748,7 @@ "mysqlTagline": "OpenTelemetry Collector로 MySQL 메트릭을 수집하고 OpenObserve로 전송하세요.", "noLogsFoundYet": "아직 로그가 없습니다", "noMetricsFoundYet": "아직 메트릭이 없습니다", - "noSpansFoundYet": "아직 스팬이 없습니다", + "noSpansFoundYet": "아직 스팬이 발견되지 않았습니다", "nothingOnStream": "{stream}에 아무것도 없습니다 — 앱을 실행하고 다시 테스트하세요", "notTestedYet": "아직 테스트되지 않음", "onStream": "{stream}에서", @@ -3757,16 +3757,16 @@ "oracleTagline": "OpenTelemetry Collector로 Oracle DB 메트릭을 수집하고 OpenObserve로 전송하세요.", "otlpFixBody": "익스포터를 정의하는 것만으로는 충분하지 않습니다 — 파이프라인에 나열되어야 합니다. 올바르게 보이는 구성이 아무것도 보내지 않는 가장 흔한 이유입니다:", "otlpFixTitle": "익스포터가 실제로 파이프라인에 연결되어 있는지 확인", - "otlpGrpcNote": "높은 스팬 볼륨에서 HTTP보다 오버헤드가 낮습니다. 포트 5081은 수집기에서 연결 가능해야 합니다.", + "otlpGrpcNote": "높은 스팬 볼륨에서 HTTP보다 오버헤드가 낮습니다. 포트 5081은 컬렉터에서 도달 가능해야 합니다.", "otlpHttpNote": "OpenTelemetry Collector의 기본값 — 프록시 및 로드 밸런서 뒤를 포함한 모든 곳에서 작동합니다.", "otlpSdkEnvNote": "표준 OTEL_* 환경 변수 — 모든 OpenTelemetry SDK가 이를 읽으므로 코드 변경이 필요 없습니다.", "otlpTracesStreamHelp": "위의 구성에 `stream-name`으로 기록되며 아래 검사에서 모니터링됩니다.", "otlpTrouble401A": "`Authorization` 헤더는 이 조직의 수집 토큰을 사용하여 `Basic ` 형식이어야 합니다 — 위의 값은 이미 올바릅니다. 토큰이 교체된 경우 이 페이지에서 다시 복사하세요.", "otlpTrouble401Q": "수집기는 401 또는 403을 기록합니다.", - "otlpTroubleHttpGrpcA": "HTTP는 안전한 기본값이며 프록시와 로드 밸런서를 원활하게 통과합니다. gRPC는 높은 스팬 볼륨에서 오버헤드가 낮지만 포트 5081이 종단 간 연결 가능해야 합니다.", + "otlpTroubleHttpGrpcA": "HTTP는 안전한 기본값이며 프록시와 로드 밸런서를 완벽하게 통과합니다. gRPC는 높은 스팬 볼륨에서 오버헤드가 낮지만 포트 5081이 종단 간 도달 가능해야 합니다.", "otlpTroubleHttpGrpcQ": "HTTP 또는 gRPC를 사용해야 하나요?", "otlpTroubleStreamA": "`stream-name` 헤더는 스트림을 결정합니다. 위의 필드와 동일한 이름으로 설정하십시오. 그렇지 않으면 아래의 검사는 아무것도 기록되지 않는 스트림을 감시합니다.", - "otlpTroubleStreamQ": "스팬이 도착하지만 잘못된 스트림으로 들어갑니다.", + "otlpTroubleStreamQ": "스팬이 도착했지만 잘못된 스트림에 들어갑니다", "otlpTroubleTlsA": "`tls.insecure` 플래그는 엔드포인트의 스킴과 일치해야 합니다 — 이 배포의 URL에 따라 위에서 `{insecure}`로 설정되어 있습니다. 일반 HTTP 엔드포인트는 `insecure: true`가 필요하고, HTTPS 엔드포인트는 `false`가 필요합니다.", "otlpTroubleTlsQ": "gRPC 연결이 TLS 오류로 실패합니다.", "pillActiveBackends": "활성 백엔드", @@ -3856,7 +3856,7 @@ "preparePostgresqlTitle": "PostgreSQL 준비", "prepareSqlServerDesc": "모니터링 로그인을 생성하세요 — SQL 클라이언트에서 실행하고, **셸이 아닌** 곳에서 실행하세요.", "prepareSqlServerTitle": "SQL Server 준비", - "providerNameOtlpTraces": "트레이스(OpenTelemetry)", + "providerNameOtlpTraces": "트레이스 (OpenTelemetry)", "providerNameRum": "실사용자 모니터링", "quickInstallDesc": "**단일 명령**으로 OpenObserve 수집기를 설치하세요. 클러스터 이름을 설정하고 실행하기만 하면 됩니다. 이름이 모든 레코드에 태그를 지정하므로 여러 클러스터가 보고되면 구분할 수 있습니다.", "quickInstallTitle": "빠른 설치 (권장)", @@ -3975,7 +3975,7 @@ "stuck": "막혔나요?", "taglineDatabricks": "로그 API를 통해 Databricks 노트북 로그를 OpenObserve로 전송하세요.", "taglineGcp": "Pub/Sub 푸시 구독으로 Google Cloud 로그를 OpenObserve로 스트리밍하세요. 실행할 에이전트나 수집기가 필요 없습니다.", - "taglineKubernetes": "OpenObserve 수집기를 클러스터에 배포하세요. 컨테이너 로그, Kubernetes 이벤트, 클러스터 메트릭, 그리고 워크로드를 위한 코드 없는 트레이스가 포함됩니다.", + "taglineKubernetes": "OpenObserve 컬렉터를 클러스터에 배포하세요 — 컨테이너 로그, Kubernetes 이벤트, 클러스터 메트릭, 그리고 워크로드를 위한 코드 없는 트레이스를 제공합니다.", "taglineLinux": "모든 Linux 호스트에 OpenObserve 에이전트를 설치하세요. 시스템 및 journald 로그와 CPU, 메모리, 디스크, 네트워크 메트릭이 포함됩니다.", "taglineMacos": "모든 Mac에 OpenObserve 에이전트를 설치하세요. 통합 로그와 표준 로그 파일, 그리고 CPU, 메모리, 디스크, 네트워크 메트릭이 포함됩니다.", "taglineOtlpTraces": "OpenTelemetry 익스포터를 OpenObserve로 지정하세요. 수집기 또는 SDK, HTTP 또는 gRPC. 엔드포인트와 토큰은 아래에 이미 입력되어 있습니다.", @@ -4001,7 +4001,7 @@ "verifyMongodbMetricsDesc": "아래의 Test를 누르거나, Streams에서 `mongodb_*` 메트릭을 확인하세요.", "verifyMysqlMetricsDesc": "아래의 Test를 누르거나, Streams에서 `mysql_*` 메트릭을 확인하세요.", "verifyOracledbMetricsDesc": "아래의 Test를 누르거나, Streams에서 `oracledb_*` 메트릭을 확인하세요.", - "verifyOtlpTracesDesc": "컬렉터(또는 앱)를 다시 시작하고, 스팬을 생성하는 요청을 보낸 후 Test를 누르세요.", + "verifyOtlpTracesDesc": "컬렉터(또는 앱)를 다시 시작하고 스팬을 생성하는 요청을 실행한 다음 테스트를 누르세요.", "verifyPostgresqlMetricsDesc": "아래의 Test를 누르거나, Streams에서 `postgresql_*` 메트릭을 확인하세요.", "verifyReactNativeRumDesc": "시뮬레이터, 에뮬레이터 또는 기기에서 앱을 실행하고 몇 개의 화면을 이동한 후 테스트를 클릭하세요 — React Native 이벤트가 `_rumdata` 스트림에 도착합니다.", "verifyRedisMetricsDesc": "아래의 Test를 누르거나, Streams에서 `redis_*` 메트릭을 확인하세요.", @@ -4036,11 +4036,11 @@ "verifyAndroidRumDesc": "에뮬레이터나 기기에서 앱을 실행하고 몇 개 화면을 이동한 다음 테스트를 누르세요 — 네이티브 Android 이벤트가 `_rumdata` 스트림에 도착합니다.", "verifyIosRumDesc": "시뮬레이터나 기기에서 앱을 실행하고 몇 개 화면을 이동한 다음 테스트를 누르세요 — 네이티브 iOS 이벤트가 `_rumdata` 스트림에 도착합니다.", "dbmPreparePostgresTitle": "데이터베이스 모니터링 · 액세스 권한 부여 (선택 사항)", - "dbmPreparePostgresDesc": "**위의 모든 내용은 그 자체로 완전합니다** — 쿼리 시간 정보는 이미 애플리케이션 트레이스에서 데이터베이스에 도달하며 여기서 설정할 것이 없습니다. 이 마지막 단계들은 트레이스가 결코 볼 수 없는 것, 즉 데이터베이스 자체만 기록하는 교착 상태와 차단된 쿼리를 추가합니다. 수집기가 다른 세션의 쿼리를 읽을 수 있도록 `pg_monitor` 권한을 부여하세요 — SQL 클라이언트에서 실행하세요, **셸이 아닙니다**.", + "dbmPreparePostgresDesc": "**위의 모든 단계는 그 자체로 완료됩니다** — 애플리케이션 트레이스의 쿼리 타이밍은 설정 없이 이미 데이터베이스에 도달합니다. 이 마지막 단계들은 트레이스로는 절대 볼 수 없는 것, 즉 데이터베이스 자체만 기록하는 교착 상태와 차단된 쿼리를 추가합니다. 컬렉터가 다른 세션의 쿼리를 읽을 수 있도록 `pg_monitor` 권한을 부여하세요 — **쉘이 아니라** SQL 클라이언트에서 실행하세요.", "dbmPrepareMysqlTitle": "데이터베이스 모니터링 · 교착 상태 기록 유지 (선택 사항)", "dbmPrepareMariadbTitle": "데이터베이스 모니터링 · 교착 상태 기록 유지 (선택 사항)", - "dbmPrepareMysqlDesc": "**위의 모든 내용은 그 자체로 완전합니다** — 쿼리 시간 정보는 이미 애플리케이션 트레이스에서 데이터베이스에 도달하며 여기서 설정할 것이 없습니다. 이 마지막 단계들은 트레이스가 결코 볼 수 없는 것, 즉 데이터베이스 자체만 기록하는 교착 상태와 차단된 쿼리를 추가합니다. 전체 교착 상태 기록을 켜세요 — SQL 클라이언트에서 실행하세요, **셸이 아닙니다**.", - "dbmPrepareMariadbDesc": "**위의 모든 내용은 그 자체로 완전합니다** — 쿼리 시간 정보는 이미 애플리케이션 트레이스에서 데이터베이스에 도달하며 여기서 설정할 것이 없습니다. 이 마지막 단계들은 트레이스가 결코 볼 수 없는 것, 즉 데이터베이스 자체만 기록하는 교착 상태와 차단된 쿼리를 추가합니다. 전체 교착 상태 기록을 켜세요 — SQL 클라이언트에서 실행하세요, **셸이 아닙니다**.", + "dbmPrepareMysqlDesc": "**위의 모든 단계는 그 자체로 완료됩니다** — 애플리케이션 트레이스의 쿼리 타이밍은 설정 없이 이미 데이터베이스에 도달합니다. 이 마지막 단계들은 트레이스로는 절대 볼 수 없는 것, 즉 데이터베이스 자체만 기록하는 교착 상태와 차단된 쿼리를 추가합니다. 전체 교착 상태 기록을 켜세요 — **쉘이 아니라** SQL 클라이언트에서 실행하세요.", + "dbmPrepareMariadbDesc": "**위의 모든 단계는 그 자체로 완료됩니다** — 애플리케이션 트레이스의 쿼리 타이밍은 설정 없이 이미 데이터베이스에 도달합니다. 이 마지막 단계들은 트레이스로는 절대 볼 수 없는 것, 즉 데이터베이스 자체만 기록하는 교착 상태와 차단된 쿼리를 추가합니다. 전체 교착 상태 기록을 켜세요 — **쉘이 아니라** SQL 클라이언트에서 실행하세요.", "dbmPgLoggingTitle": "데이터베이스 모니터링 · Postgres가 교착 상태를 기록하도록 허용 (선택 사항)", "dbmPgLoggingDesc": "교착 상태는 Postgres 로그에만 기록되며 아래 설정이 켜져 있을 때만 기록됩니다. 따라서 이 단계가 교착 상태 탭이 채워지게 하는 것입니다. 접두사 줄은 정확히 일치해야 합니다: 수집기는 이를 읽어 관련된 대상을 찾으며, 다른 접두사를 사용하면 아무것도 찾지 못하면서도 정상으로 보고합니다.", "dbmPgLoggingVerifyTitle": "데이터베이스 모니터링 · 설정 적용 확인 (선택 사항)", @@ -4066,7 +4066,7 @@ "dbmMysqlLogPathHelp": "수집기가 이 파일을 읽을 수 있어야 합니다. 다음 명령으로 찾으세요: SHOW VARIABLES LIKE 'log_error';", "dbmMariadbLogPathHelp": "수집기가 이 파일을 읽을 수 있어야 합니다. 다음 명령으로 찾으세요: SHOW VARIABLES LIKE 'log_error';", "dbmPrepareMssqlTitle": "데이터베이스 모니터링 · 액세스 권한 부여 (선택 사항)", - "dbmPrepareMssqlDesc": "**위의 모든 것은 단독으로 완료됩니다** — 쿼리 타이밍은 이미 애플리케이션 트레이스에서 데이터베이스로 도달하므로 여기서 설정할 필요가 없습니다. 이 마지막 그룹은 트레이스가 절대 볼 수 없는 것, 즉 데이터베이스 자체만 기록하는 교착 상태와 차단된 쿼리를 추가합니다. 두 권한이 모두 필요합니다 — 하나는 수집기가 다른 세션을 읽을 수 있게 하고, 다른 하나는 교착 상태 기록을 읽을 수 있게 합니다. SQL 클라이언트에서 실행하세요, **셸이 아닌**.", + "dbmPrepareMssqlDesc": "**위의 모든 단계는 그 자체로 완료됩니다** — 애플리케이션 트레이스의 쿼리 타이밍은 설정 없이 이미 데이터베이스에 도달합니다. 이 마지막 그룹은 트레이스로는 절대 볼 수 없는 것, 즉 데이터베이스 자체만 기록하는 교착 상태와 차단된 쿼리를 추가합니다. 두 권한 모두 필요합니다 — 하나는 컬렉터가 다른 세션을 읽을 수 있게 하고, 다른 하나는 교착 상태 기록을 읽을 수 있게 합니다. **쉘이 아니라** SQL 클라이언트에서 실행하세요.", "dbmConfigureMssqlDesc": "`dbm-config.yaml`을 작성합니다 — 아래에서 연결할 데이터베이스를 설정하세요. SQL Server는 여기서 교착 상태, 차단된 쿼리, 활동 샘플, 상위 쿼리 및 실행 계획을 얻습니다. sqlserver 수신기는 전체 인스턴스를 읽으므로 활동 및 상위 쿼리는 위에서 지정한 데이터베이스로 제한되지 않습니다.", "dbmRunMssqlDesc": "두 구성을 함께 실행합니다. 1단계에서 만든 동일한 로그인과 비밀번호를 사용하세요.", "dbmVerifyBlockingDesc": "**인프라 → 데이터베이스 → 차단된 쿼리**를 엽니다. 잠금을 기다리는 세션은 샘플링되는 즉시 나타납니다 — 빈 탭은 차단된 항목이 없는지 아니면 수집되고 있지 않은지를 알려줍니다.", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "**인프라 → 데이터베이스**를 열고 아래에서 탭을 선택하세요. 교착 상태와 차단된 쿼리는 데이터베이스가 보고하는 즉시 나타납니다 — 빈 탭은 아무 일도 일어나지 않았는지 아니면 수집되고 있지 않은지 알려줍니다. 테이블 상태는 첫 60초 스냅샷 후에 채워집니다." }, "instrumentBeforeImportTitle": "클라이언트 가져오기 전에 계측", - "instrumentBeforeImportBody": "앱이 실행되지만 스팬이 도착하지 않으면 계측이 클라이언트를 가져온 후에 로드된 것일 수 있습니다. 초기화가 먼저 실행되도록 순서를 변경하세요:", + "instrumentBeforeImportBody": "앱이 실행되는데 스팬이 도착하지 않으면 클라이언트를 가져온 후에 계측이 로드된 것일 수 있습니다. 초기화가 먼저 실행되도록 순서를 변경하세요:", "launchCloudFormationStack": "CloudFormation 스택 시작", "openStackSetsConsole": "StackSets 콘솔 열기", "integrations": { @@ -4353,7 +4353,7 @@ "extraOptions": "옵션", "nameOfVariable": "이름", "labelOfVariable": "라벨 (선택 사항)", - "ValueOfVariable": "가치", + "ValueOfVariable": "값", "DefaultValue": "기본값 (선택 사항)", "typeOfVariable": "변수 유형", "DefaultSize": "기본 최대 레코드 크기 (선택 사항)", @@ -4423,7 +4423,7 @@ "alignRight": "Right", "sectionStyling": "스타일링", "sectionConditionalStyling": "조건부 스타일링", - "conditionThreshold": "가치", + "conditionThreshold": "값", "conditionAddRule": "+ 규칙 추가", "conditionNoRules": "아직 규칙이 없습니다.", "conditionIfValue": "값이 다음과 같은 경우", @@ -4646,7 +4646,7 @@ "markLinesTooltip": "차트에 임계선을 표시합니다.", "markLineType": "타입", "markLineLabel": "레이블", - "markLineValue": "가치", + "markLineValue": "값", "markLineAdd": "+ 추가", "markLineAverage": "평균", "markLineMedian": "중앙값", @@ -4748,7 +4748,7 @@ "editValueMapping": "값 매핑 편집", "valueMappingsTitle": "값 매핑", "valueMappingType": "타입", - "valueMappingValue": "가치", + "valueMappingValue": "값", "valueMappingRegex": "정규식", "valueMappingFrom": "에서", "valueMappingTo": "에", @@ -5554,7 +5554,7 @@ "deletePanelTitle": "패널 삭제", "deletePanelMessage": "정말로 이 패널을 삭제하시겠습니까?", "movePanelTitle": "패널을 다른 탭으로 이동", - "movePanelMessage": "대상 선택 탭", + "movePanelMessage": "대상 탭 선택", "noQueriesToCreateAlert": "이 패널에는 알림을 생성할 쿼리가 없습니다.", "panelQueryMustHaveStream": "패널 쿼리에는 스트림이 구성되어 있어야 합니다.", "unsupportedPanelTypeAlert": "{type} 패널에서 알림 생성이 예상대로 작동하지 않을 수 있음", @@ -5562,7 +5562,7 @@ "panelDuplicationFailed": "패널 복제 실패", "firstColumn": "첫 번째 칼럼", "zAxis": "Z-축", - "breakdown": "브레이크다운", + "breakdown": "분류", "pivotField": "피벗 필드", "pivotFieldTooltip": "차원 필드를 여기로 드래그합니다.고유 값은 피벗 테이블의 열 머리글이 됩니다.다단계 피벗에는 최대 3개의 필드가 허용됩니다.", "breakdownTooltipHBar": "이 필드를 사용하여 데이터를 Y축의 여러 섹션으로 분할하여 더 명확하게 볼 수 있습니다.", @@ -5649,10 +5649,10 @@ "longitude": "경도", "weight": "무게", "mapname": "이름", - "mapvalue": "가치", + "mapvalue": "값", "source": "소스", "target": "타깃", - "value": "가치" + "value": "값" }, "home": { "alertsOverviewSection": "알림 개요 섹션", @@ -5669,7 +5669,7 @@ "description": "이 조직은 아직 데이터를 받지 않았으므로 차트로 표시할 내용이 없습니다.이벤트 흐름이 시작되면 수집량, 스토리지, 쿼리 사용량이 여기에 자동으로 표시됩니다.", "logs": "로그 전송", "logsDesc": "{product1}, {product2}, {product3}, {product4} 및 기타", - "traces": "트레이스 전송", + "traces": "트레이스 보내기", "tracesDesc": "{product1} / {product2} / {product3} 분산 추적", "metrics": "지표 전송", "metricsDesc": "{product1}, {product2}, {product3} 및 기타", @@ -5717,8 +5717,8 @@ "emptyActionAlertsDesc": "구성된 경고 및 임계값 검토", "emptyActionLogs": "로그 살펴보기", "emptyActionLogsDesc": "로그 스트림 검색 및 필터링", - "emptyActionTraces": "트레이스 살펴보기", - "emptyActionTracesDesc": "분산된 트레이스 및 서비스 지연 시간 검사", + "emptyActionTraces": "트레이스 탐색", + "emptyActionTracesDesc": "분산 트레이스 및 서비스 지연 시간을 검사하세요.", "anomalyDetectedTitle": "이상 감지 — {name}", "anomalyDetectedDescription": "스트림: {stream} · 이상 지점 {count}개", "secondsAgo": "{count}초 전", @@ -5806,7 +5806,7 @@ "taglineTail": ".내가 너한테 쓸 수 있어", "taglineSql": "SQL", "taglineVrl": "VRL", - "taglineAnd": "로그, 추적, 지표 및 인시던트를 안내합니다.", + "taglineAnd": "그리고 로그, 트레이스, 메트릭 및 인시던트를 안내합니다.", "signedInAs": "로 로그인", "role": "역할", "tryOneOfThese": "또는 다음 중 하나를 시도해 보십시오." @@ -5814,12 +5814,12 @@ "capabilities": { "query": { "title": "쿼리 작성", - "description": "로그, 트레이스, RUM용 SQL 또는 메트릭용 PromQL", + "description": "로그, 트레이스, 실제 사용자 모니터링용 SQL 또는 메트릭용 PromQL.", "prompt": "쿼리 작성을 도와주세요" }, "incident": { "title": "인시던트 조사", - "description": "로그, 트레이스, 경보의 근본 원인 (예: “게이트웨이 5xx가 왜 작동했나요?”)", + "description": "로그, 트레이스, 알림 전반의 근본 원인 분석 — 예: \"gateway-5xx가 왜 발생했나?\"", "prompt": "인시던트 조사를 도와주세요" }, "dashboard": { @@ -5962,7 +5962,7 @@ "features": "특징", "included": "무엇이 포함되어 있나요?", "proPlanSubtitle": "소규모 팀을 위한 맞춤형 솔루션", - "unlimitedNote": "무제한 사용자, 로그, 메트릭, 트레이스 등", + "unlimitedNote": "무제한 사용자, 로그, 메트릭, 트레이스 등.", "paymentNote": "월별 청구 주기 말의 사용량을 기준으로 요금이 계산됩니다.", "proPlanLabel": "사용량에 따라 지불", "contactLabel": "영업팀에 문의", @@ -6381,7 +6381,7 @@ "duration": "지속 시간", "retries": "재시도", "dedup": "중복 제거", - "noDestinations": "사용 가능한 대상이 없습니다", + "noDestinations": "사용 가능한 대상이 없습니다.", "validation": { "streamTypeRequired": "Stream 유형은 필수입니다.", "streamNameRequired": "Stream 이름은 필수입니다.", @@ -6392,7 +6392,7 @@ "validEmails": "유효한 이메일을 추가하세요!", "silenceNonNegative": "알림 침묵은 0 이상이어야 합니다", "periodPositive": "기간은 0보다 커야 합니다", - "destinationRequired": "하나 이상의 대상이 필요합니다.", + "destinationRequired": "대상이 하나 이상 필요합니다.", "thresholdPositive": "임계값은 0보다 커야 합니다", "frequencyPositive": "빈도는 0보다 커야 합니다", "aggregationColumnRequired": "집계 함수를 사용할 때는 열이 필요합니다.", @@ -6436,9 +6436,9 @@ "timezoneRequiredForCronType": "빈도 유형이 cron인 경우 시간대가 필요합니다.", "triggerConditionRequired": "트리거 조건이 필요합니다.", "destinationsArray": "대상은 배열이어야 합니다.", - "destinationRequiredPlain": "최소 하나의 대상이 필요합니다.", + "destinationRequiredPlain": "대상이 하나 이상 필요합니다.", "noDestinationsInSystem": "시스템에서 사용 가능한 대상을 찾을 수 없습니다.", - "invalidDestinations": "잘못된 대상: {destinations} - 사용 가능한 대상 목록에 있어야 합니다.", + "invalidDestinations": "잘못된 대상: {destinations} - 사용 가능한 대상 목록에서 선택해야 합니다.", "enabledFlagBoolean": "활성화 플래그는 부울이어야 합니다.", "silenceNotificationRequired": "무음 알림은 비어 있지 않아야 합니다.", "thresholdNotEmpty": "임계값은 비어 있지 않아야 합니다.", @@ -6459,8 +6459,8 @@ "searchAllFolders": "모든 폴더", "streamConfig": "스트림 구성", "alertRules": "경고 규칙", - "noTemplatesMsg": "알림을 생성하려면 최소 하나의 템플릿과 하나의 대상이 필요합니다.템플릿은 알림 메시지의 형식을 정의합니다. 먼저 템플릿을 만들어 보세요.", - "noDestinationsMsg": "알림을 생성하려면 적어도 하나의 대상과 하나의 템플릿이 필요합니다.목적지는 알림이 전송되는 위치를 정의합니다. 먼저 알림을 생성하세요.", + "noTemplatesMsg": "알림을 만들려면 템플릿과 대상이 하나 이상 있어야 합니다. 템플릿은 알림 메시지의 형식을 정의합니다 — 먼저 템플릿을 만들어 보세요.", + "noDestinationsMsg": "알림을 만들려면 대상과 템플릿이 하나 이상 있어야 합니다. 대상은 알림이 전송되는 위치를 정의합니다 — 먼저 대상을 만들어 보세요.", "add": "알림 추가", "edit": "편집", "clone": "클론 경고", @@ -6511,37 +6511,37 @@ "frequency": "주파수", "threshold": "임계값", "silenceNotification": "에 대한 침묵 알림", - "destination": "여행지", - "destinationOrWorkflowRequired": "대상 또는 워크플로우를 하나 이상 추가하십시오.", - "customDestination": "커스텀 데스티네이션", - "customDestinationDescription": "사용자 지정 HTTP 엔드포인트 또는 이메일 대상 구성", - "testIdleMessage": "'테스트'를 클릭하여 대상 구성을 확인합니다.", - "destinationPreview": "목적지 미리 보기", + "destination": "대상", + "destinationOrWorkflowRequired": "대상 또는 워크플로우를 하나 이상 추가하세요.", + "customDestination": "사용자 지정 대상", + "customDestinationDescription": "사용자 지정 HTTP 엔드포인트 또는 이메일 대상을 구성합니다.", + "testIdleMessage": "'테스트'를 클릭하여 대상 구성을 확인하세요.", + "destinationPreview": "대상 미리보기", "template": "템플릿 오버라이드", "additionalVariables": "추가 변수", - "testSuccessMessage": "테스트 성공!목적지가 올바르게 구성되었습니다.", + "testSuccessMessage": "테스트 성공! 대상이 올바르게 구성되었습니다.", "testFailedMessage": "테스트에 실패했습니다.구성을 확인하고 다시 시도하세요.", "testFailedWithReason": "테스트 실패: {reason}", - "testInProgress": "테스트 대상...", + "testInProgress": "대상 테스트 중...", "sendingNotification": "연결 확인을 위한 테스트 알림 전송", "testErrorDNS": "DNS 확인에 실패했습니다.웹후크 URL 또는 호스트 이름을 확인하십시오.", "testErrorConnection": "연결이 거부되었습니다.URL을 확인하고 서비스에 연결할 수 있는지 확인하십시오.", - "testErrorTimeout": "요청 시간이 초과되었습니다.대상 서비스가 느리거나 연결이 불가능할 수 있습니다.", + "testErrorTimeout": "요청 시간이 초과되었습니다. 대상 서비스가 느리거나 연결할 수 없을 수 있습니다.", "testErrorSSL": "SSL/TLS 인증서 오류가 발생했습니다.인증서를 확인하거나 SSL 인증을 비활성화하세요.", "testErrorClientError": "클라이언트 오류 (4xx).자격 증명과 구성을 확인하십시오.", - "testErrorServerError": "서버 오류 (5xx).대상 서비스에 문제가 있습니다.", + "testErrorServerError": "서버 오류(5xx)입니다. 대상 서비스에 문제가 발생했습니다.", "viewDetails": "세부 정보 보기", "error": "오류", "httpStatus": "HTTP 상태", "responseBody": "응답 바디", "retry": "재시도", "suggestCheckUrl": "웹후크 URL이 정확하고 연결할 수 있는지 확인하십시오.", - "suggestCheckFirewall": "방화벽 설정을 확인하고 대상 서비스에 액세스할 수 있는지 확인하십시오.", + "suggestCheckFirewall": "방화벽 설정을 확인하고 대상 서비스에 접근할 수 있는지 확인하세요.", "suggestCheckCredentials": "API 자격 증명이 올바른지 확인하십시오.", "suggestCheckPermissions": "자격 증명에 필요한 권한이 있는지 확인하십시오.", "suggestCheckEndpoint": "엔드포인트 URL이 올바른지 확인하십시오.", "suggestRateLimit": "속도 제한을 초과했습니다.다시 시도하기 전에 잠시 기다려 주세요.", - "suggestServerIssue": "대상 서비스에 문제가 있습니다.나중에 다시 시도하세요.", + "suggestServerIssue": "대상 서비스에 문제가 발생했습니다. 잠시 후 다시 시도하세요.", "description": "설명", "stream_name": "스트림 이름", "cloneTitle": "클론 경고", @@ -6601,7 +6601,7 @@ "notEqualTo": "같지 않음", "eventsDetected": "이벤트 감지됨", "sendsTo": "전송 대상", - "noDestination": "목적지 없음", + "noDestination": "대상 없음", "notSetupYet": "(아직 설정되지 않음)", "cooldown": "재사용 대기시간", "betweenAlerts": "경고 사이", @@ -6649,7 +6649,7 @@ }, "placeholders": { "typeSomething": "무언가를 입력하세요", - "value": "가치", + "value": "값", "selectColumn": "컬럼 선택", "savedFunctions": "저장된 함수", "autoUsesCheckInterval": "자동 (검사 간격 사용)", @@ -6732,7 +6732,7 @@ "ifPrefix": "조건", "noConditionsDefined": "정의된 조건 없음", "loadingCorrelatedMetrics": "연관 메트릭 불러오는 중...", - "loadingCorrelatedTraces": "연관 트레이스 불러오는 중...", + "loadingCorrelatedTraces": "연관된 트레이스 로드 중...", "disambiguationChangedMessage": "이 인시던트가 생성된 후 서비스 검색 구성(식별 필드)이 변경되었습니다.", "noActivityYet": "아직 활동이 없습니다", "eventsAndCommentsAppearHere": "이벤트와 댓글이 여기에 표시됩니다", @@ -6766,7 +6766,7 @@ "correlatedAlertsCount": "알림: {count}개의 연관 알림", "noCorrelatedLogs": "연관 로그를 찾을 수 없습니다", "noCorrelatedMetrics": "상관된 메트릭 없음", - "noCorrelatedTraces": "상관된 트레이스 없음", + "noCorrelatedTraces": "연관된 트레이스를 찾을 수 없습니다.", "lastAlertAt": "마지막 알림", "title_field": "타이틀", "stableDimensions": "치수", @@ -6779,7 +6779,7 @@ "acknowledge": "인정하다", "resolve": "해결", "reopen": "다시 엽니다", - "statusOpen": "열기", + "statusOpen": "미해결", "statusAcknowledged": "확인됨", "statusResolved": "해결됨", "correlationServiceDiscovery": "서비스 디스커버리", @@ -6844,7 +6844,7 @@ "noAlertDetailsAvailable": "사용 가능한 알림 세부 정보 없음", "clickOnTriggerToViewDetails": "세부 정보를 보려면 테이블에서 트리거를 클릭하세요", "refreshCorrelatedData": "상관 데이터 새로 고침", - "showingCorrelatedTraces": "인시던트 기간의 상관 트레이스 표시 중", + "showingCorrelatedTraces": "인시던트 시간 범위의 연관된 트레이스를 표시 중입니다.", "incidentTitleUpdatedSuccess": "인시던트 제목이 성공적으로 업데이트되었습니다", "markAsAcknowledgedTooltip": "인시던트를 확인됨 및 처리 중으로 표시", "markAsResolvedTooltip": "인시던트를 해결됨으로 표시하고 종료", @@ -6964,16 +6964,16 @@ "helpLegendLiveExample": "CPU 높음", "helpLegendSampleExample": "42", "sectionTitle": "설정", - "noDestinationsAvailable": "사용 가능한 대상 없음", - "noTargetsAvailable": "사용 가능한 대상 또는 워크플로우 없음", + "noDestinationsAvailable": "사용 가능한 대상이 없습니다.", + "noTargetsAvailable": "사용 가능한 대상 또는 워크플로우가 없습니다.", "targetsDestinationsGroup": "대상", "targetsWorkflowsGroup": "워크플로우", - "refreshDestinations": "최신 대상 새로 고침", - "addNewDestination": "새 목적지 추가", + "refreshDestinations": "최신 대상 새로고침", + "addNewDestination": "대상 추가", "cooldownTooltip": "경고가 트리거되면 다른 알림을 보내기 전에 얼마나 기다려야 합니까? 예를 들어 경보가 오후 4시에 트리거되고 무음 알림이 10분으로 설정된 경우 경고가 1분이 지난 후에도 오후 4시 10분까지는 다른 알림을 보내지 않습니다.이는 사용자에게 알림을 스팸으로 보내는 것을 방지하기 위한 것입니다.", "periodTooltip": "쿼리를 실행해야 하는 기간. 예를 들어 10분은 쿼리가 실행될 때마다 최근 10분의 데이터를 사용한다는 의미입니다.", "timezoneWarning": "경고: 표시된 시간대는 대략적인 시간대입니다.정확한 시간대를 수동으로 확인하고 선택하십시오.", - "destinationsTooltip": "경고 알림을 보낼 대상을 하나 이상 선택합니다.", + "destinationsTooltip": "알림을 보낼 대상을 하나 이상 선택하세요.", "createsIncident": "인시던트 생성", "createsIncidentTooltip": "알림이 인시던트를 생성할 수 있는 경우, 전용 알림을 보내지 않습니다. 대신 새 인시던트가 생성되거나 새 알림 유형이 기존 인시던트에 추가될 때 인시던트에 대한 알림이 전송됩니다.", "helpTemplateTitle": "템플릿 오버라이드", @@ -6985,11 +6985,11 @@ "helpLegendLive": "알림의 실제 가치", "helpLegendSample": "샘플 — 알림이 실행될 때 실제 값이 설정됩니다.", "helpLegendOpaque": "경고가 발생하면 자동으로 추가됨", - "helpTemplateExplain": "템플릿은 텍스트와 {'{'} alert_name {'}'} 같은 변수를 포함하여 전송되는 알림 메시지입니다.여기서 하나를 선택하면 각 대상의 자체 템플릿보다 우선 적용됩니다 (이 알림에 한함).", + "helpTemplateExplain": "템플릿은 전송되는 알림 메시지입니다 — 텍스트와 {'{'}alert_name{'}'} 같은 변수로 구성됩니다. 여기서 템플릿을 선택하면 이 알림에 대해서만 각 대상의 자체 템플릿이 재정의됩니다.", "helpCurrentHeading": "이 알림이 지금 보내는 내용", - "helpCurrentNoOverride": "오버라이드 설정 없음 - 각 대상에서 자체 템플릿을 사용합니다.", - "helpCurrentNoDestinations": "목적지가 아직 선택되지 않았습니다.각 목적지는 자체적으로 구성된 템플릿을 사용합니다.", - "helpCurrentOverrideHeading": "모든 목적지는 다음 템플릿을 사용합니다.", + "helpCurrentNoOverride": "재정의가 설정되지 않음 — 각 대상은 자체 템플릿을 사용합니다:", + "helpCurrentNoDestinations": "아직 선택된 대상이 없습니다. 각 대상은 자체 구성된 템플릿을 사용합니다.", + "helpCurrentOverrideHeading": "모든 대상이 이 템플릿을 사용합니다:", "helpPreviewHeading": "템플릿 미리 보기", "helpPreviewSelectPlaceholder": "미리 볼 템플릿 선택", "helpApplyToAlert": "알림에 적용", @@ -7001,7 +7001,7 @@ "helpYourVariablesEmpty": "아직 변수를 추가하지 않았습니다.", "helpRowTemplateExplain": "알림은 여러 행과 일치할 수 있습니다.행 템플릿은 단일 행의 모양을 결정합니다.그러면 기본 템플릿의 {'{'} rows {'}'} 가 이미 서식이 지정된 모든 일치하는 행에 드롭됩니다.", "helpRowTemplateTypeHeading": "문자열과 JSON 비교", - "helpRowTemplateTypeExplain": "문자열은 행당 일반 텍스트를 생성합니다.JSON은 구조화된 대상에 적합한 행당 JSON 객체를 생성합니다.", + "helpRowTemplateTypeExplain": "문자열은 각 행에 대해 일반 텍스트를 생성합니다. JSON은 각 행에 대해 JSON 객체를 생성하며 구조화된 대상에 적합합니다.", "helpRowTemplateTypeCurrent": "현재 선택됨:", "helpPreviewHeadingShort": "시사", "helpWhyHeading": "왜 변수를 사용할까요?", @@ -7014,7 +7014,7 @@ "helpVariablesExampleCaption": "심각도와 팀을 변수로 추가한 다음 템플릿의 어느 곳에서나 사용할 수 있습니다.", "helpExampleResultLabel": "전송되는 내용", "helpTemplateWhenHeading": "언제 오버라이드해야 하나요?", - "helpTemplateWhenDesc": "비워 두면 각 목적지마다 고유한 템플릿을 사용합니다.각 대상의 템플릿을 수정하지 않고도 이 하나의 알림으로 모든 대상에 동일하고 일관된 메시지를 전송하도록 하려면 오버라이드를 설정하세요.", + "helpTemplateWhenDesc": "이 필드를 비워 두면 각 대상이 자체 템플릿을 사용합니다. 이 하나의 알림이 모든 대상에 동일하고 일관된 메시지를 보내려면 각 대상의 템플릿을 수정하지 않고 재정의를 설정하세요.", "helpRowTemplateWhyHeading": "행 템플릿이 필요한 이유", "helpRowTemplateWhyDesc": "알림은 여러 레코드와 일치할 수 있습니다.행 템플릿은 하나의 레코드를 포맷합니다. {'{'} rows {'}'} 는 포맷된 모든 레코드를 기본 템플릿에 드롭하므로 루프를 작성하지 않고도 일치하는 모든 항목을 나열할 수 있습니다.", "helpRowTemplateExampleCaption": "일치하는 각 행은 행 템플릿으로 형식이 지정되고 {'{'} rows {'}'} 는 모든 행을 기본 템플릿에 드롭합니다.", @@ -7023,10 +7023,10 @@ "helpRowTemplatePreviewEmpty": "행 템플릿이 아직 없습니다. 여기에서 미리 보려면 추가 설정 탭에 행 템플릿을 입력하십시오.", "helpPreviewSelectEmpty": "전송할 메시지를 미리 보려면 위의 템플릿을 선택하세요.", "helpCurrentBodyEmpty": "이 템플릿에는 미리 볼 본문이 없습니다.", - "helpDestinationNoTemplate": "이 대상의 기본 형식을 사용합니다.", + "helpDestinationNoTemplate": "이 대상의 기본 서식을 사용합니다.", "builtInVars": { "orgName": "조직 이름", - "streamType": "스트림 유형(로그, 메트릭, 트레이스)", + "streamType": "스트림 유형 (로그, 메트릭, 트레이스)", "streamName": "알림이 감시하는 스트림 이름", "alertName": "알림 이름", "alertType": "알림 유형(예: 예약, 실시간)", @@ -7133,12 +7133,12 @@ }, "anomaly": { "addFilter": "필터 추가", - "addNewDestination": "새 목적지 추가", + "addNewDestination": "새 대상 추가", "anomalyScoreRange": "변칙 점수 범위:", "checkEvery": "모두 확인", "checkEveryTooltip": "탐지 작업의 실행 빈도샘플 기간보다 길 수 있습니다 (예: 5m마다 샘플링, 1시간마다 탐지 실행).", "clickLoadDataHint": "데이터 로드를 클릭하여 시계열을 미리 봅니다.", - "destinationRequired": "목적지가 하나 이상 필요합니다!", + "destinationRequired": "대상이 하나 이상 필요합니다!", "detectionResolution": "감지 해상도", "detectionResolutionTooltip": "각 데이터 포인트가 얼마나 세분화되었는지.예를 들어 “5m”은 5분 해상도에서 이상 징후가 감지되었음을 의미합니다.", "disabled": "장애인", @@ -7153,7 +7153,7 @@ "lookBackWindowTooltip": "각 탐지에서 쿼리를 실행한 시점잠시 멈춘 후에도 창에 캡이 표시됩니다.기본값은 [모든 간격 확인] 입니다.", "maxThresholdMarkLine": "최대 임계값", "minThresholdMarkLine": "최소 임계값", - "noDestinationsFound": "목적지를 찾을 수 없음", + "noDestinationsFound": "대상을 찾을 수 없습니다.", "noFieldsFound": "필드를 찾을 수 없음", "notifications": "알림", "notificationsTooltip": "활성화하면 이상이 감지될 때마다 선택한 대상으로 알림이 전송됩니다.", @@ -7178,7 +7178,7 @@ "summaryDetectionFunction": "✓ 탐지 함수: {fn}", "summaryDetectionWindow": "✓ 탐지 창: 마지막 {window}", "summaryMonitoring": "\"{stream}\"을(를) {schedule}마다 모니터링하여 {fn} 이상 징후를 감지하고, {trainingDays}일의 기록으로 학습", - "summaryNoDestinationSet": "대상이 설정되지 않음", + "summaryNoDestinationSet": "설정된 대상 없음", "summaryQueryMode": "✓ 쿼리 모드: {mode}", "summaryResolution": "✓ 해상도: {resolution}", "summaryRetrain": "✓ 재학습: {retrain}", @@ -7304,12 +7304,12 @@ "triggerAlertFailed": "알림 트리거 실패", "triggerRetrainingFailed": "재학습 트리거 실패", "bulkDeleteAlertsFailed": "알림 삭제 중 오류가 발생했습니다. 다시 시도해 주세요.", - "deleteDestinationFailed": "대상 삭제 중 오류가 발생했습니다.", - "bulkDeleteDestinationsFailed": "대상 삭제 중 오류가 발생했습니다. 다시 시도해 주세요.", + "deleteDestinationFailed": "대상 삭제 중 오류 발생", + "bulkDeleteDestinationsFailed": "대상 삭제 중 오류가 발생했습니다. 다시 시도하세요.", "bulkDeleteTemplatesFailed": "템플릿 삭제 중 오류가 발생했습니다. 다시 시도해 주세요." }, "prebuilt": { - "conversionSuccess": "대상이 성공적으로 변환되었습니다", + "conversionSuccess": "대상이 성공적으로 변환되었습니다.", "validationError": "유효성 검사 오류: {error}", "invalidDestinationType": "잘못된 대상 유형", "invalidTargetType": "잘못된 타겟 유형", @@ -7317,8 +7317,8 @@ "testFailedUnknownError": "알 수 없는 오류로 테스트 실패" }, "confirmDeleteAlerts": "{count}개의 알림을 삭제하시겠습니까? | {count}개의 알림을 삭제하시겠습니까?", - "confirmDeleteDestinations": "{count}개의 수신처를 삭제하시겠습니까? | {count}개의 수신처를 삭제하시겠습니까?", - "prebuiltDestination": "미리 만들어진 {type} 수신처", + "confirmDeleteDestinations": "대상 {count}개를 삭제하시겠습니까? | 대상 {count}개를 삭제하시겠습니까?", + "prebuiltDestination": "사전 구축된 {type} 대상", "errorValidations": "오류 검증", "outputMessagesLabel": "출력 메시지", "incidentSingular": "인시던트", @@ -7374,7 +7374,7 @@ "critical": "치명적", "warning": "경고", "ok": "정상", - "firingTotal": "발생", + "firingTotal": "발화 중", "observedTotal": "그룹", "nOfMFiring": "{firing} / {observed} 그룹 발생 중", "groupedBy": "{columns}별로 그룹화됨", @@ -7523,13 +7523,13 @@ "actionOpen": "열기", "actionDelete": "삭제", "deleteTitle": "{name}을(를) 삭제하시겠습니까?", - "deleteMessage": "이 작업은 영구적으로 제거합니다. 알림 또는 대상에서 여전히 사용 중이면 삭제가 차단됩니다.", + "deleteMessage": "이 항목이 영구적으로 삭제됩니다. 알림 또는 대상이 아직 사용 중이면 삭제할 수 없습니다.", "deletedToast": "{name} 삭제됨", "deleteFailedToast": "{name}을(를) 삭제할 수 없습니다", "loading": "의존성 그래프 작성 중…", "failedToLoad": "의존성을 불러오지 못했습니다: {error}", "usedBy": "{count} 알림 | {count} 알림", - "countDestinations": "{count} 대상 | {count} 대상", + "countDestinations": "{count}개 대상 | {count}개 대상", "usedByColumn": "사용처", "searchPlaceholder": "검색", "noDependencies": "의존성 없음.", @@ -7542,7 +7542,7 @@ "missingTag": "누락됨", "enabled": "활성화됨", "paused": "일시 중지됨", - "impactTemplate": "사용처: {destinations} · {alerts}", + "impactTemplate": "사용 중: {destinations} · {alerts}", "impactDestination": "사용처: {alerts}" }, "alert_library": { @@ -7614,12 +7614,12 @@ "stepFolder": "폴더", "stepTune": "조정", "stepInstall": "설치", - "destinationIntro": "이 배치의 모든 알림은 여기서 선택한 대상으로 알림을 보냅니다. 라이브러리 파일에는 해당 파일을 내보낸 조직의 대상 이름이 지정되어 있지만, 이 조직에는 존재하지 않습니다.", + "destinationIntro": "이 배치의 모든 알림은 여기서 선택한 대상으로 알림을 보냅니다. 라이브러리 파일에는 해당 파일이 내보내진 조직의 대상 이름이 포함되어 있으며, 이는 현재 조직에는 존재하지 않습니다.", "destinationLabel": "대상", "destinationPlaceholder": "대상 선택", - "destinationsLoadFailed": "기존 대상을 불러오지 못했습니다.", + "destinationsLoadFailed": "기존 대상을 불러올 수 없습니다.", "retry": "다시 시도", - "destinationsNoneBody": "이 조직에는 아직 알림 대상이 없으므로 이러한 알림을 보낼 곳이 없습니다. 대상 페이지에서 대상을 만든 후 돌아와서 여기에서 선택하세요.", + "destinationsNoneBody": "이 조직에는 아직 알림 대상이 없어 알림을 보낼 곳이 없습니다. 대상 페이지에서 대상을 만든 후 다시 돌아와 여기서 선택하세요.", "openDestinations": "대상 열기", "selectAll": "모두 선택", "clear": "선택 해제", @@ -7735,7 +7735,7 @@ "chartPreviewPlaceholder": "실제 알림에서는 차트가 여기에 표시됩니다 — 미리 보기에는 없는 알림 자체의 평가 기록에서 가져옵니다.", "channelTitlesDescription": "특정 채널에서 다른 제목 사용 — 예: 이메일의 짧은 제목.", "namePlaceholder": "예: 높은 오류율", - "nameLockedHint": "알림 및 대상은 이름으로 이 템플릿을 참조하므로 이름을 바꿀 수 없습니다. 템플릿을 복제하여 새 이름으로 복사본을 만드세요.", + "nameLockedHint": "알림과 대상이 이 템플릿을 이름으로 참조하므로 이름을 바꿀 수 없습니다. 템플릿을 복제하여 새 이름으로 사본을 생성하세요.", "rawBodyCaption": "작성된 그대로 전송되며 {'{'}variables{'}'}가 대체됩니다. 사용 가능한 모든 항목은 변수 가이드를 참조하세요.", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "예: 값", @@ -7855,7 +7855,7 @@ "incidentDestination": "인시던트 대상", "incidentDestinationPlaceholder": "조직 기본값 사용", "incidentDestinationHint": "이 소스의 알림이 인시던트를 생성하거나 참여할 때 알림이 전달되는 위치입니다. 비워 두면 조직 기본값을 사용합니다. 둘 다 설정하지 않으면 일치하는 인시던트는 알림 없이 발생합니다.", - "noDestinationSet": "인시던트 대상이 설정되지 않음", + "noDestinationSet": "설정된 인시던트 대상 없음", "setupStep1Title": "1. 웹훅 만들기", "setupStep1Body": "Grafana, Alertmanager 또는 JSON을 POST할 수 있는 도구에서 웹훅 연락처/수신자를 만드세요.", "setupRemainingStepsHint": "이 소스를 저장하여 URL과 토큰을 얻은 다음 해당 웹훅 구성에 붙여넣으세요.", @@ -7879,7 +7879,7 @@ "updatedSuccess": "알림 소스가 업데이트되었습니다", "error": "알림 소스를 불러오는 중 오류 발생", "senderError": "소스 상태를 불러오는 중 오류 발생", - "destinationsLoadError": "대상을 불러오는 중 오류 발생" + "destinationsLoadError": "대상 불러오기 오류" }, "alert_destinations": { "sectionTab": "대상", @@ -7903,7 +7903,7 @@ "datadogHostnameHelpText": "Datadog 로그용 호스트 이름", "exampleLabel": "예:", "subtitle": "트리거된 알림이 전달되는 위치", - "exportDestination": "내보내기 대상", + "exportDestination": "대상 내보내기", "deleteDestinationTitle": "대상 삭제", "deleteDestinationMessage": "대상을 삭제하시겠습니까?", "deleteDestinationsTitle": "대상 삭제", @@ -7925,25 +7925,25 @@ "ddTagsPlaceholder": "태그 입력 (예: env:prod,version:1.0)", "serviceLabel": "서비스", "servicePlaceholder": "서비스 이름 입력 (예: api-gateway)", - "header": "여행지", - "add": "목적지 추가", + "header": "알림 대상", + "add": "새 대상", "edit": "편집", - "search": "목적지 검색", + "search": "대상 검색", "filterAll": "모두", "filterPrebuilt": "사전 구축", "filterCustom": "사용자 지정", "templateDefaultBadge": "디폴트", "name": "이름", - "destination_type": "목적지 유형", + "destination_type": "대상 유형", "template": "템플릿", "actions": "액션", - "addTitle": "목적지 추가", - "updateTitle": "목적지 업데이트", + "addTitle": "새 대상", + "updateTitle": "대상 업데이트", "delete": "삭제", "method": "메서드", "url": "URL", "api_header": "머리글", - "api_header_value": "가치", + "api_header_value": "값", "skip_tls_verify": "TLS 확인 건너뛰기", "action": "액션", "output_format": "출력 형식", @@ -7952,7 +7952,7 @@ "custom_headers": "사용자 지정 헤더 (선택 사항)", "preview": "시사", "test": "테스트", - "saved": "목적지가 성공적으로 저장되었습니다.", + "saved": "대상이 성공적으로 저장되었습니다", "customWebhook": "사용자 지정 (웹후크)", "customEmail": "사용자 지정 (이메일)", "customAction": "사용자 지정 (액션)", @@ -7962,7 +7962,7 @@ "separator_hint": "레코드 사이에 사용할 구분자 문자열 (공백 허용)", "templateDefaultOption": "Default ({name})", "templateHelp": "Leave as default to use the standard {type} template ({name}), or pick a custom one.", - "loadingData": "대상 데이터를 로드하는 중...", + "loadingData": "대상 데이터를 불러오는 중...", "noEmailTemplates": "아직 이메일 템플릿을 생성하지 않은 것 같습니다.", "createEmailTemplate": "이메일 템플릿 생성", "headers": "헤더", @@ -7989,27 +7989,27 @@ "destinationCreation": "대상 생성", "jsonStringEmpty": "JSON 문자열이 비어 있습니다", "invalidJsonFormat": "잘못된 JSON 형식", - "importSuccess": "대상 가져오기 성공", + "importSuccess": "대상을 성공적으로 가져왔습니다", "importError": "대상 가져오기 오류, JSON을 확인하세요", "unknownError": "알 수 없는 오류", "nameRequired": "대상 - {index}: \"name\" 필드는 필수이며 유효한 문자열이어야 합니다.", - "nameExists": "대상 - {index}: \"{name}\"이(가) 이미 존재합니다", + "nameExists": "대상 - {index}: \"{name}\" 이미 존재합니다", "typeInvalid": "대상 - {index}: \"type\" 필드는 \"email\", \"http\" 또는 \"action\" 중 하나여야 합니다.", "actionTypeNotSupported": "대상 - {index}: 'action' 유형은 지원되지 않습니다.", - "actionNotFound": "대상 - {index}: 유형 \"{type}\"에 대한 작업 \"{actionId}\"이(가) 존재하지 않습니다", - "urlRequired": "대상 - {index}: http 유형 대상에는 \"url\" 필드가 필요합니다.", + "actionNotFound": "대상 - {index}: \"{type}\" 유형에 대한 action \"{actionId}\"이(가) 존재하지 않습니다.", + "urlRequired": "대상 - {index}: http 유형 대상에는 \"url\" 필드가 필수입니다.", "methodInvalid": "대상 - {index}: \"method\" 필드는 \"post\", \"get\" 또는 \"put\" 중 하나여야 합니다.", - "templateRequiredHttp": "대상 - {index}: http 유형 대상에는 \"template\" 필드가 필요합니다.", - "skipTlsVerifyRequired": "대상 - {index}: \"skip_tls_verify\" 필드는 필수이며 불리언 값이어야 합니다", - "headersMustBeObject": "대상 - {index}: http 유형의 경우 'headers'는 객체여야 합니다", - "urlNotAllowedEmail": "대상 - {index}: 이메일 유형의 경우 'url'을 제공해서는 안 됩니다", - "headersNotAllowedEmail": "대상 - {index}: 이메일 유형의 경우 'headers'를 제공해서는 안 됩니다", - "emailsRequired": "대상 - {index}: 이메일 유형 대상의 경우 \"emails\" 필드는 필수이며 배열이어야 합니다.", - "emailsMustBeStrings": "대상 - {index}: 이메일 유형의 경우 'emails'는 문자열 배열이어야 합니다", - "templateRequiredEmail": "대상 - {index}: 이메일 유형 대상의 경우 \"template\" 필드가 필요합니다.", - "templateNotFound": "대상 - {index}: 유형 \"{type}\"에 대한 템플릿 \"{template}\"이(가) 존재하지 않습니다", + "templateRequiredHttp": "대상 - {index}: http 유형 대상에는 \"template\" 필드가 필수입니다.", + "skipTlsVerifyRequired": "대상 - {index}: \"skip_tls_verify\" 필드는 필수이며 boolean 값이어야 합니다.", + "headersMustBeObject": "대상 - {index}: http 유형에서는 'headers'가 객체여야 합니다.", + "urlNotAllowedEmail": "대상 - {index}: email 유형에서는 'url'을 제공해서는 안 됩니다.", + "headersNotAllowedEmail": "대상 - {index}: email 유형에서는 'headers'를 제공해서는 안 됩니다.", + "emailsRequired": "대상 - {index}: email 유형 대상에는 \"emails\" 필드가 필수이며 배열이어야 합니다.", + "emailsMustBeStrings": "대상 - {index}: email 유형에서는 'emails'가 문자열 배열이어야 합니다.", + "templateRequiredEmail": "대상 - {index}: email 유형 대상에는 \"template\" 필드가 필수입니다.", + "templateNotFound": "대상 - {index}: \"{type}\" 유형에 대한 template \"{template}\"이(가) 존재하지 않습니다.", "actionIdInvalid": "대상 - {index}: \"action_id\" 필드는 유효한 문자열이어야 합니다.", - "createSuccess": "대상 - {index}: \"{name}\"이(가) 성공적으로 생성되었습니다\n참고: 생성된 대상 객체 {name}을(를) JSON 파일에서 제거하세요", + "createSuccess": "대상 - {index}: \"{name}\"이(가) 성공적으로 생성되었습니다 \n참고: JSON 파일에서 생성된 대상 객체 {name}을(를) 제거하세요. ", "createFailed": "대상 - {index}: \"{name}\" 생성 실패 --> \n 이유: {reason}" }, "priorityP1Description": "최고 우선순위 알림", @@ -8023,8 +8023,8 @@ "severityInfoDescription": "정보 인시던트" }, "pipeline_destinations": { - "header": "파이프라인 목적지", - "search": "목적지 검색" + "header": "파이프라인 대상", + "search": "대상 검색" }, "storage_settings": { "heroBrand": "OpenObserve.", @@ -8234,7 +8234,7 @@ }, "metricCard": { "lastRefreshed": "마지막 새로고침:", - "traceId": "추적 ID: {id}", + "traceId": "트레이스 ID: {id}", "metricLabel": "메트릭: {name}", "queryLabel": "쿼리: {query}", "errorLabel": "오류: {error}", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "젠아이 에이전트 매핑", "title": "젠아이 에이전트 매핑", - "description": "LLM 추적 및 평가를 위한 에이전트 ID를 정규화하는 데 사용되는 폴백 텔레메트리 속성을 구성합니다.", + "description": "LLM 트레이스 및 평가에서 에이전트 ID를 정규화하는 데 사용되는 대체 텔레메트리 속성을 구성합니다.", "agentNameFields": "상담원 이름 폴백 필드", "agentNameHelp": "gen_ai.agent.name의 폴백으로 사용할 들어오는 속성입니다.", "agentNameInfo": "표준 gen_ai.agent.name 속성이 없거나 비어 있는 경우에만 확인합니다.수신되는 텔레메트리 속성을 한 줄에 하나씩 추가합니다.", @@ -8532,7 +8532,7 @@ "resetToEmpty": "빈 상태로 재설정", "clearRegistry": "레지스트리 지우기", "clearRegistryTitle": "에이전트 레지스트리를 지우시겠습니까?", - "clearRegistryDescription": "이렇게 하면 이 조직에 대해 검색된 GenAI 에이전트 레지스트리 행이 모두 삭제됩니다.일치하는 새 트레이스는 수집 중에 레지스트리를 다시 채웁니다.", + "clearRegistryDescription": "이 작업은 이 조직의 발견된 GenAI 에이전트 레지스트리 행을 모두 삭제합니다. 새로 일치하는 트레이스는 수집 중에 레지스트리를 다시 채웁니다.", "clearRegistryConfirm": "레지스트리 지우기", "saved": "GenAI 에이전트 매핑이 성공적으로 저장되었습니다.", "clearRegistrySuccess": "GenAI 에이전트 레지스트리가 삭제되었습니다. {deletedCount} 개의 저장된 에이전트와 {bufferCount} 개의 대기 중인 관찰을 삭제했습니다.", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "필드 별칭 저장 실패", "fieldAliasesUnsavedConfirm": "저장되지 않은 필드 매핑 변경 사항이 있습니다. 삭제하고 나가시겠습니까?", "discoveredServicesTitle": "검색된 서비스", - "discoveredServicesDescription": "서비스는 텔레메트리 데이터에서 자동으로 검색되며 상관 관계를 파악할 수 있도록 FQN (FQualified Name) 별로 그룹화됩니다.동일한 FQN을 공유하는 서비스는 로그, 추적 및 지표 전반에서 서로 상관관계가 있습니다.", + "discoveredServicesDescription": "서비스는 텔레메트리 데이터에서 자동으로 검색되며 상관 관계를 위해 서비스 이름별로 그룹화됩니다. 동일한 서비스 이름을 공유하는 서비스는 로그, 트레이스 및 메트릭 전반에 걸쳐 함께 상관 관계가 있습니다.", "noServicesYet": "아직 검색된 서비스가 없습니다.", "noServicesDescription": "원격 측정 데이터가 서비스 식별 속성 (예: k8s-배포, 서비스 이름 등) 과 함께 수집되면 서비스가 여기에 표시됩니다.", "searchServiceName": "서비스 이름 검색...", @@ -8608,7 +8608,7 @@ "instancesCount": "(인스턴스 {count}개)", "noDimensions": "차원 없음", "defaultSetWarningTitle": "상관 분석이 신뢰할 수 없을 수 있습니다.", - "defaultSetWarningBody": "이 인스턴스에는 명확화가 없습니다 — 워크로드 일치 없이(cluster, namespace 또는 environment 컨텍스트 없이) 발견되었습니다. 로그와 트레이스가 동일한 서비스 이름의 서로 다른 배포에서 나올 수 있습니다.", + "defaultSetWarningBody": "이 인스턴스에는 명확성이 없습니다. 워크로드 일치 없이 검색되었습니다(클러스터, 네임스페이스 또는 환경 컨텍스트 없음). 로그와 트레이스는 동일한 서비스 이름의 서로 다른 배포에서 올 수 있습니다.", "instanceIdentity": "인스턴스 ID", "noDimensionsCatchAll": "차원 없음 — 모든 항목 포괄 인스턴스", "streamSources": "스트림 소스", @@ -8728,7 +8728,7 @@ "createFailed": "정규식 패턴 - {index}: \"{name}\" 생성 실패 --> \n 이유: {error}" }, "index": { - "genAiAgentMappingDesc": "GenAI 스팬을 에이전트 식별자에 매핑" + "genAiAgentMappingDesc": "GenAI 스팬을 에이전트 식별자에 매핑합니다" }, "organizationManagementPage": { "setAiCredits": "AI 크레딧 설정", @@ -9137,16 +9137,16 @@ }, "openInFullView": "전체 화면으로 열기", "viewLogs": "로그 보기", - "viewLogsUnavailable": "이 스팬의 로그를 열 수 없습니다.", + "viewLogsUnavailable": "이 Span에 대한 로그를 열 수 없습니다.", "backToLogs": "로그로 돌아가기", - "openInTraces": "오픈 인 트레이스", + "openInTraces": "트레이스에서 열기", "loadingStream": "스트림 로드 중...", "noLogsAvailableForService": "이 서비스에 사용할 수 있는 로그가 없습니다.", - "noCorrelatedLogsFound": "이 스팬에 대한 연관 로그가 없습니다", + "noCorrelatedLogsFound": "이 Span에 대한 연관 로그를 찾을 수 없습니다.", "noData": { - "title": "{product}로 트레이스 보내기 시작", - "description": "이 조직에서는 아직 트레이스 스트림을 찾을 수 없습니다.인스트루먼트 서비스 및 트레이스가 여기에 자동으로 표시됩니다.", - "otlp": "{product}를 통해 트레이스 보내기", + "title": "{product}로 트레이스 전송 시작", + "description": "아직 이 조직에서 트레이스 스트림을 찾을 수 없습니다. 서비스를 계측하면 트레이스가 여기에 자동으로 표시됩니다.", + "otlp": "{product}로 트레이스 보내기", "otlpDesc": "{product1}, {product2} 및 모든 {product3} 호환 SDK", "otelCollectorDesc": "{product}를 통해 모든 텔레메트리 신호를 라우팅", "or": "또는:", @@ -9155,21 +9155,21 @@ "configureFullTextSearch": "스트림에 전체 텍스트 검색 필드를 구성합니다.", "collapseFields": "필드 축소", "openFields": "오픈 필드", - "timeRangeUpdated": "선택한 시간 범위에는 이 추적이 포함되지 않았습니다.트레이스의 타임스탬프와 일치하도록 시간 범위가 업데이트되었습니다.", - "errorRetrievingTraces": "추적을 가져오는 동안 오류가 발생했습니다.", - "fetchingTraces": "잠깐만요, 우리가 당신의 흔적을 찾고 있어요.", + "timeRangeUpdated": "선택한 시간 범위에 이 트레이스가 포함되지 않았습니다. 트레이스의 타임스탬프에 맞게 시간 범위가 업데이트되었습니다.", + "errorRetrievingTraces": "트레이스를 검색하는 중 오류가 발생했습니다.", + "fetchingTraces": "트레이스를 불러오는 중...", "noStream": { "title": "스트림을 선택하여 탐색을 시작하세요", - "description": "트레이스 스트림을 선택한 다음 쿼리 실행을 누릅니다.결과가 로드되면 서비스, 기간, 범위 상태 등을 기준으로 필터링할 수 있습니다.", + "description": "트레이스 스트림을 선택한 다음 쿼리 실행을 누르세요. 결과가 로드되면 서비스, 기간, Span 상태 등으로 필터링할 수 있습니다.", "selectStream": "스트림 선택", "selectStreamDesc": "이 조직에서 사용 가능한 트레이스 스트림 찾아보기", "queryGuide": "트레이스 가이드 읽기", - "queryGuideDesc": "서비스 그래프, 스팬 필터링, RED 메트릭 등", + "queryGuideDesc": "서비스 그래프, Span 필터링, RED 메트릭 등", "recent": "최근:" }, "noEvents": { - "title": "흔적을 찾을 수 없음", - "descNoFilters": "{range} 에서 흔적을 찾을 수 없습니다.결과를 로드할 시간 범위를 넓혀 보십시오.", + "title": "트레이스를 찾을 수 없습니다.", + "descNoFilters": "{range} 범위에서 트레이스를 찾을 수 없습니다.", "descWithFilters": "선택한 창에서 이 쿼리와 일치하는 항목이 없습니다.시간 범위를 넓히거나 필터를 제거해 보세요.", "descOutOfRange": "선택한 시간 범위에 이 스트림의 데이터가 없습니다. 데이터가 마지막으로 확인된 시점으로 이동하세요.", "jumpToData": "최신 데이터로 이동", @@ -9177,38 +9177,38 @@ "askAi": "AI에게 쿼리 수정 요청하기", "selectedRange": "선택한 범위" }, - "tracesFound": "흔적 발견", - "spansFound": "스팬 발견", - "errorTraces": "오류 추적", - "errorSpans": "오류 범위", + "tracesFound": "트레이스 발견됨", + "spansFound": "Span 발견됨", + "errorTraces": "오류 트레이스", + "errorSpans": "오류 Span", "filterByErrors": "오류별 필터링", "clearErrorFilter": "오류 필터 지우기", "error": "오류", "errorCount": "{n} 오류 | {n} 오류", "success": "성공", - "applyPendingFilters": "보류 중인 필터 및 검색 추적 적용", + "applyPendingFilters": "보류 중인 필터를 적용하고 트레이스 검색", "backToTraces": "트레이스로 돌아가기", "loadingTrace": "로드 중...", "traceId": "트레이스 ID", "copyTraceId": "트레이스 ID 복사", "viewFilters": "뷰 필터", - "reviewAndApplyFilters": "필터 검토 및 트레이스에 적용", - "spansLabel": "기간", + "reviewAndApplyFilters": "트레이스에 필터 검토 및 적용", + "spansLabel": "Span", "errorsLabel": "오류", "previousMatch": "이전 경기", "nextMatch": "다음 경기", - "searchInSpans": "스팬으로 검색", - "spansTableView": "스팬 테이블 뷰", + "searchInSpans": "Span에서 검색", + "spansTableView": "Span 테이블 보기", "comingSoon": "곧 출시됩니다...", "fetchingTrace": "트레이스를 가져오는 중입니다.", "traceFilters": "트레이스 필터", - "showTraces": "트레이스 보기", + "showTraces": "트레이스 표시", "applyAndSearch": "신청 및 검색", "timestamp": "타임스탬프", - "noErrorPresent": "이 스팬에는 오류가 없습니다.", - "noEventsPresent": "이 스팬에 대한 이벤트 없음", - "noLinksPresent": "이 스팬에 대한 링크 없음", - "loadingTraceDag": "트레이스 DAG 로딩 중...", + "noErrorPresent": "이 Span에 오류가 없습니다.", + "noEventsPresent": "이 Span에 이벤트가 없습니다.", + "noLinksPresent": "이 Span에 링크가 없습니다.", + "loadingTraceDag": "트레이스 DAG 로드 중...", "exceptionsWithCount": "예외 ({count})", "typeLabel": "유형:", "messageLabel": "메시지:", @@ -9254,8 +9254,8 @@ "failedToLoad": "세션을 로드하지 못했습니다.", "retry": "재시도", "sessionNotFound": "세션을 찾을 수 없음", - "noSpansFound": "현재 시간 범위에서 {id} 에 대한 범위를 찾을 수 없습니다.", - "searchPlaceholder": "이 세션에서 추적 검색...", + "noSpansFound": "현재 시간 범위에서 {id}에 대한 Span을 찾을 수 없습니다.", + "searchPlaceholder": "이 세션에서 트레이스 검색…", "turn": "회전", "turns": "회전합니다", "turnCount": "{count} {unit}", @@ -9362,11 +9362,11 @@ "title": "오류율" } }, - "spansTab": "스팬", + "spansTab": "Span", "tracesTab": "트레이스", "serviceGraphTab": "서비스 그래프", "serviceGraphSubtitle": "서비스가 서로 호출하는 방식을 확인하세요 — 종속성, 처리량 및 오류율", - "servicesCatalogSubtitle": "트레이스를 보내는 모든 서비스 — 지연 시간, 처리량 및 오류율 포함", + "servicesCatalogSubtitle": "트레이스를 전송하는 모든 서비스: 지연 시간, 처리량, 오류율", "treeView": "트리 뷰", "graphView": "그래프 보기", "layoutHorizontal": "수평형", @@ -9385,7 +9385,7 @@ "host": "호스트", "user": "사용자", "storedProcedure": "저장 프로시저", - "noQueryText": "이 스팬에 대한 쿼리 텍스트가 기록되지 않았습니다.", + "noQueryText": "이 Span에 기록된 쿼리 텍스트가 없습니다.", "performance": "성능", "rowsReturned": "반환된 행", "batchSize": "배치 크기", @@ -9398,13 +9398,13 @@ "changeStreamTitle": "스트림 변경?", "switchStream": "스트림 전환", "cancel": "취소", - "changeStreamMessage": "이렇게 하면 Traces/Spans 탭의 스트림도 업데이트되고 기존 쿼리가 재설정됩니다.", + "changeStreamMessage": "이렇게 하면 트레이스/Span 탭의 스트림도 업데이트되고 기존 쿼리가 재설정됩니다.", "errorGettingFunctions": "함수를 가져오는 중 오류 발생", "errorPullingIndex": "선택한 조직의 인덱스를 가져오는 중 오류 발생{message}", "errorGettingStreams": "스트림을 가져오는 중 오류 발생", "errorLoadingStreams": "스트림을 로드하는 중 오류 발생", "errorConstructingQuery": "검색 쿼리를 구성하는 중 오류가 발생했습니다.", - "traceNotFound": "트레이스 {traceId}를 찾을 수 없음", + "traceNotFound": "트레이스 {traceId}를 찾을 수 없습니다.", "errorProcessingRequest": "요청 처리 중 오류 발생", "searchRequestFailed": "검색 요청 실패" }, @@ -9425,9 +9425,9 @@ "service": "서비스", "operationName": "작업 이름", "duration": "지속 시간", - "spans": "스팬", - "spanKind": "스팬 종류", - "spanStatus": "스팬 상태", + "spans": "Span", + "spanKind": "Span 종류", + "spanStatus": "Span 상태", "status": "상태", "serviceLatency": "서비스 지연 시간", "inputTokens": "입력 토큰", @@ -9440,7 +9440,7 @@ "time": "시간", "service": "서비스", "operation": "작업", - "traceId": "추적 ID" + "traceId": "트레이스 ID" }, "lLMInsightsDashboard": { "stream": "스트림", @@ -9454,7 +9454,7 @@ "viewByStream": "스트림별 보기", "totalCost": "총 비용", "totalTokens": "총 토큰", - "totalTraces": "총 추적", + "totalTraces": "총 트레이스", "p95Latency": "P95 지연 시간", "errorRate": "오류율", "timeAxis": "시간", @@ -9466,13 +9466,13 @@ "serviceGraphNodeSidePanel": { "viewRelated": "관련 항목 보기", "logs": "로그", - "traces": "추적", + "traces": "트레이스", "databases": "데이터베이스", - "viewTraces": "추적 보기", + "viewTraces": "트레이스 보기", "operations": "작업", "metrics": "메트릭", "noOperationsFound": "작업을 찾을 수 없음", - "viewInTraces": "추적에서 보기", + "viewInTraces": "트레이스에서 보기", "noResourceDataFound": "{resource} 데이터를 찾을 수 없음", "retry": "재시도", "noMetricsAvailable": "이 서비스에 사용 가능한 메트릭이 없습니다.", @@ -9518,13 +9518,13 @@ "processExitCode": "프로세스 종료 코드" }, "traceLatencyCell": { - "spansAcrossServices": "{spans}개 스팬이 {services}개 서비스에 걸쳐 있습니다" + "spansAcrossServices": "{spans} Span, {services} 서비스에 걸쳐 있음" }, "threadToolCalls": { "toolCall": "도구 호출", "toolCalls": "도구 호출", "showCalls": "호출 표시", - "openSpanDetails": "스팬 세부 정보 열기", + "openSpanDetails": "Span 세부 정보 열기", "arguments": "인수", "result": "결과", "empty": "(비어 있음)" @@ -9538,17 +9538,17 @@ "cost": "비용", "model": "모델", "errors": "오류", - "noSpansLoaded": "이 추적에 로드된 스팬이 없습니다.", - "noLlmTurns": "LLM 턴이 감지되지 않았습니다. 추적에 다음이 포함된 스팬이 없습니다.", + "noSpansLoaded": "이 트레이스에 로드된 Span이 없습니다.", + "noLlmTurns": "LLM 턴이 감지되지 않았습니다. 트레이스에 다음을 포함하는 Span이 없습니다", "system": "시스템", - "historicalMessage": "{count}개의 이전 세션 메시지 — 이전 트레이스에서 처리됨. | {count}개의 이전 세션 메시지 — 이전 트레이스에서 처리됨.", + "historicalMessage": "이 세션의 이전 메시지 {count}개 — 이전 트레이스에서 처리되었습니다. | 이 세션의 이전 메시지 {count}개 — 이전 트레이스에서 처리되었습니다.", "user": "사용자", "startedAt": "{time}에 시작됨", "unknown": "알 수 없음", "tokens": "토큰", "tokensSuffix": "토큰", "error": "오류", - "viewSpan": "스팬 보기" + "viewSpan": "Span 보기" }, "traceHeader": { "operationName": "작업 이름" @@ -9566,7 +9566,7 @@ "start": "시작", "requestResent": "요청이 {count}회 재전송됨 | 요청이 {count}회 재전송됨", "resends": "재전송", - "spanIdTitle": "스팬 ID: {id}", + "spanIdTitle": "Span ID: {id}", "inputTokens": "입력 토큰", "in": "입력", "outputTokens": "출력 토큰", @@ -9587,8 +9587,8 @@ "value": "값", "timestamp": "타임스탬프", "enterpriseLicenseRequired": "상관 관계 기능은 엔터프라이즈 라이선스가 필요합니다", - "missingSpanOrStream": "스팬 또는 스트림 이름 누락", - "spanIdCopied": "스팬 ID가 클립보드에 복사됨", + "missingSpanOrStream": "Span 또는 스트림 이름 누락", + "spanIdCopied": "Span ID가 클립보드에 복사되었습니다", "attributesCopied": "속성이 클립보드에 복사됨", "copiedToClipboard": "{type}이(가) 클립보드에 복사됨", "failedToCopyClipboard": "클립보드 복사 실패", @@ -9601,19 +9601,19 @@ "filterAdded": "필터 추가됨: {field} {operator} '{value}'", "timeline": "타임라인", "serviceMap": "서비스 맵", - "traceNotFound": "트레이스 {traceId}를 찾을 수 없음", - "spanNotFound": "트레이스에서 스팬 {spanId}를 찾을 수 없음", + "traceNotFound": "트레이스 {traceId}을(를) 찾을 수 없습니다", + "spanNotFound": "트레이스에서 Span {spanId}을(를) 찾을 수 없습니다", "unknownOperation": "알 수 없는 작업", "unknownService": "알 수 없는 서비스", - "traceIdCopied": "트레이스 ID가 클립보드에 복사됨", + "traceIdCopied": "트레이스 ID가 클립보드에 복사되었습니다", "sessionIdCopied": "세션 ID가 클립보드에 복사됨" }, "traceTree": { "clickToExpand": "클릭하여 펼치기", "clickToCollapse": "클릭하여 접기", - "errorSpan": "오류 스팬", + "errorSpan": "오류 Span", "httpStatus": "HTTP {status}", - "spanEvent": "{count} 스팬 이벤트 | {count} 스팬 이벤트" + "spanEvent": "{count} Span 이벤트 | {count} Span 이벤트" }, "tracesAnalysisDashboard": { "baseline": "기준선:", @@ -9628,9 +9628,9 @@ "copied": "복사됨" }, "flameGraphView": { - "spans": "스팬", + "spans": "Span", "depth": "깊이", - "noSpansToDisplay": "표시할 스팬 없음", + "noSpansToDisplay": "표시할 Span이 없습니다", "service": "서비스:", "duration": "지속 시간:", "percentOfTrace": "트레이스의 %:", @@ -9640,24 +9640,24 @@ "lastData": "마지막 데이터: {formatted} ({zone})" }, "correlation": { - "distributedTrace": "분산 추적", - "loadingTraceData": "추적 데이터를 불러오는 중...", - "noTraceInfoAvailable": "이 이벤트에 사용 가능한 추적 정보가 없습니다", - "traceIdLabel": "추적 ID:", - "copyTraceId": "추적 ID 복사", - "spanIdLabel": "스팬 ID:", - "spanHierarchy": "스팬 계층:", - "applicationSpan": "애플리케이션 스팬", - "browserSdkSpanPrefix": "브라우저 SDK 스팬 (", + "distributedTrace": "분산 트레이스", + "loadingTraceData": "트레이스 데이터를 불러오는 중...", + "noTraceInfoAvailable": "이 이벤트에 사용할 수 있는 트레이스 정보가 없습니다.", + "traceIdLabel": "트레이스 ID:", + "copyTraceId": "트레이스 ID 복사", + "spanIdLabel": "Span ID:", + "spanHierarchy": "Span 계층:", + "applicationSpan": "애플리케이션 Span", + "browserSdkSpanPrefix": "브라우저 SDK Span (", "closingParen": ")", - "backendSpansPrefix": "백엔드 스팬 (", + "backendSpansPrefix": "백엔드 Span (", "performanceBreakdown": "성능 분석:", "totalDuration": "총 지속 시간:", "browserLabel": "브라우저:", "networkLabel": "네트워크:", "backendLabel": "백엔드:", - "viewTraceDetails": "추적 세부 정보 보기", - "backendTraceNotAvailable": "백엔드 추적 데이터를 아직 사용할 수 없습니다. 추적 데이터는 수집되는 데 최대 30초가 걸릴 수 있습니다." + "viewTraceDetails": "트레이스 세부 정보 보기", + "backendTraceNotAvailable": "백엔드 트레이스 데이터를 아직 사용할 수 없습니다. 트레이스 데이터는 수집에 최대 30초가 걸릴 수 있습니다." }, "failedToAnalyzeDimensions": "차원을 분석하지 못했습니다", "failedToFetchCorrelatedLogs": "상관 로그를 가져오지 못했습니다", @@ -9696,7 +9696,7 @@ "requestsLabel": "요청:", "errorsLabel": "오류:", "errorRateLabel": "오류율:", - "spansLabel": "스팬:", + "spansLabel": "Span:", "callsLabel": "호출:", "averageLabel": "평균:", "minimumLabel": "최소:", @@ -9720,7 +9720,7 @@ "eventClusterAriaLabelPlural": "{count} 이벤트, {errors} 오류", "eventMarkerTooltip": "이벤트: {name}", "exceptionMarkerTooltip": "예외: {type}", - "spanEventFallback": "span 이벤트" + "spanEventFallback": "Span 이벤트" }, "actions": { "realTime": "실시간", @@ -9794,7 +9794,7 @@ "requiresConfirmation": "실행 전 확인 필요", "envVars": "환경 변수", "envKey": "변수 이름", - "envValue": "가치", + "envValue": "값", "addEnvVar": "변수 추가", "credentialFiles": "자격 증명 파일", "credEnvVar": "환경 변수 이름", @@ -10017,11 +10017,11 @@ "selectMetrics": "지표 스트림 선택", "correlatedLogs": "상관관계가 있는 로그", "correlatedMetrics": "상관관계가 있는 지표", - "correlatedTraces": "상관관계가 있는 트레이스", + "correlatedTraces": "트레이스", "loadingCorrelation": "상관관계 데이터 로드 중...", "clickToLoadLogs": "상호 관련된 로그를 로드하려면 클릭하십시오.", "clickToLoadMetrics": "상관관계가 있는 지표를 로드하려면 클릭하십시오.", - "clickToLoadTraces": "상관관계가 있는 트레이스를 로드하려면 클릭하십시오.", + "clickToLoadTraces": "관련 트레이스를 로드하려면 클릭하세요", "logs": { "filtersLabel": "필터", "allValues": "모든 값", @@ -10040,18 +10040,18 @@ "noLogsFound": "상관관계가 있는 로그를 찾을 수 없습니다.", "noDataFound": "데이터를 찾을 수 없음", "noLogsDescription": "선택한 시간 범위에서 이 상관 관계에 대한 로그를 찾을 수 없습니다.", - "correlatedTracesFor": "서비스에 대한 상관관계가 있는 트레이스: {service}", + "correlatedTracesFor": "서비스 {service}의 관련 트레이스", "all": "모두", - "loadingTraces": "상관관계가 있는 트레이스 불러오는 중...", - "tracesError": "트레이스를 로드하지 못했습니다.", - "tracesErrorDetails": "추적 데이터를 가져오는 동안 오류가 발생했습니다.다시 시도해 주세요.", + "loadingTraces": "트레이스를 불러오는 중...", + "tracesError": "트레이스를 불러올 수 없습니다.", + "tracesErrorDetails": "트레이스 데이터를 가져오는 중 오류가 발생했습니다. 다시 시도해 주세요.", "metricsError": "지표를 로드할 수 없음", "metricsErrorDetails": "지표 데이터를 가져오는 동안 오류가 발생했습니다.다시 시도해 주세요.", "noMetricsDescription": "선택한 시간 범위에서 이 상관 관계에 대한 메트릭을 찾을 수 없습니다.", "dimensionBasedCorrelation": "차원 기반 상관관계", - "tracesFromService": "서비스의 추적: {service}", - "noTracesFound": "상관관계가 있는 흔적을 찾을 수 없습니다.", - "noTracesDescription": "선택한 시간 범위에서 이 상관관계에 대한 추적을 찾을 수 없습니다.", + "tracesFromService": "서비스 {service}의 트레이스", + "noTracesFound": "트레이스를 찾을 수 없습니다.", + "noTracesDescription": "선택한 시간 범위에서 이 상관관계에 대한 트레이스를 찾을 수 없습니다.", "viewInTraces": "트레이스에서 보기", "filters": "필터", "semanticFieldGroupsCaption": "상관 관계 분석 및 중복 제거를 위한 필드 이름 매핑 정의 (예: 호스트, 호스트 이름, 노드 → 'host' 그룹)", @@ -10281,7 +10281,7 @@ "colPattern": "패턴", "colPricingSimple": "가격 책정", "testMatchTitle": "테스트 모델 매칭", - "testMatchSubtitle": "스팬의 모델 이름이 가격 책정 규칙과 어떻게 일치하는지 시뮬레이션해 보세요.", + "testMatchSubtitle": "스팬의 모델 이름이 가격 책정 규칙과 어떻게 일치하는지 시뮬레이션합니다.", "modelNameInput": "모델 이름", "modelNameHint": "여러분 세대의 모델 이름.", "enterModelName": "매칭을 테스트할 모델 이름을 입력합니다.", @@ -10378,7 +10378,7 @@ "p50": "P50 지연 시간", "p95": "P95 지연 시간", "p99": "P99 지연 시간", - "cost": "비용 / 트레이스" + "cost": "트레이스당 비용" }, "insufficientLabel": "참고용", "tooltip": { @@ -10445,11 +10445,11 @@ "sessions": "상담원 세션을 차례대로 찾아보고 살펴보세요", "agentGraph": "에이전트가 상호 작용하는 대상(도구, 모델, 서비스, 데이터 저장소)을 확인하세요", "agentBehavior": "루프에 갇힌 에이전트와 실패를 유발하는 오류를 발견합니다", - "discovery": "검토할 가치가 있는 비정상 트레이스 찾기", + "discovery": "검토할 가치가 있는 비정상 트레이스를 찾습니다.", "queues": "상태를 유지하는 검토 할 일 목록", - "datasets": "주석이 달린 트레이스와 리뷰에서 골든 데이터셋을 큐레이션하세요", + "datasets": "주석이 달린 트레이스와 리뷰에서 골든 데이터셋을 큐레이션합니다.", "experiments": "불변 오프라인 평가 실행을 미리 보고 생성합니다.", - "quality": "스팬, 트레이스 및 세션 평가에서 점수 품질 추적", + "quality": "스팬, 트레이스, 세션 평가 전반의 점수 품질을 추적합니다.", "evalJobs": "세션 전반에서 평가 작업 실행 및 모니터링", "scorers": "LLM 결과를 채점하는 채점자 생성 및 관리", "scoreConfigs": "평가에 사용되는 채점 루브릭을 구성합니다." @@ -10493,7 +10493,7 @@ "dataset": { "button": "데이터셋에 추가", "title": "데이터셋에 추가", - "hint": "{ref}을(를) 골든으로 전환합니다. 입력은 트레이스에서 다시 읽어오며, 예상 출력을 직접 작성합니다.", + "hint": "{ref}를 골든으로 전환합니다. 입력은 트레이스에서 다시 읽어오며, 기대 출력을 직접 작성합니다.", "errors": { "dataset": "데이터셋 선택", "expectedOutput": "예상 출력 작성" @@ -10502,7 +10502,7 @@ "datasetPlaceholder": "데이터셋 선택...", "noDatasets": "아직 데이터셋이 없습니다 — 먼저 데이터셋 페이지에서 만드세요.", "inputLabel": "입력", - "inputReadOnly": "트레이스에서 읽음", + "inputReadOnly": "트레이스에서 읽어옴", "expectedLabel": "예상 출력", "expectedPlaceholder": "이 항목이 생성했어야 하는 출력을 작성하세요...", "confirm": "데이터셋에 추가", @@ -10638,10 +10638,10 @@ "searchPlaceholder": "항목 검색...", "footerTitle": "항목", "allItems": "전체", - "inTrace": "추적 {traceId}에서", + "inTrace": "트레이스 {traceId} 내", "reviewAgain": "다시 검토", "emptyTitle": "검토할 항목 없음", - "emptyBody": "Discovery 또는 추적 뷰에서 이 큐에 트레이스, 스팬 또는 세션을 추가하세요.", + "emptyBody": "Discovery 또는 트레이스 보기에서 이 큐에 트레이스, 스팬 또는 세션을 추가하세요.", "columns": { "refType": "참조", "refId": "참조", @@ -10692,7 +10692,7 @@ "distill": { "title": "데이터셋으로 추출", "action": "데이터셋", - "hint": "이 항목이 생성했어야 하는 답변을 작성하세요. 이것이 골든 출력이 됩니다. 입력은 검토된 트레이스에서 가져옵니다.", + "hint": "이 항목이 생성했어야 하는 답변을 작성하세요. 이 답변이 골든 출력이 되며, 입력은 검토된 트레이스에서 가져옵니다.", "datasetLabel": "데이터셋", "datasetPlaceholder": "데이터셋 선택...", "noDatasets": "아직 데이터셋이 없습니다 — 먼저 데이터셋 페이지에서 생성하세요.", @@ -10704,7 +10704,7 @@ "updated": "골든 업데이트됨 — 이 항목은 이미 해당 데이터셋에 있습니다.", "openDataset": "데이터셋 열기", "needsReview": "리뷰를 먼저 완료하세요 — 골든에는 판정된 판단이 필요합니다", - "sessionUnsupported": "세션 항목은 증류할 수 없습니다 — 트레이스와 스팬만 가능합니다", + "sessionUnsupported": "세션 항목은 증류할 수 없습니다 — 트레이스와 스팬만 가능합니다.", "loadError": "데이터셋을 불러오지 못했습니다", "error": "이 항목을 데이터셋에 추가하지 못했습니다" }, @@ -10730,12 +10730,12 @@ "trial": "시도 {index}", "summary": "데이터셋 v{version} · 시도 {trials}개 · 평가자 {scorers}명", "previewCounts": "행 {rows}개 × 시도 {trials}개 = 슬롯 {slots}개", - "viewTrace": "실행 추적 보기", + "viewTrace": "실행 트레이스 보기", "scoresTitle": "점수", "taskProgress": "작업: {completed}/{total} 완료 · {skipped} 건너뜀", "scoringProgress": "점수: {completed}/{total} 완료 · {skipped} 건너뜀", "skipTiers": "건너뛴 행: {full} 완전히 · {partial} 부분적으로", - "scoreEvidence": "{scorer} · v{version}: 샘플 {samples}개, 참조 없음 {noReference}개, 추적 없음 {noTrace}개", + "scoreEvidence": "{scorer} · v{version}: 샘플 {samples}개, 참조 없음 {noReference}개, 트레이스 없음 {noTrace}개", "scorerApplicability": "{scorer} · v{version}: 적격 슬롯 {eligible}개, 참조 없음 {noReference}개", "loadError": "실험을 불러오지 못했습니다", "previewError": "실험 슬롯을 미리보지 못했습니다", @@ -10781,7 +10781,7 @@ "sourcesPlaceholder": "모든 소스", "sourcesHelp": "비워 두면 데이터셋의 모든 행이 실행됩니다.", "sources": { - "trace": "추적", + "trace": "트레이스", "annotation": "주석", "manual": "수동" }, @@ -10912,7 +10912,7 @@ "trials": "시도", "trial": "시도 {index}", "retryFailedSlot": "실패한 슬롯 다시 시도", - "viewTrace": "추적 보기", + "viewTrace": "트레이스 보기", "scores": "점수", "dimension": "차원", "unknownDimension": "알 수 없는 차원", @@ -11100,7 +11100,7 @@ "stream": "스트림", "agent": "에이전트", "noAgentsTitle": "에이전트를 찾을 수 없음", - "noAgentsDescription": "이 시간 범위에서 에이전트를 찾을 수 없습니다. 시간 범위를 넓히거나 추적에 gen_ai 에이전트 속성이 포함되어 있는지 확인하세요.", + "noAgentsDescription": "이 시간 범위에서 에이전트를 찾을 수 없습니다. 시간 범위를 넓히거나 트레이스에 gen_ai 에이전트 속성이 포함되어 있는지 확인하세요.", "versionAgnosticHint": "토폴로지는 버전 간에 동일합니다 — 그래프는 환경별로 범위를 지정하며 버전별로 지정하지 않습니다. 버전을 비교하려면 버전 비교를 사용하세요." }, "panels": { @@ -11113,7 +11113,7 @@ "subtitle": "모델별 토큰" }, "spanTrend": { - "title": "스팬 트렌드", + "title": "스팬 추세", "subtitle": "종류별 스팬 수" }, "latencyByModel": { @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "최근 오류", - "subtitle": "지난 10개의 실패한 스팬" + "subtitle": "최근 10개의 실패한 스팬" } }, "behavior": { @@ -11148,7 +11148,7 @@ "disabled": "이 배포에 대해 에이전트 동작 신호가 꺼져 있습니다" }, "loopsTitle": "루핑 에이전트", - "loopsHint": "트레이스당 동일한 도구를 여러 번 재실행하는 에이전트", + "loopsHint": "에이전트가 트레이스당 동일한 도구를 여러 번 재실행합니다.", "summaryLoops": "루프 에이전트", "summaryFailures": "실패 분류", "summaryAgents": "영향을 받은 에이전트", @@ -11163,7 +11163,7 @@ "unknownAgent": "(알 수 없는 에이전트)", "colAgent": "에이전트", "colTool": "도구", - "colRatio": "호출 / 트레이스", + "colRatio": "트레이스당 호출", "colCalls": "호출", "colTraces": "트레이스", "colFailClass": "실패 클래스", @@ -11174,31 +11174,31 @@ "detail": { "title": "신호 세부 정보", "tracesTitle": "트레이스", - "tracesHint": "트레이스를 클릭하여 열기", - "worstLoopTraces": "최악의 트레이스 (반복 순)", + "tracesHint": "트레이스를 클릭하여 엽니다.", + "worstLoopTraces": "최악의 트레이스 (반복이 많은 순)", "topCostTraces": "가장 비용이 많이 드는 트레이스", - "noTraces": "이 신호에 대한 트레이스가 없습니다", + "noTraces": "이 신호에 대한 트레이스를 찾을 수 없습니다.", "errorsTitle": "오류가 나타내는 것", - "noErrors": "캡처된 오류 메시지가 없습니다 — 검사할 트레이스를 열어보세요", + "noErrors": "캡처된 오류 메시지가 없습니다 — 트레이스를 열어 검사하세요.", "colTraceId": "트레이스", "colSpans": "스팬", "colRepeats": "반복", - "openInNewTab": "새 탭에서 트레이스 열기", + "openInNewTab": "새 탭에서 트레이스를 엽니다.", "showFull": "전체 오류 표시", "showLess": "간략히 표시", "colError": "오류 메시지", "colOccurrences": "횟수", - "loopHeadline": "{agent}가 평균적으로 트레이스당 {tool}을 {ratio}× 호출했습니다({traces}개 트레이스에서 {calls}회 호출).", + "loopHeadline": "{agent}가 트레이스당 평균 {ratio}회 {tool}을(를) 호출했습니다({traces}개 트레이스에서 {calls}회 호출).", "failHeadline": "{agent}가 {count}개의 “{cls}” 오류를 발생했습니다.", "costHeadline": "{agent}: ${cost} 사용 · {tokens} 토큰 · {errors} 오류.", - "loopExplain": "반복률이 높다는 것은 일반적으로 에이전트가 결과를 캐싱하지 않거나 재시도 중임을 의미합니다. 아래의 최악의 트레이스를 열어 반복된 호출을 확인하세요.", - "failExplain": "이것들은 이 실패 클래스의 실제 오류 메시지입니다 — 수정 방법을 찾으려면 읽어보거나, 발생 위치를 보려면 트레이스를 여세요.", - "costExplain": "이 트레이스들이 이 에이전트의 비용을 발생시켰습니다. 가장 비용이 많이 드는 트레이스를 열어 실행된 내용을 확인하세요." + "loopExplain": "높은 반복률은 일반적으로 에이전트가 결과를 캐시하지 않거나 재시도 중임을 의미합니다. 아래의 최악의 트레이스를 열어 반복된 호출을 확인하세요.", + "failExplain": "이들은 이 실패 클래스의 실제 오류 메시지입니다. 이를 읽어 해결책을 찾거나 트레이스를 열어 어디서 발생했는지 확인하세요.", + "costExplain": "이 트레이스들이 이 에이전트의 비용을 발생시켰습니다. 가장 비용이 높은 트레이스를 열어 무엇이 실행되었는지 확인하세요." } }, "versionCompare": { "datePickerDisabled": "이 모드에서 창은 버전별입니다.", - "sampledNote": "지연 시간 및 비용 간격은 버전당 최대 {cap}개의 무작위 샘플링된 트레이스로 계산됩니다.", + "sampledNote": "지연 시간 및 비용 간격은 버전당 최대 {cap}개의 무작위 샘플링 트레이스에서 계산됩니다.", "bar": { "versionA": "버전 A", "versionB": "버전 B", @@ -11393,7 +11393,7 @@ }, "runs": { "title": "평가 점수", - "hint": "점수와 추론은 _llm_scores에서 제공됩니다. 추가 조사를 위해 실행을 선택하여 평가자 추적을 여십시오.", + "hint": "점수와 근거는 _llm_scores에서 가져옵니다. 실행을 선택하면 평가자 트레이스가 열려 추가 조사할 수 있습니다.", "filterLabel": "평가 점수 필터링", "footerTitle": "평가 점수", "noThresholdHint": "이 점수 구성에 건강 임계값을 설정하여 건강하지 않은 점수를 분류하고 강조 표시합니다.", @@ -11588,7 +11588,7 @@ "booleanInfo": "Boolean 구성은 {trueLabel} / {falseLabel} 값을 허용합니다. 추가 구성이 필요하지 않습니다.", "healthyThresholdTitle": "정상 임계값", "optional": "선택 사항", - "healthyThresholdIntro": "이 차원의 점수가 정상으로 간주되는 시점을 정의하세요. 이 범위를 벗어나는 점수는 트레이스 목록, 세션 및 기타 보기에서 품질 문제를 트리거합니다.", + "healthyThresholdIntro": "이 차원의 점수가 정상으로 간주되는 기준을 정의하세요. 이 범위를 벗어나는 점수는 트레이스 목록, 세션 및 기타 보기에서 품질 문제를 트리거합니다.", "healthyWhenValueIs": "값이 다음일 때 정상:", "healthyCategories": "정상 카테고리:", "healthyCategoriesHint": "정상으로 집계되는 모든 값을 선택하세요.", @@ -11860,7 +11860,7 @@ "idleWindowLabel": "유휴 창", "maxAgeLabel": "최대 기간", "filterLabel": "필터", - "filterEmpty": "필터 없음 — 모든 스팬이 평가됩니다", + "filterEmpty": "필터 없음 — 모든 스팬이 평가됩니다.", "scorersSection": "스코어러", "scorersEmpty": "아직 이 작업에 연결된 스코어러가 없습니다.", "scorerUnknown": "(제거된 스코어러)", @@ -11953,18 +11953,18 @@ "session": "세션" }, "targetScopeHelp": { - "span": "각 일치하는 스팬을 독립적으로 평가합니다.", + "span": "일치하는 각 스팬을 독립적으로 평가합니다.", "trace": "완료 창이 닫힌 후 전체 트레이스를 평가합니다.", - "session": "완료 창이 닫힌 후 트레이스 전체의 세션을 평가합니다." + "session": "완료 창이 닫힌 후 트레이스 전반에 걸쳐 세션을 평가합니다." }, "completionSection": "완료 기준", "completionHelp": { - "trace": "이 중 하나가 충족되면 트레이스가 평가됩니다.", + "trace": "이러한 조건 중 첫 번째가 충족되는 즉시 트레이스가 평가됩니다.", "session": "이 중 하나가 충족되면 세션이 평가됩니다." }, "idleWindowLabel": "유휴 창(초)", - "idleWindowHelp": "새 스팬이 없는 {duration} 후에 평가됩니다.", - "idleWindowHelpEmpty": "새 스팬이 도착하지 않으면 평가됩니다.", + "idleWindowHelp": "새 스팬이 없는 상태로 {duration} 후에 평가됩니다.", + "idleWindowHelpEmpty": "새 스팬이 더 이상 도착하지 않으면 평가됩니다.", "maxAgeLabel": "최대 수명(초)", "maxAgeHelp": "첫 번째 스팬 후 {duration}에 평가됩니다.", "maxAgeHelpEmpty": "스팬이 계속 도착하더라도 고정된 시간에 평가됩니다.", @@ -11978,8 +11978,8 @@ "scorerPicker": { "title": "득점자", "hint": { - "span": "일치하는 각 스팬에 대해 실행할 하나 이상의 스코어러를 선택합니다.", - "trace": "적격한 각 트레이스에 대해 실행할 하나 이상의 스코어러를 선택합니다.", + "span": "일치하는 모든 스팬에 대해 실행할 스코어러를 하나 이상 선택하세요.", + "trace": "적격한 모든 트레이스에 대해 실행할 스코어러를 하나 이상 선택하세요.", "session": "적격한 각 세션에 대해 실행할 하나 이상의 스코어러를 선택합니다." }, "meta": "{type} · v{version}", @@ -11991,21 +11991,21 @@ "title": "필터 조건", "hint": { "span": "이 조건과 일치하는 스팬만 샘플링 및 채점에 들어갑니다.", - "trace": "트레이스는 해당 스팬 중 하나라도 이 조건과 일치하면 샘플링 및 채점에 들어갑니다.", - "session": "세션은 해당 스팬 중 하나라도 이 조건과 일치하면 샘플링 및 채점에 들어갑니다." + "trace": "스팬 중 하나라도 이 조건과 일치하면 트레이스가 샘플링 및 점수 산정에 포함됩니다.", + "session": "세션의 스팬 중 하나라도 이 조건과 일치하면 세션이 샘플링 및 점수 산정에 포함됩니다." } }, "selector": { - "title": "어떤 스팬(선택 사항)", + "title": "선택할 스팬 (선택 사항)", "hint": { - "trace": "비워두면 트레이스의 모든 스팬이 포함됩니다." + "trace": "비워 두면 트레이스의 모든 스팬이 포함됩니다." } }, "endSignal": { "title": "종료 신호(선택 사항)", "hint": { - "trace": "스팬이 일치하면 트레이스를 즉시 닫는 스팬 조건을 정의합니다.", - "session": "스팬이 일치하면 세션을 즉시 닫는 스팬 조건을 정의합니다." + "trace": "스팬 조건을 정의하세요. 어떤 스팬이든 이 조건과 일치하면 트레이스를 즉시 종료합니다.", + "session": "스팬 조건을 정의하세요. 어떤 스팬이든 이 조건과 일치하면 세션을 즉시 종료합니다." } }, "inputMapping": { @@ -12029,7 +12029,7 @@ "title": "{scope} 시스템 값", "description": "OpenObserve는 이 작업이 평가하는 각 {scope}에 대해 이러한 값을 별도로 생성합니다. Scorer의 프롬프트 변수를 매핑할 때 소스로 사용하세요.", "badge": "시스템 제공", - "selectorRequired": "스팬 선택기 필요", + "selectorRequired": "스팬 선택기 필수", "columns": { "variable": "값", "source": "소스", @@ -12037,48 +12037,48 @@ }, "variables": { "input": { - "trace": "트레이스 루트 스팬의 입력." + "trace": "트레이스의 루트 스팬에서 입력." }, "output": { - "trace": "트레이스 루트 스팬의 출력." + "trace": "트레이스의 루트 스팬에서 출력." }, "statistics": { "trace": "트레이스 메트릭: 스팬 수, 기간, LLM 및 도구 호출, 오류, 토큰 및 비용.", - "session": "세션 메트릭: 트레이스 및 턴 수, 기간, 오류." + "session": "세션 메트릭: 트레이스 및 턴 수, 기간 및 오류." }, "spans": { - "trace": "작업의 스팬 선택기에 의해 선택된 스팬의 필터링된 하위 집합." + "trace": "작업의 스팬 선택기에서 선택한 필터링된 스팬 하위 집합." }, "steps": { - "trace": "시간 순서의 스팬; 트레이스가 매우 길면 중간이 접힙니다.", - "session": "시간 순서의 트레이스, 대화 턴으로 표현됩니다." + "trace": "시간 순서의 스팬, 트레이스가 매우 길면 중간이 접힙니다.", + "session": "대화 턴으로 표현된 시간 순서의 트레이스." } } } }, "spanSelector": { "select": "스팬 선택기 선택", - "bindingHelp": "트레이스는 수백 개의 스팬을 가질 수 있습니다. 이 스코어러가 볼 스팬을 선택하세요.", + "bindingHelp": "트레이스에는 수백 개의 스팬이 있을 수 있습니다. 이 스코어러가 검토할 스팬을 선택하세요.", "createForScorer": "스코어러용 생성", - "createForScorerTitle": "이 스코어러에 대한 스팬 선택기 생성", + "createForScorerTitle": "이 스코어러용 스팬 선택기 만들기", "editorTitle": "스팬 선택기", "name": "선택기 이름", "schemaMode": "읽을 필드", "defaultSchema": "표준 GenAI 필드", "customSchema": "사용자 정의 필드", - "defaultSchemaHelp": "일치하는 모든 스팬에서 이 8개 필드를 읽습니다. 누락된 항목은 비어 있는 상태로 전달됩니다.", + "defaultSchemaHelp": "일치하는 각 스팬에서 다음 여덟 개 필드를 읽습니다. 누락된 항목은 빈 값으로 처리됩니다.", "fields": "필드", "fieldsHelp": "이 필드만 읽습니다. 다른 것은 점수 계산기로 전송되지 않습니다.", "maximumSpans": "최대 스팬 수", - "budget": "추적에서 선택할 스팬 수를 제한합니다.", + "budget": "트레이스에서 선택되는 스팬 수를 제한합니다.", "validation": { "name": "선택기 이름을 입력하세요.", "duplicateName": "선택기 이름은 이 작업 내에서 고유해야 합니다.", "filter": "완료되지 않은 필터 조건을 완료하거나 제거하세요.", "fields": "사용자 정의 스키마에 대해 최소 하나의 필드를 선택하세요.", "maximumSpans": "최대 스팬 수는 양의 정수여야 합니다.", - "budget": "선택한 필드에 비해 스팬이 너무 많습니다. 스팬 수를 줄이거나 더 적은 필드를 읽으세요.", - "binding": "추적 스팬을 사용하는 각 Scorer에 대해 Span Selector를 선택하세요." + "budget": "선택한 필드에 비해 스팬 수가 너무 많습니다. 스팬 수를 줄이거나 읽을 필드를 줄이세요.", + "binding": "트레이스 스팬을 사용하는 각 스코어러에 대해 스팬 선택기를 선택하세요." } }, "preview": { @@ -12086,14 +12086,14 @@ "span": { "title": "일치하는 스팬", "hint": "스트림과 필터를 선택하면 이 패널에 작업이 일치시킬 스팬 수가 표시됩니다.", - "matchedSuffix": "일치된 스팬 · 최근 1h", + "matchedSuffix": "일치한 스팬 · 최근 1시간", "matchedLoading": "일치하는 스팬 계산 중…" }, "trace": { - "title": "일치하는 추적", - "hint": "스트림과 필터를 선택하면 이 패널에 작업이 일치시킬 추적 수가 표시됩니다.", - "matchedSuffix": "일치된 트레이스 · 최근 1h", - "matchedLoading": "일치하는 추적 계산 중…" + "title": "일치하는 트레이스", + "hint": "스트림과 필터를 선택하면 이 패널에 작업이 일치시킬 트레이스 수가 표시됩니다.", + "matchedSuffix": "일치한 트레이스 · 최근 1시간", + "matchedLoading": "일치하는 트레이스 계산 중…" }, "session": { "title": "일치하는 세션", @@ -12122,9 +12122,9 @@ "nameRequired": "Job name is required", "streamRequired": "A stream is required", "idleWindowMinimum": "유휴 창은 최소 1초 이상이어야 합니다.", - "idleWindowMaximumTrace": "트레이스 유휴 창은 30분을 초과할 수 없습니다", + "idleWindowMaximumTrace": "트레이스 유휴 창은 30분을 초과할 수 없습니다.", "idleWindowMaximumSession": "세션 유휴 창은 4시간을 초과할 수 없습니다", - "maxAgeMaximumTrace": "트레이스 최대 기간은 2시간을 초과할 수 없습니다", + "maxAgeMaximumTrace": "트레이스 최대 수명은 2시간을 초과할 수 없습니다.", "maxAgeMaximumSession": "세션 최대 기간은 24시간을 초과할 수 없습니다", "samplingValueRequired": "A sampling value is required" } @@ -12187,7 +12187,7 @@ "curlDesc": "가장 빠른 방법은 명령 하나를 붙여넣기만 하면 로그가 흐르기 시작하는 것입니다.", "shippers": "통나무 발송자 사용", "shippersDesc": "{product1}, {product2}, {product3}, {product4}, {product5} 등", - "otelDesc": "로그, 추적 및 메트릭을 위한 공급업체 중립적 OTLP 통합", + "otelDesc": "로그, 트레이스 및 메트릭을 위한 벤더 중립적 OTLP 수집", "or": "또는:", "aws": "AWS/ 클라우드워치", "askAi": "AI에 인제스트 설정 요청" @@ -12196,13 +12196,13 @@ "title": "스트림을 선택하여 탐색을 시작하세요", "description": "스트림을 선택한 다음 쿼리 실행을 누릅니다.결과가 들어오면 필터, VRL 함수, 사용자 지정 시간 범위를 사용하여 세분화할 수 있습니다.", "selectStream": "스트림 선택", - "selectStreamDesc": "로그, 트레이스, 메트릭 및 RUM 스트림 찾아보기", + "selectStreamDesc": "로그, 트레이스, 메트릭 및 실제 사용자 모니터링 스트림 찾아보기", "queryGuide": "쿼리 가이드 읽기", "queryGuideDesc": "필터, SQL 모드, VRL 및 저장된 뷰", "recent": "최근:" }, "noEvents": { - "title": "이벤트를 찾을 수 없음", + "title": "이벤트 없음", "descNoFilters": "{range} 에서 이벤트를 찾을 수 없습니다.결과를 로드할 시간 범위를 넓혀 보십시오.", "descWithFilters": "선택한 창에서 이 쿼리와 일치하는 항목이 없습니다.시간 범위를 넓히거나, 필터를 완화하거나, 쿼리를 재설정해 보세요.", "descOutOfRange": "선택한 시간 범위에 이 스트림의 데이터가 없습니다. 데이터가 마지막으로 확인된 시점으로 이동하세요.", @@ -12293,13 +12293,13 @@ "scannedEventsForQuery": "이 쿼리에 대해 스캔된 이벤트", "timeTaken": "소요 시간", "noData": "데이터 없음", - "traceId": "추적 ID", + "traceId": "트레이스 ID", "viewQuery": "쿼리 보기", "sqlQuery": "SQL 쿼리", "copied": "복사됨!", "sql": "SQL", "noSqlAvailable": "사용 가능한 SQL 쿼리 없음", - "fullTraceId": "전체 추적 ID", + "fullTraceId": "전체 트레이스 ID", "columnDuration": "기간", "columnNodeName": "노드 이름", "columnRole": "역할", @@ -12312,7 +12312,7 @@ "goodResponse": "양호한 응답", "moderateResponse": "보통 응답", "slowResponse": "느린 응답", - "failedToCopyTraceId": "추적 ID를 클립보드에 복사하지 못했습니다", + "failedToCopyTraceId": "트레이스 ID를 클립보드에 복사하지 못했습니다.", "failedToCopySql": "SQL을 클립보드에 복사하지 못했습니다" }, "searchResult": { @@ -12332,7 +12332,7 @@ "noMetricStreams": "서비스 \"{service}\"에 대한 메트릭 스트림이 없습니다", "correlationError": "상관관계 오류: {error}", "contentCopied": "콘텐츠가 성공적으로 복사되었습니다!", - "noTraceIdForInspection": "검사할 수 있는 추적 ID가 없습니다" + "noTraceIdForInspection": "검사에 사용할 수 있는 트레이스 ID가 없습니다." }, "searchBar": { "customRangeAlt": "사용자 정의 범위", @@ -13354,7 +13354,7 @@ "errorPatternsWindowDesc": "{window}에 걸쳐 정규화됨 · 행을 클릭하여 실행 필터링" }, "scheduleAlert": { - "addNewDestination": "새 목적지 추가", + "addNewDestination": "새 대상 추가", "alertedIfFails": "테스트 실패 시 알림", "alertedIfFailsSuffix": "타임스.", "alerts": "알림", @@ -13370,8 +13370,8 @@ "weeks": "주" }, "customIntervalValue": "매번 반복", - "destinationRequired": "목적지가 하나 이상 필요합니다.", - "destinations": "목적지", + "destinationRequired": "대상이 하나 이상 필요합니다", + "destinations": "대상", "frequency": "주파수", "frequencyOptions": { "15min": "15분", @@ -13383,8 +13383,8 @@ "custom": "사용자 지정" }, "minutes": "분", - "noDestinations": "이용 가능한 목적지 없음", - "refreshDestinations": "목적지 새로 고침", + "noDestinations": "사용 가능한 대상이 없습니다", + "refreshDestinations": "대상 새로고침", "retries": "재시도", "retriesOnFailure": "실패 시 재시도", "retriesOnFailureSuffix": "타임스.", @@ -13672,16 +13672,16 @@ "iamRoles": "IAM — 역할", "iamGroups": "IAM — 그룹", "iamServiceAccounts": "IAM — 서비스 계정", - "alertDestinations": "알림 — 목적지", + "alertDestinations": "알림 — 대상", "alertSources": "알림 — 외부 소스", "alertTemplates": "알림 — 템플릿", "panelEditor": "패널 에디터", - "traceDetail": "트레이스 세부 정보", + "traceDetail": "트레이스 상세", "runningQueries": "쿼리 실행", "ingestionTokens": "IAM — 인제스트 토큰", "syntheticsTokens": "IAM — Synthetics 토큰", "alertIncidents": "알림 — 인시던트", - "pipelineDestinations": "파이프라인 — 목적지", + "pipelineDestinations": "파이프라인 — 대상", "enrichmentTables": "강화 테이블", "iamInvitations": "IAM — 초대장", "iamOrganizations": "IAM — 조직", @@ -13757,7 +13757,7 @@ "iamGroupsRefresh": "목록 새로 고침", "iamServiceAccountsAdd": "새 서비스 계정 추가", "iamServiceAccountsRefresh": "목록 새로 고침", - "alertDestinationsAdd": "새 목적지 추가", + "alertDestinationsAdd": "새 대상 추가", "alertDestinationsRefresh": "목록 새로 고침", "alertSourcesAdd": "새 알림 소스 추가", "alertSourcesRefresh": "목록 새로고침", @@ -14047,7 +14047,7 @@ "alertState": { "ok": "확인", "normal": "정상", - "firing": "발화", + "firing": "발화 중", "notifyfailed": "알림 실패", "flapping": "플래핑", "anomaly": "이상", @@ -14133,7 +14133,7 @@ }, "eventStatus": { "failed": "실패", - "firing": "발동", + "firing": "발화 중", "anomaly": "이상" }, "featureStatus": { @@ -14148,7 +14148,7 @@ "array": "배열" }, "incidentStatus": { - "firing": "발동", + "firing": "발화 중", "closed": "닫힘" }, "invoiceStatus": { @@ -14167,7 +14167,7 @@ "fatal": "치명적" }, "pipelineRunOutcome": { - "firing": "발동", + "firing": "발화 중", "normal": "정상", "succeeded": "성공", "skipped": "건너뜀", @@ -14314,16 +14314,16 @@ "pleaseWaitWhileLoadingAlert": "알림을 불러오는 동안 기다려 주세요...", "errorWhilePullingAlerts": "알림을 가져오는 중 오류가 발생했습니다.", "pleaseWaitWhileLoadingAlerts": "알림을 불러오는 동안 기다려 주세요...", - "destinationsDeletedSuccessfully": "{count}개 대상을 성공적으로 삭제했습니다. | {count}개 대상을 성공적으로 삭제했습니다.", - "failedToDeleteDestinations": "{count}개 대상을 삭제하지 못했습니다. | {count}개 대상을 삭제하지 못했습니다.", - "destinationsDeletedWithFailures": "{count}개 대상을 성공적으로 삭제했지만 {failed}개는 실패했습니다. | {count}개 대상을 성공적으로 삭제했지만 {failed}개는 실패했습니다.", - "noDestinationsSelectedForDeletion": "삭제할 대상이 선택되지 않았습니다.", - "deletingDestinations": "대상 삭제 중...", - "destinationDeletedSuccessfully": "대상 {name}이(가) 성공적으로 삭제되었습니다.", - "errorWhilePullingDestinations": "대상을 가져오는 중 오류가 발생했습니다.", - "pleaseWaitWhileLoadingDestinations": "대상을 불러오는 동안 기다려 주세요...", + "destinationsDeletedSuccessfully": "{count}개 대상이 성공적으로 삭제되었습니다 | {count}개 대상이 성공적으로 삭제되었습니다", + "failedToDeleteDestinations": "{count}개 대상을 삭제하지 못했습니다 | {count}개 대상을 삭제하지 못했습니다", + "destinationsDeletedWithFailures": "{count}개 대상이 성공적으로 삭제되었고, {failed}개는 실패했습니다 | {count}개 대상이 성공적으로 삭제되었고, {failed}개는 실패했습니다", + "noDestinationsSelectedForDeletion": "삭제할 대상이 선택되지 않았습니다", + "deletingDestinations": "대상을 삭제하는 중...", + "destinationDeletedSuccessfully": "대상 {name}을(를) 성공적으로 삭제했습니다.", + "errorWhilePullingDestinations": "대상을 불러오는 중 오류가 발생했습니다.", + "pleaseWaitWhileLoadingDestinations": "대상을 불러오는 동안 잠시 기다려 주세요...", "errorWhileLoadingActions": "작업을 불러오는 중 오류가 발생했습니다.", - "pleaseWaitWhileLoadingAlertDestination": "알림 대상을 불러오는 동안 기다려 주세요...", + "pleaseWaitWhileLoadingAlertDestination": "알림 대상을 불러오는 동안 잠시 기다려 주세요...", "errorImportingAlertPleaseCheck": "알림을 가져오는 중 오류가 발생했습니다. JSON을 확인해 주세요.", "alertsImportedSuccessfully": "{count}개 알림을 성공적으로 가져왔습니다. | {count}개 알림을 성공적으로 가져왔습니다.", "invalidJson": "잘못된 JSON: {error}", @@ -14342,8 +14342,8 @@ "incidentsRefreshed": "인시던트가 새로 고쳐졌습니다.", "failedToPostComment": "댓글을 게시하지 못했습니다.", "commentPostedSuccessfully": "댓글이 성공적으로 게시되었습니다.", - "destinationUpdatedSuccessfully": "대상 \"{name}\"이(가) 성공적으로 업데이트되었습니다.", - "destinationCreatedSuccessfully": "대상 \"{name}\"이(가) 성공적으로 생성되었습니다.", + "destinationUpdatedSuccessfully": "대상 \"{name}\"을(를) 성공적으로 업데이트했습니다.", + "destinationCreatedSuccessfully": "대상 \"{name}\"을(를) 성공적으로 생성했습니다.", "failedToDeleteTemplates": "템플릿 {count}개를 삭제하지 못했습니다. | 템플릿 {count}개를 삭제하지 못했습니다.", "templatesDeletedWithFailures": "템플릿 {count}개를 삭제했지만 {failed}개는 실패했습니다. | 템플릿 {count}개를 삭제했지만 {failed}개는 실패했습니다.", "successfullyDeletedTemplates": "템플릿 {count}개를 성공적으로 삭제했습니다. | 템플릿 {count}개를 성공적으로 삭제했습니다.", @@ -14564,8 +14564,8 @@ "errorWhileUpdating": "보고서 업데이트 중 오류가 발생했습니다." }, "correlation": { - "refreshingTraceData": "트레이스 데이터를 새로 고치는 중...", - "traceDetailViewComingSoon": "트레이스 상세 보기가 곧 제공될 예정입니다.", + "refreshingTraceData": "트레이스 데이터를 새로고치는 중...", + "traceDetailViewComingSoon": "트레이스 상세 보기가 곧 제공될 예정입니다", "columnIsAlreadyVisible": "열 \"{name}\"은(는) 이미 표시 중입니다.", "columnAddedToTable": "열 \"{name}\"이(가) 테이블에 추가되었습니다." }, @@ -14613,8 +14613,8 @@ "views": { "youAreNotAuthorizedToManage": "라이선스를 관리할 권한이 없습니다.", "copiedToClipboard": "클립보드에 복사되었습니다.", - "noDestinationsFoundPleaseCreateA": "대상을 찾을 수 없습니다. 먼저 대상을 만들어 주세요.", - "errorWhilePullingDestinations": "대상을 가져오는 중 오류가 발생했습니다.", + "noDestinationsFoundPleaseCreateA": "대상을 찾을 수 없습니다. 먼저 대상을 생성해 주세요.", + "errorWhilePullingDestinations": "대상을 불러오는 중 오류가 발생했습니다.", "rumTokenUpdatedSuccessfully": "RUM 토큰이 성공적으로 업데이트되었습니다.", "rumTokenGeneratedSuccessfully": "RUM 토큰이 성공적으로 생성되었습니다.", "tokenResetSuccessfully": "토큰이 성공적으로 재설정되었습니다.", @@ -14631,7 +14631,7 @@ "pleaseWaitWhileLoadingStreams": "스트림을 불러오는 동안 기다려 주세요...", "errorWhilePullingSummary": "요약을 가져오는 중 오류가 발생했습니다.", "pleaseWaitWhileLoadingSummary": "요약을 불러오는 동안 기다려 주세요...", - "noDestinationsCreateOneBeforeSaving": "대상을 찾을 수 없습니다. 이 알림을 저장하기 전에 대상을 만들어 주세요.", + "noDestinationsCreateOneBeforeSaving": "대상을 찾을 수 없습니다. 이 알림을 저장하기 전에 대상을 생성하세요.", "errorWhileLoadingAlert": "알림을 불러오는 중 오류가 발생했습니다." }, "RUM": { @@ -15360,14 +15360,14 @@ "failed": "실패" }, "columnHints": { - "calls": "이 쿼리가 실행된 횟수입니다. 데이터베이스가 보고하는 경우 자체 집계를 사용합니다 — 이는 추적을 보내는 시스템 부분뿐만 아니라 모든 클라이언트를 포함합니다. 클라이언트 관측으로 표시된 행은 대신 추적에서 집계됩니다. 데이터베이스가 보고하지 않았기 때문입니다.", + "calls": "이 쿼리가 실행된 횟수입니다. 데이터베이스가 보고하는 경우 데이터베이스 자체 수치이며, 추적을 보내는 시스템 일부뿐만 아니라 모든 클라이언트를 포함합니다. 클라이언트 관찰로 표시된 행은 데이터베이스가 보고하지 않았으므로 대신 추적에서 집계됩니다.", "p50": "전체 호출의 절반이 이보다 빠르게 완료되었습니다. 완료된 호출만 집계합니다 — 아직 실행 중이거나 응답이 없는 쿼리는 여기에 측정되지 않습니다.", "p95": "느린 꼬리 — 20건 중 1건은 최소 이 시간이 걸렸습니다. 완료된 호출만 집계합니다 — 아직 실행 중이거나 응답이 없는 쿼리는 여기에 측정되지 않습니다.", "p99": "최악의 1% 호출은 최소 이 시간이 걸렸습니다. 완료된 호출만 집계합니다 — 아직 실행 중이거나 응답이 없는 쿼리는 여기에 측정되지 않습니다.", "max": "이 시간 창에서 가장 느린 단일 호출 — 실제 호출 하나이며 평균이 아닙니다.", "errors": "이 호출 중 오류가 발생한 호출 수입니다.", "perTrace": "단일 요청 내에서 이 쿼리가 실행된 횟수입니다. 높은 수치는 일반적으로 루프를 의미합니다.", - "load": "이 쿼리가 데이터베이스에서 보낸 총 시간입니다. 데이터베이스가 보고하는 경우 자체 수치: Postgres의 실행 시간, MySQL 및 MariaDB의 대기 시간 — 각 행이 어떤 것인지 나타냅니다. 클라이언트 관측으로 표시된 행은 추적에서 측정되므로 네트워크 왕복이 포함됩니다." + "load": "이 쿼리가 데이터베이스에서 보낸 총 시간입니다. 데이터베이스가 보고하는 경우 자체 수치(Postgres에서는 실행 시간, MySQL 및 MariaDB에서는 대기 시간)이며, 각 행이 어떤 것인지 알려줍니다. 클라이언트 관찰로 표시된 행은 추적에서 측정되므로 네트워크 왕복이 포함됩니다." }, "errorsNone": "없음", "errorsAll": "모두", @@ -15405,7 +15405,7 @@ "n-plus-one": { "title": "요청당 최소 {multiplier}회 실행", "body": "데이터베이스 시간의 {share} · {service}", - "rule": "이 쿼리는 단일 요청 내에서 최소 {ratio}회 실행되고, 최소 {traces}개의 요청에 걸쳐 있기 때문에 표시됩니다. 이는 하한값이므로 실제 숫자는 더 높을 수 있습니다. 정당한 일괄 작업도 동일하게 보일 수 있습니다." + "rule": "이 쿼리가 단일 요청 내에서 최소 {ratio}회 실행되고, 최소 {traces}개의 요청에서 발생하기 때문에 표시됩니다. 이는 하한선이므로 실제 숫자는 더 높을 수 있습니다. 정상적인 배치 작업도 동일하게 보일 수 있습니다." }, "volume-shift": { "title": "더 바빠짐, 느려지지 않음", @@ -15491,18 +15491,18 @@ "ok": "트레이스가 도착하고 있습니다.", "okDetail": "이 시간 범위에 {count}개 기록됨", "no": "도착한 트레이스가 없습니다.", - "noDetail": "데이터베이스 모니터링은 트레이스를 기반으로 하며, 이 조직은 아직 트레이스를 보내지 않았습니다." + "noDetail": "데이터베이스 모니터링은 트레이스를 기반으로 구축되며, 이 조직은 아직 트레이스를 보내지 않았습니다." }, "permission": { "ok": "이 데이터에 액세스할 수 있습니다.", "okDetail": "당신은 {org}의 관리자입니다.", "no": "이 데이터에 액세스할 수 없습니다.", - "noDetail": "데이터베이스 모니터링은 트레이스를 읽지만, 사용자의 역할에는 트레이스가 포함되지 않습니다. 관리자에게 읽기 권한을 요청하세요." + "noDetail": "데이터베이스 모니터링은 트레이스를 읽지만, 현재 역할에는 트레이스 권한이 포함되어 있지 않습니다. 관리자에게 읽기 권한을 요청하세요." }, "dbSpans": { - "ok": "트레이스에 데이터베이스가 언급되어 있습니다.", + "ok": "트레이스에 데이터베이스가 포함되어 있습니다.", "okDetail": "데이터베이스 호출이 기록되고 있습니다.", - "no": "어떤 트레이스에도 데이터베이스가 언급되지 않았습니다.", + "no": "트레이스 중 데이터베이스가 포함된 것이 없습니다.", "noDetail": "애플리케이션이 추적되고 있지만, 데이터베이스와 통신하는 부분은 추적되지 않습니다. 언어에 맞는 데이터베이스 계측을 추가하면 쿼리가 여기에 표시됩니다." }, "counted": { @@ -15533,7 +15533,7 @@ "plans": "쿼리 계획", "plansHint": "데이터베이스가 이 쿼리를 실행하기 위해 거친 단계입니다. 느린 이유를 파악하려면 여기서 시작하세요.", "callers": "호출자 및 예시", - "callersHint": "애플리케이션의 어떤 부분이 이 쿼리를 실행했는지, 그리고 트레이스로 열 수 있는 개별 느린 실행을 보여줍니다.", + "callersHint": "이 쿼리를 실행한 애플리케이션 부분과, 트레이스로 열 수 있는 개별 느린 실행을 보여줍니다.", "callersLocked": "개별 실행은 추적에서 비롯됩니다. 이 시간 범위에 이 쿼리를 추적한 항목이 없습니다." }, "notFound": { @@ -15559,8 +15559,8 @@ "noSamples": "이 범위에 대해 로드된 개별 실행이 없습니다.", "noSeries": "선택한 범위에서 이 쿼리에 대한 기록이 없습니다.", "liveSeries": "가장 최근 포인트는 아직 집계 중이며 변경될 수 있습니다.", - "noStream": "어떤 트레이스 스트림이 이 쿼리를 전달하는지 확인할 수 없어 호출자와 예시를 로드할 수 없습니다.", - "ambiguousStream": "이 조직에는 둘 이상의 트레이스 스트림이 있으며, 이 쿼리가 어느 스트림에서 실행되는지 확인할 수 없습니다. 스트림을 선택하여 호출자와 샘플 트레이스를 로드하십시오.", + "noStream": "이 쿼리를 담당하는 트레이스 스트림을 확인할 수 없어 호출자와 예제를 로드할 수 없습니다.", + "ambiguousStream": "이 조직에는 둘 이상의 트레이스 스트림이 있으며, 이 쿼리가 어떤 스트림에서 실행되는지 확인할 수 없습니다. 스트림을 선택하여 호출자와 샘플 트레이스를 로드하세요.", "pickStream": "트레이스 스트림 선택", "invalidStream": "인식할 수 없는 트레이스 스트림 이름이므로 검색을 실행하지 않았습니다.", "firstSeen": "이 목록에 처음 나타난 시각: {time}", @@ -15593,7 +15593,7 @@ "sampleOk": "정상", "sampleError": "실패", "viewTrace": "요청 보기 →", - "viewTraces": "예시 트레이스 보기", + "viewTraces": "예제 트레이스 보기", "copySummary": "복사", "copySummaryHint": "여기의 모든 숫자는 이미 이 페이지에 있습니다 — 이것은 단지 문장을 작성할 뿐이므로, 사고 발생 13분에는 아무 것도 없는 대신 메시지가 생성됩니다.", "summaryCopied": "요약이 복사되었습니다.", @@ -15686,7 +15686,7 @@ "tracedCalls": "추적된 호출 {calls}건", "coverage": "위의 {executions}회 실행 중 {traced}회에서 {count}개의 서비스가 확인되었습니다. 나머지는 아직 추적하지 않는 호출자에서 발생했습니다.", "coverageUnknown": "{traced}건의 추적된 호출에서 {count}개의 서비스가 확인되었습니다. 데이터베이스가 이 명령문의 총계를 보고하지 않았으므로 비율을 제공할 수 없습니다.", - "noneNamed": "{traced}건의 호출이 추적되었지만, 그중 어느 것도 서비스로 연결되지 않았습니다 — 해당 트레이스는 이 시간 범위 밖에서 시작됩니다." + "noneNamed": "{traced}개의 호출이 추적되었지만, 어떤 서비스에도 연결할 수 없었습니다. 해당 트레이스는 이 시간 범위 밖에서 시작됩니다." }, "callersEmpty": { "title": "이 쿼리에 대한 추적된 호출이 아직 없습니다.", @@ -15752,9 +15752,9 @@ "failedWithCode": "실패 · {code}", "viewTrace": "이 호출이 포함된 요청 열기", "scatterOk": "완료", - "partial": "일부 추적 데이터를 읽을 수 없어 이 목록에서 호출이 누락될 수 있습니다.", + "partial": "일부 트레이스 데이터를 읽을 수 없어 목록에서 호출이 누락될 수 있습니다.", "disclosureShort": "각 행은 실제 완료된 호출 하나입니다", - "disclosureDetail": "보내는 추적에서 호출을 만든 애플리케이션이 측정합니다. 완료된 호출만 여기에 있습니다 — 아직 실행 중이거나 중단되어 응답이 없는 쿼리는 측정값을 생성하지 않았습니다.", + "disclosureDetail": "보내는 트레이스를 기반으로 호출한 애플리케이션이 측정합니다. 완료된 호출만 여기에 표시됩니다. 아직 실행 중이거나 중단되어 응답이 없는 쿼리는 측정값을 생성하지 않았습니다.", "counts": { "complete": "이 창의 모든 {count}개 데이터베이스 호출을 느린 순서대로 표시합니다.", "truncated": "이 창에서 가장 느린 {count}개 호출 — 여기에 표시된 것보다 더 많이 실행되었습니다.", @@ -15960,7 +15960,7 @@ }, "coverage": { "summary": "가장 긴 대기는 {longest}입니다. 모든 대기는 잠금을 보유한 {roots}로 거슬러 올라갑니다.", - "summaryCapped": "한 번에 읽을 수 있는 것보다 더 많은 세션이 대기 중이었습니다. 확인된 세션 중 가장 긴 대기는 {longest}이며, 잠금을 보유한 {roots}로 거슬러 올라갑니다.", + "summaryCapped": "한 번에 읽을 수 있는 것보다 더 많은 세션이 대기 중이었습니다. 현재 확인된 세션 중 가장 긴 대기는 {longest}이며, 이들은 잠금을 보유한 {roots}로 거슬러 올라갑니다.", "summaryOneRoot": "세션 1개", "summaryManyRoots": "세션 {count}개", "checked": "{interval}초마다 확인; 마지막 확인 {time}.", diff --git a/web/src/locales/languages/nl-NL.json b/web/src/locales/languages/nl-NL.json index f22a106449..76b5322a9c 100644 --- a/web/src/locales/languages/nl-NL.json +++ b/web/src/locales/languages/nl-NL.json @@ -43,7 +43,7 @@ "allCaughtUp": "Je bent weer helemaal bij", "noPanels": { "title": "Nog geen panelen hier", - "description": "Voeg een paneel toe om logs, metrieken en traces te visualiseren.", + "description": "Voeg een paneel toe om logboeken, metrieken en traces te visualiseren.", "action": "Paneel toevoegen", "actionDesc": "Grafieken, tabellen & meer" }, @@ -78,7 +78,7 @@ }, "noDashboards": { "title": "Maak je eerste dashboard", - "description": "Dashboards brengen je statistieken, logboeken en sporen samen in één weergave. Bouw er een om aan de slag te gaan.", + "description": "Dashboards brengen uw metrieken, logboeken en traces samen in één weergave. Bouw er een om te beginnen.", "action": "Nieuw dashboard", "actionDesc": "Begin met een leeg canvas", "import": "Dashboard importeren", @@ -124,7 +124,7 @@ }, "noIngestionTokens": { "title": "Nog geen innametokens", - "description": "Ingestietokens authenticeren gegevensbronnen bij het verzenden van logboeken, statistieken en sporen.", + "description": "Ingestietokens authenticeren gegevensbronnen bij het verzenden van logboeken, metrieken en traces.", "action": "Nieuw token", "actionDesc": "Genereer een innametoken" }, @@ -134,10 +134,10 @@ }, "noAlertDestinations": { "title": "Nog geen bestemmingen", - "description": "Bestemmingen bepalen waar waarschuwingsmeldingen worden verzonden: Slack, e-mail, webhooks en meer.", + "description": "Bestemmingen bepalen waar alarmmeldingen naartoe worden gestuurd — Slack, e-mail, webhooks en meer.", "action": "Nieuwe bestemming", "actionDesc": "Een meldingskanaal koppelen", - "import": "Bestemming importeren", + "import": "Importeer bestemming", "importDesc": "Importeren vanuit een JSON-bestand" }, "noAlertSources": { @@ -150,7 +150,7 @@ "title": "Nog geen bestemmingen", "description": "Externe doelen voor pijplijnuitvoer — HTTP-eindpunten en schrijfdoelen op afstand.", "action": "Nieuwe bestemming", - "actionDesc": "Een pijplijnbestemming aansluiten" + "actionDesc": "Verbind een pijpleidingbestemming" }, "noAlertTemplates": { "title": "Nog geen sjablonen", @@ -192,7 +192,7 @@ }, "noDiscoveredServices": { "title": "Geen services ontdekt", - "description": "Services verschijnen hier automatisch zodra er sporen binnenkomen." + "description": "Services verschijnen hier automatisch zodra er traces binnenkomen." }, "noNodes": { "title": "Geen nodes beschikbaar", @@ -248,7 +248,7 @@ }, "noDatasets": { "title": "Maak je eerste dataset", - "description": "Gouden datasets verzamelen geannoteerde traces en reviews in versiebeheerde evaluatiesets. Maak er een om te beginnen met cureren.", + "description": "Golden datasets verzamelen geannoteerde traces en beoordelingen in versiebeheerde evaluatiesets. Maak er een aan om te beginnen met cureren.", "action": "Nieuwe dataset", "actionDesc": "Start een lege dataset" }, @@ -288,15 +288,15 @@ }, "noLLMInsights": { "title": "Nog geen LLM-activiteit", - "description": "Instrument uw services met de OpenTelemetry Gen-AI semantische conventies en gebruik ten minste één spoor om dit dashboard te vullen.", + "description": "Instrumenteer uw services met de OpenTelemetry Gen-AI semantische conventies en neem ten minste één trace op om dit dashboard te vullen.", "action": "Instrument met OpenTelemetrie", - "actionDesc": "Leg gen_ai_* attributen vast op je sporen" + "actionDesc": "Leg gen_ai_*-attributen vast op uw traces" }, "noLLMSessions": { "title": "Nog geen LLM-sessies", - "description": "Sessies worden gegroepeerd op gen_ai_conversation_id. Instrumenteer uw services zodat elk gesprek zijn sporen tagt, en sessies worden hier weergegeven.", + "description": "Sessies worden gegroepeerd op gen_ai_conversation_id. Instrumenteer uw services zodat elke conversatie zijn traces tagt, en sessies verschijnen hier.", "action": "Instrument met OpenTelemetrie", - "actionDesc": "Tag omspant met gen_ai_conversation_id" + "actionDesc": "Tag spans met gen_ai_conversation_id" }, "noScorers": { "title": "Nog geen scorers", @@ -341,12 +341,12 @@ "description": "Geen ongezonde items in dit venster. Verbreed het tijdbereik of wijzig het wachtrijfilter om items te zien die je al hebt getriageerd." }, "noTraces": { - "title": "Geen sporen gevonden", - "description": "Er komen geen sporen overeen met de geselecteerde service en het geselecteerde tijdbereik. Probeer een groter tijdsbereik of een andere service." + "title": "Geen traces gevonden", + "description": "Geen traces komen overeen met de geselecteerde service en het tijdsbereik. Probeer een breder tijdsbereik of een andere service." }, "noServiceGraph": { "title": "Geen servicegrafiekgegevens", - "description": "Probeer een groter tijdsbereik op te vragen, of zorg ervoor dat uw services span-statistieken uitzenden." + "description": "Probeer een langer tijdsbereik te doorzoeken, of zorg ervoor dat uw services span-metrieken uitzenden." }, "noServicesCatalog": { "title": "Geen services gevonden", @@ -406,10 +406,10 @@ "pipelines": "pijpleidingen", "workflows": "workflows", "functions": "functioneert", - "streams": "stromen", + "streams": "streams", "alerts": "waarschuwingen", "incidents": "incidenten", - "traces": "sporen", + "traces": "traces", "discoveryItems": "ongezonde items", "datasetItems": "items", "searches": "zoekopdrachten", @@ -523,8 +523,8 @@ "relatedEvents": "Gerelateerde gebeurtenissen", "on": "op", "event": "gebeurtenis", - "viewTraceDetails": "Trace-details bekijken", - "viewTrace": "Trace bekijken", + "viewTraceDetails": "Bekijk tracedetails", + "viewTrace": "Bekijk trace", "networkRequests": "Netwerkverzoeken", "noNetworkRequestsFound": "Geen netwerkverzoeken gevonden voor deze gebeurtenis", "consoleLogsComingSoon": "Consolelogs binnenkort beschikbaar", @@ -744,7 +744,7 @@ "nameIsRequired": "Naam is verplicht", "streamTypeIsRequired": "Streamtype is verplicht", "functionNameIsRequired": "Functienaam is verplicht", - "remoteDestinationIsRequired": "Externe bestemming is verplicht", + "remoteDestinationIsRequired": "Externe bestemming is vereist", "timezoneIsRequired": "Tijdzone is verplicht", "idPrefix": "ID: {id}", "unchangedCount": "Ongewijzigd ({count})", @@ -845,7 +845,7 @@ "loadError": "De opgeslagen voorwaarde kon niet worden gelezen en is gereset. Opslaan zal deze nu overschrijven." }, "destination": { - "createNew": "Nieuwe bestemming aanmaken", + "createNew": "Nieuwe bestemming maken", "select": "Bestemming", "loadError": "Fout bij het ophalen van bestemmingen." }, @@ -1061,10 +1061,10 @@ "regionFilterMsg": "Zoek regio/cluster", "queryRangeRestrictionMsg": "Het zoekbereik is beperkt tot {range}. Pas het datumbereik dienovereenkomstig aan. Anders wordt de startdatum automatisch aangepast zodat deze binnen de toegestane limiet past.", "cancel": "Zoekopdracht annuleren", - "viewTrace": "Trace bekijken", - "viewTraceUnavailable": "Kon de trace voor dit logrecord niet openen.", + "viewTrace": "Bekijk trace", + "viewTraceUnavailable": "Kan de trace voor dit logboekrecord niet openen.", "viewRelated": "Gerelateerd bekijken", - "viewRelatedTooltip": "Gerelateerde sporen en statistieken bekijken", + "viewRelatedTooltip": "Bekijk gerelateerde traces en metrieken", "flattened": "Afgevlakt", "original": "Origineel", "resetFilters": "Filters opnieuw instellen", @@ -1146,8 +1146,8 @@ "selectFunctionNamePlaceholder": "Functienaam selecteren", "confirmFunctionUpdateTitle": "Update bevestigen", "confirmFunctionUpdateMsg": "Weet je zeker dat je de functie {name} wilt updaten?", - "traceIdLabel": "Traceer-ID:", - "enterTraceIdPlaceholder": "Voer de trace-ID in", + "traceIdLabel": "Trace-ID:", + "enterTraceIdPlaceholder": "Voer trace-ID in", "changeQueryModeTitle": "Query-modus wijzigen", "changeQueryModeConfirm": "Weet u zeker dat u de querymodus wilt wijzigen? De gegevens die zijn opgeslagen voor de X-as, Y-as en filters worden verwijderd.", "patternExampleLog": "Voorbeeldlog", @@ -1199,7 +1199,7 @@ "about": "Over", "index": "Streams", "search": "Logboeken", - "traces": "Sporen", + "traces": "Traces", "serviceGraph": "Servicegrafiek", "services": "Servicecatalogus", "aiObservability": "AI-waarneembaarheid", @@ -1383,7 +1383,7 @@ "loadingMsg": "Wacht even, we zijn RUM-gegevens aan het laden.", "breadcrumbs": "Broodkruimels", "tags": "Labels", - "traces": "Sporen", + "traces": "Traces", "searchEvents": "Gebeurtenissen zoeken", "loadingSessions": "Wacht even, we zijn bezig met het ophalen van sessies.", "errorStack": "Foutstapel", @@ -1394,11 +1394,11 @@ "discoverSessionMessage": "Session Replay legt gebruikersinteracties op uw website of applicatie vast en herhaalt deze. Zo kun je visueel bekijken hoe gebruikers navigeren, waar ze klikken, wat ze typen en hoe ze met je inhoud omgaan.", "loadingErrorDetails": "Wacht even, we halen foutgegevens op.", "eventID": "ID van het evenement", - "noCorrelatedTraces": "Geen gecorreleerde sporen gevonden voor deze sessie.", + "noCorrelatedTraces": "Geen gecorreleerde traces gevonden voor deze sessie.", "span": "span", - "spans": "overspant", - "errorTraces": "foutsporen", - "failedToFetchTraces": "Het ophalen van traceergegevens is mislukt. Probeer het opnieuw.", + "spans": "spans", + "errorTraces": "fouttraces", + "failedToFetchTraces": "Kan tracedata niet ophalen. Probeer het opnieuw.", "seekToMoment": "Streef naar dit moment in de sessie", "route": "Route", "duration": "Duur", @@ -1485,7 +1485,7 @@ "frustrationErrorClick": "Klik veroorzaakte een JavaScript-fout", "frustrationRageTap": "Gebruiker tikte snel meerdere keren (3+) - duidt op frustratie", "frustrationErrorTap": "Tik veroorzaakte een JavaScript-fout", - "fetchTraceMetadataFailed": "Kan trace-metagegevens niet ophalen", + "fetchTraceMetadataFailed": "Kan tracemetadata niet ophalen", "frustrationEventTooltip": "⚠️ FRUSTRATIE: {types}\n{name}", "errorEventTooltip": "⛔ FOUT: {name}", "frustrationSignalType": "Frustratiesignaal: {type}" @@ -1537,7 +1537,7 @@ "feature_column_name": "Functie", "feature_logs": "Logboeken", "feature_metrics": "Metrieken", - "feature_traces": "Sporen", + "feature_traces": "Traces", "feature_alerts": "Waarschuwingen", "feature_dashboards": "Dashboards", "feature_reports": "Rapporten", @@ -1663,7 +1663,7 @@ }, "core_features": { "logs_metrics_traces": { - "name": "Logboeken, statistieken, sporen", + "name": "Logboeken, metrieken en traces", "note": "Inname en analyse van volledige waarneembaarheidsgegevens" }, "rum": { @@ -1736,8 +1736,8 @@ "note": "Bescherm PII en gevoelige informatie" }, "pipeline_remote_destinations": { - "name": "Afgelegen bestemmingen via pijplijn", - "note": "Gegevens naar afgelegen bestemmingen verzenden" + "name": "Externe bestemmingen voor pijpleidingen", + "note": "Verzend gegevens naar externe bestemmingen" }, "query_optimizer": { "name": "Query Optimizer/Aggregatiecache", @@ -1780,7 +1780,7 @@ "note": "Geoptimaliseerde gedistribueerde join-activiteiten" }, "logs_metrics_traces_correlation": { - "name": "Correlatie tussen logboeken, statistieken en sporen", + "name": "Correlatie tussen logboeken, metrieken en traces", "note": "Geautomatiseerde detectie en correlatie" }, "service_maps": { @@ -2504,7 +2504,7 @@ "deleteDatesMessage": "Weet je zeker dat je de geselecteerde datums wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.", "labelLogs": "Logboeken", "labelMetrics": "Metrieken", - "labelTraces": "Sporen", + "labelTraces": "Traces", "labelMetadata": "Metagegevens", "add": "Stream toevoegen", "dataRetention": "Bewaring van gegevens (in dagen)", @@ -2627,7 +2627,7 @@ }, "triggerMeta": { "orgId": "Organisatie-ID waartoe de waarschuwing behoort.", - "streamType": "Streamtype — logs, metrics of traces.", + "streamType": "Streamtype — logboeken, metrieken of traces.", "streamName": "Stream die de waarschuwing bewaakt.", "alertName": "Naam van de geactiveerde waarschuwing.", "alertType": "Waarschuwingstype — realtime of gepland.", @@ -2665,7 +2665,7 @@ "output": "Uitvoer", "noInput": "Deze stap heeft geen records ontvangen tijdens de laatste run.", "sentExternally": "Verzonden naar de externe bestemming", - "destinationNoRecords": "Er zijn geen records bij deze bestemming aangekomen — er is niets verzonden.", + "destinationNoRecords": "Geen records bereikten deze bestemming — er is niets verzonden.", "branchFiltered": "0 records — er is niets doorgegeven aan deze tak.", "conditionNoMatch": "Geen records voldeden aan deze voorwaarde — er is niets downstream doorgegaan.", "errorHeading": "Fout", @@ -2722,7 +2722,7 @@ "stepNoMatch": "Geen stappen die overeenkomen met uw zoekopdracht.", "conditionDesc": "Vertakken op basis van een regel", "functionDesc": "Payload hervormen met een functie", - "destinationDesc": "Naar een bestemming sturen", + "destinationDesc": "Verzenden naar een bestemming", "triggerBody": "Wordt uitgevoerd wanneer een gekoppelde melding wordt geactiveerd", "triggerDataExampleNote": "Alleen voorbeeld — de werkelijke kolommen komen uit de query van uw waarschuwing.", "incidentEventTypeLabel": "Gebeurtenistype", @@ -2756,8 +2756,8 @@ "disabledBadge": "Uitgeschakeld", "incompleteBadge": "Stel later in", "destinationSetUpLater": "Stel later in", - "destinationSetUpLaterPrompt": "Nog geen bestemming? Schakel dit in om het later in te stellen — u kunt nu een concept opslaan en testen.", - "destinationSetUpLaterActive": "De bestemming wordt voorlopig overgeslagen — de naam en opmerking worden nog steeds opgeslagen. U hebt een bestemming nodig voordat u publiceert.", + "destinationSetUpLaterPrompt": "Heb je nog geen bestemming? Schakel dit in om deze later in te stellen — je kunt nu een concept opslaan en testen.", + "destinationSetUpLaterActive": "De bestemming wordt voorlopig overgeslagen — de naam en opmerking worden nog wel opgeslagen. Je hebt een bestemming nodig voordat je publiceert.", "functionSetUpLater": "Stel later in", "functionSetUpLaterPrompt": "Nog geen functie? Schakel dit in om het later in te stellen — u kunt nu een concept opslaan en testen.", "functionSetUpLaterActive": "De functie wordt voorlopig overgeslagen — de naam en opmerking worden nog steeds opgeslagen. U hebt een functie nodig voordat u publiceert." @@ -2815,8 +2815,8 @@ "functionNodeEmptyName": "Functieknooppunt {id} heeft een lege functienaam.", "functionNodeInvalidName": "Functieknooppunt {id} heeft een ongeldige functienaam \"{name}\". Moet een van de beschikbare functies zijn.", "outputStreamNodeEmptyName": "Uitvoerstream-knooppunt {id} heeft een lege streamnaam.", - "remoteStreamNodeEmptyDestination": "Externe stream-knooppunt {id} heeft een lege bestemmingsnaam.", - "remoteStreamNodeInvalidDestination": "Externe stream-knooppunt {id} heeft een ongeldige bestemming \"{destination}\". Moet een van de beschikbare pijplijnbestemmingen zijn.", + "remoteStreamNodeEmptyDestination": "Externe streamnode {id} heeft een lege bestemmingsnaam", + "remoteStreamNodeInvalidDestination": "Externe streamnode {id} heeft een ongeldige bestemming \"{destination}\". Dit moet een van de beschikbare pijpleidingbestemmingen zijn.", "edgeMissingSourceNode": "Rand {id} verwijst naar niet-bestaand bronknooppunt {source}.", "edgeMissingTargetNode": "Rand {id} verwijst naar niet-bestaand doelknooppunt {target}.", "inputNodeHasIncomingEdges": "Invoerknooppunt {id} mag geen binnenkomende randen hebben. {count} binnenkomende randen gevonden.", @@ -2831,7 +2831,7 @@ "importErrors": { "unknownError": "Onbekende fout", "nameRequired": "Pijplijn - {index}: Naam is verplicht", - "streamTypeInvalid": "Pijplijn - {index}: Streamtype is verplicht en moet een van de volgende zijn: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Pijpleiding - {index}: Streamtype is verplicht en moet een van de volgende zijn: 'logboeken', 'metrieken', 'traces'.", "sourceStreamNameRequired": "Pijplijn - {index}: Bronstreamnaam is verplicht ", "sqlQueryRequired": "Pijplijn - {index}: SQL-query is verplicht", "timezoneRequired": "Pijplijn - {index}: Tijdzone is verplicht", @@ -2844,7 +2844,7 @@ "v0ConditionFields": "Pijplijn - {index}, Knooppunt {nodeIndex}: V0-formaat - elke voorwaarde moet kolom, operator en waarde hebben.", "v1ConditionInvalid": "Pijplijn - {index}, Knooppunt {nodeIndex}: Ongeldige V1-voorwaarde-indeling.", "conditionFormatUnrecognized": "Pijplijn - {index}, Knooppunt {nodeIndex}: Onherkende voorwaarde-indeling.", - "remoteDestinationRequired": "Pijplijn - {index}: Externe bestemming is verplicht", + "remoteDestinationRequired": "Pijpleiding - {index}: Externe bestemming is verplicht", "createSuccess": "Pijplijn - {index}: \"{name}\" succesvol aangemaakt \nOpmerking: verwijder het aangemaakte pijplijnobject {name} uit het json-bestand", "createFailed": "Pijplijn - {index}: \"{name}\" aanmaken mislukt --> \n Reden: {reason}", "sqlQueryMismatch": "Pipeline - {index}: SQL-query moet in alle knooppunten hetzelfde zijn en probeer ook de query in de knooppunten te matchen \n\n input.sql_query: {sqlQuery} \n\n input.source.query_condition.sql: {sourceSql} \n", @@ -2945,10 +2945,10 @@ "defaultDelayTooltip": "Standaard: 5 seconden", "deleteDataBeforeBackfill": "Bestaande gegevens verwijderen vóór backfill", "irreversibleDeletionWarning": "Waarschuwing: onomkeerbare gegevensverwijdering", - "deleteBackfillWarningMessage": "Hiermee worden alle gegevens in de doelstream voor het opgegeven tijdsbereik permanent verwijderd voordat de backfill wordt uitgevoerd. Deze actie kan niet ongedaan worden gemaakt.", + "deleteBackfillWarningMessage": "Hiermee worden alle gegevens in de bestemmingsstream voor het opgegeven tijdsbereik permanent verwijderd voordat de backfill wordt uitgevoerd. Deze actie kan niet ongedaan worden gemaakt.", "timeAlignmentRequirements": "Tijdafstemmingsvereisten (UTC):", "logsHourBoundaryNote": "streams: Tijden moeten uitgelijnd zijn op uurgrenzen in UTC (bijv. 10:00:00, niet 10:15:00)", - "metricsTracesLabel": "Metrics/Traces", + "metricsTracesLabel": "Metrieken/traces", "dayBoundaryNote": "streams: Tijden moeten uitgelijnd zijn op daggrenzen in UTC (bijv. 00:00:00)", "estimatedProcessingTime": "Geschatte verwerkingstijd:", "estimatedChunks": "Geschatte chunks:", @@ -2971,8 +2971,8 @@ "statusUnknown": "Onbekend", "phaseInitializing": "Initialiseren" }, - "deleteBackfillConfirmMessage": "U heeft geselecteerd om bestaande gegevens vóór de backfill te verwijderen. Hiermee worden alle gegevens in de doelstream voor het opgegeven tijdsbereik permanent verwijderd.", - "editBackfillDeleteConfirmMessage": "U heeft geselecteerd om bestaande gegevens vóór de backfill te verwijderen. Hiermee worden alle gegevens in de doelstream voor het opgegeven tijdsbereik permanent verwijderd. Deze actie kan NIET ongedaan worden gemaakt of worden geannuleerd zodra de taak is bijgewerkt. Weet u zeker dat u wilt doorgaan?", + "deleteBackfillConfirmMessage": "Je hebt geselecteerd om bestaande gegevens te verwijderen vóór de backfill. Hiermee worden alle gegevens in de bestemmingsstream voor het opgegeven tijdsbereik permanent verwijderd.", + "editBackfillDeleteConfirmMessage": "Je hebt geselecteerd om bestaande gegevens te verwijderen vóór de backfill. Hiermee worden alle gegevens in de bestemmingsstream voor het opgegeven tijdsbereik permanent verwijderd. Deze actie kan niet ongedaan worden gemaakt of worden geannuleerd zodra de taak is bijgewerkt. Weet je zeker dat je wilt doorgaan?", "actionCannotBeUndone": "Deze actie kan NIET ongedaan worden gemaakt of worden geannuleerd zodra de taak is gemaakt.", "areYouSureProceed": "Weet u zeker dat u wilt doorgaan?", "clearFilters": "Filters wissen", @@ -3036,15 +3036,15 @@ "sourceQueryTooltip": "Bron: Query Node", "functionTooltip": "Functieknooppunt", "conditionTooltip": "Knooppunt toestand", - "destinationStreamTooltip": "Bestemming: Stream Node", - "destinationExternalTooltip": "Bestemming: extern bestemmingsknooppunt", + "destinationStreamTooltip": "Bestemming: streamnode", + "destinationExternalTooltip": "Bestemming: externe bestemmingsnode", "pipelineNotFound": "Pipeline niet gevonden", "pipelineNameRequired": "De naam van de pijplijn is vereist", "sourceNodeRequired": "Bronknooppunt is vereist", - "destinationNodeRequired": "Het bestemmingsknooppunt is vereist", + "destinationNodeRequired": "Bestemmingsnode is verplicht", "connectAllNodes": "Verbind alle knooppunten voordat u ze opslaat", "connectAllNodesShort": "Verbind alstublieft alle knooppunten", - "enrichmentTablesScheduledOnly": "Verrijkingstabellen als doelstream zijn alleen beschikbaar voor geplande pijplijnen", + "enrichmentTablesScheduledOnly": "Verrijkingstabellen als bestemmingsstream zijn alleen beschikbaar voor geplande pijpleidingen", "savingPipeline": "Pijplijn opslaan...", "pipelineUpdated": "Pipeline succesvol bijgewerkt", "pipelineSaved": "Pipeline succesvol opgeslagen", @@ -3092,7 +3092,7 @@ "streamType": "Streamtype *" }, "sourceNode": "Bron", - "streamNode": "Streamen", + "streamNode": "Stream", "queryNode": "Zoekopdracht", "transformNode": "Transformeren", "functionNode": "Functie", @@ -3156,7 +3156,7 @@ "customStep5": "Kies het uitvoerformaat (JSON of NDJSON)", "customStep6": "Test de verbinding om te controleren of deze werkt", "defaultTitle": "Verbindingsgegevens", - "defaultStep1": "Selecteer een doeltype om specifieke instructies te zien" + "defaultStep1": "Selecteer een bestemmingstype om specifieke instructies te zien" }, "deleteFunctionAssociationConfirm": "Weet u zeker dat u de functiekoppeling wilt verwijderen?", "deleteStreamRoutingConfirm": "Weet u zeker dat u de streamroutering wilt verwijderen?", @@ -3182,7 +3182,7 @@ "noJobSelected": "Geen taak geselecteerd", "updateBackfillJobFailed": "Backfilltaak bijwerken mislukt", "fetchPipelineHistoryFailed": "Ophalen van pijplijnhistorie mislukt", - "defaultDestinationNodeWarning": "Als u het standaard doelknooppunt verwijdert, worden er geen gegevens meer in opgenomen. De bronstroom routeert dan alleen naar de nieuw toegevoegde doelstroom. Gegevens die niet naar een doelstroom worden gerouteerd, worden verwijderd.", + "defaultDestinationNodeWarning": "Het verwijderen van de standaard bestemmingsnode stopt de ingestie van gegevens daarin. De bronstream routeert dan alleen naar de nieuw toegevoegde bestemmingsstream. Gegevens die niet naar een bestemmingsstream worden gerouteerd, worden verwijderd.", "confirmBulkDeleteMsg": "Weet u zeker dat u {count} pijplijn(en) wilt verwijderen?", "confirmPauseBackfillJob": "Weet u zeker dat u de backfilltaak voor \"{name}\" wilt pauzeren? U kunt deze later hervatten.", "confirmResumeBackfillJob": "Weet u zeker dat u de backfilltaak voor \"{name}\" wilt hervatten?", @@ -3292,10 +3292,10 @@ "analyzingDimensions": "Dimensies analyseren...", "arrowSeparator": "→", "computingDistributions": "Frequentieverdelingen berekenen over {count} dimensies", - "dashboardDescError": "Vergelijking van foutpercentage van traces tijdens de foutpiekperiode versus de basislijn over dimensies", - "dashboardDescLatency": "Vergelijking van percentiellatentie van geselecteerde traces (duur {start}-{end}µs) versus basislijn over dimensies", - "dashboardDescVolume": "Vergelijking van trace-aantaldistributie versus basislijn over dimensies", - "dashboardDescVolumeRate": "Vergelijking van trace-aantaldistributie van geselecteerde perioden (snelheid {start}-{end} traces) versus basislijn over dimensies", + "dashboardDescError": "Vergelijking van het foutpercentage van traces tijdens de foutpiekperiode versus de basislijn over dimensies heen", + "dashboardDescLatency": "Vergelijking van percentiellatentie van geselecteerde traces (duur {start}-{end}µs) versus de basislijn over dimensies heen", + "dashboardDescVolume": "Vergelijking van de verdeling van het aantal traces versus de basislijn over dimensies heen", + "dashboardDescVolumeRate": "Vergelijking van de verdeling van het aantal traces van geselecteerde perioden (snelheid {start}-{end} traces) versus de basislijn over dimensies heen", "dashboardTitleError": "Foutinzichten", "dashboardTitleLatency": "Latentie-inzichten", "dashboardTitleVolume": "Volume-inzichten", @@ -3303,8 +3303,8 @@ "durationLabel": "Duur:", "failedToLoad": "Het laden van de analyse is mislukt", "panelDescErrorComparison": "Vergelijking van foutpercentage voor dimensie: {dimension}. Hogere geselecteerde balken geven aan dat deze dimensiewaarde meer fouten heeft in de foutpiekperiode.", - "panelDescLatencyComparison": "Vergelijking van percentiellatentie voor dimensie: {dimension}. Hogere geselecteerde balken geven aan dat deze dimensiewaarde verband houdt met tragere traces.", - "panelDescVolumeComparison": "Vergelijking van trace-aantallen voor dimensie: {dimension}. Hogere geselecteerde balken geven aan dat deze dimensiewaarde vaker voorkomt in perioden met veel volume.", + "panelDescLatencyComparison": "Percentiellatentievergelijking voor dimensie: {dimension}. Hogere geselecteerde balken geven aan dat deze dimensiewaarde correleert met tragere traces.", + "panelDescVolumeComparison": "Vergelijking van het aantal traces voor dimensie: {dimension}. Hogere geselecteerde balken geven aan dat deze dimensiewaarde vaker voorkomt in perioden met hoge volumes.", "panelDescVolumeTopValues": "Topwaarden op aantal voor dimensie: {dimension}.", "refreshTooltip": "Analyse vernieuwen met bijgewerkt percentiel", "retryButton": "Probeer het opnieuw", @@ -3315,7 +3315,7 @@ "title": "Inzichten", "tabLabel": "Tarief", "analyzeTooltipLogs": "Analyseer de dimensieverdeling voor het huidige tijdbereik", - "analyzeTooltipTraces": "Analyseer de traceerdimensies voor snelheid, latentie en foutpatronen", + "analyzeTooltipTraces": "Analyseer tracedimensies voor snelheid, latentie en foutpatronen", "rateLabel": "Tarief:", "searchInspectionsLabel": "Bekijk de details van de uitvoering van de zoekopdracht", "inspectBtnLabel": "Inspecteer", @@ -3418,7 +3418,7 @@ "singleTargetTitle": "Eén remote write-target", "fanoutTitle": "Fan-out naar meerdere backends", "tipPrefix": "Tip: `vmagent` kan schrijfbewerkingen dupliceren door de", - "tipSuffix": "flag, zodat u een bestaande VictoriaMetrics-bestemming kunt behouden terwijl u ook metrieken naar OpenObserve doorstuurt.", + "tipSuffix": "vlag, zodat u een bestaande VictoriaMetrics-bestemming kunt behouden terwijl u ook metrieken naar OpenObserve doorstuurt.", "docLinkText": "om meer te leren over het configureren van vmagent remote write-targets." }, "ai": { @@ -3441,7 +3441,7 @@ "customLabel": "Op maat", "logsLabel": "Logboeken", "metricsLabel": "Metrieken", - "tracesLabel": "Sporen", + "tracesLabel": "Traces", "redirectionIngestionMsg": "Opmerking: Om toegang te krijgen tot andere pagina's dan de IAM, moet de gegevensinvoer binnen de huidige organisatie worden gestart.", "databaseLabel": "Databanken", "securityLabel": "Beveiliging", @@ -3491,7 +3491,7 @@ "diagnosticSettingsPath": "Diagnostische instellingen → + Diagnostische instelling toevoegen", "enterNameCheckCategories": "Voer een naam in, vink de logcategorieën aan die u wilt inschakelen", "underPrefix": "Onder", - "destinationDetails": "Doelgegevens", + "destinationDetails": "Bestemmingsdetails", "chooseSuffix": ", kies", "streamToEventHub": "Naar een event hub streamen", "selectEventHubPrefix": "Selecteer de Event Hub-naamruimte en Event Hub die in stap 1 zijn gemaakt (voorvoegsel:", @@ -3629,8 +3629,8 @@ "anyWindowsHostNote": "Elke Windows-server of VM.", "arrow": "→", "askOnSlack": "Vraag het op Slack", - "autoInstrumentTracesDesc": "Optioneel. De OpenTelemetry-operator injecteert instrumentatie in geannoteerde workloads, zodat u **gedistribueerde traces krijgt zonder de applicatiecode aan te raken of images opnieuw te bouwen**. Kies een taal en annoteer vervolgens de namespace waarin deze wordt uitgevoerd.", - "autoInstrumentTracesTitle": "Instrumenteer uw applicaties automatisch voor traces", + "autoInstrumentTracesDesc": "Optioneel. De OpenTelemetry-operator injecteert instrumentatie in geannoteerde workloads, zodat u **gedistribueerde traces krijgt zonder de applicatiecode aan te raken of images opnieuw te bouwen**. Kies een taal en annoteer daarna de namespace waarin deze draait.", + "autoInstrumentTracesTitle": "Uw applicaties automatisch instrumenteren voor traces", "cassandraJmxNote": "Schakel externe JMX-toegang op Cassandra in zodat de ontvanger verbinding kan maken.", "cassandraTagline": "Verzamel Cassandra-metrieken via de JMX-receiver van de OpenTelemetry Collector en stuur ze naar OpenObserve.", "checking": "Controleren…", @@ -3654,14 +3654,14 @@ "configureCollectorTitle": "Configureer de OpenTelemetry Collector", "connectedLogsHeadline": "Verbonden — logs stromen", "connectedMetricsHeadline": "Verbonden — metrics stromen", - "connectedTracesHeadline": "Verbonden — traces stromen", + "connectedTracesHeadline": "Verbonden — er stromen traces", "countLogs": "{count} log | {count} logs", "countMetricStreams": "{count} metrische stream | {count} metrische streams", "countSpans": "{count} span | {count} spans", "downloadEnvTooltip": ".env downloaden", "downloadJmxJarDesc": "De JMX-ontvanger voert deze helper-JAR uit (vereist Java op de collectorhost).", "downloadJmxJarTitle": "Download de JMX-metrieken-JAR", - "dynamodbFirehoseEndpointDesc": "Gebruik deze als de **HTTP Endpoint**-bestemming bij het maken van je Kinesis Data Firehose-leveringsstream.", + "dynamodbFirehoseEndpointDesc": "Gebruik deze als de **HTTP Endpoint**-bestemming bij het maken van uw Kinesis Data Firehose-leveringsstream.", "dynamodbFirehoseEndpointTitle": "OpenObserve Firehose-endpoint", "dynamodbPipelineDesc": "Schakel **DynamoDB Streams** in op je tabel, verbind het met een **Kinesis Data Stream** en richt dan een **Kinesis Data Firehose**-leveringsstream op het bovenstaande HTTP-endpoint.", "dynamodbPipelineTitle": "Stream DynamoDB → Firehose", @@ -3675,7 +3675,7 @@ "gcpFixBody": "GCP rapporteert afleveringsfouten op het abonnement zelf. Als de sink publiceert maar er niets hier terechtkomt, wijst het push-eindpunt het verzoek meestal af:", "gcpFixTitle": "Controleer het push-abonnement", "gcpPushUrlNote": "Houd deze URL geheim — deze bevat de ingestiesleutel. Roteer deze via de koptekst van deze pagina als deze lekt.", - "gcpSinkDesc": "Maak in de GCP-console een **Log Router-sink** (Logging → Log Router → Create sink) met Pub/Sub als bestemming en laat deze het topic aanmaken. Het inclusiefilter van de sink bepaalt welke logs OpenObserve bereiken.", + "gcpSinkDesc": "Maak in de GCP-console een **Log Router-sink** (Logging → Log Router → Create sink) met Pub/Sub als bestemming en laat de topic automatisch aanmaken. Het inclusiefilter van de sink bepaalt welke logboeken OpenObserve bereiken.", "gcpSinkTitle": "Stuur logs naar een Pub/Sub-topic", "gcpSinkWriterNote": "Verleen de schrijversidentiteit van de sink de Pub/Sub Publisher-rol op het onderwerp, anders publiceert deze stilletjes niets.", "gcpStreamHelp": "Gebruikt in de push-URL hierboven en bewaakt door de check hieronder. Een speciale stream houdt GCP-logs gescheiden.", @@ -3757,16 +3757,16 @@ "oracleTagline": "Verzamel Oracle DB-metrics met de OpenTelemetry Collector en stuur ze naar OpenObserve.", "otlpFixBody": "Een exporter definiëren is niet voldoende — deze moet in een pipeline worden opgenomen. Dit is de meest voorkomende reden dat een correct uitziende configuratie niets verzendt:", "otlpFixTitle": "Controleer of de exporter daadwerkelijk in de pipeline is opgenomen", - "otlpGrpcNote": "Lagere overhead dan HTTP voor hoge span-volumes. Poort 5081 moet bereikbaar zijn vanaf de collector.", + "otlpGrpcNote": "Lagere overhead dan HTTP voor grote spanvolumes. Poort 5081 moet bereikbaar zijn vanaf de collector.", "otlpHttpNote": "De standaard voor de OpenTelemetry Collector — werkt overal, ook achter proxies en load balancers.", "otlpSdkEnvNote": "Standaard OTEL_*-omgevingsvariabelen — elke OpenTelemetry-SDK leest deze, dus er is geen codewijziging nodig.", "otlpTracesStreamHelp": "Geschreven in de config hierboven als `stream-name` en bewaakt door de check hieronder.", "otlpTrouble401A": "De `Authorization`-header moet `Basic ` zijn met behulp van het ingestietoken van deze organisatie — de waarde hierboven is al correct. Als het is geroteerd, kopieer het opnieuw van deze pagina.", "otlpTrouble401Q": "De collector logt 401 of 403", - "otlpTroubleHttpGrpcA": "HTTP is de veilige standaard en passeert proxies en load balancers probleemloos. gRPC heeft lagere overhead bij hoge span-volumes, maar vereist dat poort 5081 end-to-end bereikbaar is.", + "otlpTroubleHttpGrpcA": "HTTP is de veilige standaard en gaat probleemloos door proxies en load balancers. gRPC heeft lagere overhead bij grote spanvolumes, maar vereist dat poort 5081 end-to-end bereikbaar is.", "otlpTroubleHttpGrpcQ": "Moet ik HTTP of gRPC gebruiken?", "otlpTroubleStreamA": "De `stream-name`-header bepaalt de stream. Stel deze in op dezelfde naam als het veld hierboven, anders bekijkt de onderstaande controle een stream waar niets naartoe wordt geschreven.", - "otlpTroubleStreamQ": "Spans komen aan, maar belanden in de verkeerde stream", + "otlpTroubleStreamQ": "Spans komen aan, maar komen in de verkeerde stream terecht.", "otlpTroubleTlsA": "De `tls.insecure`-vlag moet overeenkomen met het schema van het endpoint — deze is hierboven ingesteld op `{insecure}` op basis van de URL van deze implementatie. Een plain-HTTP-endpoint heeft `insecure: true` nodig; een HTTPS-endpoint `false`.", "otlpTroubleTlsQ": "gRPC-verbinding mislukt met een TLS-fout", "pillActiveBackends": "Actieve backends", @@ -3969,13 +3969,13 @@ "sqlServerTagline": "Verzamel SQL Server-metrics met de OpenTelemetry Collector en stuur ze naar OpenObserve.", "startIngestingTestForLogs": "start met opnemen en test dan op logs", "startIngestingTestForMetrics": "start met opnemen en test dan op metrics", - "startIngestingTestForSpans": "start met opnemen en test dan op spans", + "startIngestingTestForSpans": "begin met ingesten en test daarna op spans", "streamNameError": "Gebruik alleen letters, cijfers en _.", "streamNameLabel": "Streamnaam", "stuck": "Vastgelopen?", "taglineDatabricks": "Stuur Databricks-notebooklogs naar OpenObserve via de logs-API.", "taglineGcp": "Stream Google Cloud-logs naar OpenObserve met een Pub/Sub-pushabonnement — geen agent of collector om te draaien.", - "taglineKubernetes": "Implementeer de OpenObserve-collector in je cluster — containerlogs, Kubernetes-gebeurtenissen en clustermetrieken, plus zero-code-traces voor je workloads.", + "taglineKubernetes": "Implementeer de OpenObserve-collector in uw cluster — containerlogboeken, Kubernetes-gebeurtenissen en clustermetrieken, plus zero-code traces voor uw workloads.", "taglineLinux": "Installeer de OpenObserve-agent op elke Linux-host — systeem- en journald-logs plus CPU-, geheugen-, schijf- en netwerkmetrieken.", "taglineMacos": "Installeer de OpenObserve-agent op elke Mac — de unified log en standaardlogbestanden plus CPU-, geheugen-, schijf- en netwerkmetrieken.", "taglineOtlpTraces": "Richt elke OpenTelemetry-exporter op OpenObserve — collector of SDK, HTTP of gRPC. Je endpoint en token zijn hieronder ingevuld.", @@ -4001,7 +4001,7 @@ "verifyMongodbMetricsDesc": "Klik hieronder op Test, of controleer Streams op de `mongodb_*`-metrics.", "verifyMysqlMetricsDesc": "Klik hieronder op Test, of controleer Streams op de `mysql_*`-metrics.", "verifyOracledbMetricsDesc": "Klik hieronder op Test, of controleer Streams op de `oracledb_*`-metrics.", - "verifyOtlpTracesDesc": "Herstart de collector (of je app), voer een verzoek uit dat een span produceert, en klik dan op Test.", + "verifyOtlpTracesDesc": "Start de collector (of uw app) opnieuw, voer een verzoek uit dat een span produceert, en klik vervolgens op Test.", "verifyPostgresqlMetricsDesc": "Klik hieronder op Test, of controleer Streams op de `postgresql_*`-metrics.", "verifyReactNativeRumDesc": "Voer de app uit op een simulator, emulator of apparaat, navigeer tussen een paar schermen en klik dan op Test — React Native-gebeurtenissen komen in de `_rumdata`-stream terecht.", "verifyRedisMetricsDesc": "Klik hieronder op Test, of controleer Streams op de `redis_*`-metrics.", @@ -4012,7 +4012,7 @@ "verifyZookeeperMetricsDesc": "Klik hieronder op Test, of controleer Streams op de `zookeeper_*`-metrics.", "viewLogs": "Bekijk logs", "viewStreams": "Bekijk streams", - "viewTraces": "Bekijk traces", + "viewTraces": "Traces bekijken", "whatTheInstallerDoes": "Wat het installatieprogramma doet", "windowsAgentFixBody": "Het installatieprogramma registreert de agent als een Windows-service. Als er niets binnenkomt, controleer dan of deze actief is en lees de meest recente vermeldingen uit het logboek:", "windowsTroubleScriptA": "PowerShell blokkeert standaard niet-ondertekende scripts. Voer de console **uit als administrator** en sta, indien nodig, het script voor die sessie toe met `Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass`.", @@ -4036,11 +4036,11 @@ "verifyAndroidRumDesc": "Voer de app uit op een emulator of apparaat, beweeg tussen een paar schermen en klik vervolgens op Test — native Android-gebeurtenissen komen terecht in de `_rumdata`-stroom.", "verifyIosRumDesc": "Voer de app uit op een simulator of apparaat, beweeg tussen een paar schermen en klik vervolgens op Test — native iOS-gebeurtenissen komen terecht in de `_rumdata`-stroom.", "dbmPreparePostgresTitle": "Databasemonitoring · Toegang verlenen (optioneel)", - "dbmPreparePostgresDesc": "**Alles hierboven is op zichzelf compleet** — querytijden bereiken Databases al via de traces van je applicatie, zonder dat je hier iets hoeft in te stellen. Deze laatste stappen voegen toe wat een trace nooit kan zien: deadlocks en geblokkeerde queries, die alleen de database zelf registreert. Verleen `pg_monitor`, zodat de collector de queries van andere sessies kan lezen — voer dit uit in een SQL-client, **niet** in je shell.", + "dbmPreparePostgresDesc": "**Alles hierboven is op zichzelf compleet** — querytimings bereiken Databases al via de traces van uw applicatie, zonder dat u hier iets hoeft in te stellen. Deze laatste stappen voegen toe wat een trace nooit kan zien: deadlocks en geblokkeerde queries, die alleen de database zelf registreert. Verleen `pg_monitor`, zodat de collector queries van andere sessies kan lezen — voer dit uit in een SQL-client, **niet** in uw shell.", "dbmPrepareMysqlTitle": "Databasemonitoring · Deadlockgeschiedenis bewaren (optioneel)", "dbmPrepareMariadbTitle": "Databasemonitoring · Deadlockgeschiedenis bewaren (optioneel)", - "dbmPrepareMysqlDesc": "**Alles hierboven is op zichzelf compleet** — querytijden bereiken Databases al via de traces van je applicatie, zonder dat je hier iets hoeft in te stellen. Deze laatste stappen voegen toe wat een trace nooit kan zien: deadlocks en geblokkeerde queries, die alleen de database zelf registreert. Schakel volledige deadlockgeschiedenis in — voer dit uit in een SQL-client, **niet** in je shell.", - "dbmPrepareMariadbDesc": "**Alles hierboven is op zichzelf compleet** — querytijden bereiken Databases al via de traces van je applicatie, zonder dat je hier iets hoeft in te stellen. Deze laatste stappen voegen toe wat een trace nooit kan zien: deadlocks en geblokkeerde queries, die alleen de database zelf registreert. Schakel volledige deadlockgeschiedenis in — voer dit uit in een SQL-client, **niet** in je shell.", + "dbmPrepareMysqlDesc": "**Alles hierboven is op zichzelf compleet** — querytimings bereiken Databases al via de traces van uw applicatie, zonder dat u hier iets hoeft in te stellen. Deze laatste stappen voegen toe wat een trace nooit kan zien: deadlocks en geblokkeerde queries, die alleen de database zelf registreert. Schakel de volledige deadlockgeschiedenis in — voer dit uit in een SQL-client, **niet** in uw shell.", + "dbmPrepareMariadbDesc": "**Alles hierboven is op zichzelf compleet** — querytimings bereiken Databases al via de traces van uw applicatie, zonder dat u hier iets hoeft in te stellen. Deze laatste stappen voegen toe wat een trace nooit kan zien: deadlocks en geblokkeerde queries, die alleen de database zelf registreert. Schakel de volledige deadlockgeschiedenis in — voer dit uit in een SQL-client, **niet** in uw shell.", "dbmPgLoggingTitle": "Databasemonitoring · Laat Postgres deadlocks registreren (optioneel)", "dbmPgLoggingDesc": "Deadlocks worden uitsluitend naar het Postgres-logboek geschreven, en alleen als de instellingen hieronder aan staan — dus deze stap is wat ervoor zorgt dat het tabblad Deadlocks überhaupt gevuld wordt. De prefixregel moet exact overeenkomen: de collector leest deze om te achterhalen wie erbij betrokken was, en een andere prefix betekent dat hij niets vindt terwijl hij toch gezond rapporteert.", "dbmPgLoggingVerifyTitle": "Databasemonitoring · Controleer of de instellingen effect hebben gehad (optioneel)", @@ -4066,7 +4066,7 @@ "dbmMysqlLogPathHelp": "De collector moet dit bestand kunnen lezen. Vind het met: SHOW VARIABLES LIKE 'log_error';", "dbmMariadbLogPathHelp": "De collector moet dit bestand kunnen lezen. Vind het met: SHOW VARIABLES LIKE 'log_error';", "dbmPrepareMssqlTitle": "Databasebewaking · Toegang verlenen (optioneel)", - "dbmPrepareMssqlDesc": "**Alles hierboven is op zichzelf compleet** — querytijden bereiken Databases al vanuit de traces van uw applicatie, zonder dat u hier iets hoeft in te stellen. Deze laatste groep voegt toe wat een trace nooit kan zien: deadlocks en geblokkeerde queries, die alleen de database zelf registreert. Beide rechten zijn nodig — de ene laat de collector andere sessies lezen, de andere laat hem de deadlockgeschiedenis lezen. Voer ze uit in een SQL-client, **niet** in uw shell.", + "dbmPrepareMssqlDesc": "**Alles hierboven is op zichzelf compleet** — querytimings bereiken Databases al via de traces van uw applicatie, zonder dat u hier iets hoeft in te stellen. Deze laatste groep voegt toe wat een trace nooit kan zien: deadlocks en geblokkeerde queries, die alleen de database zelf registreert. Beide machtigingen zijn nodig — de ene laat de collector andere sessies lezen, de andere laat hem de deadlockgeschiedenis lezen. Voer ze uit in een SQL-client, **niet** in uw shell.", "dbmConfigureMssqlDesc": "Schrijft `dbm-config.yaml` — stel hieronder de database in waarmee verbinding moet worden gemaakt. SQL Server ontvangt hier deadlocks, geblokkeerde queries, activiteitsamples, topqueries en uitvoeringsplannen. De sqlserver-receiver leest over de hele instantie, dus activiteit en topqueries zijn niet beperkt tot de database die u hierboven noemt.", "dbmRunMssqlDesc": "Voert beide configuraties samen uit. Gebruik dezelfde gebruikersnaam en hetzelfde wachtwoord die u in stap 1 hebt aangemaakt.", "dbmVerifyBlockingDesc": "Open **Infra → Databases → Geblokkeerde queries**. Sessies die op een vergrendeling wachten, verschijnen zodra er een wordt gesampled — een leeg tabblad daar vertelt u of er niets is geblokkeerd of dat er niets wordt verzameld.", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "Open **Infra → Databases** en kies hieronder een tabblad. Deadlocks en geblokkeerde queries verschijnen zodra uw database er een meldt — een leeg tabblad daar vertelt u of er niets is gebeurd of dat er niets wordt verzameld. Tabelgezondheid vult zich na de eerste momentopname van 60 seconden." }, "instrumentBeforeImportTitle": "Instrumenteer vóór het importeren van de client", - "instrumentBeforeImportBody": "Als uw app draait maar er geen spans aankomen, is de instrumentatie waarschijnlijk geladen nadat de client is geïmporteerd. Herschik de volgorde zodat de init eerst wordt uitgevoerd:", + "instrumentBeforeImportBody": "Als uw app draait maar er geen spans aankomen, is de instrumentatie waarschijnlijk geladen nadat de client was geïmporteerd. Wijzig de volgorde zodat de init als eerste wordt uitgevoerd:", "launchCloudFormationStack": "CloudFormation-stack lanceren", "openStackSetsConsole": "StackSets-console openen", "integrations": { @@ -4239,7 +4239,7 @@ "streamOverview": "{stream} overzicht" }, "selectField": "Veld", - "selectIndex": "Streamen", + "selectIndex": "Stream", "selectStreamType": "Streamtype", "toggleFunctionEditor": "Functie-editor in- en uitschakelen", "useSavedFunction": "Gebruik de functie Opgeslagen", @@ -5554,7 +5554,7 @@ "deletePanelTitle": "Paneel verwijderen", "deletePanelMessage": "Weet je zeker dat je dit paneel wilt verwijderen?", "movePanelTitle": "Paneel naar een ander tabblad verplaatsen", - "movePanelMessage": "Tabblad van bestemming selecteren", + "movePanelMessage": "Selecteer doel-tabblad", "noQueriesToCreateAlert": "Dit paneel bevat geen vragen om een waarschuwing te maken van", "panelQueryMustHaveStream": "Paneelquery moet een stream hebben geconfigureerd", "unsupportedPanelTypeAlert": "Het aanmaken van meldingen vanuit {type} panels werkt mogelijk niet zoals verwacht", @@ -5562,7 +5562,7 @@ "panelDuplicationFailed": "Het dupliceren van het paneel is mislukt", "firstColumn": "Eerste kolom", "zAxis": "Z-as", - "breakdown": "Indeling", + "breakdown": "Uitsplitsing", "pivotField": "Draaiveld", "pivotFieldTooltip": "Sleep een dimensieveld hierheen. De verschillende waarden worden kolomkoppen in de draaitabel. Er zijn maximaal 3 velden toegestaan voor draaien op meerdere niveaus.", "breakdownTooltipHBar": "Gebruik deze velden om de gegevens op te splitsen in verschillende secties op de Y-as voor een duidelijker beeld.", @@ -5669,7 +5669,7 @@ "description": "Deze organisatie heeft geen gegevens ontvangen, dus er is niets om in kaart te brengen. Zodra de gebeurtenissen beginnen te verlopen, worden hier automatisch uw opnamevolume, opslag en querygebruik weergegeven.", "logs": "Logboeken verzenden", "logsDesc": "{product1}, {product2}, {product3}, {product4} en meer", - "traces": "Sporen verzenden", + "traces": "Verstuur traces", "tracesDesc": "{product1} / {product2} / {product3} gedistribueerde tracing", "metrics": "Statistieken verzenden", "metricsDesc": "{product1}, {product2}, {product3} en meer", @@ -5679,7 +5679,7 @@ "shippers": "Verzenders van logboeken" }, "indexSizeLbl": "Indexgrootte", - "docsCountLbl": "Evenementen", + "docsCountLbl": "Gebeurtenissen", "functionTitle": "Functies", "schedulePipelineTitle": "Gepland", "rtPipelineTitle": "Real-time", @@ -5717,8 +5717,8 @@ "emptyActionAlertsDesc": "Bekijk de geconfigureerde waarschuwingen en drempels", "emptyActionLogs": "Logboeken bekijken", "emptyActionLogsDesc": "Zoek en filter je logstreams", - "emptyActionTraces": "Sporen ontdekken", - "emptyActionTracesDesc": "Inspecteer gedistribueerde sporen en servicelatentie", + "emptyActionTraces": "Traces verkennen", + "emptyActionTracesDesc": "Inspecteer gedistribueerde traces en service-latentie", "anomalyDetectedTitle": "Anomalie gedetecteerd — {name}", "anomalyDetectedDescription": "Stream: {stream} · {count} afwijkend(e) punt(en)", "secondsAgo": "{count} sec geleden", @@ -5806,7 +5806,7 @@ "taglineTail": ". Ik kan jouw schrijven", "taglineSql": "SQL", "taglineVrl": "VRL", - "taglineAnd": "en je door je logboeken, sporen, statistieken en incidenten leiden.", + "taglineAnd": "en begeleidt u door uw logboeken, traces, metrieken en incidenten.", "signedInAs": "Ingelogd als", "role": "Rol", "tryOneOfThese": "Of probeer een van deze" @@ -5814,12 +5814,12 @@ "capabilities": { "query": { "title": "Een vraag schrijven", - "description": "SQL voor logboeken, traces, RUM of ProMQL voor statistieken.", + "description": "SQL voor logboeken, traces, RUM, of PromQL voor metrieken.", "prompt": "Help me een vraag te schrijven" }, "incident": { "title": "Incidenten onderzoeken", - "description": "Oorzaak in logboeken, sporen, waarschuwingen — bijvoorbeeld „Waarom is gateway-5xx geactiveerd?”", + "description": "Bepaal de hoofdoorzaak via logs, traces en alerts — bijv. \"Waarom ging gateway-5xx af?\"", "prompt": "Help me incidenten te onderzoeken" }, "dashboard": { @@ -5962,7 +5962,7 @@ "features": "FUNCTIES", "included": "Wat is inbegrepen?", "proPlanSubtitle": "Oplossingen op maat voor kleine teams", - "unlimitedNote": "Onbeperkt aantal gebruikers, logboeken, statistieken, sporen en meer.", + "unlimitedNote": "Onbeperkte gebruikers, logboeken, metrieken, traces en meer.", "paymentNote": "De betaling wordt berekend op basis van het verbruik aan het einde van de maandelijkse factureringscyclus.", "proPlanLabel": "Betaal terwijl je onderweg bent", "contactLabel": "Neem contact op met Sales", @@ -6151,7 +6151,7 @@ "enabledBoolean": "Alert - {index}: Ingeschakeld moet een Booleaanse waarde zijn.", "tzOffsetNumber": "Alert - {index}: Tijdzone-offset moet een getal zijn.", "timezoneRequiredForCron": "Waarschuwing - {index}: Tijdzone is vereist wanneer het frequentie type 'cron' is.", - "destinationNotExist": "Waarschuwing - {index}: bestemming \"{destination}\" bestaat niet.", + "destinationNotExist": "Alert - {index}: de bestemming \"{destination}\" bestaat niet.", "createSuccess": "Waarschuwing - {index}: \"{name}\" succesvol aangemaakt \nOpmerking: verwijder het aangemaakte waarschuwingsobject {name} uit het json-bestand.", "createFailed": "Waarschuwing - {index}: \"{name}\" aanmaken mislukt --> \n Reden: {reason}", "unknownError": "Onbekende fout", @@ -6328,7 +6328,7 @@ "guidelinesLabel": "Richtlijnen:", "selectStreamGuideline": "Selecteer een bestaande stream uit de lijst of voer de naam in om een nieuwe te maken", "enrichmentTablesTerm": "Verrijkingstabellen", - "enrichmentTablesDestinationNote": "aangezien de bestemmingsstream alleen beschikbaar is voor geplande pipelines", + "enrichmentTablesDestinationNote": "aangezien de bestemmingsstream alleen beschikbaar is voor geplande pijpleidingen", "useCurlyBracesNote": "Gebruik accolades", "configureStreamNameDynamicNote": "om de streamnaam dynamisch te configureren. bijv.", "staticTextBeforeAfterNote": ". Statische tekst voor/na", @@ -6438,7 +6438,7 @@ "destinationsArray": "Bestemmingen moeten een array zijn", "destinationRequiredPlain": "Ten minste één bestemming is vereist", "noDestinationsInSystem": "Geen beschikbare bestemmingen gevonden in het systeem", - "invalidDestinations": "Ongeldige bestemmingen: {destinations} - moet uit de lijst met beschikbare bestemmingen komen", + "invalidDestinations": "Ongeldige bestemmingen: {destinations} - moeten afkomstig zijn uit de lijst met beschikbare bestemmingen", "enabledFlagBoolean": "Ingeschakelde vlag moet een boolean zijn", "silenceNotificationRequired": "Stille melding mag niet leeg zijn", "thresholdNotEmpty": "Drempelwaarde mag niet leeg zijn", @@ -6459,8 +6459,8 @@ "searchAllFolders": "Alle mappen", "streamConfig": "Configuratie van de stream", "alertRules": "Regels voor waarschuwingen", - "noTemplatesMsg": "Om een waarschuwing aan te maken heb je minstens één sjabloon en één bestemming nodig. Sjablonen bepalen de indeling van het meldingsbericht — begin met het aanmaken van een bericht.", - "noDestinationsMsg": "Om een waarschuwing aan te maken heb je minstens één bestemming en één sjabloon nodig. Bestemmingen bepalen waar meldingen worden verzonden — begin door er een aan te maken.", + "noTemplatesMsg": "Om een alarm te maken heb je ten minste één sjabloon en één bestemming nodig. Sjablonen bepalen de opmaak van het meldingsbericht — begin met het maken van een sjabloon.", + "noDestinationsMsg": "Om een alarm te maken heb je ten minste één bestemming en één sjabloon nodig. Bestemmingen bepalen waar meldingen naartoe worden gestuurd — begin met het maken van een bestemming.", "add": "Waarschuwing toevoegen", "edit": "Bewerken", "clone": "Klonenwaarschuwing", @@ -6512,36 +6512,36 @@ "threshold": "Drempel", "silenceNotification": "Stiltemelding voor", "destination": "Bestemming", - "destinationOrWorkflowRequired": "Voeg ten minste één bestemming of werkstroom toe.", - "customDestination": "Bestemming op maat", + "destinationOrWorkflowRequired": "Voeg ten minste één bestemming of workflow toe.", + "customDestination": "Aangepaste bestemming", "customDestinationDescription": "Configureer een aangepast HTTP-eindpunt of e-mailbestemming", - "testIdleMessage": "Klik op 'Test' om de configuratie van uw bestemming te verifiëren", - "destinationPreview": "Voorbeeld van de bestemming", + "testIdleMessage": "Klik op 'Test' om je bestemmingsconfiguratie te verifiëren", + "destinationPreview": "Bestemmingsvoorbeeld", "template": "Sjabloon overschrijven", "additionalVariables": "Aanvullende variabelen", "testSuccessMessage": "Test geslaagd! Je bestemming is correct geconfigureerd.", "testFailedMessage": "De test is mislukt. Controleer je configuratie en probeer het opnieuw.", "testFailedWithReason": "Test mislukt: {reason}", - "testInProgress": "Bestemming van de test...", + "testInProgress": "Bestemming testen...", "sendingNotification": "Testmeldingen verzenden om de connectiviteit te verifiëren", "testErrorDNS": "DNS-resolutie is mislukt. Controleer de webhook-URL of hostnaam.", "testErrorConnection": "De verbinding is geweigerd. Controleer de URL en zorg ervoor dat de service bereikbaar is.", - "testErrorTimeout": "Er is een time-out opgetreden voor het verzoek. De bestemmingsdienst is mogelijk traag of onbereikbaar.", + "testErrorTimeout": "De aanvraag is verlopen (time-out). De bestemmingsservice is mogelijk traag of onbereikbaar.", "testErrorSSL": "SSL/TLS-certificaatfout. Verifieer het certificaat of schakel SSL-verificatie uit.", "testErrorClientError": "Klantfout (4xx). Controleer uw inloggegevens en configuratie.", - "testErrorServerError": "Serverfout (5xx). Er zijn problemen met de bestemmingsservice.", + "testErrorServerError": "Serverfout (5xx). De bestemmingsservice ondervindt problemen.", "viewDetails": "Details bekijken", "error": "Fout", "httpStatus": "HTTP-status", "responseBody": "Reactielichaam", "retry": "Probeer het opnieuw", "suggestCheckUrl": "Controleer of de webhook-URL correct en bereikbaar is.", - "suggestCheckFirewall": "Controleer de instellingen van uw firewall en zorg ervoor dat de doelservice toegankelijk is.", + "suggestCheckFirewall": "Controleer je firewallinstellingen en zorg ervoor dat de bestemmingsservice toegankelijk is.", "suggestCheckCredentials": "Controleer of je API-inloggegevens correct zijn.", "suggestCheckPermissions": "Controleer of uw inloggegevens over de vereiste machtigingen beschikken.", "suggestCheckEndpoint": "Controleer of de URL van het eindpunt juist is.", "suggestRateLimit": "Je hebt de tarieflimiet overschreden. Een ogenblik geduld a.u.b. voordat u het opnieuw probeert.", - "suggestServerIssue": "Er zijn problemen met de bestemmingsservice. Probeer het later opnieuw.", + "suggestServerIssue": "De bestemmingsservice ondervindt problemen. Probeer het later opnieuw.", "description": "Omschrijving", "stream_name": "Naam van de stream", "cloneTitle": "Klonenwaarschuwing", @@ -6844,7 +6844,7 @@ "noAlertDetailsAvailable": "Geen waarschuwingsdetails beschikbaar", "clickOnTriggerToViewDetails": "Klik op een trigger in de tabel om details te bekijken", "refreshCorrelatedData": "Gecorreleerde gegevens vernieuwen", - "showingCorrelatedTraces": "Gecorreleerde traces uit het incidenttijdvak worden weergegeven", + "showingCorrelatedTraces": "Gecorreleerde traces uit het tijdsbestek van het incident weergeven", "incidentTitleUpdatedSuccess": "Incidenttitel is bijgewerkt", "markAsAcknowledgedTooltip": "Incident markeren als bevestigd en in behandeling", "markAsResolvedTooltip": "Incident markeren als opgelost en sluiten", @@ -6965,15 +6965,15 @@ "helpLegendSampleExample": "42", "sectionTitle": "Instellingen", "noDestinationsAvailable": "Geen bestemmingen beschikbaar", - "noTargetsAvailable": "Geen bestemmingen of werkstromen beschikbaar", + "noTargetsAvailable": "Geen bestemmingen of workflows beschikbaar", "targetsDestinationsGroup": "Bestemmingen", "targetsWorkflowsGroup": "Werkstromen", - "refreshDestinations": "Nieuwste bestemmingen vernieuwen", - "addNewDestination": "Nieuwe bestemming toevoegen", + "refreshDestinations": "Vernieuw de nieuwste bestemmingen", + "addNewDestination": "Bestemming toevoegen", "cooldownTooltip": "Als de waarschuwing wordt geactiveerd, hoe lang moet het dan wachten voordat een nieuwe melding wordt verzonden. Als de waarschuwing bijvoorbeeld om 16.00 uur wordt geactiveerd en de stiltemelding is ingesteld op 10 minuten, dan wordt er pas om 16.10 uur nog een melding gestuurd, zelfs als de waarschuwing na 1 minuut nog steeds duurt. Dit is om te voorkomen dat de gebruiker wordt gespamd met meldingen.", "periodTooltip": "Periode gedurende welke de query moet worden uitgevoerd. Bijvoorbeeld 10 minuten betekent dat telkens wanneer de query wordt uitgevoerd, de laatste 10 minuten aan gegevens worden gebruikt.", "timezoneWarning": "Waarschuwing: De weergegeven tijdzone is bij benadering. Controleer en selecteer handmatig de juiste tijdzone.", - "destinationsTooltip": "Selecteer een of meer bestemmingen om waarschuwingsmeldingen te verzenden.", + "destinationsTooltip": "Selecteer een of meer bestemmingen om alarmmeldingen te verzenden.", "createsIncident": "Maakt incident aan", "createsIncidentTooltip": "Als een waarschuwing een incident kan aanmaken, verstuurt deze geen aparte melding. In plaats daarvan wordt een melding voor het incident verzonden wanneer een nieuw incident wordt aangemaakt of wanneer een nieuw waarschuwingstype zich bij een bestaand incident voegt.", "helpTemplateTitle": "Sjabloon overschrijven", @@ -6985,10 +6985,10 @@ "helpLegendLive": "de werkelijke waarden van uw waarschuwing", "helpLegendSample": "een voorbeeld — de werkelijke waarde wordt ingesteld wanneer het alarm afgaat", "helpLegendOpaque": "automatisch toegevoegd wanneer de waarschuwing afgaat", - "helpTemplateExplain": "Een sjabloon is het meldingsbericht dat wordt verzonden — de tekst plus variabelen zoals {'{'} alert_name {'}'}. Als u hier één kiest, wordt de eigen sjabloon van elke bestemming overschreven, alleen voor deze waarschuwing.", + "helpTemplateExplain": "Een sjabloon is het meldingsbericht dat wordt verzonden — de tekst plus variabelen zoals {'{'}alert_name{'}'}. Hier een sjabloon kiezen overschrijft het eigen sjabloon van elke bestemming, alleen voor dit alarm.", "helpCurrentHeading": "Wat deze waarschuwing nu verzendt", - "helpCurrentNoOverride": "Geen overschrijvingsset — elke bestemming gebruikt zijn eigen sjabloon:", - "helpCurrentNoDestinations": "Nog geen bestemmingen geselecteerd. Elke bestemming gebruikt zijn eigen geconfigureerde sjabloon.", + "helpCurrentNoOverride": "Geen overschrijving ingesteld — elke bestemming gebruikt zijn eigen sjabloon:", + "helpCurrentNoDestinations": "Nog geen bestemmingen geselecteerd. Elke bestemming zal zijn eigen geconfigureerde sjabloon gebruiken.", "helpCurrentOverrideHeading": "Alle bestemmingen gebruiken dit sjabloon:", "helpPreviewHeading": "Een sjabloon bekijken", "helpPreviewSelectPlaceholder": "Selecteer een sjabloon om een voorbeeld te bekijken", @@ -7014,7 +7014,7 @@ "helpVariablesExampleCaption": "Voeg de ernst en het team toe als variabelen en gebruik ze vervolgens overal in de sjabloon:", "helpExampleResultLabel": "Wat wordt er verzonden", "helpTemplateWhenHeading": "Wanneer moet ik overschrijven?", - "helpTemplateWhenDesc": "Laat dit leeg en elke bestemming gebruikt zijn eigen sjabloon. Stel een overschrijving in als u wilt dat deze ene waarschuwing hetzelfde, consistente bericht naar elke bestemming stuurt, zonder de sjabloon van elke bestemming te bewerken.", + "helpTemplateWhenDesc": "Laat dit leeg en elke bestemming gebruikt zijn eigen sjabloon. Stel een overschrijving in wanneer je wilt dat dit ene alarm hetzelfde, consistente bericht naar elke bestemming stuurt — zonder de sjabloon van elke bestemming te bewerken.", "helpRowTemplateWhyHeading": "Waarom een rijsjabloon?", "helpRowTemplateWhyDesc": "Een waarschuwing kan veel records evenaren. Het rijsjabloon formatteert één record; {'{'} rows {'}'} plaatst vervolgens elk opgemaakte record in de hoofdsjabloon, zodat je alle overeenkomsten opsomt zonder een lus te schrijven.", "helpRowTemplateExampleCaption": "Elke overeenkomende rij wordt opgemaakt volgens het rijsjabloon, en in {'{'} rows {'}'} worden ze vervolgens allemaal in de hoofdsjabloon geplaatst:", @@ -7023,10 +7023,10 @@ "helpRowTemplatePreviewEmpty": "Nog geen rijsjabloon — typ er een op het tabblad Aanvullende instellingen om het hier te bekijken.", "helpPreviewSelectEmpty": "Kies hierboven een sjabloon om een voorbeeld te bekijken van het bericht dat zou worden verzonden.", "helpCurrentBodyEmpty": "Dit sjabloon heeft geen hoofdtekst om vooraf te bekijken.", - "helpDestinationNoTemplate": "Gebruikt de standaardindeling van deze bestemming.", + "helpDestinationNoTemplate": "Gebruikt de standaardopmaak van deze bestemming.", "builtInVars": { "orgName": "Jouw organisatienaam", - "streamType": "Streamtype (logs, metrics, traces)", + "streamType": "Streamtype (logboeken, metrieken, traces)", "streamName": "Naam van de stream waar de alert op let", "alertName": "De naam van de alert", "alertType": "Alerttype (bijv. gepland, real-time)", @@ -7048,7 +7048,7 @@ }, "advanced": { "addVariable": "Variabele toevoegen", - "variablesTooltip": "Variabelen worden gebruikt om gegevens van de waarschuwing naar de bestemming door te geven.", + "variablesTooltip": "Variabelen worden gebruikt om gegevens van het alarm naar de bestemming door te geven.", "templateType": "Sjabloontype:", "noTemplatesAvailable": "Geen sjablonen beschikbaar", "refreshTemplates": "Nieuwste sjablonen vernieuwen", @@ -7138,7 +7138,7 @@ "checkEvery": "Controleer elke", "checkEveryTooltip": "Hoe vaak de detectieopdracht wordt uitgevoerd. Kan groter zijn dan de steekproefperiode (bijv. monster elke 5 meter, detectie elke 1 uur uitvoeren).", "clickLoadDataHint": "Klik op Gegevens laden om een voorbeeld van de tijdreeks te bekijken", - "destinationRequired": "Er is minstens één bestemming vereist!", + "destinationRequired": "Minstens één bestemming is vereist!", "detectionResolution": "Resolutie van de detectie", "detectionResolutionTooltip": "Hoe gedetailleerd elk gegevenspunt is. Bijvoorbeeld „\" 5m \"” betekent dat afwijkingen worden gedetecteerd met een resolutie van 5 minuten.”", "disabled": "Uitgeschakeld", @@ -7156,7 +7156,7 @@ "noDestinationsFound": "Geen bestemmingen gevonden", "noFieldsFound": "Geen velden gevonden", "notifications": "Meldingen", - "notificationsTooltip": "Indien ingeschakeld, wordt er een melding naar de geselecteerde bestemming gestuurd wanneer een anomalie wordt gedetecteerd.", + "notificationsTooltip": "Wanneer ingeschakeld, wordt er een melding naar de geselecteerde bestemming gestuurd telkens wanneer een anomalie wordt gedetecteerd.", "retrainEvery": "Elke opnieuw trainen", "retrainEveryTooltip": "Hoe vaak moet het model automatisch worden bijgeschoold. „Nooit” betekent één keer trainen en het model bewaren totdat het handmatig wordt bijgeschoold.", "retrainFourteenDays": "14 dagen", @@ -7171,7 +7171,7 @@ "sqlColumnsHint": "Query moet twee kolommen retourneren: {timeBucket} en {valueColumn}.", "sqlRequired": "SQL is vereist in aangepaste SQL-modus", "summaryAlerting": "✓ Alerting: {status}", - "summaryAlertingEnabled": "✓ Alerting: Ingeschakeld → {destinations}", + "summaryAlertingEnabled": "✓ Alarmering: ingeschakeld → {destinations}", "summaryAlertingNoDestination": "✓ Alerting: Ingeschakeld ⚠️ {warning}", "summaryConfiguring": "Anomaliedetectie configureren voor {streamType}-stream \"{stream}\"", "summaryDataSource": "✓ Gegevensbron: {type} — {name}", @@ -7318,7 +7318,7 @@ }, "confirmDeleteAlerts": "Weet je zeker dat je {count} waarschuwing wilt verwijderen? | Weet je zeker dat je {count} waarschuwingen wilt verwijderen?", "confirmDeleteDestinations": "Weet je zeker dat je {count} bestemming wilt verwijderen? | Weet je zeker dat je {count} bestemmingen wilt verwijderen?", - "prebuiltDestination": "Vooraf ingestelde {type}-bestemming", + "prebuiltDestination": "Kant-en-klare {type} bestemming", "errorValidations": "Foutvalidaties", "outputMessagesLabel": "Uitvoerberichten", "incidentSingular": "Incident", @@ -7523,7 +7523,7 @@ "actionOpen": "Openen", "actionDelete": "Verwijderen", "deleteTitle": "Verwijder {name}?", - "deleteMessage": "Dit verwijdert het permanent. Verwijderen is geblokkeerd als een waarschuwing of bestemming het nog gebruikt.", + "deleteMessage": "Hiermee wordt het permanent verwijderd. Verwijdering wordt geblokkeerd als een alarm of bestemming het nog steeds gebruikt.", "deletedToast": "{name} verwijderd", "deleteFailedToast": "Kon {name} niet verwijderen", "loading": "Bezig met het opbouwen van de afhankelijkheidsgrafiek…", @@ -7614,12 +7614,12 @@ "stepFolder": "Map", "stepTune": "Afstemmen", "stepInstall": "Installeren", - "destinationIntro": "Elke alert in deze batch stuurt meldingen naar de bestemming die je hier kiest. Bibliotheekbestanden vermelden de bestemmingen van de organisatie waaruit ze zijn geëxporteerd, die niet bestaan in de jouwe.", + "destinationIntro": "Elk alarm in deze batch stuurt een melding naar de bestemming die je hier kiest. Bibliotheekbestanden vermelden de bestemmingen van de organisatie waaruit ze zijn geëxporteerd, die in de jouwe niet bestaan.", "destinationLabel": "Bestemming", "destinationPlaceholder": "Kies een bestemming", "destinationsLoadFailed": "Je bestaande bestemmingen konden niet worden geladen.", "retry": "Probeer opnieuw", - "destinationsNoneBody": "Deze organisatie heeft nog geen alertbestemmingen, dus er is geen plek waar deze alerts meldingen naartoe kunnen sturen. Maak er een aan op de pagina Bestemmingen en kom daarna terug om deze hier te selecteren.", + "destinationsNoneBody": "Deze organisatie heeft nog geen alarmbestemmingen, dus er is geen plaats om deze alarmen naartoe te sturen. Maak er een aan op de pagina Bestemmingen en kom dan terug om deze hier te kiezen.", "openDestinations": "Bestemmingen openen", "selectAll": "Alles selecteren", "clear": "Wissen", @@ -7735,7 +7735,7 @@ "chartPreviewPlaceholder": "Grafiek verschijnt hier in echte meldingen — het wordt getrokken uit de eigen evaluatiegeschiedenis van de alert, die een voorbeeld niet heeft.", "channelTitlesDescription": "Gebruik een andere titel op specifieke kanalen — bijvoorbeeld een kortere onderwerpregel voor e-mail.", "namePlaceholder": "bijv. Hoge foutfrequentie", - "nameLockedHint": "Alerts en bestemmingen verwijzen naar deze sjabloon op naam, dus deze kan niet worden hernoemd. Kloon de sjabloon om een kopie onder een nieuwe naam te starten.", + "nameLockedHint": "Alarmen en bestemmingen verwijzen naar dit sjabloon op naam, dus het kan niet worden hernoemd. Kloon het sjabloon om een kopie onder een nieuwe naam te starten.", "rawBodyCaption": "Verzonden precies zoals geschreven, met {'{'}variables{'}'} gesubstitueerd. Zie de Variabelengids voor alles wat beschikbaar is.", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "bijv. Waarde", @@ -7903,9 +7903,9 @@ "datadogHostnameHelpText": "Hostnaam voor Datadog-logs", "exampleLabel": "Voorbeeld:", "subtitle": "Waar geactiveerde waarschuwingen worden afgeleverd", - "exportDestination": "Exportbestemming", + "exportDestination": "Bestemming exporteren", "deleteDestinationTitle": "Bestemming verwijderen", - "deleteDestinationMessage": "Weet je zeker dat je de bestemming wilt verwijderen?", + "deleteDestinationMessage": "Weet je zeker dat je deze bestemming wilt verwijderen?", "deleteDestinationsTitle": "Bestemmingen verwijderen", "selected": "geselecteerd", "organizationLabel": "Organisatie", @@ -7925,19 +7925,19 @@ "ddTagsPlaceholder": "Voer tags in (bijv. env:prod,version:1.0)", "serviceLabel": "Service", "servicePlaceholder": "Voer servicenaam in (bijv. api-gateway)", - "header": "Bestemmingen", - "add": "Bestemming toevoegen", + "header": "Meldingsbestemmingen", + "add": "Nieuwe bestemming", "edit": "Bewerken", - "search": "Bestemming zoeken", + "search": "Zoek bestemming", "filterAll": "Alles", "filterPrebuilt": "Voorgebouwd", "filterCustom": "Op maat", "templateDefaultBadge": "Standaard", "name": "Naam", - "destination_type": "Soort bestemming", + "destination_type": "Bestemmingstype", "template": "Sjabloon", "actions": "Acties", - "addTitle": "Bestemming toevoegen", + "addTitle": "Nieuwe bestemming", "updateTitle": "Bestemming bijwerken", "delete": "Verwijderen", "method": "Methode", @@ -7986,31 +7986,31 @@ "templates": "Sjablonen", "emails": "E-mails (komma gescheiden)", "actions": "Acties", - "destinationCreation": "Bestemmingscreatie", + "destinationCreation": "Bestemming aanmaken", "jsonStringEmpty": "JSON-tekenreeks is leeg", "invalidJsonFormat": "Ongeldig JSON-formaat", "importSuccess": "Bestemmingen succesvol geïmporteerd", - "importError": "Fout bij importeren bestemming, controleer de JSON", + "importError": "Fout bij het importeren van bestemming, controleer de JSON", "unknownError": "Onbekende fout", - "nameRequired": "Bestemming - {index}: Het veld \"name\" is vereist en moet een geldige tekenreeks zijn.", - "nameExists": "Bestemming - {index}: \"{name}\" bestaat al", - "typeInvalid": "Bestemming - {index}: Het veld \"type\" moet \"email\", \"http\" of \"action\" zijn", - "actionTypeNotSupported": "Bestemming - {index}: Type 'action' wordt niet ondersteund.", - "actionNotFound": "Bestemming - {index}: actie \"{actionId}\" bestaat niet voor type \"{type}\"", - "urlRequired": "Bestemming - {index}: Het veld \"url\" is vereist voor bestemmingen van het type http.", - "methodInvalid": "Bestemming - {index}: Het veld \"method\" moet een van \"post\", \"get\" of \"put\" zijn", - "templateRequiredHttp": "Bestemming - {index}: Het veld \"template\" is vereist voor bestemmingen van het type http.", - "skipTlsVerifyRequired": "Bestemming - {index}: Het veld \"skip_tls_verify\" is vereist en moet een booleaanse waarde zijn", - "headersMustBeObject": "Bestemming - {index}: 'headers' moet een object zijn voor het type http", - "urlNotAllowedEmail": "Bestemming - {index}: 'url' mag niet worden opgegeven voor het type e-mail", - "headersNotAllowedEmail": "Bestemming - {index}: 'headers' mag niet worden opgegeven voor het type e-mail", - "emailsRequired": "Bestemming - {index}: Het veld \"emails\" is vereist en moet een array zijn voor bestemmingen van het type e-mail.", - "emailsMustBeStrings": "Bestemming - {index}: 'emails' moet een array van tekenreeksen zijn voor het type e-mail", - "templateRequiredEmail": "Bestemming - {index}: Het veld \"template\" is vereist voor bestemmingen van het type e-mail.", - "templateNotFound": "Bestemming - {index}: sjabloon \"{template}\" bestaat niet voor type \"{type}\"", - "actionIdInvalid": "Bestemming - {index}: Het veld \"action_id\" moet een geldige tekenreeks zijn.", - "createSuccess": "Bestemming - {index}: \"{name}\" succesvol aangemaakt \nOpmerking: verwijder het aangemaakte bestemmingsobject {name} uit het json-bestand ", - "createFailed": "Bestemming - {index}: \"{name}\" aanmaken mislukt --> \n Reden: {reason}" + "nameRequired": "Bestemming - {index}: Het veld \\\"name\\\" is verplicht en moet een geldige string zijn.", + "nameExists": "Bestemming - {index}: \\\"{name}\\\" bestaat al.", + "typeInvalid": "Bestemming - {index}: Het veld \\\"type\\\" moet \\\"email\\\", \\\"http\\\" of \\\"action\\\" zijn.", + "actionTypeNotSupported": "Bestemming - {index}: type 'action' wordt niet ondersteund.", + "actionNotFound": "Bestemming - {index}: actie \\\"{actionId}\\\" bestaat niet voor type \\\"{type}\\\"", + "urlRequired": "Bestemming - {index}: Het veld \\\"url\\\" is verplicht voor bestemmingen van het type http.", + "methodInvalid": "Bestemming - {index}: Het veld \\\"method\\\" moet een van \\\"post\\\", \\\"get\\\" of \\\"put\\\" zijn.", + "templateRequiredHttp": "Bestemming - {index}: Het veld \\\"template\\\" is verplicht voor bestemmingen van het type http.", + "skipTlsVerifyRequired": "Bestemming - {index}: Het veld \\\"skip_tls_verify\\\" is verplicht en moet een Booleaanse waarde zijn.", + "headersMustBeObject": "Bestemming - {index}: 'headers' moet een object zijn voor het type http.", + "urlNotAllowedEmail": "Bestemming - {index}: 'url' mag niet worden opgegeven voor het type e-mail.", + "headersNotAllowedEmail": "Bestemming - {index}: 'headers' mag niet worden opgegeven voor het type e-mail.", + "emailsRequired": "Bestemming - {index}: Het veld \\\"emails\\\" is verplicht en moet een array zijn voor bestemmingen van het type e-mail.", + "emailsMustBeStrings": "Bestemming - {index}: 'emails' moet een array van strings zijn voor het type e-mail.", + "templateRequiredEmail": "Bestemming - {index}: Het veld \\\"template\\\" is verplicht voor bestemmingen van het type e-mail.", + "templateNotFound": "Bestemming - {index}: template \\\"{template}\\\" bestaat niet voor type \\\"{type}\\\"", + "actionIdInvalid": "Bestemming - {index}: Het veld \\\"action_id\\\" moet een geldige string zijn.", + "createSuccess": "Bestemming - {index}: \\\"{name}\\\" succesvol aangemaakt \\nOpmerking: verwijder het aangemaakte bestemmingsobject {name} uit het json-bestand ", + "createFailed": "Bestemming - {index}: aanmaken van \\\"{name}\\\" mislukt --> \\n Reden: {reason}" }, "priorityP1Description": "Waarschuwingen met hoogste prioriteit", "priorityP2Description": "Waarschuwingen met hoge prioriteit", @@ -8023,7 +8023,7 @@ "severityInfoDescription": "Informatieve incidenten" }, "pipeline_destinations": { - "header": "Bestemmingen voor pijpleidingen", + "header": "Pijpleidingbestemmingen", "search": "Bestemming zoeken" }, "storage_settings": { @@ -8234,7 +8234,7 @@ }, "metricCard": { "lastRefreshed": "Laatst vernieuwd:", - "traceId": "Trace ID: {id}", + "traceId": "Trace-ID: {id}", "metricLabel": "Metriek: {name}", "queryLabel": "Query: {query}", "errorLabel": "Fout: {error}", @@ -8387,8 +8387,8 @@ "customLogoText": "Aangepaste logotekst", "orgLabel": "Organisatieparameters", "logDetails": "Gegevens van het logboek", - "traceIdFieldName": "Naam van het Trace ID-veld", - "spanIdFieldName": "Span ID-veldnaam", + "traceIdFieldName": "Veldnaam trace-ID", + "spanIdFieldName": "Veldnaam span-ID", "toggleIngestionLogsLabel": "Logboeken voor opname in- en uitschakelen", "usageStreamEnabledLabel": "Usage Stream inschakelen", "claimParserFunction": "SSO-claimparser", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "In kaart brengen van GenAI-agenten", "title": "In kaart brengen van GenAI-agenten", - "description": "Configureer de telemetriekenmerken die worden gebruikt om de identiteit van agenten te normaliseren voor LLM-traceringen en evaluaties.", + "description": "Configureer fallback-telemetrie-attributen die worden gebruikt om de agentidentiteit te normaliseren voor LLM-traces en -evaluaties.", "agentNameFields": "Terugvalvelden voor de naam van de agent", "agentNameHelp": "Inkomende attributen om te gebruiken als noodoplossing voor gen_ai.agent.name.", "agentNameInfo": "Alleen aangevinkt als het standaardattribuut gen_ai.agent.name ontbreekt of leeg is. Voeg één inkomend telemetriekenmerk per regel toe.", @@ -8532,7 +8532,7 @@ "resetToEmpty": "Terugzetten naar leeg", "clearRegistry": "Register wissen", "clearRegistryTitle": "Register van agenten wissen?", - "clearRegistryDescription": "Hiermee worden alle ontdekte registratielijnen van de GenAI-agent voor deze organisatie verwijderd. Nieuwe overeenkomende sporen zullen het register opnieuw vullen tijdens de opname.", + "clearRegistryDescription": "Dit verwijdert alle gedetecteerde GenAI-agentregisterrijen voor deze organisatie. Nieuwe overeenkomende traces vullen het register tijdens de ingestie opnieuw.", "clearRegistryConfirm": "Register wissen", "saved": "De toewijzing van GenAI-agenten is met succes opgeslagen", "clearRegistrySuccess": "GenAI-agentregister gewist. {deletedCount} opgeslagen agents en {bufferCount} gebufferde observaties verwijderd.", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "Opslaan van veldaliassen mislukt", "fieldAliasesUnsavedConfirm": "Je hebt niet-opgeslagen wijzigingen in veldtoewijzingen. Wil je deze verwijderen en vertrekken?", "discoveredServicesTitle": "Ontdekte services", - "discoveredServicesDescription": "Services worden automatisch ontdekt op basis van uw telemetriegegevens en gegroepeerd op basis van hun Fully Qualified Name (FQN) voor correlatie. Services die dezelfde FQN delen, worden aan elkaar gekoppeld in logboeken, traceringen en statistieken.", + "discoveredServicesDescription": "Services worden automatisch gedetecteerd uit uw telemetriegegevens en gegroepeerd op hun servicenaam voor correlatie. Services met dezelfde servicenaam worden met elkaar gecorreleerd via logboeken, traces en metrieken.", "noServicesYet": "Nog geen services ontdekt", "noServicesDescription": "Services worden hier weergegeven wanneer telemetriegegevens worden opgenomen met service-identificatiekenmerken (zoals k8s-deployment, servicenaam, enz.)", "searchServiceName": "Naam van de zoekservice...", @@ -8560,7 +8560,7 @@ "serviceName": "Naam van de service", "service": "Service", "logs": "Logboeken", - "traces": "Sporen", + "traces": "Traces", "metrics": "Metrieken", "lastSeen": "Laatst gezien", "retry": "Probeer het opnieuw", @@ -8572,7 +8572,7 @@ "fieldMappingDialogHelp": "Voeg veldnamen toe of verwijder ze die moeten worden herkend als de servicenaam in je telemetriegegevens.", "fieldMappingPlaceholder": "Typ een veldnaam en druk op Enter", "foundInLogs": "Gevonden in Logs", - "foundInTraces": "Gevonden in Traces", + "foundInTraces": "Gevonden in traces", "foundInMetrics": "Gevonden in Metrics", "distinguishByLabel": "Services onderscheiden op", "distinguishByHelp": "Kies velden die bepalen waar je services draaien. Bijvoorbeeld: cluster + namespace + deployment vormen samen een unieke identiteit voor elke service. Maximaal 5 velden.", @@ -8608,7 +8608,7 @@ "instancesCount": "({count} instanties)", "noDimensions": "geen dimensies", "defaultSetWarningTitle": "Correlatie is mogelijk onbetrouwbaar.", - "defaultSetWarningBody": "Deze instantie heeft geen disambiguatie — deze is ontdekt zonder enige workload-matching (geen cluster-, namespace- of omgevingscontext). Logs en traces kunnen afkomstig zijn van verschillende deployments van dezelfde servicenaam.", + "defaultSetWarningBody": "Deze instantie heeft geen ondubbelzinnigmaking — deze is gedetecteerd zonder workloadovereenkomst (geen cluster-, namespace- of omgevingscontext). Logboeken en traces kunnen afkomstig zijn van verschillende implementaties van dezelfde servicenaam.", "instanceIdentity": "Instantie-identiteit", "noDimensionsCatchAll": "Geen dimensies — catch-all-instantie", "streamSources": "Streambronnen", @@ -8863,7 +8863,7 @@ "noValues": "Geen waarden", "cardinality": "Kardinaliteit:", "uniqueValues": "{n} unieke waarden", - "streams": "Stromen", + "streams": "Streams", "streamsSubtext": "streams", "noAdditionalDimensions": "Geen extra dimensies gedetecteerd.", "noSampleData": "Geen voorbeeldgegevens beschikbaar voor dit veld.", @@ -9050,7 +9050,7 @@ "totalTimeRange": "Totaal aantal zoekopdrachten", "searchType": "Soort zoekopdracht", "querySource": "Bron van de zoekopdracht", - "traceId": "Trace-ID", + "traceId": "Trace ID", "userId": "Gebruikers-ID", "orgId": "Organisatie-ID", "streamType": "Streamtype", @@ -9137,15 +9137,15 @@ }, "openInFullView": "In volledige weergave openen", "viewLogs": "Logboeken bekijken", - "viewLogsUnavailable": "Kan de logs voor deze span niet openen.", + "viewLogsUnavailable": "Kan de logboeken voor dit span niet openen.", "backToLogs": "Terug naar de logboeken", "openInTraces": "Openen in Traces", "loadingStream": "Stream wordt geladen...", "noLogsAvailableForService": "Geen logboeken beschikbaar voor deze service", - "noCorrelatedLogsFound": "Geen gecorreleerde logs gevonden voor deze span", + "noCorrelatedLogsFound": "Geen gecorreleerde logboeken gevonden voor dit span", "noData": { - "title": "Begin met het verzenden van traces naar {product}", - "description": "Er zijn nog geen tracestreams gevonden in deze organisatie. Instrument uw diensten en sporen verschijnen hier automatisch.", + "title": "Start met het verzenden van traces naar {product}", + "description": "Nog geen trace-streams gevonden in deze organisatie. Instrumenteer uw services en traces verschijnen hier automatisch.", "otlp": "Verzend traces via {product}", "otlpDesc": "{product1}, {product2} en elke {product3}-compatibele SDK", "otelCollectorDesc": "Stuur alle telemetriesignalen via {product}", @@ -9155,21 +9155,21 @@ "configureFullTextSearch": "om een volledig tekstzoekveld voor de stream in te stellen.", "collapseFields": "Velden samenvouwen", "openFields": "Open velden", - "timeRangeUpdated": "Dit spoor is niet opgenomen in het geselecteerde tijdbereik. Het tijdbereik is bijgewerkt zodat het overeenkomt met de tijdstempel van de trace.", - "errorRetrievingTraces": "Er is een fout opgetreden bij het ophalen van sporen.", - "fetchingTraces": "Hou je vast, we halen je sporen op.", + "timeRangeUpdated": "Het geselecteerde tijdsbereik bevatte deze trace niet. Het tijdsbereik is bijgewerkt naar de tijdstempel van de trace.", + "errorRetrievingTraces": "Er is een fout opgetreden tijdens het ophalen van traces.", + "fetchingTraces": "Traces laden...", "noStream": { "title": "Kies een stream om te beginnen met verkennen", - "description": "Kies een traceerstream en druk vervolgens op Query uitvoeren. Je kunt filteren op service, duur, bereikstatus en meer zodra de resultaten zijn geladen.", + "description": "Kies een trace-stream en druk op Query uitvoeren. U kunt filteren op service, duur, spanstatus en meer zodra de resultaten zijn geladen.", "selectStream": "Selecteer een stream", - "selectStreamDesc": "Bekijk beschikbare tracestreams in deze organisatie", + "selectStreamDesc": "Blader door beschikbare trace-streams in deze organisatie", "queryGuide": "Lees de traces-gids", - "queryGuideDesc": "Servicegrafiek, spanfiltering, RED-statistieken en meer", + "queryGuideDesc": "Servicegrafiek, spanfiltering, RED-metrieken en meer", "recent": "Recent:" }, "noEvents": { - "title": "Geen sporen gevonden", - "descNoFilters": "Er zijn geen sporen gevonden in {range}. Probeer het tijdbereik te vergroten om de resultaten te laden.", + "title": "Geen traces gevonden", + "descNoFilters": "Geen traces gevonden in {range}.", "descWithFilters": "Er kwam niets overeen met deze zoekopdracht in het geselecteerde venster. Probeer het tijdbereik te vergroten of een filter te verwijderen.", "descOutOfRange": "Je tijdvenster bevat geen gegevens uit deze stream. Spring naar het moment waarop de gegevens voor het laatst zijn gezien.", "jumpToData": "Naar nieuwste gegevens springen", @@ -9177,38 +9177,38 @@ "askAi": "Vraag AI om mijn vraag op te lossen", "selectedRange": "het geselecteerde bereik" }, - "tracesFound": "Sporen gevonden", - "spansFound": "Overspanningen gevonden", - "errorTraces": "Foutsporen", - "errorSpans": "Foutspanne", + "tracesFound": "Traces gevonden", + "spansFound": "Spans gevonden", + "errorTraces": "Fouttraces", + "errorSpans": "Foutspans", "filterByErrors": "Filteren op fouten", "clearErrorFilter": "Foutfilter wissen", "error": "FOUT", "errorCount": "{n} FOUT | {n} FOUTEN", "success": "SUCCES", - "applyPendingFilters": "Filters in behandeling en zoeksporen toepassen", + "applyPendingFilters": "Pas de openstaande filters toe en zoek traces", "backToTraces": "Terug naar Traces", "loadingTrace": "Aan het laden...", - "traceId": "Traceer-ID", - "copyTraceId": "Trace-ID kopiëren", + "traceId": "Trace ID", + "copyTraceId": "Kopieer Trace ID", "viewFilters": "Filters bekijken", - "reviewAndApplyFilters": "Filters bekijken en toepassen op Traces", - "spansLabel": "overspant", + "reviewAndApplyFilters": "Bekijk en pas filters toe op traces", + "spansLabel": "spans", "errorsLabel": "fouten", "previousMatch": "Vorige wedstrijd", "nextMatch": "Volgende wedstrijd", - "searchInSpans": "Zoek in spanen", - "spansTableView": "Overspant de tabelweergave", + "searchInSpans": "Zoeken in spans", + "spansTableView": "Spans-tabelweergave", "comingSoon": "Binnenkort beschikbaar...", - "fetchingTrace": "Je spoor ophalen.", - "traceFilters": "Traceerfilters", - "showTraces": "Sporen weergeven", + "fetchingTrace": "Uw trace wordt opgehaald.", + "traceFilters": "Trace-filters", + "showTraces": "Toon traces", "applyAndSearch": "Solliciteer en zoek", "timestamp": "Tijdstempel", - "noErrorPresent": "Geen fout aanwezig voor deze reeks", - "noEventsPresent": "Geen gebeurtenissen voor deze span", - "noLinksPresent": "Geen koppelingen voor deze span", - "loadingTraceDag": "Trace DAG laden...", + "noErrorPresent": "Geen fout aanwezig voor dit span", + "noEventsPresent": "Geen events voor dit span", + "noLinksPresent": "Geen koppelingen voor dit span", + "loadingTraceDag": "Trace-DAG laden...", "exceptionsWithCount": "Uitzonderingen ({count})", "typeLabel": "Typ:", "messageLabel": "Bericht:", @@ -9254,12 +9254,12 @@ "failedToLoad": "Laden van de sessie is mislukt", "retry": "Probeer het opnieuw", "sessionNotFound": "Sessie niet gevonden", - "noSpansFound": "Er zijn geen spans gevonden voor {id} in de huidige periode.", - "searchPlaceholder": "Zoek naar sporen in deze sessie...", + "noSpansFound": "Geen spans gevonden voor {id} in het huidige tijdsbereik.", + "searchPlaceholder": "Zoek traces in deze sessie…", "turn": "beurt", "turns": "omdraaien", "turnCount": "{count} {unit}", - "openInTraceExplorer": "Trace bekijken", + "openInTraceExplorer": "Bekijk trace", "filters": { "status": "Status", "model": "Model", @@ -9348,7 +9348,7 @@ "warning": "Waarschuwing", "critical": "Kritiek" }, - "viewTraces": "Bekijk de sporen", + "viewTraces": "Bekijk traces", "types": { "all": "Alles", "service": "Diensten", @@ -9362,8 +9362,8 @@ "title": "Foutpercentage" } }, - "spansTab": "Overspant", - "tracesTab": "Sporen", + "spansTab": "Spans", + "tracesTab": "Traces", "serviceGraphTab": "Servicegrafiek", "serviceGraphSubtitle": "Bekijk hoe uw services elkaar aanroepen — afhankelijkheden, doorvoer en foutpercentages", "servicesCatalogSubtitle": "Elke service die traces verzendt, met latentie, doorvoer en foutpercentage", @@ -9372,10 +9372,10 @@ "layoutHorizontal": "Horizontaal", "layoutVertical": "Verticaal", "layoutForce": "Indeling van de kracht", - "exportTraces": "Sporen exporteren", + "exportTraces": "Exporteer traces", "waterfall": "Waterval", "flameGraph": "Vlamgrafiek", - "traceGraph": "Spoorgrafiek", + "traceGraph": "Trace-grafiek", "thread": "Draad", "dbSpanDetails": { "dbSystem": "DB-systeem", @@ -9385,7 +9385,7 @@ "host": "Host", "user": "Gebruiker", "storedProcedure": "Opgeslagen procedure", - "noQueryText": "Geen querytekst geregistreerd voor deze span.", + "noQueryText": "Geen querytekst vastgelegd voor dit span.", "performance": "Prestaties", "rowsReturned": "Teruggegeven rijen", "batchSize": "Batchgrootte", @@ -9398,7 +9398,7 @@ "changeStreamTitle": "Stream wijzigen?", "switchStream": "Stream wisselen", "cancel": "Annuleren", - "changeStreamMessage": "Dit werkt ook de stream bij in het tabblad Traces/Spans en reset de bestaande query.", + "changeStreamMessage": "Dit zal ook de stream in het tabblad Traces/Spans bijwerken en de bestaande query resetten.", "errorGettingFunctions": "Fout bij ophalen van functies", "errorPullingIndex": "Fout bij ophalen van index voor geselecteerde organisatie{message}", "errorGettingStreams": "Fout bij ophalen van streams", @@ -9426,8 +9426,8 @@ "operationName": "Operatienaam", "duration": "Duur", "spans": "Spans", - "spanKind": "Spansoort", - "spanStatus": "Spanstatus", + "spanKind": "Span-type", + "spanStatus": "Span-status", "status": "Status", "serviceLatency": "Servicelatentie", "inputTokens": "Invoertokens", @@ -9440,7 +9440,7 @@ "time": "Tijd", "service": "Service", "operation": "Operatie", - "traceId": "Trace-ID" + "traceId": "Trace ID" }, "lLMInsightsDashboard": { "stream": "Stream", @@ -9454,7 +9454,7 @@ "viewByStream": "Bekijk op stream", "totalCost": "Totale kosten", "totalTokens": "Totaal aantal tokens", - "totalTraces": "Totaal aantal traces", + "totalTraces": "Totaal traces", "p95Latency": "P95-latentie", "errorRate": "Foutpercentage", "timeAxis": "Tijd", @@ -9468,11 +9468,11 @@ "logs": "Logboeken", "traces": "Traces", "databases": "Databases", - "viewTraces": "Traces bekijken", + "viewTraces": "Bekijk traces", "operations": "Operaties", "metrics": "Metrieken", "noOperationsFound": "Geen operaties gevonden", - "viewInTraces": "Bekijken in traces", + "viewInTraces": "Bekijk in Traces", "noResourceDataFound": "Geen {resource}-gegevens gevonden", "retry": "Opnieuw proberen", "noMetricsAvailable": "Geen metrieken beschikbaar voor deze service.", @@ -9518,13 +9518,13 @@ "processExitCode": "Procesafsluitcode" }, "traceLatencyCell": { - "spansAcrossServices": "{spans} spans over {services} services" + "spansAcrossServices": "{spans} spans verspreid over {services} services" }, "threadToolCalls": { "toolCall": "toolaanroep", "toolCalls": "toolaanroepen", "showCalls": "Toon aanroepen", - "openSpanDetails": "Spandetails openen", + "openSpanDetails": "Open span-details", "arguments": "Argumenten", "result": "Resultaat", "empty": "(leeg)" @@ -9541,14 +9541,14 @@ "noSpansLoaded": "Geen spans geladen voor deze trace.", "noLlmTurns": "Geen LLM-beurten gedetecteerd. De trace bevat geen spans met", "system": "Systeem", - "historicalMessage": "{count} eerder bericht uit deze sessie — verwerkt in eerdere traces. | {count} eerdere berichten uit deze sessie — verwerkt in eerdere traces.", + "historicalMessage": "{count} eerder bericht van deze sessie — behandeld in eerdere traces. | {count} eerdere berichten van deze sessie — behandeld in eerdere traces.", "user": "Gebruiker", "startedAt": "Gestart om {time}", "unknown": "onbekend", "tokens": "Tokens", "tokensSuffix": "tokens", "error": "Fout", - "viewSpan": "Span bekijken" + "viewSpan": "Bekijk span" }, "traceHeader": { "operationName": "Operatienaam" @@ -9566,7 +9566,7 @@ "start": "Start", "requestResent": "Verzoek {count} keer opnieuw verzonden | Verzoek {count} keer opnieuw verzonden", "resends": "Opnieuw verzonden", - "spanIdTitle": "Span-ID: {id}", + "spanIdTitle": "Span ID: {id}", "inputTokens": "Invoertokens", "in": "In", "outputTokens": "Uitvoertokens", @@ -9588,7 +9588,7 @@ "timestamp": "Tijdstempel", "enterpriseLicenseRequired": "Correlatiefunctie vereist enterprise-licentie", "missingSpanOrStream": "Ontbrekende span- of streamnaam", - "spanIdCopied": "Span-ID gekopieerd naar klembord", + "spanIdCopied": "Span ID naar klembord gekopieerd", "attributesCopied": "Attributen gekopieerd naar klembord", "copiedToClipboard": "{type} gekopieerd naar klembord", "failedToCopyClipboard": "Kopiëren naar klembord mislukt", @@ -9605,13 +9605,13 @@ "spanNotFound": "Span {spanId} niet gevonden in trace", "unknownOperation": "Onbekende bewerking", "unknownService": "Onbekende service", - "traceIdCopied": "Trace-ID gekopieerd naar klembord", + "traceIdCopied": "Trace ID naar klembord gekopieerd", "sessionIdCopied": "Sessie-ID gekopieerd naar klembord" }, "traceTree": { "clickToExpand": "Klik om uit te vouwen", "clickToCollapse": "Klik om in te vouwen", - "errorSpan": "Foutspan", + "errorSpan": "Fout-span", "httpStatus": "HTTP {status}", "spanEvent": "{count} span-gebeurtenis | {count} span-gebeurtenissen" }, @@ -9642,22 +9642,22 @@ "correlation": { "distributedTrace": "Gedistribueerde trace", "loadingTraceData": "Tracegegevens laden...", - "noTraceInfoAvailable": "Geen trace-informatie beschikbaar voor dit evenement", - "traceIdLabel": "Trace-ID:", - "copyTraceId": "Kopieer Trace-ID", - "spanIdLabel": "Span-ID:", + "noTraceInfoAvailable": "Geen trace-informatie beschikbaar voor deze gebeurtenis", + "traceIdLabel": "Trace ID:", + "copyTraceId": "Kopieer Trace ID", + "spanIdLabel": "Span ID:", "spanHierarchy": "Span-hiërarchie:", - "applicationSpan": "Applicatie-Span", - "browserSdkSpanPrefix": "Browser SDK Span (", + "applicationSpan": "Applicatie-span", + "browserSdkSpanPrefix": "Browser SDK-span (", "closingParen": ")", - "backendSpansPrefix": "Backend Spans (", + "backendSpansPrefix": "Backend-spans (", "performanceBreakdown": "Prestatie-uitsplitsing:", "totalDuration": "Totale duur:", "browserLabel": "Browser:", "networkLabel": "Netwerk:", "backendLabel": "Backend:", "viewTraceDetails": "Bekijk trace-details", - "backendTraceNotAvailable": "Backend-tracegegevens nog niet beschikbaar. Tracegegevens kunnen tot 30 seconden duren om te worden verwerkt." + "backendTraceNotAvailable": "Backend-tracegegevens zijn nog niet beschikbaar. Het kan tot 30 seconden duren voordat de tracegegevens worden opgenomen." }, "failedToAnalyzeDimensions": "Kan dimensies niet analyseren.", "failedToFetchCorrelatedLogs": "Kan gecorreleerde logs niet ophalen.", @@ -10017,11 +10017,11 @@ "selectMetrics": "Selecteer Metric Streams", "correlatedLogs": "Gecorreleerde logboeken", "correlatedMetrics": "Gecorreleerde statistieken", - "correlatedTraces": "Gecorreleerde sporen", + "correlatedTraces": "Traces", "loadingCorrelation": "Correlatiedata wordt geladen...", "clickToLoadLogs": "Klik om gecorreleerde logboeken te laden", "clickToLoadMetrics": "Klik om gecorreleerde statistieken te laden", - "clickToLoadTraces": "Klik om gecorreleerde sporen te laden", + "clickToLoadTraces": "Klik om gecorreleerde traces te laden", "logs": { "filtersLabel": "Filters", "allValues": "Alle waarden", @@ -10040,19 +10040,19 @@ "noLogsFound": "Geen gecorreleerde logboeken gevonden", "noDataFound": "Geen gegevens gevonden", "noLogsDescription": "Er zijn geen logboeken gevonden voor deze correlatie in het geselecteerde tijdbereik.", - "correlatedTracesFor": "Gecorreleerde sporen voor service: {service}", + "correlatedTracesFor": "Gecorreleerde traces voor service: {service}", "all": "Alles", - "loadingTraces": "Gecorreleerde sporen worden geladen...", - "tracesError": "Het laden van sporen is mislukt", - "tracesErrorDetails": "Er is een fout opgetreden tijdens het ophalen van traceergegevens. Probeer het nog eens.", + "loadingTraces": "Traces laden...", + "tracesError": "Kan traces niet laden", + "tracesErrorDetails": "Er is een fout opgetreden bij het ophalen van tracegegevens. Probeer het opnieuw.", "metricsError": "Kan statistieken niet laden", "metricsErrorDetails": "Er is een fout opgetreden tijdens het ophalen van metrische gegevens. Probeer het nog eens.", "noMetricsDescription": "Er zijn geen statistieken gevonden voor deze correlatie in het geselecteerde tijdbereik.", "dimensionBasedCorrelation": "Correlatie op basis van dimensies", - "tracesFromService": "Sporen van service: {service}", - "noTracesFound": "Geen gecorreleerde sporen gevonden", - "noTracesDescription": "Geen traces gevonden voor deze correlatie in de geselecteerde periode.", - "viewInTraces": "Bekijk in Traces", + "tracesFromService": "Traces van service: {service}", + "noTracesFound": "Geen traces gevonden", + "noTracesDescription": "Geen traces gevonden voor deze correlatie in het geselecteerde tijdsbereik.", + "viewInTraces": "Bekijken in Traces", "filters": "Filters", "semanticFieldGroupsCaption": "Definieer veldnaamtoewijzingen voor correlatie en deduplicatie (bijv. host, hostnaam, knooppunt → 'host'-groep)", "exportToJson": "Exporteren naar JSON", @@ -10185,10 +10185,10 @@ "editCrossLink": "Cross-link bewerken", "name": "Naam", "nameRequired": "Naam is verplicht", - "namePlaceholder": "bijv. Traceergegevens bekijken", + "namePlaceholder": "bijv., Tracegegevens bekijken", "urlTemplate": "URL-sjabloon", "urlRequired": "URL is vereist", - "urlPlaceholder": "bijv. https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", + "urlPlaceholder": "bijv., https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", "urlInvalid": "Voer een geldige http(s)-URL in", "urlHint": "Gebruik {'${field.__name}'}, {'${field.__value}'}, {'${start_time}'}, {'${end_time}'}, {'${query}'}, {'${query_encoded}'}", "fields": "Velden", @@ -10281,7 +10281,7 @@ "colPattern": "Patroon", "colPricingSimple": "Prijsstelling", "testMatchTitle": "Match tussen testmodellen", - "testMatchSubtitle": "Simuleer hoe een modelnaam uit uw reeks zou passen bij de prijsregels.", + "testMatchSubtitle": "Simuleer hoe een modelnaam uit uw spans overeenkomt met prijsregels.", "modelNameInput": "Naam van het model", "modelNameHint": "De modelnaam van jouw generaties.", "enterModelName": "Voer een modelnaam in om de vergelijking te testen", @@ -10445,11 +10445,11 @@ "sessions": "Bekijk en inspecteer de sessies van agenten beurtelings", "agentGraph": "Zie waarmee uw agenten interageren — tools, modellen, services en datastores", "agentBehavior": "Identificeer agenten die vastzitten in lussen en de fouten die ze laten falen", - "discovery": "Vind ongezonde traces die de moeite waard zijn om te reviewen", + "discovery": "Vind ongezonde traces die de moeite waard zijn om te beoordelen", "queues": "Stateful review-to-do-lijsten", - "datasets": "Cureer gouden datasets uit geannoteerde traces en reviews", + "datasets": "Stel gouden datasets samen uit geannoteerde traces en beoordelingen", "experiments": "Bekijk een voorbeeld en maak onveranderlijke offline evaluatieruns", - "quality": "Volg de scorekwaliteit bij span-, trace- en sessie-evaluaties", + "quality": "Volg de scorekwaliteit bij evaluaties van span, trace en sessie", "evalJobs": "Voer evaluatietaken uit en controleer ze tijdens al je sessies", "scorers": "Creëer en beheer de scorers die LLM-resultaten beoordelen", "scoreConfigs": "Configureer de scorerubrieken die voor uw evaluaties worden gebruikt" @@ -10493,7 +10493,7 @@ "dataset": { "button": "Toevoegen aan dataset", "title": "Toevoegen aan dataset", - "hint": "Zet {ref} om in een golden. De invoer wordt teruggelezen uit de trace — jij schrijft de verwachte uitvoer.", + "hint": "Maak van {ref} een golden. De invoer wordt teruggelezen uit de trace — u schrijft de verwachte uitvoer.", "errors": { "dataset": "Selecteer een dataset", "expectedOutput": "Schrijf de verwachte uitvoer" @@ -10502,7 +10502,7 @@ "datasetPlaceholder": "Selecteer een dataset...", "noDatasets": "Nog geen datasets — maak er eerst een aan op de pagina Datasets.", "inputLabel": "Invoer", - "inputReadOnly": "gelezen uit de trace", + "inputReadOnly": "lezen uit de trace", "expectedLabel": "Verwachte uitvoer", "expectedPlaceholder": "Schrijf de uitvoer die dit had moeten produceren...", "confirm": "Toevoegen aan dataset", @@ -10638,10 +10638,10 @@ "searchPlaceholder": "Items zoeken...", "footerTitle": "Items", "allItems": "Alles", - "inTrace": "In Trace {traceId}", + "inTrace": "In trace {traceId}", "reviewAgain": "Opnieuw beoordelen", "emptyTitle": "Niets om te beoordelen", - "emptyBody": "Voeg traces, spans of sessies toe aan deze wachtrij vanuit Discovery of een trace-weergave.", + "emptyBody": "Voeg traces, spans of sessies toe aan deze wachtrij vanuit Discovery of een traceweergave.", "columns": { "refType": "Ref", "refId": "Referentie", @@ -10660,8 +10660,8 @@ "next": "Volgend item", "collapseNav": "Itemslijst samenvouwen", "expandNav": "Itemslijst uitvouwen", - "openTrace": "Open volledige trace", - "openTraceSoon": "De volledige trace-weergave komt in de volgende update.", + "openTrace": "Volledige trace openen", + "openTraceSoon": "De volledige traceweergave verschijnt in de volgende update.", "input": "Invoer", "output": "Uitvoer", "retrievedContext": "Opgehaalde context", @@ -11100,7 +11100,7 @@ "stream": "Stream", "agent": "Agent", "noAgentsTitle": "Geen agents gevonden", - "noAgentsDescription": "Er zijn geen agents gevonden in dit tijdsbereik. Probeer het tijdsbereik te vergroten of controleer of uw traces gen_ai agent-attributen bevatten.", + "noAgentsDescription": "Er zijn geen agents gevonden in dit tijdsbereik. Probeer het tijdsbereik te vergroten, of controleer of uw traces gen_ai-agentkenmerken bevatten.", "versionAgnosticHint": "De topologie is hetzelfde voor alle versies — de grafiek filtert op omgeving, niet op versie. Gebruik versievergelijking om versies te vergelijken." }, "panels": { @@ -11113,8 +11113,8 @@ "subtitle": "tokens per model" }, "spanTrend": { - "title": "Spantrend", - "subtitle": "aantal spanwijdten per soort" + "title": "Span-trend", + "subtitle": "aantal spans per soort" }, "latencyByModel": { "title": "Latentie per model", @@ -11129,7 +11129,7 @@ "subtitle": "aantal fouten" }, "spansByModel": { - "title": "Overspanningen per model", + "title": "Spans per model", "subtitle": "aantal gesprekken per model" }, "tokensByModel": { @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "Recente fouten", - "subtitle": "laatste 10 mislukte overspanningen" + "subtitle": "laatste 10 mislukte spans" } }, "behavior": { @@ -11148,7 +11148,7 @@ "disabled": "Agentgedragssignalen zijn uitgeschakeld voor deze implementatie" }, "loopsTitle": "Lussende agenten", - "loopsHint": "Agenten die hetzelfde gereedschap vele malen per trace opnieuw uitvoeren", + "loopsHint": "Agents die hetzelfde gereedschap vele malen per trace opnieuw uitvoeren", "summaryLoops": "Lussende agents", "summaryFailures": "Fouttaxonomie", "summaryAgents": "Getroffen agents", @@ -11188,17 +11188,17 @@ "showLess": "Toon minder", "colError": "Foutmelding", "colOccurrences": "Keren", - "loopHeadline": "{agent} riep {tool} gemiddeld {ratio}× per trace aan ({calls} aanroepen over {traces} traces).", + "loopHeadline": "{agent} riep {tool} gemiddeld {ratio}× per trace aan ({calls} aanroepen in {traces} traces).", "failHeadline": "{agent} stuitte op {count} “{cls}” fouten.", "costHeadline": "{agent}: ${cost} uitgave · {tokens} tokens · {errors} fouten.", - "loopExplain": "Een hoge herhalingsratio betekent meestal dat de agent resultaten niet in de cache opslaat of opnieuw probeert. Open hieronder de slechtste traces om de herhaalde aanroepen te zien.", + "loopExplain": "Een hoog herhalingspercentage betekent meestal dat de agent resultaten niet cachet of opnieuw probeert. Open de slechtste traces hieronder om de herhaalde aanroepen te zien.", "failExplain": "Dit zijn de daadwerkelijke foutmeldingen achter deze foutklasse — lees ze om de oplossing te vinden, of open een trace om te zien waar het gebeurde.", - "costExplain": "Deze traces hebben de uitgaven van deze agent veroorzaakt. Open de duurste om te zien wat er werd uitgevoerd." + "costExplain": "Deze traces zorgden voor de uitgaven van deze agent. Open de duurste om te zien wat er draaide." } }, "versionCompare": { "datePickerDisabled": "Vensters zijn per versie in deze modus", - "sampledNote": "Latentie- en kostenintervallen worden berekend uit maximaal {cap} willekeurig geselecteerde traces per versie.", + "sampledNote": "Latentie- en kostenintervallen worden berekend uit maximaal {cap} willekeurig gesamplede traces per versie.", "bar": { "versionA": "Versie A", "versionB": "Versie B", @@ -11279,8 +11279,8 @@ }, "manualEvaluation": { "titles": { - "span": "Evalueer span", - "trace": "Evalueer trace", + "span": "Span evalueren", + "trace": "Trace evalueren", "session": "Evalueer sessie" }, "targetLabels": { @@ -11297,7 +11297,7 @@ "jobLabel": "Eval Job", "jobPlaceholder": "Selecteer een Eval Job", "jobRequired": "Selecteer een Eval Job", - "noCompatibleJobs": "Geen {scope} Eval Jobs gebruiken de {stream} trace-stream.", + "noCompatibleJobs": "Geen {scope} Eval-taken gebruiken de {stream} tracestream.", "loadJobsError": "Laden van Eval Jobs mislukt.", "run": "Evaluatie uitvoeren", "queued": "{count} evaluatietaak in de wachtrij geplaatst. | {count} evaluatietaken in de wachtrij geplaatst.", @@ -11393,7 +11393,7 @@ }, "runs": { "title": "Evaluatiescores", - "hint": "Scores en onderbouwing komen van _llm_scores. Selecteer een run om de evaluator-trace te openen voor verder onderzoek.", + "hint": "Scores en redeneringen komen van _llm_scores. Selecteer een run om de evaluatortrace te openen voor verder onderzoek.", "filterLabel": "Filter evaluatiescores", "footerTitle": "Evaluatiescores", "noThresholdHint": "Stel een gezonde drempel in op deze Scoreconfiguratie om ongezonde scores te classificeren en te markeren.", @@ -11588,7 +11588,7 @@ "booleanInfo": "Boolean-configuraties accepteren de waarden {trueLabel} / {falseLabel}. Geen aanvullende configuratie nodig.", "healthyThresholdTitle": "Gezonde drempelwaarde", "optional": "Optioneel", - "healthyThresholdIntro": "Bepaal wanneer scores op deze dimensie als gezond worden beschouwd. Scores buiten dit bereik veroorzaken kwaliteitsproblemen in tracelijsten, sessies en andere weergaven.", + "healthyThresholdIntro": "Definieer wanneer scores op deze dimensie als gezond worden beschouwd. Scores buiten dit bereik zullen kwaliteitsproblemen veroorzaken in tracelijsten, sessies en andere weergaven.", "healthyWhenValueIs": "Gezond wanneer waarde is:", "healthyCategories": "Gezonde categorieën:", "healthyCategoriesHint": "Vink alle waarden aan die als gezond tellen.", @@ -11668,7 +11668,7 @@ "time": "Tijd", "job": "Taak", "spanId": "Span-ID", - "traceId": "Traceer-ID", + "traceId": "Trace-ID", "score": "Score", "latency": "Latentie", "status": "Status" @@ -11860,7 +11860,7 @@ "idleWindowLabel": "Inactief Venster", "maxAgeLabel": "Maximale Leeftijd", "filterLabel": "Filter", - "filterEmpty": "Geen filter — elke span wordt geëvalueerd", + "filterEmpty": "Geen filter — elk span wordt geëvalueerd", "scorersSection": "Scorers", "scorersEmpty": "Nog geen scorers gekoppeld aan deze taak.", "scorerUnknown": "(verwijderde scorer)", @@ -11897,7 +11897,7 @@ "time": "Tijd", "scorer": "Scorer", "spanId": "Span-ID", - "traceId": "Traceer-ID", + "traceId": "Trace-ID", "score": "Score", "latency": "Latentie", "status": "Status" @@ -11953,20 +11953,20 @@ "session": "Sessie" }, "targetScopeHelp": { - "span": "Evalueer elke overeenkomende span onafhankelijk.", + "span": "Evalueer elk overeenkomend span afzonderlijk.", "trace": "Evalueer een hele trace nadat het voltooiingsvenster sluit.", "session": "Evalueer een sessie over traces heen nadat het voltooiingsvenster sluit." }, "completionSection": "Voltooiingscriteria", "completionHelp": { - "trace": "De trace wordt geëvalueerd zodra aan de eerste van deze criteria is voldaan.", + "trace": "De trace wordt geëvalueerd zodra aan de eerste van deze voorwaarden is voldaan.", "session": "De sessie wordt geëvalueerd zodra aan de eerste van deze criteria is voldaan." }, "idleWindowLabel": "Inactief venster (seconden)", "idleWindowHelp": "Geëvalueerd na {duration} zonder nieuwe spans.", "idleWindowHelpEmpty": "Geëvalueerd zodra er geen nieuwe spans meer binnenkomen.", "maxAgeLabel": "Maximale leeftijd (seconden)", - "maxAgeHelp": "Geëvalueerd {duration} na de eerste span.", + "maxAgeHelp": "Geëvalueerd {duration} na het eerste span.", "maxAgeHelpEmpty": "Geëvalueerd op een vaste leeftijd, zelfs als er nog spans binnenkomen.", "descriptionLabel": "Omschrijving", "samplingModeLabel": "Bemonsteringsmodus", @@ -11978,8 +11978,8 @@ "scorerPicker": { "title": "Scorers", "hint": { - "span": "Selecteer een of meerdere scorers die voor elke overeenkomende span moeten worden uitgevoerd.", - "trace": "Selecteer een of meerdere scorers die voor elke in aanmerking komende trace moeten worden uitgevoerd.", + "span": "Selecteer een of meer scorers om uit te voeren voor elk overeenkomend span.", + "trace": "Selecteer een of meer scorers om uit te voeren voor elke in aanmerking komende trace.", "session": "Selecteer een of meerdere scorers die voor elke in aanmerking komende sessie moeten worden uitgevoerd." }, "meta": "{type} · v {version}", @@ -12012,8 +12012,8 @@ "title": "Promptvariabelen", "hint": { "span": "Wijs elke variabele toe aan een span-attribuut.", - "trace": "Wijs elke variabele toe aan een systeemwaarde of span-attribuut.", - "session": "Wijs elke variabele toe aan een systeemwaarde of span-attribuut." + "trace": "Wijs elke variabele toe aan een door het systeem geleverde waarde of span-attribuut.", + "session": "Wijs elke variabele toe aan een door het systeem geleverde waarde of span-attribuut." }, "placeholder": "Selecteer een waarde", "searchPlaceholder": "Zoek systeemwaarden en span-attributen…", @@ -12043,15 +12043,15 @@ "trace": "Uitvoer van de root-span van de trace." }, "statistics": { - "trace": "Trace-statistieken: aantal spans, duur, LLM- en toolaanroepen, fouten, tokens en kosten.", - "session": "Sessie-statistieken: aantal traces en beurten, duur en fouten." + "trace": "Trace-metrieken: span-aantal, duur, LLM- en toolcalls, fouten, tokens en kosten.", + "session": "Sessiemetrieken: trace- en turn-aantallen, duur en fouten." }, "spans": { "trace": "Een gefilterde subset van spans, gekozen door de Span Selector van de taak." }, "steps": { - "trace": "Spans in tijdsvolgorde; het middelste deel wordt ingeklapt als de trace erg lang is.", - "session": "Traces in tijdsvolgorde, weergegeven als conversatiebeurten." + "trace": "Spans in tijdsvolgorde; het midden wordt samengevouwen wanneer de trace erg lang is.", + "session": "Traces in tijdsvolgorde, weergegeven als gespreksbeurten." } } } @@ -12066,17 +12066,17 @@ "schemaMode": "Te lezen velden", "defaultSchema": "Standaard GenAI-velden", "customSchema": "Aangepaste velden", - "defaultSchemaHelp": "Deze acht velden worden uitgelezen uit elke overeenkomende span. Ontbrekende gegevens worden leeg doorgegeven.", + "defaultSchemaHelp": "Deze acht velden worden uit elke overeenkomende span gelezen. Ontbrekende waarden blijven leeg.", "fields": "Velden", "fieldsHelp": "Alleen deze velden worden uitgelezen — er wordt niets anders naar de scorer gestuurd.", - "maximumSpans": "Maximum aantal spans", + "maximumSpans": "Maximale spans", "budget": "Beperkt hoeveel spans uit de trace worden geselecteerd.", "validation": { "name": "Voer een selectornaam in.", "duplicateName": "Selectornamen moeten uniek zijn in deze taak.", "filter": "Voltooi of verwijder de onvoltooide filterconditie.", "fields": "Selecteer ten minste één veld voor een aangepast schema.", - "maximumSpans": "Maximum aantal spans moet een positief geheel getal zijn.", + "maximumSpans": "Het maximale aantal spans moet een positief geheel getal zijn.", "budget": "Te veel spans voor de geselecteerde velden. Verlaag het aantal spans of lees minder velden.", "binding": "Selecteer een Span Selector voor elke scorer die trace-spans gebruikt." } @@ -12085,14 +12085,14 @@ "scopes": { "span": { "title": "Overeenkomende spans", - "hint": "Zodra u een stream en filter hebt gekozen, toont dit paneel hoeveel spans uw taak zal matchen.", - "matchedSuffix": "overeenkomende spans · laatste 1 uur", + "hint": "Zodra je een stream en filter hebt gekozen, toont dit paneel hoeveel spans je taak zal matchen.", + "matchedSuffix": "spans gematcht · laatste 1 uur", "matchedLoading": "Overeenkomende spans tellen…" }, "trace": { "title": "Overeenkomende traces", - "hint": "Zodra u een stream en filter hebt gekozen, toont dit paneel hoeveel traces uw taak zal matchen.", - "matchedSuffix": "overeenkomende traces · laatste 1 uur", + "hint": "Zodra je een stream en filter hebt gekozen, toont dit paneel hoeveel traces je taak zal matchen.", + "matchedSuffix": "traces gematcht · laatste 1 uur", "matchedLoading": "Overeenkomende traces tellen…" }, "session": { @@ -12122,9 +12122,9 @@ "nameRequired": "Job name is required", "streamRequired": "A stream is required", "idleWindowMinimum": "Idle-venster moet minimaal 1 seconde zijn", - "idleWindowMaximumTrace": "Trace-inactiviteitsvenster mag niet langer zijn dan 30 minuten", + "idleWindowMaximumTrace": "Het inactieve venster van de trace mag niet langer dan 30 minuten zijn.", "idleWindowMaximumSession": "Sessie-inactiviteitsvenster mag niet langer zijn dan 4 uur", - "maxAgeMaximumTrace": "Maximale trace-leeftijd mag niet langer zijn dan 2 uur", + "maxAgeMaximumTrace": "De maximale leeftijd van de trace mag niet langer dan 2 uur zijn.", "maxAgeMaximumSession": "Maximale sessieleeftijd mag niet langer zijn dan 24 uur", "samplingValueRequired": "A sampling value is required" } @@ -12187,7 +12187,7 @@ "curlDesc": "Snelste manier: plak één opdracht en de logboeken beginnen te stromen", "shippers": "Gebruik een logboekverzender", "shippersDesc": "{product1}, {product2}, {product3}, {product4}, {product5} & meer", - "otelDesc": "Leveranciersonafhankelijke OTLP-opname voor logboeken, sporen en statistieken", + "otelDesc": "Leveranciersonafhankelijke OTLP-ingestie voor logboeken, traces en metrieken.", "or": "Of:", "aws": "AWS/CloudWatch", "askAi": "Vraag AI om de opname in te stellen" @@ -12196,13 +12196,13 @@ "title": "Kies een stream om te beginnen met verkennen", "description": "Kies een stream en druk vervolgens op Query uitvoeren. Je kunt verfijnen met filters, een VRL-functie en een aangepast tijdbereik zodra de resultaten binnen zijn.", "selectStream": "Selecteer een stream", - "selectStreamDesc": "Bekijk logboeken, traceringen, statistieken en RUM-streams", + "selectStreamDesc": "Blader door logboeken, traces, metrieken en RUM-streams.", "queryGuide": "Lees de handleiding voor zoekopdrachten", "queryGuideDesc": "Filters, SQL-modus, VRL en opgeslagen weergaven", "recent": "Recent:" }, "noEvents": { - "title": "Geen evenementen gevonden", + "title": "Geen gebeurtenissen gevonden", "descNoFilters": "Er zijn geen evenementen gevonden in {range}. Probeer het tijdbereik te vergroten om de resultaten te laden.", "descWithFilters": "Er kwam niets overeen met deze zoekopdracht in het geselecteerde venster. Probeer het tijdbereik te vergroten, een filter te vereenvoudigen of de query opnieuw in te stellen.", "descOutOfRange": "Je tijdvenster bevat geen gegevens uit deze stream. Spring naar het moment waarop de gegevens voor het laatst zijn gezien.", @@ -12496,7 +12496,7 @@ "expandRangeDesc": "Toegankelijke gegevens bevinden zich mogelijk in een ander tijdvenster", "copyError": "Foutgegevens kopiëren", "copied": "Gekopieerd!", - "traceId": "Traceer-ID:", + "traceId": "Trace-ID:", "askAi": "Vraag AI om mijn vraag op te lossen", "showDetail": "Details weergeven", "hideDetail": "Details verbergen" @@ -13268,7 +13268,7 @@ "maxDuration": "Maximale duur", "noExecutionData": "Geen uitvoeringsgegevens gevonden", "noExecutionDataDesc": "Streamgegevens voor run {runId} zijn niet gevonden in het +/-5 minuten venster rond de geplande tijd.", - "openTrace": "Open Playwright Trace", + "openTrace": "Playwright-trace openen", "runId": "Run-ID", "screenshotAlt": "Stap screenshot", "screenshotPlaceholder": "Screenshot placeholder", @@ -13370,7 +13370,7 @@ "weeks": "Weken" }, "customIntervalValue": "Herhaal elke", - "destinationRequired": "Er is minstens één bestemming vereist", + "destinationRequired": "Minstens één bestemming is vereist", "destinations": "Bestemmingen", "frequency": "Frequentie", "frequencyOptions": { @@ -13384,7 +13384,7 @@ }, "minutes": "minuten", "noDestinations": "Geen bestemmingen beschikbaar", - "refreshDestinations": "Bestemmingen vernieuwen", + "refreshDestinations": "Bestemmingen verversen", "retries": "Probeert opnieuw", "retriesOnFailure": "Probeert opnieuw bij mislukking", "retriesOnFailureSuffix": "keer.", @@ -13642,7 +13642,7 @@ "logs": "Logboeken", "dashboards": "Dashboards", "metrics": "Metrieken", - "traces": "Sporen", + "traces": "Traces", "alerts": "Waarschuwingen", "streams": "Streams", "pipelines": "Pijpleidingen", @@ -13662,7 +13662,7 @@ "dashboards": "Dashboard-weergave", "dashboardsPanel": "Dashboard — Paneel (plaats de muisaanwijzer op een paneel)", "metrics": "Metrieken", - "traces": "Sporen", + "traces": "Traces", "alerts": "Waarschuwingen", "streams": "Streams", "pipelines": "Pijpleidingen", @@ -13672,11 +13672,11 @@ "iamRoles": "IAM — Rollen", "iamGroups": "IAM — Groepen", "iamServiceAccounts": "IAM — Serviceaccounts", - "alertDestinations": "Waarschuwingen — Bestemmingen", + "alertDestinations": "Alarmen — Bestemmingen", "alertSources": "Waarschuwingen — Externe bronnen", "alertTemplates": "Waarschuwingen — Sjablonen", "panelEditor": "Paneel-editor", - "traceDetail": "Detail traceren", + "traceDetail": "Trace-detail", "runningQueries": "Zoekopdrachten uitvoeren", "ingestionTokens": "IAM — Tokens voor opname", "syntheticsTokens": "IAM — Synthetics-tokens", @@ -13768,8 +13768,8 @@ "panelEditorRun": "Query uitvoeren/toepassen", "panelEditorSave": "Paneel opslaan", "panelEditorBack": "Gooi weg en ga terug", - "traceNextSpan": "Volgende reeks", - "tracePrevSpan": "Vorige periode", + "traceNextSpan": "Volgende span", + "tracePrevSpan": "Vorige span", "runningQueriesRefresh": "Lijst met zoekopdrachten vernieuwen", "ingestionTokensAdd": "Maak een nieuw token", "ingestionTokensRefresh": "Tokenlijst vernieuwen", @@ -13780,7 +13780,7 @@ "aiChatExpand": "AI-chat uitvouwen/invouwen", "logsSaveView": "Opslaan als opgeslagen weergave", "logsExport": "Exporteer resultaten als CSV", - "tracesCopyUrl": "Kopieer de URL voor het delen van sporen", + "tracesCopyUrl": "Kopieer trace-deel-URL", "alertIncidentsRefresh": "Lijst verversen", "pipelineDestinationsRefresh": "Lijst verversen", "enrichmentTablesRefresh": "Lijst verversen", @@ -14133,7 +14133,7 @@ }, "eventStatus": { "failed": "Mislukt", - "firing": "In alarm", + "firing": "Actief", "anomaly": "Anomalie" }, "featureStatus": { @@ -14148,7 +14148,7 @@ "array": "Array" }, "incidentStatus": { - "firing": "In alarm", + "firing": "Actief", "closed": "Gesloten" }, "invoiceStatus": { @@ -14317,13 +14317,13 @@ "destinationsDeletedSuccessfully": "{count} bestemming succesvol verwijderd | {count} bestemmingen succesvol verwijderd", "failedToDeleteDestinations": "Verwijderen van {count} bestemming mislukt | Verwijderen van {count} bestemmingen mislukt", "destinationsDeletedWithFailures": "{count} bestemming succesvol verwijderd, {failed} mislukt | {count} bestemmingen succesvol verwijderd, {failed} mislukt", - "noDestinationsSelectedForDeletion": "Geen bestemmingen geselecteerd voor verwijdering", + "noDestinationsSelectedForDeletion": "Geen bestemmingen geselecteerd om te verwijderen", "deletingDestinations": "Bestemmingen verwijderen...", "destinationDeletedSuccessfully": "Bestemming {name} succesvol verwijderd", "errorWhilePullingDestinations": "Fout bij het ophalen van bestemmingen.", - "pleaseWaitWhileLoadingDestinations": "Een moment geduld terwijl de bestemmingen worden geladen...", + "pleaseWaitWhileLoadingDestinations": "Wacht even terwijl bestemmingen worden geladen...", "errorWhileLoadingActions": "Fout bij het laden van acties.", - "pleaseWaitWhileLoadingAlertDestination": "Een moment geduld terwijl de alertbestemming wordt geladen...", + "pleaseWaitWhileLoadingAlertDestination": "Wacht even terwijl de alarmbestemming wordt geladen...", "errorImportingAlertPleaseCheck": "Fout bij het importeren van alert. Controleer de JSON.", "alertsImportedSuccessfully": "{count} alert succesvol geïmporteerd | {count} alerts succesvol geïmporteerd", "invalidJson": "Ongeldige JSON: {error}", @@ -14564,7 +14564,7 @@ "errorWhileUpdating": "Fout bij het bijwerken van rapport." }, "correlation": { - "refreshingTraceData": "Tracegegevens vernieuwen...", + "refreshingTraceData": "Trace-gegevens verversen...", "traceDetailViewComingSoon": "Trace-detailweergave binnenkort beschikbaar", "columnIsAlreadyVisible": "Kolom \"{name}\" is al zichtbaar", "columnAddedToTable": "Kolom \"{name}\" toegevoegd aan tabel" @@ -14631,7 +14631,7 @@ "pleaseWaitWhileLoadingStreams": "Even geduld terwijl de streams worden geladen...", "errorWhilePullingSummary": "Fout bij het ophalen van de samenvatting.", "pleaseWaitWhileLoadingSummary": "Even geduld terwijl de samenvatting wordt geladen...", - "noDestinationsCreateOneBeforeSaving": "Geen bestemmingen gevonden. Maak er een aan voordat u deze alert opslaat.", + "noDestinationsCreateOneBeforeSaving": "Geen bestemmingen gevonden. Maak er een aan voordat je dit alarm opslaat.", "errorWhileLoadingAlert": "Fout bij het laden van de alert." }, "RUM": { @@ -15008,7 +15008,7 @@ "loginCallback": "Login-callback", "emptyStateDemo": "Lege-statusdemo", "searchScheduler": "Zoekplanner", - "traceDetails": "Trace-details", + "traceDetails": "Tracedetails", "sessionDetails": "Sessiedetails", "streamExplorer": "Streamverkenner", "viewDashboard": "Dashboard bekijken", @@ -15360,20 +15360,20 @@ "failed": "Mislukt" }, "columnHints": { - "calls": "Hoe vaak deze query is uitgevoerd. De eigen telling van je database als deze er een rapporteert — dat omvat elke client, niet alleen de delen van je systeem die traces sturen. Rijen die als 'client-observed' zijn gemarkeerd, worden in plaats daarvan uit traces geteld, omdat je database ze niet rapporteerde.", + "calls": "Hoe vaak deze query is uitgevoerd. De eigen telling van je database waar die er een rapporteert — dat dekt elke client, niet alleen de delen van je systeem die traces verzenden. Rijen die als client-waargenomen zijn gemarkeerd, worden in plaats daarvan uit traces geteld, omdat je database ze niet heeft gerapporteerd.", "p50": "De helft van alle aanroepen was sneller dan dit. Telt alleen voltooide aanroepen — een query die nog draait, of die nooit is teruggekomen, wordt hier niet gemeten.", "p95": "De langzame staart — 1 op de 20 aanroepen duurde minimaal zo lang. Telt alleen voltooide aanroepen — een query die nog draait, of die nooit is teruggekomen, wordt hier niet gemeten.", "p99": "De slechtste 1% van de aanroepen duurde minimaal zo lang. Telt alleen voltooide aanroepen — een query die nog draait, of die nooit is teruggekomen, wordt hier niet gemeten.", "max": "De langzaamste afzonderlijke aanroep in dit venster — één echte aanroep, geen gemiddelde.", "errors": "Hoeveel van deze aanroepen eindigden in een fout.", "perTrace": "Hoe vaak dit wordt uitgevoerd binnen één verzoek. Een hoog getal duidt meestal op een lus.", - "load": "Totale tijd die deze query in de database doorbracht. Het eigen cijfer van je database als deze er een rapporteert: uitvoeringstijd op Postgres, maar wachttijd op MySQL en MariaDB — elke rij zegt welke. Rijen die als 'client-observed' zijn gemarkeerd, worden gemeten uit traces, dus ze omvatten de netwerkretour." + "load": "De totale tijd die deze query in de database heeft doorgebracht. Het eigen cijfer van je database waar die er een rapporteert: uitvoertijd op Postgres, maar WAIT-tijd op MySQL en MariaDB — elke rij geeft aan welke. Rijen die als client-waargenomen zijn gemarkeerd, worden gemeten op basis van traces, dus ze omvatten de netwerk-round-trip." }, "errorsNone": "geen", "errorsAll": "alle", "actions": { "open": "Details openen", - "traces": "Voorbeeldtraces bekijken", + "traces": "Bekijk voorbeeldtraces", "copy": "Query kopiëren", "copied": "Query gekopieerd", "copyFailed": "De query kon niet worden gekopieerd.", @@ -15405,7 +15405,7 @@ "n-plus-one": { "title": "Draait ten minste {multiplier}× per verzoek", "body": "{share} van de databasetijd · {service}", - "rule": "Getoond omdat deze query ten minste {ratio} keer binnen één verzoek draait, over ten minste {traces} verzoeken. Het is een ondergrens, dus het werkelijke aantal kan hoger zijn. Legitiem batchwerk kan er hetzelfde uitzien." + "rule": "Getoond omdat deze query ten minste {ratio} keer wordt uitgevoerd binnen één enkele aanvraag, over ten minste {traces} aanvragen. Het is een ondergrens, dus het werkelijke aantal kan hoger zijn. Legitiem batchwerk kan er hetzelfde uitzien." }, "volume-shift": { "title": "Drukker, niet langzamer", @@ -15491,18 +15491,18 @@ "ok": "Je traces komen binnen", "okDetail": "{count} geregistreerd in dit tijdsbereik", "no": "Er zijn geen traces aangekomen", - "noDetail": "Databasemonitoring is gebouwd op basis van traces, en deze organisatie heeft er nog geen verzonden." + "noDetail": "Database-monitoring is opgebouwd uit traces, en deze organisatie heeft er nog geen verzonden." }, "permission": { "ok": "Je hebt toegang tot deze gegevens", "okDetail": "je bent beheerder op {org}", "no": "Je hebt geen toegang tot deze gegevens", - "noDetail": "Databasemonitoring leest je traces, en jouw rol omvat deze niet. Vraag een beheerder om leestoegang." + "noDetail": "Database-monitoring leest je traces, en je rol omvat die niet. Vraag een beheerder om leestoegang." }, "dbSpans": { "ok": "Je traces vermelden een database", "okDetail": "database-aanroepen worden opgenomen", - "no": "Geen van je traces vermelden een database", + "no": "Geen van je traces vermeldt een database", "noDetail": "Je applicaties worden getraceerd, maar het onderdeel dat met de database praat niet. Voeg de database-instrumentatie toe voor jouw taal en de query's verschijnen hier." }, "counted": { @@ -15533,7 +15533,7 @@ "plans": "Queryplannen", "plansHint": "De stappen die je database heeft genomen om deze query uit te voeren. Begin hier om te achterhalen waarom hij traag is.", "callers": "Aanroepers en voorbeelden", - "callersHint": "Welke onderdelen van je applicatie deze query hebben uitgevoerd, en individuele trage uitvoeringen die je als trace kunt openen.", + "callersHint": "Welke delen van je applicatie deze query hebben uitgevoerd, en individuele langzame uitvoeringen die je als trace kunt openen.", "callersLocked": "Individuele uitvoeringen komen uit tracing. In dit tijdsbereik is deze query door niets getraceerd." }, "notFound": { @@ -15559,10 +15559,10 @@ "noSamples": "Geen individuele uitvoeringen geladen voor dit bereik.", "noSeries": "Geen geschiedenis voor deze query in het bereik dat je hebt gekozen.", "liveSeries": "De meest recente punten worden nog geteld en kunnen veranderen.", - "noStream": "We konden niet bepalen welke trace stream deze query draagt, dus de aanroepers en voorbeelden kunnen niet worden geladen.", - "ambiguousStream": "Deze organisatie heeft meer dan één trace stream, en we kunnen niet bepalen op welke deze query draait. Kies een stream om de aanroepers en voorbeeld-traces te laden.", - "pickStream": "Kies een trace stream", - "invalidStream": "Die naam van de trace stream herkennen we niet, dus we hebben de zoekopdracht niet uitgevoerd.", + "noStream": "We konden niet achterhalen welke trace-stream deze query draagt, dus de aanroepers en voorbeelden kunnen niet worden geladen.", + "ambiguousStream": "Deze organisatie heeft meer dan één trace-stream, en we kunnen niet zien op welke deze query draait. Kies een stream om de aanroepers en voorbeeldtraces te laden.", + "pickStream": "Kies een trace-stream", + "invalidStream": "Die trace-streamnaam herkennen we niet, dus we hebben de zoekopdracht niet uitgevoerd.", "firstSeen": "VOOR HET EERST VERSCHENEN IN DEZE LIJST OM {time}", "firstSeenHint": "Het vroegste punt in dit bereik waarop deze query zwaar genoeg was om apart te worden gevolgd.", "lastSeen": "LAATST VERSCHENEN OM {time}", @@ -15593,7 +15593,7 @@ "sampleOk": "OK", "sampleError": "Mislukt", "viewTrace": "Bekijk het verzoek →", - "viewTraces": "Bekijk voorbeeld-traces", + "viewTraces": "Bekijk voorbeeldtraces", "copySummary": "Kopiëren", "copySummaryHint": "Elk getal hier staat al op deze pagina — dit schrijft alleen de zin, dus minuut 13 van een incident produceert een bericht in plaats van niets.", "summaryCopied": "Samenvatting gekopieerd", @@ -15752,7 +15752,7 @@ "failedWithCode": "Mislukt · {code}", "viewTrace": "Open het verzoek waar deze aanroep deel van uitmaakte", "scatterOk": "Voltooid", - "partial": "Een deel van je tracedata kon niet worden gelezen, dus aanroepen kunnen in deze lijst ontbreken.", + "partial": "Een deel van je tracedata kon niet worden gelezen, dus er kunnen aanroepen ontbreken in deze lijst.", "disclosureShort": "Elke rij is een echte voltooide aanroep", "disclosureDetail": "Gemeten door de applicatie die de aanroep deed, op basis van de traces die je verzendt. Alleen aanroepen die zijn voltooid staan hier — een query die nog draait, of een die bleef hangen en nooit terugkwam, leverde geen meting op.", "counts": { @@ -15959,8 +15959,8 @@ "blocking": "Blokkering" }, "coverage": { - "summary": "De langste wachttijd is {longest}. Elke wachttijd is terug te voeren naar {roots} met een open lock.", - "summaryCapped": "Er wachtten meer sessies dan we in één keer konden lezen. Van de sessies die we hebben, is de langste wachttijd {longest} en ze zijn terug te voeren naar {roots} met een open lock.", + "summary": "De langste wachttijd is {longest}. Elke wachttijd leidt terug naar {roots} die een lock openhouden.", + "summaryCapped": "Er wachtten meer sessies dan we in één keer konden lezen. Van de sessies die we hebben, is de langste wachttijd {longest} en ze leiden terug naar {roots} die een lock openhouden.", "summaryOneRoot": "één sessie", "summaryManyRoots": "{count} sessies", "checked": "Gecontroleerd elke {interval} seconden; laatste controle {time}.", diff --git a/web/src/locales/languages/pl-PL.json b/web/src/locales/languages/pl-PL.json index 65a10304e1..d749da4b0d 100644 --- a/web/src/locales/languages/pl-PL.json +++ b/web/src/locales/languages/pl-PL.json @@ -43,7 +43,7 @@ "allCaughtUp": "Jesteś na bieżąco", "noPanels": { "title": "Nie ma tu jeszcze paneli", - "description": "Dodaj panel, aby zacząć wizualizować logi, metryki i ślady", + "description": "Dodaj panel, aby zacząć wizualizować logi, metryki i trace.", "action": "Dodaj panel", "actionDesc": "Wykresy, tabele i więcej" }, @@ -78,7 +78,7 @@ }, "noDashboards": { "title": "Utwórz swój pierwszy dashboard", - "description": "Dashboardy łączą Twoje metryki, logi i ślady w jednym widoku. Zbuduj jeden, aby rozpocząć.", + "description": "Pulpity łączą metryki, logi i trace w jednym widoku. Zbuduj jeden, aby rozpocząć.", "action": "Nowy dashboard", "actionDesc": "Rozpocznij od pustego płótna", "import": "Importuj dashboard", @@ -124,7 +124,7 @@ }, "noIngestionTokens": { "title": "Brak tokenów wprowadzania danych", - "description": "Tokeny wprowadzania danych uwierzytelniają źródła danych podczas wysyłania logów, metryk i śladów.", + "description": "Tokeny pozyskiwania danych uwierzytelniają źródła danych podczas wysyłania logów, metryk i trace.", "action": "Nowy token", "actionDesc": "Wygeneruj token wprowadzania danych" }, @@ -134,7 +134,7 @@ }, "noAlertDestinations": { "title": "Brak miejsc docelowych", - "description": "Miejsca docelowe określają, gdzie wysyłane są powiadomienia alertów — Slack, e-mail, webhooki i inne.", + "description": "Miejsca docelowe określają, dokąd wysyłane są powiadomienia o alertach — Slack, e-mail, webhooki i inne.", "action": "Nowe miejsce docelowe", "actionDesc": "Połącz kanał powiadomień", "import": "Importuj miejsce docelowe", @@ -192,7 +192,7 @@ }, "noDiscoveredServices": { "title": "Nie wykryto usług", - "description": "Usługi pojawią się tutaj automatycznie, gdy zaczną docierać ślady." + "description": "Usługi pojawią się tutaj automatycznie, gdy tylko zaczną docierać trace." }, "noNodes": { "title": "Brak dostępnych węzłów", @@ -248,7 +248,7 @@ }, "noDatasets": { "title": "Utwórz swój pierwszy zbiór danych", - "description": "Złote zbiory danych gromadzą adnotowane ślady i recenzje w wersjonowanych zestawach ewaluacyjnych. Utwórz jeden, aby rozpocząć selekcjonowanie.", + "description": "Złote zbiory danych gromadzą oznaczone trace i recenzje w wersjonowanych zestawach ewaluacyjnych. Utwórz jeden, aby rozpocząć selekcję.", "action": "Nowy zbiór danych", "actionDesc": "Rozpocznij pusty zbiór danych" }, @@ -288,15 +288,15 @@ }, "noLLMInsights": { "title": "Brak aktywności LLM", - "description": "Instrumentuj swoje usługi za pomocą konwencji semantycznych OpenTelemetry Gen-AI i pozyskaj co najmniej jeden ślad, aby wypełnić ten pulpit nawigacyjny.", + "description": "Zainstrumentuj swoje usługi za pomocą konwencji semantycznych OpenTelemetry Gen-AI i pozyskaj co najmniej jeden trace, aby wypełnić ten pulpit.", "action": "Instrumentuj z OpenTelemetry", - "actionDesc": "Przechwytuj atrybuty gen_ai_* na swoich śladach" + "actionDesc": "Przechwytuj atrybuty gen_ai_* w swoich trace." }, "noLLMSessions": { "title": "Brak sesji LLM", - "description": "Sesje są grupowane według gen_ai_conversation_id. Instrumentuj swoje usługi, aby każda rozmowa otagowała swoje ślady, a sesje pojawią się tutaj.", + "description": "Sesje są grupowane według gen_ai_conversation_id. Zainstrumentuj swoje usługi, aby każda rozmowa oznaczała swoje trace, a sesje pojawią się tutaj.", "action": "Instrumentuj z OpenTelemetry", - "actionDesc": "Oznaczaj span'y za pomocą gen_ai_conversation_id" + "actionDesc": "Oznacz spany identyfikatorem gen_ai_conversation_id" }, "noScorers": { "title": "Brak oceniaczy", @@ -341,12 +341,12 @@ "description": "Brak niezdrowych elementów w tym oknie. Poszerz zakres czasu lub zmień filtr kolejki, aby zobaczyć elementy już rozpatrzone." }, "noTraces": { - "title": "Nie znaleziono śladów", - "description": "Żaden ślad nie pasuje do wybranej usługi i zakresu czasu. Spróbuj szerszego zakresu czasu lub innej usługi." + "title": "Brak trace", + "description": "Żadne trace nie pasują do wybranej usługi i zakresu czasu. Spróbuj szerszego zakresu czasu lub innej usługi." }, "noServiceGraph": { "title": "Brak danych grafu usług", - "description": "Spróbuj zapytać o dłuższy zakres czasu lub upewnij się, że twoje usługi emitują metryki span." + "description": "Spróbuj zapytać o dłuższy zakres czasu lub upewnij się, że Twoje usługi emitują metryki span." }, "noServicesCatalog": { "title": "Nie znaleziono usług", @@ -409,7 +409,7 @@ "streams": "strumienie", "alerts": "alerty", "incidents": "incydenty", - "traces": "ślady", + "traces": "trace", "discoveryItems": "niezdrowe elementy", "datasetItems": "elementy", "searches": "wyszukiwania", @@ -480,7 +480,7 @@ "noSearchResults": "Brak wyników wyszukiwania", "noServiceAccounts": "Brak kont usług", "noStreams": "Brak pozyskanych danych", - "noTraces": "Brak śladów", + "noTraces": "Brak trace", "noUsers": "Brak użytkowników" }, "noExperiments": { @@ -523,8 +523,8 @@ "relatedEvents": "Powiązane zdarzenia", "on": "na", "event": "zdarzenie", - "viewTraceDetails": "Zobacz szczegóły śledzenia", - "viewTrace": "Zobacz śledzenie", + "viewTraceDetails": "Zobacz szczegóły trace", + "viewTrace": "Zobacz trace", "networkRequests": "Żądania sieciowe", "noNetworkRequestsFound": "Nie znaleziono żądań sieciowych dla tego zdarzenia", "consoleLogsComingSoon": "Logi konsoli wkrótce", @@ -744,7 +744,7 @@ "nameIsRequired": "Nazwa jest wymagana", "streamTypeIsRequired": "Typ strumienia jest wymagany", "functionNameIsRequired": "Nazwa funkcji jest wymagana", - "remoteDestinationIsRequired": "Zdalny cel jest wymagany", + "remoteDestinationIsRequired": "Wymagane jest zdalne miejsce docelowe.", "timezoneIsRequired": "Strefa czasowa jest wymagana", "idPrefix": "ID: {id}", "unchangedCount": "Bez zmian ({count})", @@ -803,7 +803,7 @@ "relativeTimeAgo": "{value} {unit} temu", "relativeTimePast": "Ostatnie {value} {unit}", "metrics": "Metryki", - "traces": "Ślady", + "traces": "Trace", "browserTime": "Czas przeglądarki", "invalidCredentials": "Nieprawidłowe poświadczenia", "notFound": "Nie znaleziono", @@ -845,9 +845,9 @@ "loadError": "Zapisany warunek nie mógł zostać odczytany i został zresetowany. Zapisanie teraz go zastąpi." }, "destination": { - "createNew": "Utwórz nowy cel", - "select": "Cel", - "loadError": "Błąd podczas pobierania celów." + "createNew": "Utwórz nowe miejsce docelowe", + "select": "Miejsce docelowe", + "loadError": "Błąd podczas pobierania miejsc docelowych." }, "function": { "createNew": "Utwórz nową funkcję", @@ -1062,7 +1062,7 @@ "queryRangeRestrictionMsg": "Zakres zapytania jest ograniczony do {range}. Dostosuj odpowiednio zakres dat. W przeciwnym razie data początkowa zostanie automatycznie dostosowana do dozwolonego limitu.", "cancel": "Anuluj zapytanie", "viewTrace": "Zobacz trace", - "viewTraceUnavailable": "Nie można otworzyć śladu dla tego wpisu dziennika.", + "viewTraceUnavailable": "Nie można otworzyć trace dla tego rekordu logu.", "viewRelated": "Zobacz powiązane", "viewRelatedTooltip": "Zobacz powiązane trace i metryki", "flattened": "Spłaszczony", @@ -1146,8 +1146,8 @@ "selectFunctionNamePlaceholder": "Wybierz nazwę funkcji", "confirmFunctionUpdateTitle": "Potwierdź aktualizację", "confirmFunctionUpdateMsg": "Czy na pewno chcesz zaktualizować funkcję {name}?", - "traceIdLabel": "Identyfikator śledzenia:", - "enterTraceIdPlaceholder": "Wprowadź identyfikator śledzenia", + "traceIdLabel": "ID trace:", + "enterTraceIdPlaceholder": "Wprowadź ID trace", "changeQueryModeTitle": "Zmień tryb zapytania", "changeQueryModeConfirm": "Czy na pewno chcesz zmienić tryb zapytania? Dane zapisane dla osi X, osi Y i filtrów zostaną usunięte.", "patternExampleLog": "Przykładowy log", @@ -1199,7 +1199,7 @@ "about": "O aplikacji", "index": "Strumienie", "search": "Logi", - "traces": "Ślady", + "traces": "Trace", "serviceGraph": "Graf usług", "services": "Katalog usług", "aiObservability": "AI", @@ -1383,7 +1383,7 @@ "loadingMsg": "Trzymaj się, ładujemy dane RUM.", "breadcrumbs": "Okruchy", "tags": "Tagi", - "traces": "Ślady", + "traces": "Trace", "searchEvents": "Szukaj zdarzeń", "loadingSessions": "Trzymaj się, pobieramy sesje.", "errorStack": "Stos błędów", @@ -1394,11 +1394,11 @@ "discoverSessionMessage": "Odtwarzanie sesji rejestruje i odtwarza interakcje użytkowników na Twojej stronie internetowej lub w aplikacji. Pozwala to wizualnie przejrzeć, jak użytkownicy nawigują, gdzie klikają, co wpisują i w jaki sposób angażują się w treści.", "loadingErrorDetails": "Trzymaj się, pobieramy szczegóły błędu.", "eventID": "ID zdarzenia", - "noCorrelatedTraces": "Nie znaleziono powiązanych śladów dla tej sesji.", + "noCorrelatedTraces": "Nie znaleziono skorelowanych trace dla tej sesji.", "span": "span", "spans": "spany", - "errorTraces": "ślady błędów", - "failedToFetchTraces": "Nie udało się pobrać danych śladu. Spróbuj ponownie.", + "errorTraces": "trace błędów", + "failedToFetchTraces": "Nie udało się pobrać danych trace. Spróbuj ponownie.", "seekToMoment": "Przejdź do tego momentu w sesji", "route": "Trasa", "duration": "Czas trwania", @@ -1485,7 +1485,7 @@ "frustrationErrorClick": "Kliknięcie wywołało błąd JavaScript", "frustrationRageTap": "Użytkownik dotknął szybko wielokrotnie (3+) - co wskazuje na frustrację", "frustrationErrorTap": "Dotknięcie wywołało błąd JavaScript", - "fetchTraceMetadataFailed": "Nie udało się pobrać metadanych śledzenia", + "fetchTraceMetadataFailed": "Nie udało się pobrać metadanych trace.", "frustrationEventTooltip": "⚠️ FRUSTRACJA: {types}\n{name}", "errorEventTooltip": "⛔ BŁĄD: {name}", "frustrationSignalType": "Sygnał frustracji: {type}" @@ -1537,7 +1537,7 @@ "feature_column_name": "Funkcja", "feature_logs": "Logi", "feature_metrics": "Metryki", - "feature_traces": "Ślady", + "feature_traces": "Trace", "feature_alerts": "Alerty", "feature_dashboards": "Pulpity nawigacyjne", "feature_reports": "Raporty", @@ -1561,7 +1561,7 @@ "feature_license": "Licencja", "feature_support": "Wsparcie", "feature_cost": "Koszt", - "feature_pipelines_external": "Potoki - zewnętrzne miejsca docelowe", + "feature_pipelines_external": "Potoki - Zewnętrzne miejsca docelowe", "feature_extreme_performance": "Ekstremalna wydajność (100-krotna poprawa dla wielu zapytań)", "feature_query_optimizer": "Optymalizator zapytań", "value_license_agpl": "AGPL", @@ -1663,7 +1663,7 @@ }, "core_features": { "logs_metrics_traces": { - "name": "Logi, Metryki, Ślady", + "name": "Logi, Metryki, Trace", "note": "Pełne przesyłanie i analiza danych obserwowalności" }, "rum": { @@ -1736,8 +1736,8 @@ "note": "Ochrona danych osobowych i informacji wrażliwych" }, "pipeline_remote_destinations": { - "name": "Zdalne miejsca docelowe potoku", - "note": "Wysyłanie danych do zdalnych miejsc docelowych" + "name": "Zdalne miejsca docelowe potoków", + "note": "Wysyłaj dane do zdalnych miejsc docelowych" }, "query_optimizer": { "name": "Optymalizator zapytań / pamięć podręczna agregacji", @@ -1780,7 +1780,7 @@ "note": "Zoptymalizowane rozproszone operacje łączenia" }, "logs_metrics_traces_correlation": { - "name": "Korelacja logów, metryk i śladów", + "name": "Korelacja logów, metryk i trace", "note": "Automatyczne wykrywanie i korelacja" }, "service_maps": { @@ -2504,7 +2504,7 @@ "deleteDatesMessage": "Czy na pewno chcesz usunąć wybrane daty? Tej czynności nie można cofnąć.", "labelLogs": "Logi", "labelMetrics": "Metryki", - "labelTraces": "Ślady", + "labelTraces": "Trace", "labelMetadata": "Metadane", "add": "Nowy strumień", "dataRetention": "Przechowywanie danych (w dniach)", @@ -2546,7 +2546,7 @@ }, "workflow": { "header": "Przepływy pracy", - "subtitle": "Automatyzuj akcje za pomocą wyzwalaczy, logiki i celów", + "subtitle": "Automatyzuj akcje za pomocą wyzwalaczy, logiki i miejsc docelowych", "create": "Nowy przepływ pracy", "createSuccess": "Przepływ pracy utworzony pomyślnie", "name": "Nazwa przepływu pracy", @@ -2627,7 +2627,7 @@ }, "triggerMeta": { "orgId": "Identyfikator organizacji, do której należy alert.", - "streamType": "Typ strumienia — logi, metryki lub ślady.", + "streamType": "Typ strumienia — logi, metryki lub trace.", "streamName": "Strumień monitorowany przez alert.", "alertName": "Nazwa alertu, który został uruchomiony.", "alertType": "Typ alertu — w czasie rzeczywistym lub zaplanowany.", @@ -2757,7 +2757,7 @@ "incompleteBadge": "Skonfiguruj później", "destinationSetUpLater": "Skonfiguruj później", "destinationSetUpLaterPrompt": "Nie masz jeszcze miejsca docelowego? Włącz to, aby skonfigurować je później — możesz zapisać wersję roboczą i przetestować teraz.", - "destinationSetUpLaterActive": "Miejsce docelowe jest na razie pomijane — nazwa i komentarz nadal zostaną zapisane. Będziesz potrzebować miejsca docelowego przed publikacją.", + "destinationSetUpLaterActive": "Miejsce docelowe jest na razie pomijane — nazwa i komentarz nadal są zapisywane. Będziesz potrzebować miejsca docelowego przed opublikowaniem.", "functionSetUpLater": "Skonfiguruj później", "functionSetUpLaterPrompt": "Nie masz jeszcze funkcji? Włącz to, aby skonfigurować ją później — możesz zapisać wersję roboczą i przetestować teraz.", "functionSetUpLaterActive": "Funkcja jest na razie pomijana — nazwa i komentarz nadal zostaną zapisane. Będziesz potrzebować funkcji przed publikacją." @@ -2815,8 +2815,8 @@ "functionNodeEmptyName": "Węzeł funkcji {id} ma pustą nazwę funkcji", "functionNodeInvalidName": "Węzeł funkcji {id} ma nieprawidłową nazwę funkcji \"{name}\". Musi to być jedna z dostępnych funkcji.", "outputStreamNodeEmptyName": "Węzeł strumienia wyjściowego {id} ma pustą nazwę strumienia", - "remoteStreamNodeEmptyDestination": "Węzeł strumienia zdalnego {id} ma pustą nazwę miejsca docelowego", - "remoteStreamNodeInvalidDestination": "Węzeł strumienia zdalnego {id} ma nieprawidłowe miejsce docelowe \"{destination}\". Musi to być jedno z dostępnych miejsc docelowych potoku.", + "remoteStreamNodeEmptyDestination": "Zdalny węzeł strumienia {id} ma pustą nazwę miejsca docelowego", + "remoteStreamNodeInvalidDestination": "Zdalny węzeł strumienia {id} ma nieprawidłowe miejsce docelowe „{destination}”. Musi to być jedno z dostępnych miejsc docelowych potoku.", "edgeMissingSourceNode": "Krawędź {id} odwołuje się do nieistniejącego węzła źródłowego {source}", "edgeMissingTargetNode": "Krawędź {id} odwołuje się do nieistniejącego węzła docelowego {target}", "inputNodeHasIncomingEdges": "Węzeł wejściowy {id} nie powinien mieć krawędzi przychodzących. Znaleziono {count} krawędzi przychodzących.", @@ -2831,7 +2831,7 @@ "importErrors": { "unknownError": "Nieznany błąd", "nameRequired": "Potok - {index}: Nazwa jest wymagana", - "streamTypeInvalid": "Potok - {index}: Typ strumienia jest obowiązkowy i musi być jednym z: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Potok - {index}: Typ strumienia jest obowiązkowy i powinien być jednym z: 'logs', 'metrics', 'traces'.", "sourceStreamNameRequired": "Potok - {index}: Nazwa strumienia źródłowego jest wymagana ", "sqlQueryRequired": "Potok - {index}: Zapytanie SQL jest wymagane", "timezoneRequired": "Potok - {index}: Strefa czasowa jest wymagana", @@ -2945,7 +2945,7 @@ "defaultDelayTooltip": "Domyślnie: 5 sekund", "deleteDataBeforeBackfill": "Usuń istniejące dane przed backfillem", "irreversibleDeletionWarning": "Ostrzeżenie: Nieodwracalne usunięcie danych", - "deleteBackfillWarningMessage": "Spowoduje to trwałe usunięcie wszystkich danych w strumieniu docelowym dla określonego zakresu czasu przed uruchomieniem backfillu. Tej operacji nie można cofnąć.", + "deleteBackfillWarningMessage": "Spowoduje to trwałe usunięcie wszystkich danych w strumieniu docelowym dla określonego zakresu czasu przed uruchomieniem backfillu. Tej czynności nie można cofnąć.", "timeAlignmentRequirements": "Wymagania wyrównania czasu (UTC):", "logsHourBoundaryNote": "strumienie: Czasy muszą być wyrównane do granic godzin w UTC (np. 10:00:00, nie 10:15:00)", "metricsTracesLabel": "Metryki/Trace", @@ -2972,7 +2972,7 @@ "phaseInitializing": "Inicjalizowanie" }, "deleteBackfillConfirmMessage": "Wybrano usunięcie istniejących danych przed backfillem. Spowoduje to trwałe usunięcie wszystkich danych w strumieniu docelowym dla określonego zakresu czasu.", - "editBackfillDeleteConfirmMessage": "Wybrano usunięcie istniejących danych przed backfillem. Spowoduje to trwałe usunięcie wszystkich danych w strumieniu docelowym dla określonego zakresu czasu. Tej operacji NIE MOŻNA cofnąć ani anulować po zaktualizowaniu zadania. Czy na pewno chcesz kontynuować?", + "editBackfillDeleteConfirmMessage": "Wybrano usunięcie istniejących danych przed backfillem. Spowoduje to trwałe usunięcie wszystkich danych w strumieniu docelowym dla określonego zakresu czasu. Tej czynności NIE MOŻNA cofnąć ani anulować po zaktualizowaniu zadania. Czy na pewno chcesz kontynuować?", "actionCannotBeUndone": "Tej operacji NIE MOŻNA cofnąć ani anulować po utworzeniu zadania.", "areYouSureProceed": "Czy na pewno chcesz kontynuować?", "clearFilters": "Wyczyść filtry", @@ -2993,7 +2993,7 @@ "chunkPeriodDefaultPlaceholder": "60", "organizationId": "Identyfikator organizacji", "functionName": "Nazwa funkcji", - "remoteDestination": "Zdalny cel", + "remoteDestination": "Zdalne miejsce docelowe", "failedToLoadPipeline": "Nie udało się załadować potoku", "header": "Potoki", "subtitle": "Transformuj, wzbogacaj i kieruj dane w locie", @@ -3036,8 +3036,8 @@ "sourceQueryTooltip": "Źródło: węzeł zapytania", "functionTooltip": "Węzeł funkcji", "conditionTooltip": "Węzeł warunku", - "destinationStreamTooltip": "Cel: węzeł strumienia", - "destinationExternalTooltip": "Cel: zewnętrzny węzeł celu", + "destinationStreamTooltip": "Miejsce docelowe: węzeł strumienia", + "destinationExternalTooltip": "Miejsce docelowe: zewnętrzny węzeł docelowy", "pipelineNotFound": "Nie znaleziono potoku", "pipelineNameRequired": "Nazwa potoku jest wymagana", "sourceNodeRequired": "Węzeł źródłowy jest wymagany", @@ -3076,7 +3076,7 @@ "functionAlreadyAssociated": "Funkcja jest już powiązana", "atLeastOneCondition": "Dodaj co najmniej jeden warunek", "fillAllConditionFields": "Wypełnij wszystkie pola warunku (kolumna, operator i wartość są wymagane)", - "selectExternalDestination": "Wybierz z listy zewnętrzne miejsce docelowe", + "selectExternalDestination": "Wybierz zewnętrzne miejsce docelowe z listy", "backfillNumericRange": "Musi być pomiędzy {min} a {max}", "selectValidTimeRange": "Wybierz prawidłowy zakres czasu", "startBeforeEndTime": "Czas rozpoczęcia musi być przed czasem zakończenia", @@ -3096,7 +3096,7 @@ "queryNode": "Zapytanie", "transformNode": "Transformacja", "functionNode": "Funkcja", - "destinationNode": "Cel", + "destinationNode": "Miejsce docelowe", "remoteNode": "Zdalny", "conditionsNode": "Warunki", "editorFunctionTooltip": "Przekształć payload za pomocą funkcji", @@ -3182,7 +3182,7 @@ "noJobSelected": "Nie wybrano zadania", "updateBackfillJobFailed": "Nie udało się zaktualizować zadania uzupełniania danych", "fetchPipelineHistoryFailed": "Nie udało się pobrać historii potoku", - "defaultDestinationNodeWarning": "Usunięcie domyślnego węzła docelowego zatrzymuje pobieranie danych do niego. Strumień źródłowy będzie wtedy kierowany tylko do nowo dodanego strumienia docelowego. Dane nie kierowane do żadnego strumienia docelowego zostaną odrzucone.", + "defaultDestinationNodeWarning": "Usunięcie domyślnego węzła docelowego powoduje zatrzymanie pozyskiwania danych do tego węzła. Strumień źródłowy będzie wtedy kierować dane tylko do nowo dodanego strumienia docelowego. Dane nie kierowane do żadnego strumienia docelowego zostaną odrzucone.", "confirmBulkDeleteMsg": "Czy na pewno chcesz usunąć {count} potok(i)?", "confirmPauseBackfillJob": "Czy na pewno chcesz wstrzymać zadanie uzupełniania danych dla \"{name}\"? Możesz je wznowić później.", "confirmResumeBackfillJob": "Czy na pewno chcesz wznowić zadanie uzupełniania danych dla \"{name}\"?", @@ -3292,10 +3292,10 @@ "analyzingDimensions": "Analizowanie wymiarów...", "arrowSeparator": "→", "computingDistributions": "Obliczanie rozkładów częstości w {count} wymiarach", - "dashboardDescError": "Porównanie procentu błędów śladów w okresie skoku błędów z wartością bazową w różnych wymiarach", - "dashboardDescLatency": "Porównanie percentyla opóźnienia wybranych śladów (czas trwania {start}-{end}µs) z wartością bazową w różnych wymiarach", - "dashboardDescVolume": "Porównanie rozkładu liczby śladów z wartością bazową w różnych wymiarach", - "dashboardDescVolumeRate": "Porównanie rozkładu liczby śladów wybranych okresów (wskaźnik {start}-{end} śladów) z wartością bazową w różnych wymiarach", + "dashboardDescError": "Porównanie odsetka błędów trace w okresie wzrostu błędów z wartością bazową w różnych wymiarach", + "dashboardDescLatency": "Porównanie latencji percentylowej wybranych trace (czas trwania {start}-{end}µs) z wartością bazową w różnych wymiarach", + "dashboardDescVolume": "Porównanie rozkładu liczby trace z wartością bazową w różnych wymiarach", + "dashboardDescVolumeRate": "Porównanie rozkładu liczby trace wybranych okresów (wskaźnik {start}-{end} trace) z wartością bazową w różnych wymiarach", "dashboardTitleError": "Analiza błędów", "dashboardTitleLatency": "Analiza opóźnień", "dashboardTitleVolume": "Analiza wolumenu", @@ -3303,8 +3303,8 @@ "durationLabel": "Czas trwania:", "failedToLoad": "Nie udało się załadować analizy", "panelDescErrorComparison": "Porównanie procentu błędów dla wymiaru: {dimension}. Wyższe wybrane słupki oznaczają, że ta wartość wymiaru ma więcej błędów w okresie skoku błędów.", - "panelDescLatencyComparison": "Porównanie percentyla opóźnienia dla wymiaru: {dimension}. Wyższe wybrane słupki oznaczają, że ta wartość wymiaru koreluje z wolniejszymi śladami.", - "panelDescVolumeComparison": "Porównanie liczby śladów dla wymiaru: {dimension}. Wyższe wybrane słupki oznaczają, że ta wartość wymiaru pojawia się częściej w okresach dużego wolumenu.", + "panelDescLatencyComparison": "Porównanie latencji percentylowej dla wymiaru: {dimension}. Wyższe słupki „Wybrane” wskazują, że ta wartość wymiaru koreluje z wolniejszymi trace.", + "panelDescVolumeComparison": "Porównanie liczby trace dla wymiaru: {dimension}. Wyższe słupki „Wybrane” wskazują, że ta wartość wymiaru pojawia się częściej w okresach o dużym wolumenie.", "panelDescVolumeTopValues": "Najczęstsze wartości według liczby dla wymiaru: {dimension}.", "refreshTooltip": "Odśwież analizę z zaktualizowanym percentylem", "retryButton": "Ponów", @@ -3315,7 +3315,7 @@ "title": "Analizy", "tabLabel": "Wskaźnik", "analyzeTooltipLogs": "Zobacz analizy dla bieżącego zakresu czasu", - "analyzeTooltipTraces": "Analizuj wymiary śledzenia pod kątem wzorców wskaźnika, opóźnienia i błędów", + "analyzeTooltipTraces": "Analizuj wymiary trace pod kątem wskaźnika, latencji i wzorców błędów", "rateLabel": "Wskaźnik:", "searchInspectionsLabel": "Sprawdź szczegóły wykonania zadania wyszukiwania", "inspectBtnLabel": "Sprawdź", @@ -3418,7 +3418,7 @@ "singleTargetTitle": "Pojedynczy cel zdalnego zapisu", "fanoutTitle": "Rozgłaszanie do wielu backendów", "tipPrefix": "Wskazówka: `vmagent` może duplikować zapisy, powtarzając", - "tipSuffix": "flagę, dzięki czemu możesz zachować istniejący cel VictoriaMetrics, a jednocześnie przekazywać metryki do OpenObserve.", + "tipSuffix": "flag, dzięki czemu możesz zachować istniejące miejsce docelowe VictoriaMetrics, jednocześnie przekazując metryki do OpenObserve.", "docLinkText": "aby dowiedzieć się więcej o konfigurowaniu celów zdalnego zapisu vmagent." }, "ai": { @@ -3441,7 +3441,7 @@ "customLabel": "Niestandardowe", "logsLabel": "Logi", "metricsLabel": "Metryki", - "tracesLabel": "Ślady", + "tracesLabel": "Trace", "redirectionIngestionMsg": "Uwaga: aby uzyskać dostęp do stron innych niż IAM, należy rozpocząć pobieranie danych w bieżącej organizacji.", "databaseLabel": "Bazy danych", "securityLabel": "Bezpieczeństwo", @@ -3466,7 +3466,7 @@ "dotnettracing": ".Net Tracing", "dotnetlogs": ".Net Logs", "macos": "macOS", - "tracesotlp": "Ślady ({product})", + "tracesotlp": "Trace ({product})", "rum": "Monitorowanie rzeczywistych użytkowników", "openvpn": "OpenVPN", "nginx": "Nginx", @@ -3629,8 +3629,8 @@ "anyWindowsHostNote": "Dowolny serwer Windows lub maszyna wirtualna.", "arrow": "→", "askOnSlack": "Zapytaj na Slacku", - "autoInstrumentTracesDesc": "Opcjonalne. Operator OpenTelemetry wstrzykuje instrumentację do oznaczonych obciążeń, dzięki czemu otrzymujesz **rozproszone trace bez dotykania kodu aplikacji ani przebudowywania obrazów**. Wybierz język, a następnie oznacz przestrzeń nazw, w której działa.", - "autoInstrumentTracesTitle": "Automatycznie instrumentuj aplikacje do śledzenia", + "autoInstrumentTracesDesc": "Opcjonalnie. Operator OpenTelemetry wstrzykuje instrumentację do oznaczonych adnotacjami obciążeń, więc otrzymujesz **rozproszone trace bez dotykania kodu aplikacji ani przebudowywania obrazów**. Wybierz język, a następnie oznacz adnotacjami przestrzeń nazw, w której działa.", + "autoInstrumentTracesTitle": "Automatyczna instrumentacja aplikacji dla trace", "cassandraJmxNote": "Włącz zdalny dostęp JMX na Cassandra, aby odbiorca mógł się połączyć.", "cassandraTagline": "Zbieraj metryki Cassandra przez odbiornik JMX kolektora OpenTelemetry i przesyłaj je do OpenObserve.", "checking": "Sprawdzanie…", @@ -3643,7 +3643,7 @@ "chipMetrics": "Metryki", "chipRun": "Uruchom", "chipTerminal": "Terminal", - "chipTraces": "Śledzenie", + "chipTraces": "Trace", "clusterNameHelp": "Identyfikuje ten klaster w Twoich logach, metrykach i pulpitach nawigacyjnych.", "clusterNameLabel": "Nazwa klastra", "collectorInstallDesc": "Odbiornik jest dostępny tylko w wersji Contrib — wybierz swoją platformę.", @@ -3654,10 +3654,10 @@ "configureCollectorTitle": "Skonfiguruj kolektor OpenTelemetry", "connectedLogsHeadline": "Połączono — logi płyną", "connectedMetricsHeadline": "Połączono — metryki płyną", - "connectedTracesHeadline": "Połączono — ślady płyną", + "connectedTracesHeadline": "Połączono — trace płyną", "countLogs": "{count} log | {count} logi", "countMetricStreams": "{count} strumień metryk | {count} strumienie metryk", - "countSpans": "{count} span | {count} spany", + "countSpans": "{count} span | {count} spanów", "downloadEnvTooltip": "Pobierz .env", "downloadJmxJarDesc": "Odbiornik JMX uruchamia ten pomocniczy plik JAR (wymaga Java na hoście kolektora).", "downloadJmxJarTitle": "Pobierz plik JAR metryk JMX", @@ -3675,7 +3675,7 @@ "gcpFixBody": "GCP raportuje błędy dostarczania na samej subskrypcji. Jeśli sink publikuje, ale nic tu nie trafia, zwykle to endpoint push odrzuca żądanie:", "gcpFixTitle": "Sprawdź subskrypcję push", "gcpPushUrlNote": "Trzymaj ten URL w tajemnicy — zawiera klucz ingestii. Jeśli wycieknie, zrotuj go z nagłówka tej strony.", - "gcpSinkDesc": "W konsoli GCP utwórz **Log Router sink** (Logging → Log Router → Create sink) z Pub/Sub jako miejscem docelowym i pozwól mu utworzyć temat. Filtr włączenia sinka decyduje, które logi trafiają do OpenObserve.", + "gcpSinkDesc": "W konsoli GCP utwórz **sink Log Router** (Logging → Log Router → Create sink) z Pub/Sub jako miejscem docelowym i pozwól mu utworzyć temat. Filtr włączenia sinka decyduje, które logi trafią do OpenObserve.", "gcpSinkTitle": "Kieruj logi do tematu Pub/Sub.", "gcpSinkWriterNote": "Przydziel tożsamości zapisującej sinka rolę Pub/Sub Publisher w temacie, w przeciwnym razie po cichu nie opublikuje niczego.", "gcpStreamHelp": "Używany w powyższym adresie URL push i monitorowany przez sprawdzenie poniżej. Dedykowany strumień utrzymuje logi GCP oddzielnie.", @@ -3714,7 +3714,7 @@ "k8sInstallerNote": "To automatycznie instaluje cert-managera, operatora OpenTelemetry i kolektor OpenObserve.", "k8sInternalEndpointNote": "Użyj tego, gdy OpenObserve działa w tym samym klastrze — ruch nigdy go nie opuszcza.", "k8sTroubleAnnotationA": "Wstrzyknięcie następuje przy tworzeniu poda, więc istniejące pody pozostają bez zmian do czasu restartu — uruchom `kubectl rollout restart deployment -n my-namespace`. Potwierdź, że adnotacja została dodana, za pomocą `kubectl get ns my-namespace -o yaml`, i sprawdź, czy wartość pasuje do `openobserve-collector/openobserve-`. Dla Go ścieżka `otel-go-auto-target-exe` musi być ścieżką **wewnątrz** kontenera.", - "k8sTroubleAnnotationQ": "Po dodaniu adnotacji do przestrzeni nazw nie pojawiają się żadne ślady", + "k8sTroubleAnnotationQ": "Oznaczyłem przestrzeń nazw adnotacją, ale nie pojawiają się żadne trace", "k8sTroubleEndpointA": "Używaj **In-Cluster** tylko wtedy, gdy OpenObserve działa w tym samym klastrze; ruch pozostaje wtedy wewnątrz niego i nigdy nie przechodzi przez sieć. URL to `http://-openobserve-router..svc.cluster.local:5080` — domyślnie zakłada release `o2` w przestrzeni nazw `openobserve`, więc zmień go, jeśli twoje są inne. Wszyscy inni używają zewnętrznego endpointu.", "k8sTroubleEndpointQ": "Którego endpointu powinienem użyć — zewnętrznego czy in-cluster?", "k8sTroubleExampleA": "Tak — **HOT commerce** to przykładowa aplikacja skonfigurowana end-to-end, a dokumentacja **OpenTelemetry Operator** zawiera pełny opis adnotacji. Oba linki znajdują się na dole tej strony.", @@ -3748,7 +3748,7 @@ "mysqlTagline": "Zbieraj metryki MySQL za pomocą kolektora OpenTelemetry i wysyłaj je do OpenObserve.", "noLogsFoundYet": "Nie znaleziono jeszcze dzienników", "noMetricsFoundYet": "Nie znaleziono jeszcze metryk", - "noSpansFoundYet": "Nie znaleziono jeszcze spanów", + "noSpansFoundYet": "Nie znaleziono jeszcze żadnych spanów", "nothingOnStream": "nic na {stream} — uruchom aplikację i przetestuj ponownie", "notTestedYet": "Jeszcze nie przetestowano", "onStream": "na {stream}", @@ -3763,10 +3763,10 @@ "otlpTracesStreamHelp": "Zapisywany w powyższej konfiguracji jako `stream-name` i monitorowany przez sprawdzenie poniżej.", "otlpTrouble401A": "Nagłówek `Authorization` musi mieć postać `Basic ` z użyciem tokena pozyskiwania tej organizacji — powyższa wartość jest już poprawna. Jeśli token został obrócony, skopiuj go ponownie z tej strony.", "otlpTrouble401Q": "Kolektor rejestruje błędy 401 lub 403", - "otlpTroubleHttpGrpcA": "HTTP jest bezpiecznym domyślnym wyborem i bezproblemowo przechodzi przez proxy i load balancery. gRPC ma mniejsze narzuty przy dużym wolumenie spanów, ale wymaga osiągalności portu 5081 na całej ścieżce.", + "otlpTroubleHttpGrpcA": "HTTP jest bezpiecznym wyborem domyślnym i dobrze przechodzi przez proxy i load balancery. gRPC ma mniejsze narzuty przy dużym wolumenie spanów, ale wymaga portu 5081 osiągalnego od końca do końca.", "otlpTroubleHttpGrpcQ": "Czy powinienem używać HTTP czy gRPC?", "otlpTroubleStreamA": "Nagłówek `stream-name` określa strumień. Ustaw go na tę samą nazwę co pole powyżej, w przeciwnym razie poniższe sprawdzenie obserwuje strumień, do którego nic nie jest zapisywane.", - "otlpTroubleStreamQ": "Spany docierają, ale trafiają do niewłaściwego strumienia", + "otlpTroubleStreamQ": "Spany przychodzą, ale trafiają do niewłaściwego strumienia.", "otlpTroubleTlsA": "Flaga `tls.insecure` musi odpowiadać schematowi punktu końcowego — jest ustawiona na `{insecure}` powyżej na podstawie adresu URL tego wdrożenia. Punkt końcowy HTTP wymaga `insecure: true`; punkt końcowy HTTPS wymaga `false`.", "otlpTroubleTlsQ": "Połączenie gRPC kończy się błędem TLS", "pillActiveBackends": "Aktywne backendy", @@ -3856,7 +3856,7 @@ "preparePostgresqlTitle": "Przygotuj PostgreSQL", "prepareSqlServerDesc": "Utwórz login monitorujący — uruchom to w kliencie SQL, **nie** w swojej powłoce.", "prepareSqlServerTitle": "Przygotuj SQL Server", - "providerNameOtlpTraces": "Ślady (OpenTelemetry)", + "providerNameOtlpTraces": "Trace (OpenTelemetry)", "providerNameRum": "Monitorowanie rzeczywistych użytkowników", "quickInstallDesc": "Zainstaluj kolektor OpenObserve **jednym poleceniem** — wystarczy ustawić nazwę klastra i uruchomić. Nazwa taguje każdy rekord, więc możesz odróżnić klastry, gdy kilka z nich raportuje.", "quickInstallTitle": "Szybka instalacja (zalecane)", @@ -3969,19 +3969,19 @@ "sqlServerTagline": "Zbieraj metryki SQL Server za pomocą kolektora OpenTelemetry i wysyłaj je do OpenObserve.", "startIngestingTestForLogs": "rozpocznij ingestację, a następnie przetestuj logi", "startIngestingTestForMetrics": "rozpocznij ingestację, a następnie przetestuj metryki", - "startIngestingTestForSpans": "rozpocznij ingestację, a następnie przetestuj spany", + "startIngestingTestForSpans": "zacznij pozyskiwanie danych, a następnie przetestuj spany", "streamNameError": "Używaj wyłącznie liter, cyfr i _.", "streamNameLabel": "Nazwa strumienia", "stuck": "Utknąłeś?", "taglineDatabricks": "Wyślij logi notebooków Databricks do OpenObserve przez API logów.", "taglineGcp": "Strumieniuj logi Google Cloud do OpenObserve za pomocą subskrypcji push Pub/Sub — nie musisz uruchamiać agenta ani kolektora.", - "taglineKubernetes": "Wdróż kolektor OpenObserve w swoim klastrze — logi kontenerów, zdarzenia Kubernetes i metryki klastra, a także tracing bez kodu dla Twoich obciążeń.", + "taglineKubernetes": "Wdróż kolektor OpenObserve w swoim klastrze — logi kontenerów, zdarzenia Kubernetes i metryki klastra, a także trace bez kodu dla Twoich obciążeń.", "taglineLinux": "Zainstaluj agenta OpenObserve na dowolnym hoście Linux — logi systemowe i journald plus metryki CPU, pamięci, dysku i sieci.", "taglineMacos": "Zainstaluj agenta OpenObserve na dowolnym komputerze Mac — ujednolicony log i standardowe pliki logów plus metryki CPU, pamięci, dysku i sieci.", "taglineOtlpTraces": "Skieruj dowolny eksporter OpenTelemetry na OpenObserve — kolektor lub SDK, HTTP lub gRPC. Twój punkt końcowy i token są wypełnione poniżej.", "taglineWindows": "Zainstaluj agenta OpenObserve na dowolnym hoście Windows — Event Log, liczniki wydajności i metryki hosta.", "testAgain": "Przetestuj ponownie", - "tracesStreamNameLabel": "Nazwa strumienia śladów", + "tracesStreamNameLabel": "Nazwa strumienia trace", "trackScreensDesc": "Jeśli używasz React Navigation, przekaż SDK swój ref nawigacji, a każda zmiana trasy będzie rejestrowana jako widok RUM — bez kodu dla poszczególnych ekranów.", "trackScreensTitle": "Śledź ekrany automatycznie (opcjonalnie)", "troubleshooting": "Rozwiązywanie problemów", @@ -4001,7 +4001,7 @@ "verifyMongodbMetricsDesc": "Kliknij Test poniżej lub sprawdź strumienie dla metryk `mongodb_*`.", "verifyMysqlMetricsDesc": "Kliknij Test poniżej lub sprawdź strumienie dla metryk `mysql_*`.", "verifyOracledbMetricsDesc": "Kliknij Test poniżej lub sprawdź strumienie dla metryk `oracledb_*`.", - "verifyOtlpTracesDesc": "Uruchom ponownie kolektor (lub aplikację), wykonaj żądanie, które wygeneruje span, a następnie kliknij Test.", + "verifyOtlpTracesDesc": "Zrestartuj kolektor (lub aplikację), wykonaj żądanie, które generuje span, a następnie kliknij Test.", "verifyPostgresqlMetricsDesc": "Kliknij Test poniżej lub sprawdź strumienie dla metryk `postgresql_*`.", "verifyReactNativeRumDesc": "Uruchom aplikację na symulatorze, emulatorze lub urządzeniu, przejdź między kilkoma ekranami, a następnie kliknij Test — zdarzenia React Native trafiają do strumienia `_rumdata`.", "verifyRedisMetricsDesc": "Kliknij Test poniżej lub sprawdź strumienie dla metryk `redis_*`.", @@ -4012,7 +4012,7 @@ "verifyZookeeperMetricsDesc": "Kliknij Test poniżej lub sprawdź strumienie dla metryk `zookeeper_*`.", "viewLogs": "Zobacz logi", "viewStreams": "Zobacz strumienie", - "viewTraces": "Zobacz ślady", + "viewTraces": "Zobacz trace", "whatTheInstallerDoes": "Co robi instalator", "windowsAgentFixBody": "Instalator rejestruje agenta jako usługę Windows. Jeśli nic nie przychodzi, potwierdź, że działa, i przeczytaj najnowsze wpisy z jego logu:", "windowsTroubleScriptA": "PowerShell domyślnie blokuje niepodpisane skrypty. Uruchom konsolę **jako administrator** i, jeśli to konieczne, zezwól na skrypt dla tej sesji za pomocą polecenia `Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass`.", @@ -4036,11 +4036,11 @@ "verifyAndroidRumDesc": "Uruchom aplikację na emulatorze lub urządzeniu, przejdź między kilkoma ekranami, a następnie kliknij Test — zdarzenia natywne Androida trafiają do strumienia `_rumdata`.", "verifyIosRumDesc": "Uruchom aplikację na symulatorze lub urządzeniu, przejdź między kilkoma ekranami, a następnie kliknij Test — zdarzenia natywne iOS trafiają do strumienia `_rumdata`.", "dbmPreparePostgresTitle": "Monitorowanie bazy danych · Nadaj dostęp (opcjonalnie)", - "dbmPreparePostgresDesc": "**Wszystko powyższe jest kompletne samo w sobie** — czasy zapytań już trafiają do Bazy danych ze śladów Twojej aplikacji, bez żadnej konfiguracji tutaj. Te ostatnie kroki dodają to, czego ślad nigdy nie zobaczy: zakleszczenia i zablokowane zapytania, które rejestruje tylko sama baza danych. Nadaj `pg_monitor`, aby kolektor mógł odczytywać zapytania innych sesji — uruchom to w kliencie SQL, **nie** w powłoce.", + "dbmPreparePostgresDesc": "**Wszystko powyżej jest już kompletne samo w sobie** — czasy zapytań już trafiają do Bazy danych z trace Twojej aplikacji, bez żadnej konfiguracji tutaj. Te ostatnie kroki dodają to, czego trace nigdy nie zobaczy: zakleszczenia i zablokowane zapytania, które rejestruje tylko sama baza danych. Nadaj `pg_monitor`, aby kolektor mógł czytać zapytania innych sesji — uruchom to w kliencie SQL, **nie** w powłoce.", "dbmPrepareMysqlTitle": "Monitorowanie bazy danych · Zachowaj historię zakleszczeń (opcjonalnie)", "dbmPrepareMariadbTitle": "Monitorowanie bazy danych · Zachowaj historię zakleszczeń (opcjonalnie)", - "dbmPrepareMysqlDesc": "**Wszystko powyższe jest kompletne samo w sobie** — czasy zapytań już trafiają do Bazy danych ze śladów Twojej aplikacji, bez żadnej konfiguracji tutaj. Te ostatnie kroki dodają to, czego ślad nigdy nie zobaczy: zakleszczenia i zablokowane zapytania, które rejestruje tylko sama baza danych. Włącz pełną historię zakleszczeń — uruchom to w kliencie SQL, **nie** w powłoce.", - "dbmPrepareMariadbDesc": "**Wszystko powyższe jest kompletne samo w sobie** — czasy zapytań już trafiają do Bazy danych ze śladów Twojej aplikacji, bez żadnej konfiguracji tutaj. Te ostatnie kroki dodają to, czego ślad nigdy nie zobaczy: zakleszczenia i zablokowane zapytania, które rejestruje tylko sama baza danych. Włącz pełną historię zakleszczeń — uruchom to w kliencie SQL, **nie** w powłoce.", + "dbmPrepareMysqlDesc": "**Wszystko powyżej jest już kompletne samo w sobie** — czasy zapytań już trafiają do Bazy danych z trace Twojej aplikacji, bez żadnej konfiguracji tutaj. Te ostatnie kroki dodają to, czego trace nigdy nie zobaczy: zakleszczenia i zablokowane zapytania, które rejestruje tylko sama baza danych. Włącz pełną historię zakleszczeń — uruchom to w kliencie SQL, **nie** w powłoce.", + "dbmPrepareMariadbDesc": "**Wszystko powyżej jest już kompletne samo w sobie** — czasy zapytań już trafiają do Bazy danych z trace Twojej aplikacji, bez żadnej konfiguracji tutaj. Te ostatnie kroki dodają to, czego trace nigdy nie zobaczy: zakleszczenia i zablokowane zapytania, które rejestruje tylko sama baza danych. Włącz pełną historię zakleszczeń — uruchom to w kliencie SQL, **nie** w powłoce.", "dbmPgLoggingTitle": "Monitorowanie bazy danych · Pozwól Postgresowi rejestrować zakleszczenia (opcjonalnie)", "dbmPgLoggingDesc": "Zakleszczenia są zapisywane wyłącznie w logu Postgresa i tylko wtedy, gdy poniższe ustawienia są włączone — więc ten krok sprawia, że zakładka Zakleszczenia w ogóle się wypełnia. Linia prefiksu musi pasować dokładnie: kolektor odczytuje ją, aby znaleźć zaangażowane strony, a inny prefiks oznacza, że nie znajduje nic, jednocześnie raportując, że system jest zdrowy.", "dbmPgLoggingVerifyTitle": "Monitorowanie bazy danych · Sprawdź, czy ustawienia zostały zastosowane (opcjonalnie)", @@ -4066,7 +4066,7 @@ "dbmMysqlLogPathHelp": "Kolektor musi być w stanie odczytać ten plik. Znajdź go za pomocą: SHOW VARIABLES LIKE 'log_error';", "dbmMariadbLogPathHelp": "Kolektor musi być w stanie odczytać ten plik. Znajdź go za pomocą: SHOW VARIABLES LIKE 'log_error';", "dbmPrepareMssqlTitle": "Monitorowanie baz danych · Udziel dostępu (opcjonalnie)", - "dbmPrepareMssqlDesc": "**Wszystko powyżej jest kompletne samo w sobie** — czasy zapytań już docierają do baz danych ze śladów aplikacji, bez konfiguracji tutaj. Ta ostatnia grupa dodaje to, czego ślad nigdy nie zobaczy: zakleszczenia i zablokowane zapytania, które rejestruje tylko sama baza danych. Obie zgody są potrzebne — jedna pozwala kolektorowi odczytywać inne sesje, druga pozwala mu odczytać historię zakleszczeń. Wykonaj je w kliencie SQL, **nie** w powłoce.", + "dbmPrepareMssqlDesc": "**Wszystko powyżej jest już kompletne samo w sobie** — czasy zapytań już trafiają do Bazy danych z trace Twojej aplikacji, bez żadnej konfiguracji tutaj. Ta ostatnia grupa dodaje to, czego trace nigdy nie zobaczy: zakleszczenia i zablokowane zapytania, które rejestruje tylko sama baza danych. Obie zgody są potrzebne — jedna pozwala kolektorowi czytać inne sesje, druga pozwala mu czytać historię zakleszczeń. Uruchom je w kliencie SQL, **nie** w powłoce.", "dbmConfigureMssqlDesc": "Zapisuje `dbm-config.yaml` — ustaw poniżej bazę danych, do której ma się połączyć. SQL Server uzyskuje tutaj zakleszczenia, zablokowane zapytania, próbki aktywności, najczęstsze zapytania i plany wykonania. Odbiornik sqlserver czyta całą instancję, więc aktywność i najczęstsze zapytania nie są ograniczone do bazy danych podanej powyżej.", "dbmRunMssqlDesc": "Uruchamia obie konfiguracje razem. Użyj tego samego loginu i hasła utworzonego w kroku 1.", "dbmVerifyBlockingDesc": "Otwórz **Infra → Bazy danych → Zablokowane zapytania**. Sesje oczekujące na blokadę pojawiają się, gdy tylko jedna zostanie pobrana — pusty tab mówi ci, czy nic nie jest zablokowane, czy nic nie jest zbierane.", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "Otwórz **Infra → Bazy danych** i wybierz zakładkę poniżej. Zakleszczenia i zablokowane zapytania pojawiają się, gdy tylko baza danych zgłosi jedno — pusty tab mówi ci, czy nic się nie wydarzyło, czy nic nie jest zbierane. Stan tabel wypełnia się po pierwszym 60-sekundowym zrzucie." }, "instrumentBeforeImportTitle": "Instrumentuj przed zaimportowaniem klienta", - "instrumentBeforeImportBody": "Jeśli aplikacja działa, ale nie docierają żadne spany, prawdopodobnie instrumentacja została załadowana po zaimportowaniu klienta. Zmień kolejność, aby inicjalizacja została wykonana jako pierwsza:", + "instrumentBeforeImportBody": "Jeśli Twoja aplikacja działa, ale nie przychodzą żadne spany, prawdopodobnie instrumentacja została załadowana po zaimportowaniu klienta. Zmień kolejność, aby inicjalizacja działała najpierw:", "launchCloudFormationStack": "Uruchom stos CloudFormation", "openStackSetsConsole": "Otwórz konsolę StackSets", "integrations": { @@ -5554,7 +5554,7 @@ "deletePanelTitle": "Usuń panel", "deletePanelMessage": "Czy na pewno chcesz usunąć ten panel?", "movePanelTitle": "Przenieś panel do innej zakładki", - "movePanelMessage": "Wybierz zakładkę docelową", + "movePanelMessage": "Wybierz kartę docelową", "noQueriesToCreateAlert": "Ten panel nie ma zapytań do utworzenia alertu", "panelQueryMustHaveStream": "Zapytanie panelu musi mieć skonfigurowany strumień", "unsupportedPanelTypeAlert": "Tworzenie alertów z paneli {type} może nie działać zgodnie z oczekiwaniami", @@ -5669,7 +5669,7 @@ "description": "Ta organizacja nie otrzymała żadnych danych, więc nie ma nic do wyświetlenia. Gdy zdarzenia zaczną napływać, wolumen pozyskiwania, wykorzystanie pamięci i zapytań pojawi się tutaj automatycznie.", "logs": "Wyślij logi", "logsDesc": "{product1}, {product2}, {product3}, {product4} i więcej", - "traces": "Wyślij ślady", + "traces": "Wyślij trace", "tracesDesc": "{product1} / {product2} / {product3} rozproszone śledzenie", "metrics": "Wyślij metryki", "metricsDesc": "{product1}, {product2}, {product3} i więcej", @@ -5717,8 +5717,8 @@ "emptyActionAlertsDesc": "Przejrzyj skonfigurowane alerty i progi", "emptyActionLogs": "Eksploruj logi", "emptyActionLogsDesc": "Wyszukaj i filtruj swoje strumienie logów", - "emptyActionTraces": "Eksploruj ślady", - "emptyActionTracesDesc": "Sprawdź rozproszone ślady i opóźnienia usług", + "emptyActionTraces": "Przeglądaj trace", + "emptyActionTracesDesc": "Przeglądaj trace rozproszone i opóźnienia usług", "anomalyDetectedTitle": "Wykryto anomalię — {name}", "anomalyDetectedDescription": "Strumień: {stream} · {count} pkt. anomalii", "secondsAgo": "{count} s temu", @@ -5806,7 +5806,7 @@ "taglineTail": ". Mogę napisać Twoje", "taglineSql": "SQL", "taglineVrl": "VRL", - "taglineAnd": "i przeprowadzić Cię przez Twoje logi, ślady, metryki i incydenty.", + "taglineAnd": "i przeprowadzi Cię przez Twoje logi, trace, metryki i incydenty.", "signedInAs": "Zalogowany jako", "role": "Rola", "tryOneOfThese": "Lub wypróbuj jedną z tych opcji" @@ -5814,12 +5814,12 @@ "capabilities": { "query": { "title": "Napisz zapytanie", - "description": "SQL dla logów, śladów, RUM lub PromQL dla metryk.", + "description": "SQL dla logów, trace, RUM lub PromQL dla metryk.", "prompt": "Pomóż mi napisać zapytanie" }, "incident": { "title": "Badaj incydenty", - "description": "Analiza przyczyn źródłowych w logach, śladach, alertach — np. \"Dlaczego gateway-5xx został wywołany?\"", + "description": "Analiza pierwotnych przyczyn w logach, śladach i alertach — np. „Dlaczego uruchomił się alert gateway-5xx?”", "prompt": "Pomóż mi zbadać incydent" }, "dashboard": { @@ -5962,7 +5962,7 @@ "features": "FUNKCJE", "included": "Co jest wliczone?", "proPlanSubtitle": "Niestandardowe rozwiązania dla małych zespołów", - "unlimitedNote": "Nieograniczeni użytkownicy, logi, metryki, ślady i więcej.", + "unlimitedNote": "Bez limitów: użytkownicy, logi, metryki, ślady i więcej.", "paymentNote": "Płatność obliczana na podstawie użycia na koniec miesięcznego cyklu rozliczeniowego.", "proPlanLabel": "Płać za użycie", "contactLabel": "Skontaktuj się z działem sprzedaży", @@ -6145,13 +6145,13 @@ "anomalyImportFailed": "Wykrywanie anomalii - {index}: import \"{name}\" nie powiódł się — {reason}", "nameRequired": "Alert - {index}: Nazwa jest obowiązkowa i powinna być prawidłowym ciągiem znaków.", "orgIdInvalid": "Alert - {index}: Identyfikator organizacji jest obowiązkowy, powinien istnieć na liście organizacji i być równy {orgId}.", - "streamTypeInvalid": "Alert - {index}: Typ strumienia jest obowiązkowy i powinien być jednym z: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Alert - {index}: Typ strumienia jest wymagany i musi być jednym z: 'logs', 'metrics', 'traces'.", "streamNameInvalid": "Alert - {index}: Nazwa strumienia jest obowiązkowa, powinna istnieć na liście strumieni i być prawidłowym ciągiem znaków.", "destinationsRequired": "Alert - {index}: Miejsca docelowe są wymagane i powinny być tablicą.", "enabledBoolean": "Alert - {index}: Enabled powinno być wartością logiczną.", "tzOffsetNumber": "Alert - {index}: Przesunięcie strefy czasowej powinno być liczbą.", "timezoneRequiredForCron": "Alert - {index}: Strefa czasowa jest wymagana, gdy typ częstotliwości to 'cron'.", - "destinationNotExist": "Alert - {index}: Cel \"{destination}\" nie istnieje", + "destinationNotExist": "Alert - {index}: Miejsce docelowe „{destination}” nie istnieje", "createSuccess": "Alert - {index}: \"{name}\" utworzono pomyślnie \nUwaga: usuń utworzony obiekt alertu {name} z pliku JSON", "createFailed": "Alert - {index}: Tworzenie \"{name}\" nie powiodło się --> \n Powód: {reason}", "unknownError": "Nieznany błąd", @@ -6261,7 +6261,7 @@ "noChildren": "Brak jeszcze alertów podrzędnych. Dodaj co najmniej dwa.", "wouldTrigger": "Wyzwoliłoby", "wouldNotTrigger": "Nie wyzwoliłoby", - "firing": "Wyzwolony", + "firing": "Aktywny", "normal": "Normalny", "stepByStep": "Krok po kroku", "result": "Wynik", @@ -6288,7 +6288,7 @@ "exportDialogSubtitle": "Przejrzyj definicję, a następnie pobierz ją jako JSON lub jako Terraform dla dostawcy OpenObserve.", "jsonFilesOnlyHint": "Tylko pliki .json", "outputMessages": "Komunikaty wyjściowe", - "destinationsRequiredLabel": "Cele *", + "destinationsRequiredLabel": "Miejsca docelowe *", "timezoneRequiredLabel": "Strefa czasowa *", "organizationIdLabel": "ID organizacji", "alertCreationTitle": "Tworzenie alertu", @@ -6328,13 +6328,13 @@ "guidelinesLabel": "Wytyczne:", "selectStreamGuideline": "Wybierz istniejący strumień z listy lub wprowadź nazwę, aby utworzyć nowy.", "enrichmentTablesTerm": "Enrichment_tables", - "enrichmentTablesDestinationNote": "jako strumień docelowy jest dostępny tylko dla planowanych potoków", + "enrichmentTablesDestinationNote": "Jako strumień docelowy dostępny tylko dla zaplanowanych potoków", "useCurlyBracesNote": "Użyj nawiasów klamrowych", "configureStreamNameDynamicNote": "aby dynamicznie skonfigurować nazwę strumienia, np.", "staticTextBeforeAfterNote": ". Tekst statyczny przed/po", "isOptionalNote": "jest opcjonalne", "noTriggersLoaded": "Nie załadowano wyzwalaczy", - "externalDestinationTitle": "Cel zewnętrzny", + "externalDestinationTitle": "Zewnętrzne miejsce docelowe", "serviceGraphLegendTitle": "Legenda wykresu", "serviceGraphRootCause": "Czerwony = potencjalna przyczyna źródłowa", "serviceGraphHighFrequency": "Pomarańczowy = wysoka częstotliwość", @@ -6381,7 +6381,7 @@ "duration": "Czas trwania", "retries": "Ponowne próby", "dedup": "Deduplikacja", - "noDestinations": "Brak dostępnych celów", + "noDestinations": "Brak dostępnych miejsc docelowych", "validation": { "streamTypeRequired": "Typ strumienia jest wymagany.", "streamNameRequired": "Nazwa strumienia jest wymagana.", @@ -6392,7 +6392,7 @@ "validEmails": "Dodaj prawidłowe adresy e-mail!", "silenceNonNegative": "Powiadomienie o wyciszeniu powinno być większe lub równe 0", "periodPositive": "Okres powinien być większy niż 0", - "destinationRequired": "Wymagany jest co najmniej jeden cel.", + "destinationRequired": "Co najmniej jedno miejsce docelowe jest wymagane.", "thresholdPositive": "Próg powinien być większy niż 0", "frequencyPositive": "Częstotliwość powinna być większa niż 0", "aggregationColumnRequired": "Kolumna jest wymagana przy użyciu funkcji agregującej.", @@ -6403,7 +6403,7 @@ "minimumFrequency": "Minimalna częstotliwość powinna wynosić {minutes} minut", "nameMandatoryString": "Nazwa jest obowiązkowa i powinna być prawidłowym ciągiem znaków", "orgIdMismatch": "Identyfikator organizacji powinien być równy {orgId}", - "streamTypeMandatory": "Typ strumienia jest obowiązkowy i powinien być jednym z: logs, metrics, traces", + "streamTypeMandatory": "Typ strumienia jest obowiązkowy i musi być jednym z: logs, metrics, traces", "streamNameMandatoryString": "Nazwa strumienia jest obowiązkowa i powinna być prawidłowym ciągiem znaków", "streamNotInList": "Strumień \"{streamName}\" nie istnieje na liście strumieni", "isRealTimeMandatoryBoolean": "Is Real-Time jest obowiązkowe i powinno być wartością logiczną", @@ -6435,10 +6435,10 @@ "cronRequiredForCronType": "Wyrażenie cron jest wymagane, gdy typ częstotliwości to cron", "timezoneRequiredForCronType": "Strefa czasowa jest wymagana, gdy typ częstotliwości to cron", "triggerConditionRequired": "Warunek wyzwalacza jest wymagany", - "destinationsArray": "Cele muszą być tablicą", - "destinationRequiredPlain": "Wymagany jest co najmniej jeden cel", - "noDestinationsInSystem": "Nie znaleziono dostępnych celów w systemie", - "invalidDestinations": "Nieprawidłowe cele: {destinations} - muszą pochodzić z listy dostępnych celów", + "destinationsArray": "Miejsca docelowe muszą być tablicą", + "destinationRequiredPlain": "Co najmniej jedno miejsce docelowe jest wymagane", + "noDestinationsInSystem": "Nie znaleziono dostępnych miejsc docelowych w systemie", + "invalidDestinations": "Nieprawidłowe miejsca docelowe: {destinations} - muszą pochodzić z listy dostępnych miejsc docelowych", "enabledFlagBoolean": "Flaga enabled musi być wartością logiczną", "silenceNotificationRequired": "Powiadomienie o wyciszeniu nie powinno być puste", "thresholdNotEmpty": "Próg nie powinien być pusty", @@ -6459,8 +6459,8 @@ "searchAllFolders": "Wszystkie foldery", "streamConfig": "Konfiguracja strumienia", "alertRules": "Reguły alertów", - "noTemplatesMsg": "Aby utworzyć alert, potrzebujesz co najmniej jednego szablonu i jednego celu. Szablony określają format wiadomości powiadomienia — zacznij od utworzenia jednego.", - "noDestinationsMsg": "Aby utworzyć alert, potrzebujesz co najmniej jednego celu i jednego szablonu. Cele określają, gdzie wysyłane są powiadomienia — zacznij od utworzenia jednego.", + "noTemplatesMsg": "Aby utworzyć alert, potrzebujesz co najmniej jednego szablonu i jednego miejsca docelowego. Szablony określają format wiadomości powiadomienia — zacznij od utworzenia jednego.", + "noDestinationsMsg": "Aby utworzyć alert, potrzebujesz co najmniej jednego miejsca docelowego i jednego szablonu. Miejsca docelowe określają, gdzie wysyłane są powiadomienia — zacznij od utworzenia jednego.", "add": "Nowy alert", "edit": "Edytuj", "clone": "Klonuj alert", @@ -6512,36 +6512,36 @@ "threshold": "Alert, jeśli ", "silenceNotification": "Okres wyciszenia", "destination": "Miejsce docelowe", - "destinationOrWorkflowRequired": "Dodaj co najmniej jeden cel lub przepływ pracy.", + "destinationOrWorkflowRequired": "Dodaj co najmniej jedno miejsce docelowe lub przepływ pracy.", "customDestination": "Niestandardowe miejsce docelowe", "customDestinationDescription": "Skonfiguruj niestandardowy punkt końcowy HTTP lub miejsce docelowe e-mail", - "testIdleMessage": "Kliknij „Testuj”, aby zweryfikować konfigurację miejsca docelowego", + "testIdleMessage": "Kliknij „Test”, aby zweryfikować konfigurację miejsca docelowego", "destinationPreview": "Podgląd miejsca docelowego", "template": "Zastąpienie szablonu", "additionalVariables": "Dodatkowe zmienne", - "testSuccessMessage": "Test udany! Twoje miejsce docelowe jest poprawnie skonfigurowane.", + "testSuccessMessage": "Test zakończony sukcesem! Twoje miejsce docelowe jest skonfigurowane poprawnie.", "testFailedMessage": "Test nieudany. Sprawdź konfigurację i spróbuj ponownie.", "testFailedWithReason": "Test nie powiódł się: {reason}", "testInProgress": "Testowanie miejsca docelowego...", "sendingNotification": "Wysyłanie testowego powiadomienia w celu weryfikacji łączności", "testErrorDNS": "Rozpoznawanie DNS nie powiodło się. Sprawdź URL webhooka lub nazwę hosta.", "testErrorConnection": "Połączenie odrzucone. Sprawdź URL i upewnij się, że usługa jest osiągalna.", - "testErrorTimeout": "Limit czasu żądania przekroczony. Usługa docelowa może być wolna lub nieosiągalna.", + "testErrorTimeout": "Przekroczono limit czasu żądania. Usługa miejsca docelowego może być wolna lub niedostępna.", "testErrorSSL": "Błąd certyfikatu SSL/TLS. Sprawdź certyfikat lub wyłącz weryfikację SSL.", "testErrorClientError": "Błąd klienta (4xx). Sprawdź swoje dane uwierzytelniające i konfigurację.", - "testErrorServerError": "Błąd serwera (5xx). Usługa docelowa ma problemy.", + "testErrorServerError": "Błąd serwera (5xx). Usługa miejsca docelowego napotyka problemy.", "viewDetails": "Wyświetl szczegóły", "error": "Błąd", "httpStatus": "Status HTTP", "responseBody": "Treść odpowiedzi", "retry": "Ponów", "suggestCheckUrl": "Sprawdź, czy URL webhooka jest poprawny i osiągalny.", - "suggestCheckFirewall": "Sprawdź ustawienia zapory sieciowej i upewnij się, że usługa docelowa jest dostępna.", + "suggestCheckFirewall": "Sprawdź ustawienia zapory sieciowej i upewnij się, że usługa miejsca docelowego jest dostępna.", "suggestCheckCredentials": "Sprawdź, czy Twoje dane uwierzytelniające API są poprawne.", "suggestCheckPermissions": "Sprawdź, czy Twoje dane uwierzytelniające mają niezbędne uprawnienia.", "suggestCheckEndpoint": "Sprawdź, czy URL punktu końcowego jest poprawny.", "suggestRateLimit": "Przekroczyłeś limit żądań. Poczekaj przed ponowieniem próby.", - "suggestServerIssue": "Usługa docelowa ma problemy. Spróbuj ponownie później.", + "suggestServerIssue": "Usługa miejsca docelowego napotyka problemy. Spróbuj ponownie później.", "description": "Opis", "stream_name": "Nazwa strumienia", "cloneTitle": "Klonuj alert", @@ -6732,7 +6732,7 @@ "ifPrefix": "jeśli", "noConditionsDefined": "Nie zdefiniowano warunków", "loadingCorrelatedMetrics": "Wczytywanie skorelowanych metryk...", - "loadingCorrelatedTraces": "Wczytywanie skorelowanych śladów...", + "loadingCorrelatedTraces": "Ładowanie powiązanych śladów...", "disambiguationChangedMessage": "Konfiguracja wykrywania usług (pola doprecyzowania) została zmieniona po utworzeniu tego incydentu.", "noActivityYet": "Brak aktywności", "eventsAndCommentsAppearHere": "Tutaj pojawią się wydarzenia i komentarze", @@ -6766,7 +6766,7 @@ "correlatedAlertsCount": "Alerty: {count} skorelowanych alertów", "noCorrelatedLogs": "Nie znaleziono skorelowanych logów", "noCorrelatedMetrics": "Nie znaleziono skorelowanych metryk", - "noCorrelatedTraces": "Nie znaleziono skorelowanych śladów", + "noCorrelatedTraces": "Nie znaleziono powiązanych śladów", "lastAlertAt": "Ostatni alert", "title_field": "Tytuł", "stableDimensions": "Wymiary", @@ -6779,7 +6779,7 @@ "acknowledge": "Potwierdź", "resolve": "Rozwiąż", "reopen": "Otwórz ponownie", - "statusOpen": "Otwórz", + "statusOpen": "Otwarty", "statusAcknowledged": "Potwierdzone", "statusResolved": "Rozwiązane", "correlationServiceDiscovery": "Odkrywanie usług", @@ -6844,7 +6844,7 @@ "noAlertDetailsAvailable": "Brak szczegółów alertu", "clickOnTriggerToViewDetails": "Kliknij na wyzwalacz w tabeli, aby wyświetlić szczegóły", "refreshCorrelatedData": "Odśwież dane skorelowane", - "showingCorrelatedTraces": "Wyświetlanie skorelowanych śladów z ram czasowych incydentu", + "showingCorrelatedTraces": "Wyświetlanie powiązanych śladów z okresu incydentu", "incidentTitleUpdatedSuccess": "Tytuł incydentu zaktualizowany pomyślnie", "markAsAcknowledgedTooltip": "Oznacz incydent jako potwierdzony i w trakcie prac", "markAsResolvedTooltip": "Oznacz incydent jako rozwiązany i zamknij go", @@ -6965,15 +6965,15 @@ "helpLegendSampleExample": "42", "sectionTitle": "Ustawienia", "noDestinationsAvailable": "Brak dostępnych miejsc docelowych", - "noTargetsAvailable": "Brak dostępnych celów lub przepływów pracy", - "targetsDestinationsGroup": "Cele", + "noTargetsAvailable": "Brak dostępnych miejsc docelowych lub przepływów pracy", + "targetsDestinationsGroup": "Miejsca docelowe", "targetsWorkflowsGroup": "Przepływy pracy", "refreshDestinations": "Odśwież najnowsze miejsca docelowe", "addNewDestination": "Dodaj miejsce docelowe", "cooldownTooltip": "Jeśli alert się wywoła, jak długo powinien czekać przed wysłaniem kolejnego powiadomienia. Np. jeśli alert wywołuje się o 16:00, a czas wyciszenia ustawiono na 10 minut, to nie wyśle kolejnego powiadomienia do 16:10, nawet jeśli alert nadal występuje po 1 minucie. Ma to na celu uniknięcie spamowania użytkownika powiadomieniami.", "periodTooltip": "Okres, dla którego zapytanie powinno działać. Np. 10 minut oznacza, że przy każdym uruchomieniu zapytanie użyje ostatnich 10 minut danych.", "timezoneWarning": "Ostrzeżenie: Wyświetlona strefa czasowa jest przybliżona. Zweryfikuj i wybierz poprawną strefę czasową ręcznie.", - "destinationsTooltip": "Wybierz jedno lub więcej miejsc docelowych do wysyłania powiadomień alertów.", + "destinationsTooltip": "Wybierz jedno lub więcej miejsc docelowych, aby wysyłać powiadomienia o alertach.", "createsIncident": "Tworzy incydent", "createsIncidentTooltip": "Jeśli alert może utworzyć incydent, nie wysyła dedykowanego powiadomienia. Zamiast tego powiadomienie o incydencie jest wysyłane, gdy nowy incydent zostanie utworzony lub nowy typ alertu dołączy do istniejącego incydentu.", "helpTemplateTitle": "Zastąpienie szablonem", @@ -6985,10 +6985,10 @@ "helpLegendLive": "rzeczywiste wartości alertu", "helpLegendSample": "próbka — rzeczywista wartość jest ustawiana po wywołaniu alertu", "helpLegendOpaque": "dodawane automatycznie po wywołaniu alertu", - "helpTemplateExplain": "A template is the notification message that gets sent — the text plus variables like {'{'}alert_name{'}'}. Picking one here overrides each destination's own template, for this alert only.", + "helpTemplateExplain": "Szablon to wiadomość powiadomienia, która jest wysyłana — tekst plus zmienne, takie jak {'{'}alert_name{'}'}. Wybranie go tutaj zastępuje własny szablon każdego miejsca docelowego, tylko dla tego alertu.", "helpCurrentHeading": "Co ten alert teraz wysyła", - "helpCurrentNoOverride": "Nie ustawiono zastąpienia — każde miejsce docelowe używa własnego szablonu:", - "helpCurrentNoDestinations": "Nie wybrano jeszcze miejsc docelowych. Każde miejsce docelowe użyje własnego skonfigurowanego szablonu.", + "helpCurrentNoOverride": "Brak ustawionego nadpisania — każde miejsce docelowe używa własnego szablonu:", + "helpCurrentNoDestinations": "Nie wybrano jeszcze żadnych miejsc docelowych. Każde miejsce docelowe użyje własnego skonfigurowanego szablonu.", "helpCurrentOverrideHeading": "Wszystkie miejsca docelowe używają tego szablonu:", "helpPreviewHeading": "Podgląd szablonu", "helpPreviewSelectPlaceholder": "Wybierz szablon do podglądu", @@ -7001,7 +7001,7 @@ "helpYourVariablesEmpty": "Nie dodałeś jeszcze żadnych zmiennych.", "helpRowTemplateExplain": "An alert can match many rows. The row template decides how a single row looks. Then {'{'}rows{'}'} in your main template drops in every matched row, already formatted.", "helpRowTemplateTypeHeading": "String vs JSON", - "helpRowTemplateTypeExplain": "String tworzy zwykły tekst dla każdego wiersza. JSON tworzy obiekt JSON dla każdego wiersza, odpowiedni dla strukturalnych miejsc docelowych.", + "helpRowTemplateTypeExplain": "String generuje zwykły tekst dla każdego wiersza. JSON generuje obiekt JSON dla każdego wiersza, odpowiedni dla strukturalnych miejsc docelowych.", "helpRowTemplateTypeCurrent": "Obecnie wybrane:", "helpPreviewHeadingShort": "Podgląd", "helpWhyHeading": "Po co używać zmiennej?", @@ -7014,7 +7014,7 @@ "helpVariablesExampleCaption": "Dodaj poziom ważności i zespół jako zmienne, a następnie użyj ich w dowolnym miejscu w szablonie:", "helpExampleResultLabel": "Co jest wysyłane", "helpTemplateWhenHeading": "Kiedy należy zastąpić?", - "helpTemplateWhenDesc": "Pozostaw to puste, a każdy cel użyje własnego szablonu. Ustaw zastąpienie, gdy chcesz, aby to jedno powiadomienie wysyłało tę samą, spójną wiadomość do każdego celu — bez edytowania szablonu każdego celu.", + "helpTemplateWhenDesc": "Pozostaw to puste, a każdy cel użyje własnego szablonu. Ustaw nadpisanie, jeśli chcesz, aby ten jeden alert wysyłał ten sam, spójny komunikat do każdego celu — bez edytowania szablonu każdego celu.", "helpRowTemplateWhyHeading": "Po co szablon wiersza?", "helpRowTemplateWhyDesc": "Powiadomienie może pasować do wielu rekordów. Szablon wiersza formatuje jeden rekord; {'{'}rows{'}'} następnie wrzuca każdy sformatowany rekord do głównego szablonu — dzięki czemu wyświetlasz wszystkie dopasowania bez pisania pętli.", "helpRowTemplateExampleCaption": "Każdy pasujący wiersz jest formatowany przez szablon wiersza, a następnie {'{'}rows{'}'} wrzuca je wszystkie do głównego szablonu:", @@ -7026,7 +7026,7 @@ "helpDestinationNoTemplate": "Używa domyślnego formatowania tego celu.", "builtInVars": { "orgName": "Nazwa Twojej organizacji", - "streamType": "Typ strumienia (logi, metryki, trace)", + "streamType": "Typ strumienia (logi, metryki, ślady)", "streamName": "Nazwa strumienia obserwowanego przez alert", "alertName": "Nazwa alertu", "alertType": "Typ alertu (np. zaplanowany, w czasie rzeczywistym)", @@ -7048,7 +7048,7 @@ }, "advanced": { "addVariable": "Dodaj zmienną", - "variablesTooltip": "Zmienne są używane do przekazywania danych z powiadomienia do celu.", + "variablesTooltip": "Zmienne służą do przekazywania danych z alertu do celu.", "templateType": "Typ szablonu:", "noTemplatesAvailable": "Brak dostępnych szablonów", "refreshTemplates": "Odśwież najnowsze szablony", @@ -7133,12 +7133,12 @@ }, "anomaly": { "addFilter": "Dodaj filtr", - "addNewDestination": "Dodaj nowe miejsce docelowe", + "addNewDestination": "Dodaj nowy cel", "anomalyScoreRange": "Zakres wyniku anomalii:", "checkEvery": "Sprawdzaj co", "checkEveryTooltip": "Jak często uruchamiane jest zadanie wykrywania. Może być większe niż okres próbkowania (np. próbkowanie co 5 min, wykrywanie co 1 godz.).", "clickLoadDataHint": "Kliknij Wczytaj dane, aby wyświetlić podgląd szeregu czasowego", - "destinationRequired": "Wymagane jest co najmniej jedno miejsce docelowe!", + "destinationRequired": "Co najmniej jeden cel jest wymagany!", "detectionResolution": "Rozdzielczość wykrywania", "detectionResolutionTooltip": "Jak szczegółowy jest każdy punkt danych. Np. \"5m\" oznacza, że anomalie są wykrywane z rozdzielczością 5 minut.", "disabled": "Wyłączone", @@ -7153,10 +7153,10 @@ "lookBackWindowTooltip": "Jak daleko wstecz sięga każde zapytanie wykrywania. Ogranicza okno nawet po długiej przerwie. Domyślnie równa się interwałowi sprawdzania.", "maxThresholdMarkLine": "maksymalny próg", "minThresholdMarkLine": "minimalny próg", - "noDestinationsFound": "Nie znaleziono miejsc docelowych", + "noDestinationsFound": "Nie znaleziono celów", "noFieldsFound": "Nie znaleziono pól", "notifications": "Powiadomienia", - "notificationsTooltip": "Po włączeniu powiadomienie zostanie wysłane do wybranego miejsca docelowego za każdym razem, gdy zostanie wykryta anomalia.", + "notificationsTooltip": "Po włączeniu powiadomienie zostanie wysłane do wybranego celu za każdym razem, gdy wykryta zostanie anomalia.", "retrainEvery": "Ponowne uczenie co", "retrainEveryTooltip": "Jak często automatycznie przekwalifikowywać model. „Nigdy” oznacza trenowanie raz i zachowanie modelu do ręcznego przekwalifikowania.", "retrainFourteenDays": "14 dni", @@ -7178,7 +7178,7 @@ "summaryDetectionFunction": "✓ Funkcja wykrywania: {fn}", "summaryDetectionWindow": "✓ Okno wykrywania: ostatnie {window}", "summaryMonitoring": "Monitoruj \"{stream}\" co {schedule} dla anomalii {fn}, trenowany na {trainingDays} dniach historii", - "summaryNoDestinationSet": "Nie ustawiono miejsca docelowego", + "summaryNoDestinationSet": "Nie ustawiono celu", "summaryQueryMode": "✓ Tryb zapytania: {mode}", "summaryResolution": "✓ Rozdzielczość: {resolution}", "summaryRetrain": "✓ Ponowne trenowanie: {retrain}", @@ -7304,21 +7304,21 @@ "triggerAlertFailed": "Nie udało się wyzwolić alertu", "triggerRetrainingFailed": "Nie udało się wyzwolić ponownego trenowania", "bulkDeleteAlertsFailed": "Błąd podczas usuwania alertów. Spróbuj ponownie.", - "deleteDestinationFailed": "Błąd podczas usuwania miejsca docelowego", - "bulkDeleteDestinationsFailed": "Błąd podczas usuwania miejsc docelowych. Spróbuj ponownie.", + "deleteDestinationFailed": "Błąd podczas usuwania celu", + "bulkDeleteDestinationsFailed": "Błąd podczas usuwania celów. Spróbuj ponownie.", "bulkDeleteTemplatesFailed": "Błąd podczas usuwania szablonów. Spróbuj ponownie." }, "prebuilt": { - "conversionSuccess": "Miejsce docelowe przekonwertowane pomyślnie", + "conversionSuccess": "Cel został pomyślnie przekonwertowany", "validationError": "Błąd walidacji: {error}", - "invalidDestinationType": "Nieprawidłowy typ miejsca docelowego", + "invalidDestinationType": "Nieprawidłowy typ celu", "invalidTargetType": "Nieprawidłowy typ celu", - "unknownDestinationType": "Nieznany typ miejsca docelowego", + "unknownDestinationType": "Nieznany typ celu", "testFailedUnknownError": "Test nie powiódł się z nieznanym błędem" }, "confirmDeleteAlerts": "Czy na pewno chcesz usunąć {count} alert? | Czy na pewno chcesz usunąć {count} alertów?", - "confirmDeleteDestinations": "Czy na pewno chcesz usunąć {count} miejsce docelowe? | Czy na pewno chcesz usunąć {count} miejsc docelowych?", - "prebuiltDestination": "Gotowe miejsce docelowe {type}", + "confirmDeleteDestinations": "Czy na pewno chcesz usunąć {count} cel? | Czy na pewno chcesz usunąć {count} celów?", + "prebuiltDestination": "Wbudowany cel {type}", "errorValidations": "Walidacje błędów", "outputMessagesLabel": "Komunikaty wyjściowe", "incidentSingular": "Incydent", @@ -7374,7 +7374,7 @@ "critical": "Krytyczny", "warning": "Ostrzeżenie", "ok": "OK", - "firingTotal": "Aktywny", + "firingTotal": "Wyzwolone", "observedTotal": "Grupy", "nOfMFiring": "{firing} z {observed} grup aktywnych", "groupedBy": "grupowane według {columns}", @@ -7523,26 +7523,26 @@ "actionOpen": "Otwórz", "actionDelete": "Usuń", "deleteTitle": "Usunąć {name}?", - "deleteMessage": "Spowoduje to trwałe usunięcie. Usunięcie jest zablokowane, jeśli alert lub miejsce docelowe nadal go używa.", + "deleteMessage": "To spowoduje trwałe usunięcie. Usunięcie jest zablokowane, jeśli wciąż używa go alert lub cel.", "deletedToast": "Usunięto {name}", "deleteFailedToast": "Nie można usunąć {name}", "loading": "Budowanie grafu zależności…", "failedToLoad": "Nie udało się załadować zależności: {error}", "usedBy": "{count} alert | {count} alerty", - "countDestinations": "{count} miejsce docelowe | {count} miejsca docelowe", + "countDestinations": "{count} cel | {count} celów", "usedByColumn": "Używane przez", "searchPlaceholder": "Szukaj", "noDependencies": "Brak zależności.", "noMatches": "Brak dopasowań.", "laneEmpty": "Brak alertów", "directOverrides": "Używa tego szablonu bezpośrednio", - "sectionDestinations": "Miejsca docelowe", + "sectionDestinations": "Cele", "sectionAlerts": "Alerty", "orphanTag": "Nieużywane", "missingTag": "Brakujące", "enabled": "Włączone", "paused": "Wstrzymane", - "impactTemplate": "Używane przez {destinations} · {alerts}", + "impactTemplate": "Używany przez {destinations} · {alerts}", "impactDestination": "Używane przez {alerts}" }, "alert_library": { @@ -7614,13 +7614,13 @@ "stepFolder": "Folder", "stepTune": "Dostosuj", "stepInstall": "Zainstaluj", - "destinationIntro": "Każdy alert w tej partii powiadamia cel wybrany tutaj. Pliki biblioteki podają cele organizacji, z której zostały wyeksportowane, które nie istnieją w Twojej.", + "destinationIntro": "Każdy alert w tej partii powiadamia cel wybrany tutaj. Pliki biblioteki podają nazwy celów organizacji, z której zostały wyeksportowane, a które nie istnieją w Twojej.", "destinationLabel": "Cel", "destinationPlaceholder": "Wybierz cel", - "destinationsLoadFailed": "Nie udało się wczytać istniejących celów.", + "destinationsLoadFailed": "Nie można było wczytać istniejących celów.", "retry": "Spróbuj ponownie", - "destinationsNoneBody": "Ta organizacja nie ma jeszcze celów alertów, więc te alerty nie mają gdzie powiadamiać. Utwórz jeden na stronie Cele, a następnie wróć i wybierz go tutaj.", - "openDestinations": "Otwórz Cele", + "destinationsNoneBody": "Ta organizacja nie ma jeszcze celów alertów, więc te alerty nie mają dokąd wysyłać powiadomień. Utwórz jeden na stronie Cele, a następnie wróć i wybierz go tutaj.", + "openDestinations": "Otwórz cele", "selectAll": "Zaznacz wszystkie", "clear": "Wyczyść", "selectedCount": "Wybrano {count} z {total}", @@ -7675,7 +7675,7 @@ "importBodyLabel": "Treść szablonu *", "importTypeLabel": "Typ szablonu *", "importTitleLabel": "Tytuł szablonu *", - "header": "Szablony miejsc docelowych", + "header": "Szablony celów", "add": "Nowy szablon", "edit": "Edytuj", "name": "Nazwa", @@ -7735,7 +7735,7 @@ "chartPreviewPlaceholder": "Wykres pojawia się tutaj w prawdziwych powiadomieniach — jest tworzony z historii oceny alertu, której podgląd nie ma.", "channelTitlesDescription": "Użyj innego tytułu na określonych kanałach — np. krótszego tematu wiadomości e-mail.", "namePlaceholder": "np. Wysoki wskaźnik błędów", - "nameLockedHint": "Alerty i miejsca docelowe odwołują się do tego szablonu po nazwie, więc nie można go zmienić. Sklonuj szablon, aby utworzyć kopię pod nową nazwą.", + "nameLockedHint": "Alerty i cele odwołują się do tego szablonu po nazwie, więc nie można zmienić jego nazwy. Sklonuj szablon, aby utworzyć kopię pod nową nazwą.", "rawBodyCaption": "Wysyłane dokładnie tak, jak napisano, z podstawionymi {'{'}variables{'}'}. Zobacz przewodnik po zmiennych, aby poznać wszystko dostępne.", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "np. Wartość", @@ -7852,10 +7852,10 @@ "editTitle": "Edytuj źródło alertów", "name": "Nazwa", "nameHint": "To tylko etykieta — każde źródło korzysta z tej samej konfiguracji.", - "incidentDestination": "Miejsce docelowe incydentu", + "incidentDestination": "Cel incydentu", "incidentDestinationPlaceholder": "Użyj domyślnych ustawień organizacji", "incidentDestinationHint": "Gdzie trafiają powiadomienia, gdy alerty tego źródła tworzą lub dołączają do incydentu. Pozostaw puste, aby użyć domyślnych ustawień organizacji — jeśli żadne nie jest ustawione, pasujące incydenty będą wyzwalane po cichu.", - "noDestinationSet": "Nie ustawiono miejsca docelowego incydentu", + "noDestinationSet": "Nie ustawiono celu incydentu", "setupStep1Title": "1. Utwórz webhook", "setupStep1Body": "W Grafanie, Alertmanagerze lub dowolnym narzędziu, które potrafi wysyłać JSON metodą POST, utwórz punkt kontaktowy / odbiorcę webhooka.", "setupRemainingStepsHint": "Zapisz to źródło, aby uzyskać jego adres URL i token, a następnie wklej je do konfiguracji webhooka.", @@ -7879,12 +7879,12 @@ "updatedSuccess": "Zaktualizowano źródło alertów", "error": "Błąd podczas ładowania źródeł alertów", "senderError": "Błąd podczas ładowania statusu źródła", - "destinationsLoadError": "Błąd podczas ładowania miejsc docelowych" + "destinationsLoadError": "Błąd podczas ładowania celów" }, "alert_destinations": { - "sectionTab": "Miejsca docelowe", + "sectionTab": "Cele", "chooseTypeTitle": "Wybierz typ", - "selectDestinationType": "Wybierz typ miejsca docelowego", + "selectDestinationType": "Wybierz typ celu", "connectionStepTitle": "Połączenie", "connectionDetailsTitle": "Szczegóły połączenia", "urlHelpText": "Podstawowy URL bez końcowego ukośnika (np. https://your-domain.com)", @@ -7903,10 +7903,10 @@ "datadogHostnameHelpText": "Nazwa hosta dla logów Datadog", "exampleLabel": "Przykład:", "subtitle": "Gdzie są dostarczane wyzwolone alerty", - "exportDestination": "Eksportuj miejsce docelowe", - "deleteDestinationTitle": "Usuń miejsce docelowe", - "deleteDestinationMessage": "Czy na pewno chcesz usunąć miejsce docelowe?", - "deleteDestinationsTitle": "Usuń miejsca docelowe", + "exportDestination": "Eksportuj cel", + "deleteDestinationTitle": "Usuń cel", + "deleteDestinationMessage": "Czy na pewno chcesz usunąć cel?", + "deleteDestinationsTitle": "Usuń cele", "selected": "wybrane", "organizationLabel": "Organizacja", "defaultPlaceholder": "np. default", @@ -7925,20 +7925,20 @@ "ddTagsPlaceholder": "Wprowadź tagi (np. env:prod,version:1.0)", "serviceLabel": "Usługa", "servicePlaceholder": "Wprowadź nazwę usługi (np. api-gateway)", - "header": "Miejsca docelowe powiadomień", - "add": "Nowe miejsce docelowe", + "header": "Cele powiadomień", + "add": "Nowy cel", "edit": "Edytuj", - "search": "Szukaj miejsca docelowego", + "search": "Szukaj celu", "filterAll": "Wszystkie", "filterPrebuilt": "Wbudowany", "filterCustom": "Niestandardowy", "templateDefaultBadge": "Domyślny", "name": "Nazwa", - "destination_type": "Typ miejsca docelowego", + "destination_type": "Typ celu", "template": "Szablon", "actions": "Akcje", - "addTitle": "Nowe miejsce docelowe", - "updateTitle": "Aktualizuj miejsce docelowe", + "addTitle": "Nowy cel", + "updateTitle": "Aktualizacja celu", "delete": "Usuń", "method": "Metoda", "url": "URL", @@ -7952,7 +7952,7 @@ "custom_headers": "Niestandardowe nagłówki (opcjonalnie)", "preview": "Podgląd", "test": "Test", - "saved": "Miejsce docelowe zapisane pomyślnie", + "saved": "Pomyślnie zapisano cel", "customWebhook": "Niestandardowy (Webhook)", "customEmail": "Niestandardowy (Email)", "customAction": "Niestandardowy (Akcja)", @@ -7962,7 +7962,7 @@ "separator_hint": "Ciąg separatora używany między rekordami (spacje dozwolone)", "templateDefaultOption": "Domyślny ({name})", "templateHelp": "Pozostaw domyślny, aby użyć standardowego szablonu {type} ({name}), lub wybierz niestandardowy.", - "loadingData": "Ładowanie danych miejsca docelowego...", + "loadingData": "Ładowanie danych celu...", "noEmailTemplates": "Wygląda na to, że nie utworzyłeś jeszcze żadnych szablonów e-mail.", "createEmailTemplate": "Utwórz szablon e-mail", "headers": "Nagłówki", @@ -7977,40 +7977,40 @@ "servicenowDescription": "Twórz incydenty w ServiceNow" }, "import": { - "title": "Importuj miejsce docelowe", + "title": "Importowanie celu", "errorValidations": "Walidacje błędów", "outputMessages": "Komunikaty wyjściowe", - "destinationName": "Nazwa miejsca docelowego", - "destinationUrl": "URL miejsca docelowego", - "destinationMethod": "Metoda miejsca docelowego", + "destinationName": "Nazwa celu", + "destinationUrl": "Adres URL celu", + "destinationMethod": "Metoda celu", "templates": "Szablony", "emails": "E-maile (oddzielone przecinkami)", "actions": "Akcje", - "destinationCreation": "Tworzenie miejsca docelowego", + "destinationCreation": "Tworzenie celu", "jsonStringEmpty": "Ciąg JSON jest pusty", "invalidJsonFormat": "Nieprawidłowy format JSON", - "importSuccess": "Pomyślnie zaimportowano miejsca docelowe", - "importError": "Błąd importowania miejsca docelowego, sprawdź JSON", + "importSuccess": "Pomyślnie zaimportowano cele", + "importError": "Błąd podczas importowania celu. Sprawdź JSON", "unknownError": "Nieznany błąd", - "nameRequired": "Miejsce docelowe - {index}: Pole \"name\" jest wymagane i musi być prawidłowym ciągiem znaków.", - "nameExists": "Miejsce docelowe - {index}: \"{name}\" już istnieje", - "typeInvalid": "Miejsce docelowe - {index}: Pole \"type\" musi mieć wartość \"email\", \"http\" lub \"action\"", - "actionTypeNotSupported": "Miejsce docelowe - {index}: Typ 'action' nie jest obsługiwany.", - "actionNotFound": "Miejsce docelowe - {index}: Akcja \"{actionId}\" nie istnieje dla typu \"{type}\"", - "urlRequired": "Miejsce docelowe - {index}: Pole \"url\" jest wymagane dla miejsc docelowych typu http.", - "methodInvalid": "Miejsce docelowe - {index}: Pole \"method\" musi mieć wartość \"post\", \"get\" lub \"put\"", - "templateRequiredHttp": "Miejsce docelowe - {index}: Pole \"template\" jest wymagane dla miejsc docelowych typu http.", - "skipTlsVerifyRequired": "Miejsce docelowe - {index}: Pole \"skip_tls_verify\" jest wymagane i powinno mieć wartość logiczną", - "headersMustBeObject": "Miejsce docelowe - {index}: 'headers' powinno być obiektem dla typu http", - "urlNotAllowedEmail": "Miejsce docelowe - {index}: 'url' nie powinno być podane dla typu email", - "headersNotAllowedEmail": "Miejsce docelowe - {index}: 'headers' nie powinno być podane dla typu email", - "emailsRequired": "Miejsce docelowe - {index}: Pole \"emails\" jest wymagane i powinno być tablicą dla miejsc docelowych typu email.", - "emailsMustBeStrings": "Miejsce docelowe - {index}: 'emails' powinno być tablicą ciągów znaków dla typu email", - "templateRequiredEmail": "Miejsce docelowe - {index}: Pole \"template\" jest wymagane dla miejsc docelowych typu email.", - "templateNotFound": "Miejsce docelowe - {index}: Szablon \"{template}\" nie istnieje dla typu \"{type}\"", - "actionIdInvalid": "Miejsce docelowe - {index}: Pole \"action_id\" musi być prawidłowym ciągiem znaków.", - "createSuccess": "Miejsce docelowe - {index}: \"{name}\" utworzono pomyślnie \nUwaga: usuń utworzony obiekt miejsca docelowego {name} z pliku JSON", - "createFailed": "Miejsce docelowe - {index}: Tworzenie \"{name}\" nie powiodło się --> \n Przyczyna: {reason}" + "nameRequired": "Cel - {index}: Pole \"name\" jest wymagane i musi być prawidłowym ciągiem znaków.", + "nameExists": "Cel - {index}: \"{name}\" już istnieje", + "typeInvalid": "Cel - {index}: Pole \"type\" musi mieć wartość \"email\", \"http\" lub \"action\"", + "actionTypeNotSupported": "Cel - {index}: Typ 'action' nie jest obsługiwany.", + "actionNotFound": "Cel - {index}: akcja \"{actionId}\" nie istnieje dla typu \"{type}\"", + "urlRequired": "Cel - {index}: Pole \"url\" jest wymagane dla celów typu http.", + "methodInvalid": "Cel - {index}: Pole \"method\" musi mieć jedną z wartości: \"post\", \"get\" lub \"put\"", + "templateRequiredHttp": "Cel - {index}: Pole \"template\" jest wymagane dla celów typu http.", + "skipTlsVerifyRequired": "Cel - {index}: Pole \"skip_tls_verify\" jest wymagane i musi być wartością logiczną (boolean)", + "headersMustBeObject": "Cel - {index}: 'headers' dla typu http powinno być obiektem", + "urlNotAllowedEmail": "Cel - {index}: 'url' nie powinno być podawane dla typu email", + "headersNotAllowedEmail": "Cel - {index}: 'headers' nie powinno być podawane dla typu email", + "emailsRequired": "Cel - {index}: Pole \"emails\" jest wymagane i powinno być tablicą dla celów typu email.", + "emailsMustBeStrings": "Cel - {index}: 'emails' dla typu email powinno być tablicą ciągów znaków", + "templateRequiredEmail": "Cel - {index}: Pole \"template\" jest wymagane dla celów typu email.", + "templateNotFound": "Cel - {index}: szablon \"{template}\" nie istnieje dla typu \"{type}\"", + "actionIdInvalid": "Cel - {index}: Pole \"action_id\" musi być prawidłowym ciągiem znaków.", + "createSuccess": "Cel - {index}: \"{name}\" został utworzony pomyślnie \nUwaga: usuń utworzony obiekt celu {name} z pliku json ", + "createFailed": "Cel - {index}: Tworzenie \"{name}\" nie powiodło się --> \n Powód: {reason}" }, "priorityP1Description": "Alerty o najwyższym priorytecie", "priorityP2Description": "Alerty o wysokim priorytecie", @@ -8023,8 +8023,8 @@ "severityInfoDescription": "Incydenty informacyjne" }, "pipeline_destinations": { - "header": "Miejsca docelowe potoku", - "search": "Szukaj miejsca docelowego" + "header": "Cele potoków", + "search": "Szukaj celu" }, "storage_settings": { "heroBrand": "OpenObserve.", @@ -8387,8 +8387,8 @@ "customLogoText": "Tekst niestandardowego logo", "orgLabel": "Parametry organizacji", "logDetails": "Szczegóły logów", - "traceIdFieldName": "Nazwa pola identyfikatora śladu", - "spanIdFieldName": "Nazwa pola identyfikatora span", + "traceIdFieldName": "Nazwa pola ID śladu", + "spanIdFieldName": "Nazwa pola ID span", "toggleIngestionLogsLabel": "Przełącz logi pozyskiwania", "usageStreamEnabledLabel": "Włącz strumień użycia", "claimParserFunction": "Parser deklaracji SSO", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "Mapowanie agenta GenAI", "title": "Mapowanie agenta GenAI", - "description": "Skonfiguruj zastępcze atrybuty telemetrii używane do normalizacji tożsamości agenta dla śladów i ocen LLM.", + "description": "Skonfiguruj zastępcze atrybuty telemetrii używane do normalizacji tożsamości agenta dla śladów LLM i ewaluacji.", "agentNameFields": "Zastępcze pola nazwy agenta", "agentNameHelp": "Atrybuty przychodzące do użycia jako zastępcze dla gen_ai.agent.name.", "agentNameInfo": "Sprawdzane tylko wtedy, gdy standardowy atrybut gen_ai.agent.name jest brakujący lub pusty. Dodaj jeden przychodzący atrybut telemetrii na linię.", @@ -8532,7 +8532,7 @@ "resetToEmpty": "Resetuj do pustego", "clearRegistry": "Wyczyść rejestr", "clearRegistryTitle": "Wyczyścić rejestr agentów?", - "clearRegistryDescription": "Spowoduje to usunięcie wszystkich wykrytych wierszy rejestru agentów GenAI dla tej organizacji. Nowe pasujące ślady ponownie zapełnią rejestr podczas przesyłania.", + "clearRegistryDescription": "Spowoduje to usunięcie wszystkich odkrytych wierszy rejestru agentów GenAI dla tej organizacji. Nowe pasujące ślady ponownie wypełnią rejestr podczas pozyskiwania danych.", "clearRegistryConfirm": "Wyczyść rejestr", "saved": "Mapowanie agenta GenAI zapisane pomyślnie", "clearRegistrySuccess": "Rejestr agentów GenAI został wyczyszczony. Usunięto {deletedCount} przechowywanych agentów i {bufferCount} obserwacji w kolejce.", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "Nie udało się zapisać aliasów pól", "fieldAliasesUnsavedConfirm": "Masz niezapisane zmiany w mapowaniu pól. Odrzucić je i wyjść?", "discoveredServicesTitle": "Odkryte usługi", - "discoveredServicesDescription": "Usługi są automatycznie wykrywane z danych telemetrycznych i grupowane według nazwy usługi w celu korelacji. Usługi o tej samej nazwie są korelowane razem w logach, śladach i metrykach.", + "discoveredServicesDescription": "Usługi są automatycznie wykrywane z danych telemetrycznych i grupowane według ich nazwy usługi w celu korelacji. Usługi o tej samej nazwie usługi są ze sobą korelowane w logach, śladach i metrykach.", "noServicesYet": "Nie odkryto jeszcze żadnych usług", "noServicesDescription": "Usługi pojawią się tutaj, gdy dane telemetryczne zostaną załadowane z atrybutami identyfikacji usług (np. k8s-deployment, nazwa usługi itp.)", "searchServiceName": "Szukaj nazwy usługi lub strumienia...", @@ -8608,7 +8608,7 @@ "instancesCount": "({count} instancji)", "noDimensions": "brak wymiarów", "defaultSetWarningTitle": "Korelacja może być zawodna.", - "defaultSetWarningBody": "Ta instancja nie ma rozróżnienia — została wykryta bez dopasowania obciążenia (bez kontekstu klastra, przestrzeni nazw lub środowiska). Logi i ślady mogą pochodzić z różnych wdrożeń tej samej nazwy usługi.", + "defaultSetWarningBody": "Ta instancja nie ma jednoznaczności — została wykryta bez dopasowania obciążenia (bez kontekstu klastra, przestrzeni nazw lub środowiska). Logi i ślady mogą pochodzić z różnych wdrożeń tej samej nazwy usługi.", "instanceIdentity": "Tożsamość instancji", "noDimensionsCatchAll": "Brak wymiarów — instancja ogólna", "streamSources": "Źródła strumieni", @@ -8728,7 +8728,7 @@ "createFailed": "Utworzenie wzorca regex - {index}: \"{name}\" nie powiodło się --> \n Przyczyna: {error}" }, "index": { - "genAiAgentMappingDesc": "Mapuj zakresy GenAI na identyfikatory agentów" + "genAiAgentMappingDesc": "Mapuj spany GenAI na identyfikatory agentów" }, "organizationManagementPage": { "setAiCredits": "Ustaw kredyty AI", @@ -9050,7 +9050,7 @@ "totalTimeRange": "Łączny zakres zapytania", "searchType": "Typ wyszukiwania", "querySource": "Źródło zapytania", - "traceId": "ID śledzenia", + "traceId": "ID śladu", "userId": "ID użytkownika", "orgId": "ID organizacji", "streamType": "Typ strumienia", @@ -9137,15 +9137,15 @@ }, "openInFullView": "Otwórz w pełnym widoku", "viewLogs": "Pokaż logi", - "viewLogsUnavailable": "Nie udało się otworzyć logów dla tego spanu.", + "viewLogsUnavailable": "Nie można otworzyć logów dla tego spanu.", "backToLogs": "Powrót do logów", - "openInTraces": "Otwórz w śladach", + "openInTraces": "Otwórz w Śladach", "loadingStream": "Ładowanie strumienia...", "noLogsAvailableForService": "Brak logów dla tej usługi", - "noCorrelatedLogsFound": "Nie znaleziono skorelowanych logów dla tego spana", + "noCorrelatedLogsFound": "Nie znaleziono powiązanych logów dla tego spanu.", "noData": { "title": "Zacznij wysyłać ślady do {product}", - "description": "Nie znaleziono jeszcze strumieni śladów w tej organizacji. Instrumentuj swoje usługi, a ślady pojawią się tutaj automatycznie.", + "description": "Nie znaleziono jeszcze strumieni śladów w tej organizacji. Zainstrumentuj swoje usługi, a ślady pojawią się tutaj automatycznie.", "otlp": "Wyślij ślady przez {product}", "otlpDesc": "{product1}, {product2} oraz dowolne SDK kompatybilne z {product3}", "otelCollectorDesc": "Kieruj wszystkie sygnały telemetryczne przez {product}", @@ -9155,12 +9155,12 @@ "configureFullTextSearch": "aby skonfigurować pole wyszukiwania pełnotekstowego dla strumienia.", "collapseFields": "Zwiń pola", "openFields": "Rozwiń pola", - "timeRangeUpdated": "Wybrany zakres czasu nie obejmował tego śladu. Zakres czasu został zaktualizowany, aby odpowiadać znacznikowi czasu śladu.", + "timeRangeUpdated": "Wybrany zakres czasu nie obejmował tego śladu. Zakres czasu został zaktualizowany, aby pasował do znacznika czasu śladu.", "errorRetrievingTraces": "Wystąpił błąd podczas pobierania śladów.", "fetchingTraces": "Ładowanie śladów...", "noStream": { "title": "Wybierz strumień, aby rozpocząć eksplorację", - "description": "Wybierz strumień śladów, a następnie naciśnij Uruchom zapytanie. Po załadowaniu wyników możesz filtrować według usługi, czasu trwania, statusu span i więcej.", + "description": "Wybierz strumień śladów, a następnie naciśnij Wykonaj zapytanie. Po załadowaniu wyników możesz filtrować według usługi, czasu trwania, statusu spanu i innych.", "selectStream": "Wybierz strumień", "selectStreamDesc": "Przeglądaj dostępne strumienie śladów w tej organizacji", "queryGuide": "Przeczytaj przewodnik po śladach", @@ -9179,15 +9179,15 @@ }, "tracesFound": "Znalezione ślady", "spansFound": "Znalezione spany", - "errorTraces": "Ślady błędów", - "errorSpans": "Spany błędów", + "errorTraces": "Ślady z błędami", + "errorSpans": "Spany z błędami", "filterByErrors": "Filtruj według błędów", "clearErrorFilter": "Wyczyść filtr błędów", "error": "BŁĄD", "errorCount": "{n} BŁĄD | {n} BŁĘDY", "success": "SUKCES", "applyPendingFilters": "Zastosuj oczekujące filtry i wyszukaj ślady", - "backToTraces": "Powrót do śladów", + "backToTraces": "Wróć do Śladów", "loadingTrace": "Ładowanie...", "traceId": "ID śladu", "copyTraceId": "Kopiuj ID śladu", @@ -9200,15 +9200,15 @@ "searchInSpans": "Szukaj w spanach", "spansTableView": "Widok tabeli spanów", "comingSoon": "Wkrótce...", - "fetchingTrace": "Pobieranie Twojego śladu.", + "fetchingTrace": "Pobieranie twojego śladu.", "traceFilters": "Filtry śladów", "showTraces": "Pokaż ślady", "applyAndSearch": "Zastosuj i wyszukaj", "timestamp": "Znacznik czasu", "noErrorPresent": "Brak błędu dla tego spanu", - "noEventsPresent": "Brak zdarzeń dla tego zakresu", - "noLinksPresent": "Brak linków dla tego zakresu", - "loadingTraceDag": "Ładowanie grafu DAG śledzenia...", + "noEventsPresent": "Brak zdarzeń dla tego spanu", + "noLinksPresent": "Brak linków dla tego spanu", + "loadingTraceDag": "Ładowanie DAG śladu...", "exceptionsWithCount": "Wyjatki ({count})", "typeLabel": "Typ:", "messageLabel": "Wiadomość:", @@ -9254,12 +9254,12 @@ "failedToLoad": "Nie udało się załadować sesji", "retry": "Spróbuj ponownie", "sessionNotFound": "Nie znaleziono sesji", - "noSpansFound": "Nie znaleziono spanów dla {id} w bieżącym przedziale czasowym.", - "searchPlaceholder": "Szukaj trace'ów w tej sesji…", + "noSpansFound": "Nie znaleziono spanów dla {id} w bieżącym zakresie czasu.", + "searchPlaceholder": "Szukaj śladów w tej sesji…", "turn": "tura", "turns": "tury", "turnCount": "{count} {unit}", - "openInTraceExplorer": "Zobacz trace", + "openInTraceExplorer": "Zobacz ślad", "filters": { "status": "Status", "model": "Model", @@ -9348,7 +9348,7 @@ "warning": "Ostrzeżenie", "critical": "Krytyczny" }, - "viewTraces": "Pokaż ślady", + "viewTraces": "Zobacz ślady", "types": { "all": "Wszystkie", "service": "Usługi", @@ -9366,7 +9366,7 @@ "tracesTab": "Ślady", "serviceGraphTab": "Graf usług", "serviceGraphSubtitle": "Zobacz, jak Twoje usługi wywołują się nawzajem — zależności, przepustowość i wskaźniki błędów", - "servicesCatalogSubtitle": "Każda usługa wysyłająca trace, z opóźnieniem, przepustowością i wskaźnikiem błędów", + "servicesCatalogSubtitle": "Każda usługa wysyłająca ślady wraz z opóźnieniem, przepustowością i współczynnikiem błędów", "treeView": "Widok drzewa", "graphView": "Widok grafu", "layoutHorizontal": "Poziomo", @@ -9385,7 +9385,7 @@ "host": "Host", "user": "Użytkownik", "storedProcedure": "Procedura składowana", - "noQueryText": "Nie zarejestrowano tekstu zapytania dla tego spanu.", + "noQueryText": "Nie zapisano tekstu zapytania dla tego spanu.", "performance": "Wydajność", "rowsReturned": "Zwrócone wiersze", "batchSize": "Rozmiar partii", @@ -9404,7 +9404,7 @@ "errorGettingStreams": "Błąd podczas pobierania strumieni", "errorLoadingStreams": "Błąd podczas ładowania strumieni", "errorConstructingQuery": "Wystąpił błąd podczas konstruowania zapytania wyszukiwania.", - "traceNotFound": "Ślad {traceId} nie znaleziony", + "traceNotFound": "Nie znaleziono śladu {traceId}", "errorProcessingRequest": "Błąd podczas przetwarzania żądania", "searchRequestFailed": "Żądanie wyszukiwania nie powiodło się" }, @@ -9472,7 +9472,7 @@ "operations": "Operacje", "metrics": "Metryki", "noOperationsFound": "Nie znaleziono operacji", - "viewInTraces": "Zobacz w śladach", + "viewInTraces": "Zobacz w Śladach", "noResourceDataFound": "Nie znaleziono danych {resource}", "retry": "Ponów", "noMetricsAvailable": "Brak dostępnych metryk dla tej usługi.", @@ -9538,10 +9538,10 @@ "cost": "Koszt", "model": "Model", "errors": "Błędy", - "noSpansLoaded": "Nie załadowano spanów dla tego śladu.", - "noLlmTurns": "Nie wykryto tur LLM. Ślad nie zawiera spanów z", + "noSpansLoaded": "Nie załadowano żadnych spanów dla tego śladu.", + "noLlmTurns": "Nie wykryto żadnych tur LLM. Ten ślad nie zawiera spanów z", "system": "System", - "historicalMessage": "{count} wcześniejsza wiadomość z tej sesji — obsłużona w poprzednich śladach. | {count} wcześniejsze wiadomości z tej sesji — obsłużone w poprzednich śladach.", + "historicalMessage": "{count} wcześniejsza wiadomość z tej sesji — obsłużona w poprzednich śladach. | {count} wcześniejszych wiadomości z tej sesji — obsłużonych w poprzednich śladach.", "user": "Użytkownik", "startedAt": "Rozpoczęto o {time}", "unknown": "nieznane", @@ -9587,8 +9587,8 @@ "value": "Wartość", "timestamp": "Znacznik czasu", "enterpriseLicenseRequired": "Funkcja korelacji wymaga licencji enterprise", - "missingSpanOrStream": "Brak nazwy spana lub strumienia", - "spanIdCopied": "ID spana skopiowane do schowka", + "missingSpanOrStream": "Brak nazwy spanu lub strumienia", + "spanIdCopied": "Skopiowano ID spanu do schowka", "attributesCopied": "Atrybuty skopiowane do schowka", "copiedToClipboard": "{type} skopiowane do schowka", "failedToCopyClipboard": "Nie udało się skopiować do schowka", @@ -9601,11 +9601,11 @@ "filterAdded": "Dodano filtr: {field} {operator} '{value}'", "timeline": "Oś czasu", "serviceMap": "Mapa usług", - "traceNotFound": "Ślad {traceId} nie znaleziony", - "spanNotFound": "Span {spanId} nie znaleziony w śladzie", + "traceNotFound": "Nie znaleziono śladu {traceId}", + "spanNotFound": "Nie znaleziono spanu {spanId} w śladzie", "unknownOperation": "Nieznana operacja", "unknownService": "Nieznana usługa", - "traceIdCopied": "ID śladu skopiowane do schowka", + "traceIdCopied": "Skopiowano ID śladu do schowka", "sessionIdCopied": "ID sesji skopiowane do schowka" }, "traceTree": { @@ -9613,7 +9613,7 @@ "clickToCollapse": "Kliknij, aby zwinąć", "errorSpan": "Span błędu", "httpStatus": "HTTP {status}", - "spanEvent": "{count} zdarzenie span | {count} zdarzenia span" + "spanEvent": "{count} zdarzenie spanu | {count} zdarzeń spanu" }, "tracesAnalysisDashboard": { "baseline": "Wartość bazowa:", @@ -9641,23 +9641,23 @@ }, "correlation": { "distributedTrace": "Ślad rozproszony", - "loadingTraceData": "Ładowanie danych trace...", + "loadingTraceData": "Ładowanie danych śladu...", "noTraceInfoAvailable": "Brak informacji o śladzie dla tego zdarzenia", - "traceIdLabel": "Identyfikator śladu:", - "copyTraceId": "Kopiuj identyfikator śladu", + "traceIdLabel": "ID śladu:", + "copyTraceId": "Kopiuj ID śladu", "spanIdLabel": "ID spanu:", "spanHierarchy": "Hierarchia spanów:", "applicationSpan": "Span aplikacji", "browserSdkSpanPrefix": "Span SDK przeglądarki (", "closingParen": ")", - "backendSpansPrefix": "Spany backendu (", + "backendSpansPrefix": "Spany backendowe (", "performanceBreakdown": "Analiza wydajności:", "totalDuration": "Całkowity czas trwania:", "browserLabel": "Przeglądarka:", "networkLabel": "Sieć:", "backendLabel": "Backend:", "viewTraceDetails": "Zobacz szczegóły śladu", - "backendTraceNotAvailable": "Dane trace backendu nie są jeszcze dostępne. Dane trace mogą być przetwarzane do 30 sekund." + "backendTraceNotAvailable": "Dane śladu backendu nie są jeszcze dostępne. Pozyskanie danych śladu może potrwać do 30 sekund." }, "failedToAnalyzeDimensions": "Nie udało się przeanalizować wymiarów", "failedToFetchCorrelatedLogs": "Nie udało się pobrać skorelowanych logów", @@ -9708,7 +9708,7 @@ "averageOfTrace": "{avg}ms ({percent}% śladu)", "requestCount": "{count} req" }, - "spanEventTimeline": "Oś czasu zdarzeń span", + "spanEventTimeline": "Oś czasu zdarzeń spanu", "eventClusterTooltip": "{count} zdarzeń", "spanEventCount": "{count} zdarzenie", "spanEventCountPlural": "{count} zdarzeń", @@ -9720,7 +9720,7 @@ "eventClusterAriaLabelPlural": "{count} zdarzeń, {errors} błędów", "eventMarkerTooltip": "Zdarzenie: {name}", "exceptionMarkerTooltip": "Wyjątek: {type}", - "spanEventFallback": "zdarzenie span" + "spanEventFallback": "zdarzenie spanu" }, "actions": { "realTime": "Czas rzeczywisty", @@ -10042,8 +10042,8 @@ "noLogsDescription": "Nie znaleziono logów dla tej korelacji w wybranym zakresie czasu.", "correlatedTracesFor": "Skorelowane ślady dla usługi: {service}", "all": "Wszystkie", - "loadingTraces": "Ładowanie śladów...", - "tracesError": "Nie można załadować śladów", + "loadingTraces": "Wczytywanie śladów...", + "tracesError": "Nie można wczytać śladów", "tracesErrorDetails": "Wystąpił błąd podczas pobierania danych śladów. Spróbuj ponownie.", "metricsError": "Nie można załadować metryk", "metricsErrorDetails": "Wystąpił błąd podczas pobierania danych metryk. Spróbuj ponownie.", @@ -10281,7 +10281,7 @@ "colPattern": "Wzorzec", "colPricingSimple": "Cennik", "testMatchTitle": "Testuj dopasowanie modelu", - "testMatchSubtitle": "Symuluj, jak nazwa modelu z twoich spanów pasuje do reguł cenowych.", + "testMatchSubtitle": "Symuluj, jak nazwa modelu z twoich spanów będzie pasować do reguł cenowych.", "modelNameInput": "Nazwa modelu", "modelNameHint": "Nazwa modelu w twoich generacjach.", "enterModelName": "Wprowadź nazwę modelu, aby przetestować dopasowanie", @@ -10445,11 +10445,11 @@ "sessions": "Przeglądaj i sprawdzaj sesje agenta krok po kroku", "agentGraph": "Zobacz, z czym wchodzą w interakcje twoje agenty — narzędzia, modele, usługi i magazyny danych", "agentBehavior": "Znajdź agentów zablokowanych w pętlach i błędy powodujące ich awarie", - "discovery": "Znajdź niezdrowe ślady warte przeglądu", + "discovery": "Znajdź problematyczne ślady warte przejrzenia", "queues": "Stanowe listy zadań do przeglądu", - "datasets": "Twórz złote zbiory danych z adnotowanych śladów i recenzji", + "datasets": "Twórz złote zestawy danych z oznaczonych śladów i recenzji.", "experiments": "Podgląd i tworzenie niezmiennych przebiegów oceny offline", - "quality": "Śledź jakość ocen w zakresie span, trace i sesji", + "quality": "Śledź jakość wyników w ocenach spanów, śladów i sesji.", "evalJobs": "Uruchamiaj i monitoruj zadania oceny w swoich sesjach", "scorers": "Twórz i zarządzaj oceniającymi, którzy oceniają wyniki LLM", "scoreConfigs": "Skonfiguruj kryteria oceny używane w twoich ewaluacjach" @@ -10493,7 +10493,7 @@ "dataset": { "button": "Dodaj do zestawu danych", "title": "Dodaj do zestawu danych", - "hint": "Przekształć {ref} w golden. Wejście jest odczytywane z trace — ty piszesz oczekiwane wyjście.", + "hint": "Zmień {ref} w złoty. Dane wejściowe są odczytywane ze śladu — ty piszesz oczekiwane wyjście.", "errors": { "dataset": "Wybierz zestaw danych", "expectedOutput": "Napisz oczekiwane wyjście" @@ -10502,7 +10502,7 @@ "datasetPlaceholder": "Wybierz zestaw danych...", "noDatasets": "Nie ma jeszcze zestawów danych — najpierw utwórz jeden na stronie Zestawy danych.", "inputLabel": "Wejście", - "inputReadOnly": "odczytane z trace", + "inputReadOnly": "odczyt ze śladu", "expectedLabel": "Oczekiwane wyjście", "expectedPlaceholder": "Napisz wyjście, które to powinno wyprodukować...", "confirm": "Dodaj do zestawu danych", @@ -10638,10 +10638,10 @@ "searchPlaceholder": "Szukaj elementów...", "footerTitle": "Elementy", "allItems": "Wszystkie", - "inTrace": "W trace {traceId}", + "inTrace": "W śladzie {traceId}", "reviewAgain": "Przeglądnij ponownie", "emptyTitle": "Nic do przeglądu", - "emptyBody": "Dodaj trace, span lub sesje do tej kolejki z Discovery lub widoku trace.", + "emptyBody": "Dodaj ślady, spany lub sesje do tej kolejki z Discovery lub widoku śladu.", "columns": { "refType": "Ref", "refId": "Referencja", @@ -10661,7 +10661,7 @@ "collapseNav": "Zwiń listę elementów", "expandNav": "Rozwiń listę elementów", "openTrace": "Otwórz pełny ślad", - "openTraceSoon": "Pełny widok śladu pojawi się w następnej aktualizacji.", + "openTraceSoon": "Widok pełnego śladu pojawi się w następnej aktualizacji.", "input": "Wejście", "output": "Wyjście", "retrievedContext": "Pobrany kontekst", @@ -10692,7 +10692,7 @@ "distill": { "title": "Wyodrębnij do zbioru danych", "action": "Zbiór danych", - "hint": "Wpisz odpowiedź, którą ten element powinien był wygenerować. Stanie się ona złotym wynikiem; dane wejściowe pochodzą z przejrzanego śladu.", + "hint": "Wpisz odpowiedź, którą ten element POWINIEN był wygenerować. Stanie się ona złotym wyjściem; dane wejściowe pochodzą z przejrzanego śladu.", "datasetLabel": "Zbiór danych", "datasetPlaceholder": "Wybierz zbiór danych...", "noDatasets": "Brak zbiorów danych — najpierw utwórz jeden na stronie Zbiory danych.", @@ -10704,7 +10704,7 @@ "updated": "Złoty wynik zaktualizowany — ten element był już w tym zbiorze danych", "openDataset": "Otwórz zbiór danych", "needsReview": "Ukończ najpierw przegląd — złoty przypadek wymaga rozstrzygnięcia", - "sessionUnsupported": "Elementy sesji nie mogą być destylowane — tylko trace i span", + "sessionUnsupported": "Elementy sesji nie mogą być destylowane — tylko ślady i spany", "loadError": "Nie udało się załadować zbiorów danych", "error": "Nie udało się dodać tego elementu do zbioru danych" }, @@ -10999,7 +10999,7 @@ "actions": "Akcje" }, "source": { - "trace": "trace", + "trace": "ślad", "annotation": "adnotacja", "manual": "ręczny" }, @@ -11056,7 +11056,7 @@ "versionPill": "v{version} · {count} wersja | v{version} · {count} wersje", "sourceSection": "Źródło", "sourceTrace": "Ślad", - "sourceSpan": "Odcinek", + "sourceSpan": "Span", "sourceReview": "Przegląd zgłoszenia", "sourceImport": "Zaimportowano z", "inputSection": "Wejście", @@ -11100,7 +11100,7 @@ "stream": "Strumień", "agent": "Agent", "noAgentsTitle": "Nie znaleziono agentów", - "noAgentsDescription": "Nie znaleziono agentów w tym zakresie czasu. Spróbuj poszerzyć zakres czasu lub sprawdź, czy Twoje ślady zawierają atrybuty agenta gen_ai.", + "noAgentsDescription": "Nie odkryto żadnych agentów w tym zakresie czasu. Spróbuj poszerzyć zakres czasu lub sprawdź, czy twoje ślady zawierają atrybuty agentów gen_ai.", "versionAgnosticHint": "Topologia jest taka sama we wszystkich wersjach — wykres jest ograniczony do środowiska, a nie wersji. Użyj porównania wersji, aby porównać wersje." }, "panels": { @@ -11113,8 +11113,8 @@ "subtitle": "tokeny według modelu" }, "spanTrend": { - "title": "Trend zakresów", - "subtitle": "liczba zakresów według rodzaju" + "title": "Trend spanów", + "subtitle": "liczba spanów według rodzaju" }, "latencyByModel": { "title": "Opóźnienie według modelu", @@ -11129,7 +11129,7 @@ "subtitle": "liczba błędów" }, "spansByModel": { - "title": "Zakresy według modelu", + "title": "Spany według modelu", "subtitle": "liczba wywołań na model" }, "tokensByModel": { @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "Ostatnie błędy", - "subtitle": "ostatnie 10 nieudanych zakresów" + "subtitle": "ostatnie 10 nieudanych spanów" } }, "behavior": { @@ -11148,7 +11148,7 @@ "disabled": "Sygnały zachowania agenta są wyłączone dla tego wdrożenia" }, "loopsTitle": "Zapętlone agenty", - "loopsHint": "Agenci wielokrotnie uruchamiający to samo narzędzie na ślad", + "loopsHint": "Agenci wielokrotnie uruchamiają to samo narzędzie w obrębie jednego śladu.", "summaryLoops": "Agenci zapętlający", "summaryFailures": "Taksonomia awarii", "summaryAgents": "Dotknięci agenci", @@ -11175,30 +11175,30 @@ "title": "Szczegóły sygnału", "tracesTitle": "Ślady", "tracesHint": "Kliknij ślad, aby go otworzyć", - "worstLoopTraces": "Najgorsze ślady (najwięcej powtórzeń na początku)", - "topCostTraces": "Najdroższe ślady", - "noTraces": "Nie znaleziono śladów dla tego sygnału", + "worstLoopTraces": "Najgorsze trace'y (od największej liczby powtórzeń)", + "topCostTraces": "Najdroższe trace'y", + "noTraces": "Brak trace'y dla tego sygnału", "errorsTitle": "Co mówią błędy", - "noErrors": "Nie przechwycono komunikatów o błędach — otwórz ślad, aby sprawdzić", - "colTraceId": "Ślad", + "noErrors": "Nie przechwycono żadnych komunikatów o błędach — otwórz trace, aby sprawdzić", + "colTraceId": "Trace", "colSpans": "Spany", "colRepeats": "Powtórzenia", - "openInNewTab": "Otwiera ślad w nowej karcie", + "openInNewTab": "Otwiera trace w nowej karcie", "showFull": "Pokaż pełny błąd", "showLess": "Pokaż mniej", "colError": "Komunikat błędu", "colOccurrences": "Razy", - "loopHeadline": "{agent} wywołał {tool} średnio {ratio}× na ślad ({calls} wywołań w {traces} śladach).", + "loopHeadline": "{agent} wywołał narzędzie {tool} {ratio}× na trace średnio ({calls} wywołań w {traces} trace'ach).", "failHeadline": "{agent} napotkał {count} błędy „{cls}”.", "costHeadline": "{agent}: ${cost} wydatków · {tokens} tokenów · {errors} błędów.", - "loopExplain": "Wysoki wskaźnik powtórzeń zwykle oznacza, że agent nie buforuje wyników lub ponawia próby. Otwórz najgorsze ślady poniżej, aby zobaczyć powtarzane wywołania.", - "failExplain": "To są rzeczywiste komunikaty błędów dla tej klasy awarii — przeczytaj je, aby znaleźć poprawkę, lub otwórz ślad, aby zobaczyć, gdzie to się stało.", - "costExplain": "Te ślady generowały wydatki tego agenta. Otwórz najdroższe, aby zobaczyć, co było uruchomione." + "loopExplain": "Wysoki wskaźnik powtórzeń zwykle oznacza, że agent nie buforuje wyników lub ponawia próby. Otwórz najgorsze trace'y poniżej, aby zobaczyć powtórzone wywołania.", + "failExplain": "To są rzeczywiste komunikaty o błędach stojące za tą klasą awarii — przeczytaj je, aby znaleźć poprawkę, lub otwórz trace, aby zobaczyć, gdzie to nastąpiło.", + "costExplain": "Te trace'y generowały koszty tego agenta. Otwórz najdroższe, aby zobaczyć, co się wykonało." } }, "versionCompare": { "datePickerDisabled": "W tym trybie okna dotyczą poszczególnych wersji", - "sampledNote": "Przedziały opóźnień i kosztów są obliczane z maksymalnie {cap} losowo wybranych śladów na wersję.", + "sampledNote": "Przedziały opóźnień i kosztów są obliczane na podstawie maksymalnie {cap} losowo próbkowanych trace'ów na wersję.", "bar": { "versionA": "Wersja A", "versionB": "Wersja B", @@ -11216,9 +11216,9 @@ "partial": "Te wersje były częściowo równoczesne — różnice mogą być częściowo wyjaśnione przez to, kiedy każda działała." }, "windowCard": { - "label": "{env} · {version} — {window} · {count} śladów", + "label": "{env} · {version} — {window} · {count} trace'y", "clamp": "Linia bazowa działała tylko {duration} — porównanie pierwszych {duration} każdej wersji.", - "labelNoEnv": "{version} — {window} · {count} śladów" + "labelNoEnv": "{version} — {window} · {count} trace'y" } } }, @@ -11285,7 +11285,7 @@ }, "targetLabels": { "span": "ID spanu", - "trace": "ID trace", + "trace": "ID trace'a", "session": "ID sesji" }, "scopes": { @@ -11297,7 +11297,7 @@ "jobLabel": "Zadanie ewaluacji", "jobPlaceholder": "Wybierz zadanie ewaluacji", "jobRequired": "Wybierz zadanie ewaluacji", - "noCompatibleJobs": "Żadne zadania ewaluacji {scope} nie używają strumienia trace {stream}.", + "noCompatibleJobs": "Żadne zadania ewaluacyjne ({scope}) nie korzystają ze strumienia trace {stream}.", "loadJobsError": "Nie udało się wczytać zadań ewaluacji.", "run": "Uruchom ewaluację", "queued": "Zakolejkowano {count} zadanie ewaluacji. | Zakolejkowano {count} zadania ewaluacji.", @@ -11393,7 +11393,7 @@ }, "runs": { "title": "Oceny", - "hint": "Wyniki i uzasadnienie pochodzą z _llm_scores. Wybierz uruchomienie, aby otworzyć jego ślad oceniający w celu dalszego zbadania.", + "hint": "Wyniki i uzasadnienie pochodzą z _llm_scores. Wybierz uruchomienie, aby otworzyć jego trace ewaluatora w celu dalszego zbadania.", "filterLabel": "Filtruj oceny", "footerTitle": "Oceny", "noThresholdHint": "Ustaw próg zdrowia w tej konfiguracji oceny, aby klasyfikować i wyróżniać niezdrowe wyniki.", @@ -11588,7 +11588,7 @@ "booleanInfo": "Konfiguracje Boolean akceptują wartości {trueLabel} / {falseLabel}. Nie wymagają dodatkowej konfiguracji.", "healthyThresholdTitle": "Próg zdrowości", "optional": "Opcjonalne", - "healthyThresholdIntro": "Określ, kiedy wyniki w tym wymiarze są uznawane za zdrowe. Wyniki poza tym zakresem wywołają problemy jakościowe w listach śladów, sesjach i innych widokach.", + "healthyThresholdIntro": "Określ, kiedy wyniki w tym wymiarze są uważane za zdrowe. Wyniki poza tym zakresem wywołają problemy z jakością w listach trace'y, sesjach i innych widokach.", "healthyWhenValueIs": "Zdrowy, gdy wartość jest:", "healthyCategories": "Zdrowe kategorie:", "healthyCategoriesHint": "Zaznacz wszystkie wartości uznawane za zdrowe.", @@ -11667,8 +11667,8 @@ "col": { "time": "Czas", "job": "Zadanie", - "spanId": "Span ID", - "traceId": "Trace ID", + "spanId": "ID spanu", + "traceId": "ID trace'a", "score": "Wynik", "latency": "Opóźnienie", "status": "Status" @@ -11896,8 +11896,8 @@ "col": { "time": "Czas", "scorer": "Oceniacz", - "spanId": "ID spana", - "traceId": "ID śladu", + "spanId": "ID spanu", + "traceId": "ID trace'a", "score": "Wynik", "latency": "Opóźnienie", "status": "Status" @@ -11949,25 +11949,25 @@ "targetScopeLabel": "Oceniaj każdy", "targetScopes": { "span": "Span", - "trace": "Ślad", + "trace": "Trace", "session": "Sesja" }, "targetScopeHelp": { - "span": "Oceń każdy pasujący span niezależnie.", - "trace": "Oceń cały ślad po zamknięciu okna zakończenia.", - "session": "Oceń sesję pomiędzy śladami po zamknięciu okna zakończenia." + "span": "Oceniaj każdy pasujący span niezależnie.", + "trace": "Oceniaj cały trace po zamknięciu okna zakończenia.", + "session": "Oceniaj sesję na podstawie trace'y po zamknięciu okna zakończenia." }, "completionSection": "Kryteria zakończenia", "completionHelp": { - "trace": "Ślad jest oceniany, gdy tylko zostanie spełniony pierwszy z tych warunków.", + "trace": "Trace jest oceniany, gdy tylko zostanie spełniony pierwszy z tych warunków.", "session": "Sesja jest oceniana, gdy tylko zostanie spełniony pierwszy z tych warunków." }, "idleWindowLabel": "Okno bezczynności (sekundy)", - "idleWindowHelp": "Oceniane po {duration} bez nowych spanów.", - "idleWindowHelpEmpty": "Oceniane, gdy nie pojawiają się nowe spany.", + "idleWindowHelp": "Oceniany po upływie {duration} bez nowych spanów.", + "idleWindowHelpEmpty": "Oceniany, gdy nie pojawiają się już nowe spany.", "maxAgeLabel": "Maksymalny wiek (sekundy)", - "maxAgeHelp": "Oceniane {duration} po pierwszym spanie.", - "maxAgeHelpEmpty": "Oceniane przy stałym wieku, nawet jeśli spany wciąż nadchodzą.", + "maxAgeHelp": "Oceniany {duration} po pierwszym spanie.", + "maxAgeHelpEmpty": "Oceniany po ustalonym czasie, nawet jeśli spany wciąż nadchodzą.", "descriptionLabel": "Opis", "samplingModeLabel": "Tryb próbkowania", "samplingValueLabel": "Współczynnik próbkowania", @@ -11978,8 +11978,8 @@ "scorerPicker": { "title": "Oceniacze", "hint": { - "span": "Wybierz jeden lub więcej skorerów do uruchomienia dla każdego pasującego spanu.", - "trace": "Wybierz jeden lub więcej skorerów do uruchomienia dla każdego kwalifikującego się śladu.", + "span": "Wybierz jednego lub więcej scorerów do uruchomienia dla każdego pasującego spanu.", + "trace": "Wybierz jednego lub więcej scorerów do uruchomienia dla każdego kwalifikującego się trace'a.", "session": "Wybierz jeden lub więcej skorerów do uruchomienia dla każdej kwalifikującej się sesji." }, "meta": "{type} · v{version}", @@ -11990,36 +11990,36 @@ "filter": { "title": "Warunek filtrowania", "hint": { - "span": "Tylko spany spełniające ten warunek wchodzą do próbkowania i oceny.", - "trace": "Ślad wchodzi do próbkowania i oceny, jeśli którykolwiek z jego spanów spełnia ten warunek.", - "session": "Sesja wchodzi do próbkowania i oceny, jeśli którykolwiek z jej spanów spełnia ten warunek." + "span": "Tylko spany spełniające ten warunek są poddawane próbkowaniu i scoringowi.", + "trace": "Trace trafia do próbkowania i oceny, jeśli którykolwiek z jego spanów spełnia ten warunek.", + "session": "Sesja trafia do próbkowania i oceny, jeśli którykolwiek z jej spanów spełnia ten warunek." } }, "selector": { "title": "Które spany (opcjonalnie)", "hint": { - "trace": "Pozostaw puste, aby uwzględnić każdy span w śladzie." + "trace": "Pozostaw puste, aby uwzględnić każdy span w trace." } }, "endSignal": { "title": "Sygnał zakończenia (opcjonalnie)", "hint": { - "trace": "Zdefiniuj warunek spanu, który natychmiast zamyka ślad, gdy jakikolwiek span go spełnia.", - "session": "Zdefiniuj warunek spanu, który natychmiast zamyka sesję, gdy jakikolwiek span go spełnia." + "trace": "Zdefiniuj warunek spanu, który natychmiast zamyka trace, gdy którykolwiek span go spełni.", + "session": "Zdefiniuj warunek spanu, który natychmiast zamyka sesję, gdy którykolwiek span go spełni." } }, "inputMapping": { "title": "Zmienne promptu", "hint": { - "span": "Przypisz każdą zmienną do atrybutu span.", - "trace": "Przypisz każdą zmienną do wartości systemowej lub atrybutu span.", - "session": "Przypisz każdą zmienną do wartości systemowej lub atrybutu span." + "span": "Przypisz każdą zmienną do atrybutu spanu.", + "trace": "Przypisz każdą zmienną do wartości dostarczonej przez system lub atrybutu spanu.", + "session": "Przypisz każdą zmienną do wartości dostarczonej przez system lub atrybutu spanu." }, "placeholder": "Wybierz wartość", - "searchPlaceholder": "Szukaj wartości systemowych i atrybutów span…", + "searchPlaceholder": "Szukaj wartości systemowych i atrybutów spanów…", "groups": { "systemProvided": "Wartości systemowe · Dla każdego {scope} ocenianego przez to zadanie", - "spanAttributes": "Atrybuty span" + "spanAttributes": "Atrybuty spanów" }, "selectScorers": "Wybierz oceniających, aby skonfigurować ich mapowania.", "noVariables": "Ten oceniający nie ma zmiennych szablonu do mapowania.", @@ -12037,63 +12037,63 @@ }, "variables": { "input": { - "trace": "Wejście z głównego spanu śladu." + "trace": "Dane wejściowe z głównego spanu trace." }, "output": { - "trace": "Wyjście z głównego spanu śladu." + "trace": "Dane wyjściowe z głównego spanu trace." }, "statistics": { - "trace": "Metryki śladu: liczba spanów, czas trwania, wywołania LLM i narzędzi, błędy, tokeny i koszt.", - "session": "Metryki sesji: liczba śladów i tur, czas trwania i błędy." + "trace": "Metryki trace: liczba spanów, czas trwania, wywołania LLM i narzędzi, błędy, tokeny i koszt.", + "session": "Metryki sesji: liczba trace'ów i tur, czas trwania i błędy." }, "spans": { - "trace": "Filtrowany podzbiór spanów, wybrany przez Selektor Spanów zadania." + "trace": "Przefiltrowany podzbiór spanów, wybrany przez selektor spanów zadania." }, "steps": { - "trace": "Spany w porządku czasowym; środek jest składany, gdy ślad jest bardzo długi.", - "session": "Ślady w porządku czasowym, reprezentowane jako tury rozmowy." + "trace": "Spany w kolejności chronologicznej; środkowa część jest zwijana, gdy trace jest bardzo długi.", + "session": "Trace'y w kolejności chronologicznej, reprezentowane jako tury rozmowy." } } } }, "spanSelector": { "select": "Wybierz selektor spanów", - "bindingHelp": "Ślady mogą mieć setki spanów. Wybierz te, które ten skorer powinien przeanalizować.", + "bindingHelp": "Trace'y mogą mieć setki spanów. Wybierz te, które ten oceniający powinien przeanalizować.", "createForScorer": "Utwórz dla skorera", - "createForScorerTitle": "Utwórz selektor spanów dla tego skorera", + "createForScorerTitle": "Utwórz selektor spanów dla tego oceniającego", "editorTitle": "Selektor spanów", "name": "Nazwa selektora", "schemaMode": "Pola do odczytu", "defaultSchema": "Standardowe pola GenAI", "customSchema": "Pola niestandardowe", - "defaultSchemaHelp": "Te osiem pól jest odczytywanych z każdego pasującego spanu. Brakujące wartości są puste.", + "defaultSchemaHelp": "Te osiem pól jest odczytywanych z każdego pasującego spanu. Wszystko, czego brakuje, jest puste.", "fields": "Pola", "fieldsHelp": "Tylko te pola są odczytywane — nic więcej nie jest wysyłane do sklatera.", "maximumSpans": "Maksymalna liczba spanów", - "budget": "Ogranicza liczbę spanów wybranych z trace'a.", + "budget": "Ogranicza liczbę spanów wybieranych z trace.", "validation": { "name": "Wpisz nazwę selektora.", "duplicateName": "Nazwy selektorów muszą być unikalne w tym zadaniu.", "filter": "Uzupełnij lub usuń niedokończony warunek filtra.", "fields": "Wybierz co najmniej jedno pole dla niestandardowego schematu.", "maximumSpans": "Maksymalna liczba spanów musi być dodatnią liczbą całkowitą.", - "budget": "Zbyt wiele spanów dla wybranych pól. Zmniejsz liczbę spanów lub odczytuj mniej pól.", - "binding": "Wybierz selektor span dla każdego scorera, który używa spanów trace." + "budget": "Zbyt wiele spanów dla wybranych pól. Zmniejsz liczbę spanów albo odczytuj mniej pól.", + "binding": "Wybierz selektor spanów dla każdego oceniającego, który używa spanów trace." } }, "preview": { "scopes": { "span": { "title": "Dopasowane spany", - "hint": "Po wybraniu strumienia i filtra ten panel pokaże, ile spanów dopasuje Twoje zadanie.", + "hint": "Po wybraniu strumienia i filtra ten panel pokaże, ile spanów dopasuje twoje zadanie.", "matchedSuffix": "dopasowane spany · ostatnia 1h", - "matchedLoading": "Liczenie dopasowanych spanów..." + "matchedLoading": "Zliczanie dopasowanych spanów…" }, "trace": { "title": "Dopasowane trace'y", - "hint": "Po wybraniu strumienia i filtra ten panel pokaże, ile trace'y dopasuje Twoje zadanie.", - "matchedSuffix": "dopasowane trace'e · ostatnia 1h", - "matchedLoading": "Liczenie dopasowanych trace'ów..." + "hint": "Po wybraniu strumienia i filtra ten panel pokaże, ile trace'ów dopasuje twoje zadanie.", + "matchedSuffix": "dopasowane trace'y · ostatnia 1h", + "matchedLoading": "Zliczanie dopasowanych trace'ów…" }, "session": { "title": "Dopasowane sesje", @@ -12122,9 +12122,9 @@ "nameRequired": "Nazwa zadania jest wymagana", "streamRequired": "Strumień jest wymagany", "idleWindowMinimum": "Okno bezczynności musi wynosić co najmniej 1 sekundę", - "idleWindowMaximumTrace": "Okno bezczynności trace nie może przekraczać 30 minut", + "idleWindowMaximumTrace": "Okno bezczynności trace nie może przekraczać 30 minut.", "idleWindowMaximumSession": "Okno bezczynności sesji nie może przekraczać 4 godzin", - "maxAgeMaximumTrace": "Maksymalny wiek trace nie może przekraczać 2 godzin", + "maxAgeMaximumTrace": "Maksymalny wiek trace nie może przekraczać 2 godzin.", "maxAgeMaximumSession": "Maksymalny wiek sesji nie może przekraczać 24 godzin", "samplingValueRequired": "Wartość próbkowania jest wymagana" } @@ -12187,7 +12187,7 @@ "curlDesc": "Najszybszy sposób — wklej jedno polecenie, a logi zaczną płynąć", "shippers": "Użyj narzędzia do wysyłki logów", "shippersDesc": "{product1}, {product2}, {product3}, {product4}, {product5} i więcej", - "otelDesc": "Niezależne od dostawcy przesyłanie OTLP dla logów, śladów i metryk", + "otelDesc": "Niezależne od dostawcy pozyskiwanie OTLP dla logów, trace'ów i metryk.", "or": "Lub:", "aws": "AWS / CloudWatch", "askAi": "Poproś AI o skonfigurowanie przesyłania" @@ -12196,7 +12196,7 @@ "title": "Wybierz strumień, aby rozpocząć eksplorację", "description": "Wybierz strumień, a następnie naciśnij Uruchom zapytanie. Gdy pojawią się wyniki, możesz je uściślić za pomocą filtrów, funkcji VRL i niestandardowego zakresu czasu.", "selectStream": "Wybierz strumień", - "selectStreamDesc": "Przeglądaj strumienie logów, śladów, metryk i RUM", + "selectStreamDesc": "Przeglądaj logi, trace'y, metryki i strumienie RUM.", "queryGuide": "Przeczytaj przewodnik po zapytaniach", "queryGuideDesc": "Filtry, tryb SQL, VRL i zapisane widoki", "recent": "Ostatnie:" @@ -12293,13 +12293,13 @@ "scannedEventsForQuery": "Zeskanowane zdarzenia dla tego zapytania", "timeTaken": "Czas wykonania", "noData": "Brak danych", - "traceId": "Identyfikator śledzenia", + "traceId": "Identyfikator trace", "viewQuery": "Pokaż zapytanie", "sqlQuery": "Zapytanie SQL", "copied": "Skopiowane!", "sql": "SQL", "noSqlAvailable": "Brak dostępnego zapytania SQL", - "fullTraceId": "Pełny identyfikator śledzenia", + "fullTraceId": "Pełny identyfikator trace", "columnDuration": "Czas trwania", "columnNodeName": "Nazwa węzła", "columnRole": "Rola", @@ -12312,7 +12312,7 @@ "goodResponse": "Dobra odpowiedź", "moderateResponse": "Umiarkowana odpowiedź", "slowResponse": "Wolna odpowiedź", - "failedToCopyTraceId": "Nie udało się skopiować identyfikatora śledzenia do schowka", + "failedToCopyTraceId": "Nie udało się skopiować identyfikatora trace do schowka.", "failedToCopySql": "Nie udało się skopiować SQL do schowka" }, "searchResult": { @@ -12332,7 +12332,7 @@ "noMetricStreams": "Nie znaleziono strumieni metrycznych dla usługi \"{service}\"", "correlationError": "Błąd korelacji: {error}", "contentCopied": "Treść skopiowana pomyślnie!", - "noTraceIdForInspection": "Brak identyfikatora śledzenia dostępnego do inspekcji" + "noTraceIdForInspection": "Brak identyfikatora trace do inspekcji." }, "searchBar": { "customRangeAlt": "Zakres niestandardowy", @@ -12496,7 +12496,7 @@ "expandRangeDesc": "Dostępne dane mogą znajdować się w innym przedziale czasowym", "copyError": "Kopiuj szczegóły błędu", "copied": "Skopiowano!", - "traceId": "Identyfikator śledzenia:", + "traceId": "Identyfikator trace:", "askAi": "Poproś AI o naprawę zapytania", "showDetail": "Pokaż szczegóły", "hideDetail": "Ukryj szczegóły" @@ -13672,7 +13672,7 @@ "iamRoles": "IAM — Role", "iamGroups": "IAM — Grupy", "iamServiceAccounts": "IAM — Konta serwisowe", - "alertDestinations": "Alerty — Miejsca docelowe", + "alertDestinations": "Alerty — Cele", "alertSources": "Alerty — Źródła zewnętrzne", "alertTemplates": "Alerty — Szablony", "panelEditor": "Edytor paneli", @@ -13681,7 +13681,7 @@ "ingestionTokens": "IAM — Tokeny pozyskiwania", "syntheticsTokens": "IAM — Tokeny syntetyczne", "alertIncidents": "Alerty — Incydenty", - "pipelineDestinations": "Potoki — Miejsca docelowe", + "pipelineDestinations": "Potoki — Cele", "enrichmentTables": "Tabele wzbogacania", "iamInvitations": "IAM — Zaproszenia", "iamOrganizations": "IAM — Organizacje", @@ -13768,8 +13768,8 @@ "panelEditorRun": "Wykonaj / zastosuj zapytanie", "panelEditorSave": "Zapisz panel", "panelEditorBack": "Odrzuć i wróć", - "traceNextSpan": "Następny zakres", - "tracePrevSpan": "Poprzedni zakres", + "traceNextSpan": "Następny span", + "tracePrevSpan": "Poprzedni span", "runningQueriesRefresh": "Odśwież listę zapytań", "ingestionTokensAdd": "Utwórz nowy token", "ingestionTokensRefresh": "Odśwież listę tokenów", @@ -13780,7 +13780,7 @@ "aiChatExpand": "Rozwiń/zwiń czat AI", "logsSaveView": "Zapisz jako zapisany widok", "logsExport": "Eksportuj wyniki jako CSV", - "tracesCopyUrl": "Skopiuj URL udostępniania śladu", + "tracesCopyUrl": "Kopiuj URL do udostępnienia śladu", "alertIncidentsRefresh": "Odśwież listę", "pipelineDestinationsRefresh": "Odśwież listę", "enrichmentTablesRefresh": "Odśwież listę", @@ -14047,7 +14047,7 @@ "alertState": { "ok": "OK", "normal": "Normalny", - "firing": "Wyzwolony", + "firing": "Uruchomiony", "notifyfailed": "Błąd powiadomienia", "flapping": "Niestabilny", "anomaly": "Anomalia", @@ -14133,7 +14133,7 @@ }, "eventStatus": { "failed": "Nieudane", - "firing": "Wyzwolony", + "firing": "Uruchomiony", "anomaly": "Anomalia" }, "featureStatus": { @@ -14148,7 +14148,7 @@ "array": "Tablica" }, "incidentStatus": { - "firing": "Aktywny", + "firing": "Uruchomiony", "closed": "Zamknięty" }, "invoiceStatus": { @@ -14160,14 +14160,14 @@ "pending": "Oczekujący" }, "logLevel": { - "trace": "Ślad", + "trace": "Trace", "debug": "Debug", "info": "Informacje", "warn": "Ostrzeżenie", "fatal": "Krytyczny" }, "pipelineRunOutcome": { - "firing": "Aktywny", + "firing": "Uruchomiony", "normal": "Normalny", "succeeded": "Sukces", "skipped": "Pominięty", @@ -14309,21 +14309,21 @@ "pleaseSelectStreamType": "Wybierz typ strumienia ", "anomalyDetectionClonedSuccessfully": "Wykrywanie anomalii sklonowane pomyślnie", "errorWhileFetchingTemplates": "Błąd podczas pobierania szablonów.", - "errorWhileFetchingDestinations": "Błąd podczas pobierania miejsc docelowych.", + "errorWhileFetchingDestinations": "Błąd podczas pobierania celów.", "failedToLoadAlertForEditing": "Nie udało się załadować alertu do edycji", "pleaseWaitWhileLoadingAlert": "Proszę czekać podczas ładowania alertu...", "errorWhilePullingAlerts": "Błąd podczas pobierania alertów.", "pleaseWaitWhileLoadingAlerts": "Proszę czekać podczas ładowania alertów...", - "destinationsDeletedSuccessfully": "Pomyślnie usunięto {count} miejsce docelowe | Pomyślnie usunięto {count} miejsca docelowe", - "failedToDeleteDestinations": "Nie udało się usunąć {count} miejsca docelowego | Nie udało się usunąć {count} miejsc docelowych", - "destinationsDeletedWithFailures": "Pomyślnie usunięto {count} miejsce docelowe, {failed} nie udało się | Pomyślnie usunięto {count} miejsca docelowe, {failed} nie udało się", - "noDestinationsSelectedForDeletion": "Nie wybrano miejsc docelowych do usunięcia", - "deletingDestinations": "Usuwanie miejsc docelowych...", - "destinationDeletedSuccessfully": "Miejsce docelowe {name} zostało usunięte pomyślnie", - "errorWhilePullingDestinations": "Błąd podczas pobierania miejsc docelowych.", - "pleaseWaitWhileLoadingDestinations": "Proszę czekać podczas ładowania miejsc docelowych...", + "destinationsDeletedSuccessfully": "{count} cel został usunięty pomyślnie | {count} celów zostało usuniętych pomyślnie", + "failedToDeleteDestinations": "Nie udało się usunąć {count} celu | Nie udało się usunąć {count} celów", + "destinationsDeletedWithFailures": "{count} cel został usunięty pomyślnie, {failed} nie powiodło się | {count} celów zostało usuniętych pomyślnie, {failed} nie powiodło się", + "noDestinationsSelectedForDeletion": "Nie wybrano celów do usunięcia", + "deletingDestinations": "Usuwanie celów...", + "destinationDeletedSuccessfully": "Cel {name} został usunięty pomyślnie", + "errorWhilePullingDestinations": "Błąd podczas pobierania celów.", + "pleaseWaitWhileLoadingDestinations": "Proszę czekać podczas ładowania celów...", "errorWhileLoadingActions": "Błąd podczas ładowania akcji.", - "pleaseWaitWhileLoadingAlertDestination": "Proszę czekać podczas ładowania miejsca docelowego alertu...", + "pleaseWaitWhileLoadingAlertDestination": "Proszę czekać podczas ładowania celu alertu...", "errorImportingAlertPleaseCheck": "Błąd importowania alertu. Sprawdź JSON.", "alertsImportedSuccessfully": "Pomyślnie zaimportowano {count} alert | Pomyślnie zaimportowano {count} alerty", "invalidJson": "Nieprawidłowy JSON: {error}", @@ -14342,8 +14342,8 @@ "incidentsRefreshed": "Odświeżono incydenty", "failedToPostComment": "Nie udało się dodać komentarza", "commentPostedSuccessfully": "Komentarz dodano pomyślnie", - "destinationUpdatedSuccessfully": "Miejsce docelowe \"{name}\" zostało zaktualizowane.", - "destinationCreatedSuccessfully": "Miejsce docelowe \"{name}\" zostało utworzone.", + "destinationUpdatedSuccessfully": "Cel \"{name}\" został zaktualizowany pomyślnie.", + "destinationCreatedSuccessfully": "Cel \"{name}\" został utworzony pomyślnie.", "failedToDeleteTemplates": "Nie udało się usunąć {count} szablon | Nie udało się usunąć {count} szablonów", "templatesDeletedWithFailures": "Usunięto {count} szablon, ale {failed} nie udało się | Usunięto {count} szablonów, ale {failed} nie udało się", "successfullyDeletedTemplates": "Pomyślnie usunięto {count} szablon | Pomyślnie usunięto {count} szablonów", @@ -14564,8 +14564,8 @@ "errorWhileUpdating": "Błąd podczas aktualizowania raportu." }, "correlation": { - "refreshingTraceData": "Odświeżanie danych śledzenia...", - "traceDetailViewComingSoon": "Widok szczegółów śledzenia już wkrótce", + "refreshingTraceData": "Odświeżanie danych śladu...", + "traceDetailViewComingSoon": "Widok szczegółów śladu już wkrótce", "columnIsAlreadyVisible": "Kolumna \"{name}\" jest już widoczna", "columnAddedToTable": "Kolumna \"{name}\" została dodana do tabeli" }, @@ -14605,7 +14605,7 @@ "isNotASupportedFileType": "\"{fileName}\" jest nieobsługiwanym typem pliku. Dozwolone są tylko pliki {allowed}." }, "workflows": { - "thisBranchAlreadyEndsInA": "Ta gałąź kończy się już w miejscu docelowym.", + "thisBranchAlreadyEndsInA": "Ta gałąź kończy się już w celu.", "chooseATriggerNodeToStart": "Wybierz węzeł wyzwalający, aby uruchomić przepływ pracy.", "thisConnectionWouldCreateALoop": "To połączenie utworzyłoby pętlę.", "onlyOneIncomingConnectionToA": "Do kroku może prowadzić tylko jedno połączenie przychodzące." @@ -14613,8 +14613,8 @@ "views": { "youAreNotAuthorizedToManage": "Nie masz uprawnień do zarządzania licencją.", "copiedToClipboard": "Skopiowano do schowka.", - "noDestinationsFoundPleaseCreateA": "Nie znaleziono miejsc docelowych. Najpierw utwórz miejsce docelowe.", - "errorWhilePullingDestinations": "Błąd podczas pobierania miejsc docelowych.", + "noDestinationsFoundPleaseCreateA": "Nie znaleziono celów. Najpierw utwórz cel.", + "errorWhilePullingDestinations": "Błąd podczas pobierania celów.", "rumTokenUpdatedSuccessfully": "Token RUM został pomyślnie zaktualizowany.", "rumTokenGeneratedSuccessfully": "Token RUM został pomyślnie wygenerowany.", "tokenResetSuccessfully": "Token został pomyślnie zresetowany.", @@ -14631,7 +14631,7 @@ "pleaseWaitWhileLoadingStreams": "Proszę czekać podczas ładowania strumieni...", "errorWhilePullingSummary": "Błąd podczas pobierania podsumowania.", "pleaseWaitWhileLoadingSummary": "Proszę czekać podczas ładowania podsumowania...", - "noDestinationsCreateOneBeforeSaving": "Nie znaleziono miejsc docelowych. Utwórz jedno przed zapisaniem tego alertu.", + "noDestinationsCreateOneBeforeSaving": "Nie znaleziono celów. Utwórz jeden przed zapisaniem tego alertu.", "errorWhileLoadingAlert": "Błąd podczas ładowania alertu." }, "RUM": { @@ -15360,20 +15360,20 @@ "failed": "Nieudane" }, "columnHints": { - "calls": "Ile razy uruchomiono to zapytanie. Twoja baza danych podaje własną liczbę, jeśli ją raportuje — obejmuje ona każdego klienta, a nie tylko te części systemu, które wysyłają trace. Wiersze oznaczone jako obserwowane przez klienta są liczone na podstawie trace'ów, ponieważ Twoja baza danych ich nie zgłosiła.", + "calls": "Ile razy to zapytanie zostało wykonane. Własna liczba bazy danych, jeśli ją raportuje — obejmuje wszystkich klientów, nie tylko części systemu wysyłające ślady. Wiersze oznaczone jako obserwowane przez klienta są liczone na podstawie śladów, ponieważ baza danych ich nie raportowała.", "p50": "Połowa wszystkich wywołań zakończyła się szybciej. Liczą się tylko ukończone wywołania — zapytanie wciąż działające lub takie, które nigdy nie wróciło, nie jest tutaj mierzone.", "p95": "Wolny ogon — 1 wywołanie na 20 trwało co najmniej tak długo. Liczą się tylko ukończone wywołania — zapytanie wciąż działające lub takie, które nigdy nie wróciło, nie jest tutaj mierzone.", "p99": "Najgorsze 1% wywołań trwało co najmniej tak długo. Liczą się tylko ukończone wywołania — zapytanie wciąż działające lub takie, które nigdy nie wróciło, nie jest tutaj mierzone.", "max": "Najwolniejsze pojedyncze wywołanie w tym oknie — jedno prawdziwe wywołanie, a nie średnia.", "errors": "Ile z tych wywołań zakończyło się błędem.", "perTrace": "Ile razy to wykonuje się w ramach jednego żądania. Wysoka liczba zwykle oznacza pętlę.", - "load": "Łączny czas, jaki to zapytanie spędziło w bazie danych. Własna wartość Twojej bazy danych, jeśli ją podaje: czas wykonania w Postgresie, ale czas OCZEKIWANIA w MySQL i MariaDB — każdy wiersz informuje, który to czas. Wiersze oznaczone jako obserwowane przez klienta są mierzone na podstawie trace'ów, więc obejmują czas podróży w obie strony po sieci." + "load": "Całkowity czas, jaki to zapytanie spędziło w bazie danych. Własna wartość bazy danych, jeśli ją raportuje: czas wykonania w Postgres, ale czas oczekiwania w MySQL i MariaDB — każdy wiersz wskazuje, który. Wiersze oznaczone jako obserwowane przez klienta są mierzone na podstawie śladów, więc obejmują podróż w obie strony po sieci." }, "errorsNone": "brak", "errorsAll": "wszystkie", "actions": { "open": "Otwórz szczegóły", - "traces": "Zobacz przykładowe trace", + "traces": "Zobacz przykładowe ślady", "copy": "Kopiuj zapytanie", "copied": "Skopiowano zapytanie", "copyFailed": "Nie udało się skopiować zapytania.", @@ -15405,7 +15405,7 @@ "n-plus-one": { "title": "Wykonywane co najmniej {multiplier}× na żądanie", "body": "{share} czasu bazy danych · {service}", - "rule": "Pokazano, ponieważ to zapytanie jest wykonywane co najmniej {ratio} razy w ramach pojedynczego żądania, na przestrzeni co najmniej {traces} żądań. To dolna granica, więc rzeczywista liczba może być wyższa. Prawidłowa praca wsadowa może wyglądać tak samo." + "rule": "Wyświetlane, ponieważ to zapytanie wykonuje się co najmniej {ratio} razy w pojedynczym żądaniu, w co najmniej {traces} żądaniach. To dolna granica, więc rzeczywista liczba może być wyższa. Uzasadniona praca wsadowa może wyglądać tak samo." }, "volume-shift": { "title": "Częstsze, nie wolniejsze", @@ -15490,19 +15490,19 @@ "traces": { "ok": "Twoje ślady docierają", "okDetail": "{count} zarejestrowano w tym przedziale czasu", - "no": "Żadne ślady nie dotarły", + "no": "Nie dotarły żadne ślady", "noDetail": "Monitorowanie bazy danych opiera się na śladach, a ta organizacja nie wysłała jeszcze żadnych." }, "permission": { "ok": "Masz dostęp do tych danych", "okDetail": "jesteś administratorem w {org}", "no": "Nie masz dostępu do tych danych", - "noDetail": "Monitorowanie bazy danych odczytuje twoje ślady, a twoja rola nie obejmuje do nich dostępu. Poproś administratora o dostęp do odczytu." + "noDetail": "Monitorowanie bazy danych odczytuje Twoje ślady, a Twoja rola ich nie obejmuje. Poproś administratora o dostęp do odczytu." }, "dbSpans": { - "ok": "W twoich śladach pojawia się baza danych", + "ok": "Twoje ślady wspominają o bazie danych", "okDetail": "wywołania bazy danych są rejestrowane", - "no": "Żaden z twoich śladów nie wspomina o bazie danych", + "no": "Żaden z Twoich śladów nie wspomina o bazie danych", "noDetail": "Twoje aplikacje są śledzone, ale część, która rozmawia z bazą danych, nie jest. Dodaj instrumentację bazy danych dla swojego języka, a zapytania pojawią się tutaj." }, "counted": { @@ -15533,7 +15533,7 @@ "plans": "Plany zapytań", "plansHint": "Kroki, jakie wykonała baza danych, aby uruchomić to zapytanie. Zacznij tutaj, aby ustalić, dlaczego jest wolne.", "callers": "Wywołujący i przykłady", - "callersHint": "Które części twojej aplikacji uruchomiły to zapytanie, a także pojedyncze wolne wykonania, które możesz otworzyć jako ślad.", + "callersHint": "Które części Twojej aplikacji wykonały to zapytanie, oraz pojedyncze wolne przebiegi, które możesz otworzyć jako ślad.", "callersLocked": "Pojedyncze wykonania pochodzą ze śledzenia. Nic nie śledziło tego zapytania w tym przedziale czasu." }, "notFound": { @@ -15559,10 +15559,10 @@ "noSamples": "Nie załadowano żadnych pojedynczych wykonań dla tego zakresu.", "noSeries": "Brak historii dla tego zapytania w wybranym zakresie.", "liveSeries": "Najnowsze punkty są nadal zliczane i mogą się zmienić.", - "noStream": "Nie mogliśmy ustalić, który strumień śledzenia przenosi to zapytanie, więc nie można załadować jego wywołujących i przykładów.", - "ambiguousStream": "Ta organizacja ma więcej niż jeden strumień śledzenia i nie możemy określić, na którym działa to zapytanie. Wybierz strumień, aby załadować jego wywołujących i przykładowe ślady.", - "pickStream": "Wybierz strumień śledzenia", - "invalidStream": "Ta nazwa strumienia śledzenia nie jest nam znana, więc nie uruchomiliśmy wyszukiwania.", + "noStream": "Nie udało nam się ustalić, który strumień śladów przenosi to zapytanie, więc jego wywołujący i przykłady nie mogą zostać załadowane.", + "ambiguousStream": "Ta organizacja ma więcej niż jeden strumień śladów i nie możemy określić, na którym działa to zapytanie. Wybierz strumień, aby załadować jego wywołujących i przykładowe ślady.", + "pickStream": "Wybierz strumień śladów", + "invalidStream": "Ta nazwa strumienia śladów nie jest przez nas rozpoznawana, więc nie uruchomiliśmy wyszukiwania.", "firstSeen": "PO RAZ PIERWSZY POJAWIŁO SIĘ NA TEJ LIŚCIE O {time}", "firstSeenHint": "Najwcześniejszy punkt w tym zakresie, w którym to zapytanie było na tyle ciężkie, aby śledzić je osobno.", "lastSeen": "OSTATNIO POJAWIŁO SIĘ O {time}", @@ -15686,7 +15686,7 @@ "tracedCalls": "{calls} wywołań prześledzono", "coverage": "Zaobserwowano {count} usług w {traced} z {executions} powyższych wykonań. Pozostałe pochodzą od wywołujących, których jeszcze nie śledzisz.", "coverageUnknown": "Zaobserwowano {count} usług w {traced} prześledzonych wywołaniach. Twoja baza danych nie podała sumy dla tej instrukcji, więc nie ma udziału do pokazania.", - "noneNamed": "{traced} wywołań prześledzono, ale żadnego nie można powiązać z usługą — ich ślady zaczynają się poza tym zakresem czasowym." + "noneNamed": "Prześledzono {traced} wywołań, ale żadnego z nich nie można było powiązać z usługą — ich ślady zaczynają się poza tym zakresem czasu." }, "callersEmpty": { "title": "Brak prześledzonych wywołań dla tego zapytania", @@ -15752,9 +15752,9 @@ "failedWithCode": "Nieudane · {code}", "viewTrace": "Otwórz żądanie, którego częścią było to wywołanie", "scatterOk": "Zakończone", - "partial": "Części danych śledzenia nie udało się odczytać, dlatego niektóre wywołania mogą nie być widoczne na tej liście.", + "partial": "Część danych śladów nie mogła zostać odczytana, więc niektóre wywołania mogą brakować na tej liście.", "disclosureShort": "Każdy wiersz to jedno rzeczywiste zakończone wywołanie", - "disclosureDetail": "Zmierzone przez aplikację, która wykonała wywołanie, na podstawie przesyłanych danych śledzenia. Tutaj znajdują się tylko zakończone wywołania — zapytanie wciąż działające lub takie, które utknęło i nigdy nie wróciło, nie zostało zmierzone.", + "disclosureDetail": "Zmierzone przez aplikację, która wykonała wywołanie, na podstawie wysyłanych przez Ciebie śladów. Są tu tylko wywołania zakończone — zapytanie wciąż działające lub takie, które zawisło i nigdy nie wróciło, nie wygenerowało pomiaru.", "counts": { "complete": "Pokazuję wszystkie {count} wywołań baz danych w tym oknie, od najwolniejszych.", "truncated": "{count} najwolniejszych wywołań w tym oknie — wykonano ich więcej, niż pokazano.", @@ -15959,8 +15959,8 @@ "blocking": "Blokujący" }, "coverage": { - "summary": "Najdłuższe oczekiwanie to {longest}. Każde oczekiwanie prowadzi do {roots} trzymających otwartą blokadę.", - "summaryCapped": "Więcej sesji czekało, niż mogliśmy odczytać naraz. Spośród tych, które mamy, najdłuższe oczekiwanie to {longest} i prowadzą one do {roots} trzymających otwartą blokadę.", + "summary": "Najdłuższe oczekiwanie to {longest}. Każde oczekiwanie prowadzi do {roots} trzymających blokadę otwartą.", + "summaryCapped": "Więcej sesji czekało, niż mogliśmy odczytać jednocześnie. Spośród tych, które mamy, najdłuższe oczekiwanie to {longest} i prowadzą one do {roots} trzymających blokadę otwartą.", "summaryOneRoot": "jedna sesja", "summaryManyRoots": "{count} sesji", "checked": "Sprawdzano co {interval} sekund; ostatni raz {time}.", diff --git a/web/src/locales/languages/pt-PT.json b/web/src/locales/languages/pt-PT.json index ba035611f2..a4c8bf0b41 100644 --- a/web/src/locales/languages/pt-PT.json +++ b/web/src/locales/languages/pt-PT.json @@ -43,7 +43,7 @@ "allCaughtUp": "Você está em dia", "noPanels": { "title": "Ainda não há painéis aqui", - "description": "Adicione um painel para começar a visualizar logs, métricas e rastros.", + "description": "Adicione um painel para começar a visualizar registros, métricas e rastros.", "action": "Adicionar painel", "actionDesc": "Gráficos, tabelas e muito mais" }, @@ -78,7 +78,7 @@ }, "noDashboards": { "title": "Crie seu primeiro painel", - "description": "Os painéis reúnem suas métricas, registros e rastreamentos em uma única visualização. Crie um para começar.", + "description": "Os painéis reúnem suas métricas, registros e rastros em uma única visualização. Crie um para começar.", "action": "Novo painel", "actionDesc": "Comece com uma tela vazia", "import": "Painel de importação", @@ -124,7 +124,7 @@ }, "noIngestionTokens": { "title": "Ainda não há tokens de ingestão", - "description": "Os tokens de ingestão autenticam as fontes de dados ao enviar registros, métricas e rastreamentos.", + "description": "Os tokens de ingestão autenticam fontes de dados ao enviar registros, métricas e rastros.", "action": "Novo token", "actionDesc": "Gere um token de ingestão" }, @@ -133,11 +133,11 @@ "description": "As organizações agrupam seus usuários e dados. Crie um para começar." }, "noAlertDestinations": { - "title": "Ainda não há destinos", - "description": "Os destinos definem para onde as notificações de alerta são enviadas: Slack, e-mail, webhooks e muito mais.", + "title": "Nenhum destino ainda", + "description": "Os destinos definem para onde as notificações de alerta são enviadas — Slack, e-mail, webhooks e muito mais.", "action": "Novo destino", "actionDesc": "Conectar um canal de notificação", - "import": "Destino de importação", + "import": "Importar destino", "importDesc": "Importar de um arquivo JSON" }, "noAlertSources": { @@ -147,10 +147,10 @@ "actionDesc": "Crie uma URL e um token para webhook" }, "noPipelineDestinations": { - "title": "Ainda não há destinos", + "title": "Nenhum destino ainda", "description": "Alvos externos para saída do pipeline — endpoints HTTP e destinos de gravação remota.", "action": "Novo destino", - "actionDesc": "Conecte um destino de pipeline" + "actionDesc": "Conectar um destino de oleoduto" }, "noAlertTemplates": { "title": "Ainda não há modelos", @@ -192,7 +192,7 @@ }, "noDiscoveredServices": { "title": "Nenhum serviço descoberto", - "description": "Os serviços aparecerão aqui automaticamente quando os rastreamentos começarem a chegar." + "description": "Os serviços aparecerão aqui automaticamente assim que os rastros começarem a chegar." }, "noNodes": { "title": "Não há nós disponíveis", @@ -248,7 +248,7 @@ }, "noDatasets": { "title": "Crie seu primeiro dataset", - "description": "Datasets dourados coletam traces anotados e revisões em conjuntos de avaliação versionados. Crie um para começar a curar.", + "description": "Os conjuntos de dados dourados coletam rastros anotados e avaliações em conjuntos de avaliação versionados. Crie um para começar a curar.", "action": "Novo dataset", "actionDesc": "Iniciar um dataset vazio" }, @@ -288,15 +288,15 @@ }, "noLLMInsights": { "title": "Ainda não há atividade de LLM", - "description": "Instrumente seus serviços com as convenções semânticas do OpenTelemetry Gen-AI e ingira pelo menos um rastreamento para preencher esse painel.", + "description": "Instrumente seus serviços com as convenções semânticas de IA generativa do OpenTelemetry e ingira pelo menos um rastro para preencher este painel.", "action": "Instrumento com OpenTelemetry", - "actionDesc": "Capture os atributos gen_ai_* em seus traços" + "actionDesc": "Capture os atributos gen_ai_* em seus rastros" }, "noLLMSessions": { "title": "Ainda não há sessões de LLM", - "description": "As sessões são agrupadas por gen_ai_conversation_id. Instrumente seus serviços para que cada conversa marque seus rastros, e as sessões apareçam aqui.", + "description": "As sessões são agrupadas por gen_ai_conversation_id. Instrumente seus serviços para que cada conversa marque seus rastros, e as sessões aparecerão aqui.", "action": "Instrumento com OpenTelemetry", - "actionDesc": "Expansões de tags com gen_ai_conversation_id" + "actionDesc": "Marque spans com gen_ai_conversation_id" }, "noScorers": { "title": "Ainda não há marcadores", @@ -341,12 +341,12 @@ "description": "Nenhum item não saudável nesta janela. Amplie o intervalo de tempo ou alterne o filtro da fila para ver itens que você já triou." }, "noTraces": { - "title": "Nenhum vestígio encontrado", - "description": "Nenhum traço corresponde ao serviço e ao intervalo de tempo selecionados. Experimente um intervalo de tempo maior ou um serviço diferente." + "title": "Nenhum rastro encontrado", + "description": "Nenhum rastro corresponde ao serviço e ao intervalo de tempo selecionados. Tente um intervalo de tempo maior ou um serviço diferente." }, "noServiceGraph": { "title": "Sem dados do gráfico de serviço", - "description": "Tente consultar um intervalo de tempo maior ou garanta que seus serviços estejam emitindo métricas de abrangência." + "description": "Tente consultar um intervalo de tempo maior ou verifique se seus serviços estão emitindo métricas de span." }, "noServicesCatalog": { "title": "Nenhum serviço encontrado", @@ -406,7 +406,7 @@ "pipelines": "oleodutos", "workflows": "fluxos de trabalho", "functions": "funções", - "streams": "córregos", + "streams": "streams", "alerts": "alertas", "incidents": "incidentes", "traces": "rastros", @@ -415,7 +415,7 @@ "searches": "pesquisa", "searchJobs": "trabalhos de pesquisa", "users": "usuários", - "reports": "notícias", + "reports": "relatórios", "queries": "consultas", "serviceAccounts": "contas de serviço", "invitations": "convites", @@ -480,7 +480,7 @@ "noSearchResults": "Sem resultados de pesquisa", "noServiceAccounts": "Sem contas de serviço", "noStreams": "Sem dados ingeridos", - "noTraces": "Sem traces", + "noTraces": "Nenhum rastro", "noUsers": "Sem usuários" }, "noExperiments": { @@ -523,8 +523,8 @@ "relatedEvents": "Eventos relacionados", "on": "em", "event": "evento", - "viewTraceDetails": "Ver detalhes do trace", - "viewTrace": "Ver trace", + "viewTraceDetails": "Ver detalhes do rastro", + "viewTrace": "Ver Rastro", "networkRequests": "Solicitações de rede", "noNetworkRequestsFound": "Nenhuma solicitação de rede encontrada para este evento", "consoleLogsComingSoon": "Logs do console em breve", @@ -803,7 +803,7 @@ "relativeTimeAgo": "há {value} {unit}", "relativeTimePast": "Últimos {value} {unit}", "metrics": "Métricas", - "traces": "Rastreamentos", + "traces": "Rastros", "browserTime": "Horário do navegador", "invalidCredentials": "Credenciais inválidas", "notFound": "Não encontrado", @@ -847,7 +847,7 @@ "destination": { "createNew": "Criar novo destino", "select": "Destino", - "loadError": "Erro ao buscar destinos." + "loadError": "Erro ao carregar destinos." }, "function": { "createNew": "Criar nova função", @@ -1061,10 +1061,10 @@ "regionFilterMsg": "Região/cluster de pesquisa", "queryRangeRestrictionMsg": "O intervalo de consulta é restrito a {range}. Ajuste o intervalo de datas adequadamente. Caso contrário, a data de início será ajustada automaticamente para caber dentro do limite permitido.", "cancel": "Cancelar consulta", - "viewTrace": "Exibir rastreamento", - "viewTraceUnavailable": "Não foi possível abrir o trace para este registro de log.", + "viewTrace": "Ver Rastro", + "viewTraceUnavailable": "Não foi possível abrir o rastro para este registro de log.", "viewRelated": "Exibir relacionado", - "viewRelatedTooltip": "Visualize rastreamentos e métricas relacionados", + "viewRelatedTooltip": "Ver rastros e métricas relacionados", "flattened": "Achatado", "original": "Original", "resetFilters": "Redefinir filtros", @@ -1146,8 +1146,8 @@ "selectFunctionNamePlaceholder": "Selecione o nome da função", "confirmFunctionUpdateTitle": "Confirme a atualização", "confirmFunctionUpdateMsg": "Tem certeza de que deseja atualizar a função {name}?", - "traceIdLabel": "ID de rastreamento:", - "enterTraceIdPlaceholder": "Insira o ID de rastreamento", + "traceIdLabel": "ID do rastro:", + "enterTraceIdPlaceholder": "Digite o ID do rastro", "changeQueryModeTitle": "Alterar modo de consulta", "changeQueryModeConfirm": "Tem certeza de que deseja alterar o modo de consulta? Os dados salvos para o eixo X, eixo Y e filtros serão apagados.", "patternExampleLog": "Exemplo de log", @@ -1197,9 +1197,9 @@ "upgradeToProPlan": "Atualizar para o Plano PRO", "home": "Início", "about": "Sobre", - "index": "Transmissões", + "index": "Streams", "search": "Registros", - "traces": "Traços", + "traces": "Rastros", "serviceGraph": "Grafo de serviços", "services": "Catálogo de serviços", "aiObservability": "Observabilidade da IA", @@ -1383,7 +1383,7 @@ "loadingMsg": "Espere aí, estamos carregando dados do RUM.", "breadcrumbs": "Pão ralado", "tags": "Etiquetas", - "traces": "Traços", + "traces": "Rastros", "searchEvents": "Pesquisar eventos", "loadingSessions": "Espere aí, estamos buscando sessões.", "errorStack": "Pilha de erros", @@ -1394,11 +1394,11 @@ "discoverSessionMessage": "O Session Replay captura e reproduz as interações do usuário em seu site ou aplicativo. Isso permite que você analise visualmente como os usuários navegam, onde clicam, o que digitam e como interagem com seu conteúdo.", "loadingErrorDetails": "Espere aí, estamos buscando os detalhes do erro.", "eventID": "ID do evento", - "noCorrelatedTraces": "Nenhum traço correlacionado foi encontrado para esta sessão.", - "span": "extensão", - "spans": "vãos", - "errorTraces": "traços de erro", - "failedToFetchTraces": "Falha ao buscar dados de rastreamento. Por favor, tente novamente.", + "noCorrelatedTraces": "Nenhum rastro correlacionado encontrado para esta sessão.", + "span": "span", + "spans": "spans", + "errorTraces": "rastros de erro", + "failedToFetchTraces": "Falha ao buscar dados de rastro. Tente novamente.", "seekToMoment": "Busque esse momento na sessão", "route": "Rota", "duration": "Duração", @@ -1485,7 +1485,7 @@ "frustrationErrorClick": "Clique acionou um erro de JavaScript", "frustrationRageTap": "Usuário tocou rapidamente várias vezes (3+) - indicando frustração", "frustrationErrorTap": "Toque acionou um erro de JavaScript", - "fetchTraceMetadataFailed": "Falha ao buscar metadados do trace", + "fetchTraceMetadataFailed": "Falha ao buscar metadados do rastro", "frustrationEventTooltip": "⚠️ FRUSTRAÇÃO: {types}\n{name}", "errorEventTooltip": "⛔ ERRO: {name}", "frustrationSignalType": "Sinal de frustração: {type}" @@ -1537,7 +1537,7 @@ "feature_column_name": "Característica", "feature_logs": "Registros", "feature_metrics": "Métricas", - "feature_traces": "Traços", + "feature_traces": "Rastreamentos", "feature_alerts": "Alertas", "feature_dashboards": "Painéis", "feature_reports": "Relatórios", @@ -1663,7 +1663,7 @@ }, "core_features": { "logs_metrics_traces": { - "name": "Registros, métricas e rastreamentos", + "name": "Registros, Métricas, Rastreamentos", "note": "Ingestão e análise completas de dados de observabilidade" }, "rum": { @@ -1736,8 +1736,8 @@ "note": "Proteja PII e informações confidenciais" }, "pipeline_remote_destinations": { - "name": "Destinos remotos do pipeline", - "note": "Enviar dados para destinos remotos" + "name": "Destinos Remotos de Oleodutos", + "note": "Envie dados para destinos remotos" }, "query_optimizer": { "name": "Otimizador de consultas/cache de agregação", @@ -1780,7 +1780,7 @@ "note": "Operações otimizadas de junção distribuída" }, "logs_metrics_traces_correlation": { - "name": "Correlação de registros, métricas e traços", + "name": "Correlação de Registros, Métricas e Rastreamentos", "note": "Detecção e correlação automatizadas" }, "service_maps": { @@ -2464,7 +2464,7 @@ "secondaryIndexCount": "Índice secundário ({count})" }, "deleteField": "Excluir campo", - "header": "Transmissões", + "header": "Streams", "subtitle": "Gerenciamento de índices e configuração de streams", "streamNameHelpText": "Use somente caracteres alfanuméricos, sublinhado e dois pontos.", "search": "Fluxo de pesquisa", @@ -2504,7 +2504,7 @@ "deleteDatesMessage": "Tem certeza de que deseja excluir as datas selecionadas? Essa ação não pode ser desfeita.", "labelLogs": "Registros", "labelMetrics": "Métricas", - "labelTraces": "Traços", + "labelTraces": "Rastreamentos", "labelMetadata": "Metadados", "add": "Adicionar stream", "dataRetention": "Retenção de dados (em dias)", @@ -2546,7 +2546,7 @@ }, "workflow": { "header": "Fluxos de trabalho", - "subtitle": "Automatize ações com gatilhos, lógica e destinos", + "subtitle": "Automatize Ações com Gatilhos, Lógica e Destinos", "create": "Novo workflow", "createSuccess": "Fluxo de trabalho criado com sucesso", "name": "Nome do workflow", @@ -2627,7 +2627,7 @@ }, "triggerMeta": { "orgId": "ID da organização à qual o alerta pertence.", - "streamType": "Tipo de stream — logs, métricas ou traces.", + "streamType": "Tipo de stream — registros, métricas ou rastreamentos.", "streamName": "Stream que o alerta monitora.", "alertName": "Nome do alerta que foi acionado.", "alertType": "Tipo de alerta — em tempo real ou agendado.", @@ -2665,7 +2665,7 @@ "output": "Saída", "noInput": "Este passo não recebeu nenhum registro na última execução.", "sentExternally": "Enviado para o destino externo", - "destinationNoRecords": "Nenhum registro alcançou este destino — nada foi enviado.", + "destinationNoRecords": "Nenhum registro chegou a este destino — nada foi enviado.", "branchFiltered": "0 registros — nada passou para este ramo.", "conditionNoMatch": "Nenhum registro correspondeu a esta condição — nada continuou a jusante.", "errorHeading": "Erro", @@ -2746,7 +2746,7 @@ "destinationSelect": "Destino", "destinationCreateNew": "Criar novo destino", "destinationRequired": "Selecione um destino", - "destinationLoadError": "Não foi possível carregar destinos", + "destinationLoadError": "Não foi possível carregar os destinos", "namePlaceholder": "Nomeie esta etapa (opcional)", "commentLabel": "Comentário (opcional)", "commentPlaceholder": "Adicione uma nota sobre esta etapa...", @@ -2815,8 +2815,8 @@ "functionNodeEmptyName": "O nó de função {id} tem nome de função vazio", "functionNodeInvalidName": "O nó de função {id} tem nome de função inválido \"{name}\". Deve ser uma das funções disponíveis.", "outputStreamNodeEmptyName": "O nó de fluxo de saída {id} tem nome de fluxo vazio", - "remoteStreamNodeEmptyDestination": "O nó de fluxo remoto {id} tem nome de destino vazio", - "remoteStreamNodeInvalidDestination": "O nó de fluxo remoto {id} tem destino inválido \"{destination}\". Deve ser um dos destinos de pipeline disponíveis.", + "remoteStreamNodeEmptyDestination": "O nó de stream remoto {id} tem nome de destino vazio", + "remoteStreamNodeInvalidDestination": "O nó de stream remoto {id} tem destino inválido \"{destination}\". Deve ser um dos destinos de oleodutos disponíveis.", "edgeMissingSourceNode": "A aresta {id} referencia um nó de origem inexistente {source}", "edgeMissingTargetNode": "A aresta {id} referencia um nó de destino inexistente {target}", "inputNodeHasIncomingEdges": "O nó de entrada {id} não deve ter arestas de entrada. Encontradas {count} arestas de entrada.", @@ -2831,7 +2831,7 @@ "importErrors": { "unknownError": "Erro Desconhecido", "nameRequired": "Pipeline - {index}: Nome é obrigatório", - "streamTypeInvalid": "Pipeline - {index}: O Tipo de Stream é obrigatório e deve ser um de: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Oleoduto - {index}: O tipo de stream é obrigatório e deve ser um de: 'logs', 'metrics', 'traces'.", "sourceStreamNameRequired": "Pipeline - {index}: O nome do stream de origem é obrigatório ", "sqlQueryRequired": "Pipeline - {index}: A consulta SQL é obrigatória", "timezoneRequired": "Pipeline - {index}: O fuso horário é obrigatório", @@ -2844,7 +2844,7 @@ "v0ConditionFields": "Pipeline - {index}, Nó {nodeIndex}: Formato V0 - cada condição deve ter coluna, operador e valor.", "v1ConditionInvalid": "Pipeline - {index}, Nó {nodeIndex}: Formato de condição V1 inválido.", "conditionFormatUnrecognized": "Pipeline - {index}, Nó {nodeIndex}: Formato de condição não reconhecido.", - "remoteDestinationRequired": "Pipeline - {index}: O destino remoto é obrigatório", + "remoteDestinationRequired": "Oleoduto - {index}: O destino remoto é obrigatório", "createSuccess": "Pipeline - {index}: \"{name}\" criado com sucesso \nNota: remova o objeto de pipeline {name} do arquivo json", "createFailed": "Pipeline - {index}: Falha na criação de \"{name}\" --> \n Motivo: {reason}", "sqlQueryMismatch": "Pipeline - {index}: A consulta SQL deve ser a mesma em todos os nós e também tente corresponder à consulta nos nós \n\n input.sql_query: {sqlQuery} \n\n input.source.query_condition.sql: {sourceSql} \n", @@ -2948,7 +2948,7 @@ "deleteBackfillWarningMessage": "Isso excluirá permanentemente todos os dados no stream de destino para o intervalo de tempo especificado antes de executar o backfill. Esta ação não pode ser desfeita.", "timeAlignmentRequirements": "Requisitos de Alinhamento de Horário (UTC):", "logsHourBoundaryNote": "streams: Os horários devem estar alinhados às bordas de hora em UTC (ex.: 10:00:00, não 10:15:00)", - "metricsTracesLabel": "Métricas/Traces", + "metricsTracesLabel": "Métricas/Rastreamentos", "dayBoundaryNote": "streams: Os horários devem estar alinhados às bordas de dia em UTC (ex.: 00:00:00)", "estimatedProcessingTime": "Tempo Estimado de Processamento:", "estimatedChunks": "Chunks Estimados:", @@ -2972,7 +2972,7 @@ "phaseInitializing": "Inicializando" }, "deleteBackfillConfirmMessage": "Você selecionou excluir dados existentes antes do backfill. Isso excluirá permanentemente todos os dados no stream de destino para o intervalo de tempo especificado.", - "editBackfillDeleteConfirmMessage": "Você selecionou excluir dados existentes antes do backfill. Isso excluirá permanentemente todos os dados no stream de destino para o intervalo de tempo especificado. Esta ação NÃO pode ser desfeita ou cancelada depois que o job for atualizado. Tem certeza de que deseja continuar?", + "editBackfillDeleteConfirmMessage": "Você selecionou excluir dados existentes antes do backfill. Isso excluirá permanentemente todos os dados no stream de destino para o intervalo de tempo especificado. Esta ação NÃO pode ser desfeita ou cancelada depois que o trabalho for atualizado. Tem certeza de que deseja continuar?", "actionCannotBeUndone": "Esta ação NÃO pode ser desfeita ou cancelada depois que o job for criado.", "areYouSureProceed": "Tem certeza de que deseja continuar?", "clearFilters": "Limpar Filtros", @@ -3036,15 +3036,15 @@ "sourceQueryTooltip": "Fonte: Query Node", "functionTooltip": "Nodo de função", "conditionTooltip": "Nodo de condição", - "destinationStreamTooltip": "Destino: Stream Node", - "destinationExternalTooltip": "Destino: Nó de destino externo", + "destinationStreamTooltip": "Destino: Nó de Stream", + "destinationExternalTooltip": "Destino: Nó de Destino Externo", "pipelineNotFound": "Pipeline não encontrado", "pipelineNameRequired": "O nome do pipeline é obrigatório", "sourceNodeRequired": "O nó de origem é obrigatório", "destinationNodeRequired": "O nó de destino é obrigatório", "connectAllNodes": "Conecte todos os nós antes de salvar", "connectAllNodesShort": "Conecte todos os nós", - "enrichmentTablesScheduledOnly": "As tabelas de enriquecimento como fluxo de destino só estão disponíveis para pipelines programados", + "enrichmentTablesScheduledOnly": "Tabelas de enriquecimento como stream de destino só estão disponíveis para oleodutos agendados", "savingPipeline": "Salvando o pipeline...", "pipelineUpdated": "Pipeline atualizado com sucesso", "pipelineSaved": "Pipeline salvo com sucesso", @@ -3076,7 +3076,7 @@ "functionAlreadyAssociated": "A função já está associada", "atLeastOneCondition": "Adicione pelo menos uma condição", "fillAllConditionFields": "Preencha todos os campos da condição (coluna, operador e valor são obrigatórios)", - "selectExternalDestination": "Selecione um destino externo da lista", + "selectExternalDestination": "Selecione o destino externo da lista", "backfillNumericRange": "Deve estar entre {min} e {max}", "selectValidTimeRange": "Selecione um intervalo de tempo válido", "startBeforeEndTime": "A hora de início deve ser antes da hora de término", @@ -3092,7 +3092,7 @@ "streamType": "Tipo de Stream *" }, "sourceNode": "Fonte", - "streamNode": "Transmita", + "streamNode": "Stream", "queryNode": "Consulta", "transformNode": "Transformar", "functionNode": "Função", @@ -3182,7 +3182,7 @@ "noJobSelected": "Nenhum job selecionado", "updateBackfillJobFailed": "Falha ao atualizar o job de backfill", "fetchPipelineHistoryFailed": "Falha ao buscar o histórico do pipeline", - "defaultDestinationNodeWarning": "Remover o nó de destino padrão interrompe a ingestão de dados nele. O stream de origem passará a rotear apenas para o stream de destino recém-adicionado. Dados não roteados para nenhum stream de destino serão descartados.", + "defaultDestinationNodeWarning": "Remover o nó de destino padrão interrompe a ingestão de dados nele. O stream de origem então roteará apenas para o stream de destino recém-adicionado. Os dados não roteados para nenhum stream de destino serão descartados.", "confirmBulkDeleteMsg": "Tem certeza de que deseja excluir {count} pipeline(s)?", "confirmPauseBackfillJob": "Tem certeza de que deseja pausar o job de backfill de \"{name}\"? Você pode retomá-lo mais tarde.", "confirmResumeBackfillJob": "Tem certeza de que deseja retomar o job de backfill de \"{name}\"?", @@ -3292,10 +3292,10 @@ "analyzingDimensions": "Analisando dimensões...", "arrowSeparator": "→", "computingDistributions": "Computando distribuições de frequência em {count} dimensões", - "dashboardDescError": "Comparando a porcentagem de erros de traces durante o período de pico de erros em relação à linha de base entre dimensões.", - "dashboardDescLatency": "Comparando a latência percentil dos traces selecionados (duração {start}-{end}µs) em relação à linha de base entre dimensões.", - "dashboardDescVolume": "Comparando a distribuição da contagem de traces em relação à linha de base entre dimensões.", - "dashboardDescVolumeRate": "Comparando a distribuição da contagem de traces dos períodos selecionados (taxa {start}-{end} traces) em relação à linha de base entre dimensões.", + "dashboardDescError": "Comparando a porcentagem de erros de rastreamentos durante o período de pico de erros vs a linha de base em todas as dimensões", + "dashboardDescLatency": "Comparando a latência percentil dos rastreamentos selecionados (duração {start}-{end}µs) vs a linha de base em todas as dimensões", + "dashboardDescVolume": "Comparando a distribuição da contagem de rastreamentos vs a linha de base em todas as dimensões", + "dashboardDescVolumeRate": "Comparando a distribuição da contagem de rastreamentos dos períodos selecionados (taxa de {start}-{end} rastreamentos) vs a linha de base em todas as dimensões", "dashboardTitleError": "Insights de Erros", "dashboardTitleLatency": "Insights de Latência", "dashboardTitleVolume": "Insights de Volume", @@ -3303,8 +3303,8 @@ "durationLabel": "Duração:", "failedToLoad": "Falha ao carregar a análise", "panelDescErrorComparison": "Comparação da porcentagem de erros para a dimensão: {dimension}. Barras selecionadas mais altas indicam que esse valor de dimensão tem mais erros no período de pico de erros.", - "panelDescLatencyComparison": "Comparação da latência percentil para a dimensão: {dimension}. Barras selecionadas mais altas indicam que esse valor de dimensão se correlaciona com traces mais lentos.", - "panelDescVolumeComparison": "Comparação da contagem de traces para a dimensão: {dimension}. Barras selecionadas mais altas indicam que esse valor de dimensão aparece com mais frequência em períodos de alto volume.", + "panelDescLatencyComparison": "Comparação de latência percentil para a dimensão: {dimension}. Barras Selecionadas mais altas indicam que esse valor de dimensão se correlaciona com rastreamentos mais lentos.", + "panelDescVolumeComparison": "Comparação da contagem de rastreamentos para a dimensão: {dimension}. Barras Selecionadas mais altas indicam que esse valor de dimensão aparece com mais frequência em períodos de alto volume.", "panelDescVolumeTopValues": "Principais valores por contagem para a dimensão: {dimension}.", "refreshTooltip": "Atualize a análise com o percentil atualizado", "retryButton": "Tente novamente", @@ -3315,7 +3315,7 @@ "title": "Percepções", "tabLabel": "Tarifa", "analyzeTooltipLogs": "Analise a distribuição de dimensões para o intervalo de tempo atual", - "analyzeTooltipTraces": "Analise as dimensões do rastreamento para padrões de taxa, latência e erro", + "analyzeTooltipTraces": "Analise as dimensões dos rastreamentos para padrões de taxa, latência e erros", "rateLabel": "Tarifa:", "searchInspectionsLabel": "Inspecione os detalhes da execução do trabalho de pesquisa", "inspectBtnLabel": "Inspecionar", @@ -3441,7 +3441,7 @@ "customLabel": "Personalizado", "logsLabel": "Registros", "metricsLabel": "Métricas", - "tracesLabel": "Traços", + "tracesLabel": "Rastreamentos", "redirectionIngestionMsg": "Observação: para acessar páginas diferentes do IAM, a ingestão de dados deve ser iniciada na organização atual.", "databaseLabel": "bancos de dados", "securityLabel": "Segurança", @@ -3466,7 +3466,7 @@ "dotnettracing": "Rastreamento do.NET", "dotnetlogs": "Registros do.NET", "macos": "macOS", - "tracesotlp": "Traces ({product})", + "tracesotlp": "Rastreamentos ({product})", "rum": "Monitoramento real de usuários", "openvpn": "OpenVPN", "nginx": "Nginx", @@ -3629,8 +3629,8 @@ "anyWindowsHostNote": "Qualquer servidor ou VM Windows.", "arrow": "→", "askOnSlack": "Pergunte no Slack", - "autoInstrumentTracesDesc": "Opcional. O operador OpenTelemetry injeta instrumentação em workloads anotados, então você obtém **rastreamentos distribuídos sem tocar no código do aplicativo nem reconstruir imagens**. Escolha um idioma e anote o namespace em que ele é executado.", - "autoInstrumentTracesTitle": "Instrumente suas aplicações automaticamente para traces", + "autoInstrumentTracesDesc": "Opcional. O operador OpenTelemetry injeta instrumentação em cargas de trabalho anotadas, para que você obtenha **rastreamentos distribuídos sem tocar no código do aplicativo ou reconstruir imagens**. Escolha uma linguagem e anote o namespace em que ela é executada.", + "autoInstrumentTracesTitle": "Instrumente automaticamente seus aplicativos para rastreamentos", "cassandraJmxNote": "Ative o acesso remoto JMX no Cassandra para que o receptor se conecte.", "cassandraTagline": "Colete métricas do Cassandra por meio do receptor JMX do OpenTelemetry Collector e envie-as para o OpenObserve.", "checking": "Verificando…", @@ -3654,14 +3654,14 @@ "configureCollectorTitle": "Configurar o OpenTelemetry Collector", "connectedLogsHeadline": "Conectado — Logs estão fluindo", "connectedMetricsHeadline": "Conectado — As métricas estão fluindo", - "connectedTracesHeadline": "Conectado — Os rastros estão fluindo", + "connectedTracesHeadline": "Conectado — rastreamentos estão fluindo", "countLogs": "{count} log | {count} logs", "countMetricStreams": "{count} fluxo de métrica | {count} fluxos de métrica", "countSpans": "{count} span | {count} spans", "downloadEnvTooltip": "Baixar .env", "downloadJmxJarDesc": "O receptor JMX executa este jar auxiliar (requer Java no host coletor).", "downloadJmxJarTitle": "Baixar o JAR de Métricas JMX", - "dynamodbFirehoseEndpointDesc": "Use estes como destino do **HTTP Endpoint** ao criar seu delivery stream do Kinesis Data Firehose.", + "dynamodbFirehoseEndpointDesc": "Use estes como o destino **HTTP Endpoint** ao criar seu fluxo de entrega do Kinesis Data Firehose.", "dynamodbFirehoseEndpointTitle": "Endpoint do Firehose do OpenObserve", "dynamodbPipelineDesc": "Habilite **DynamoDB Streams** na sua tabela, conecte-o a um **Kinesis Data Stream** e aponte um delivery stream do **Kinesis Data Firehose** para o endpoint HTTP acima.", "dynamodbPipelineTitle": "Transmita DynamoDB → Firehose", @@ -3675,7 +3675,7 @@ "gcpFixBody": "O GCP relata falhas de entrega na própria assinatura. Se o coletor está publicando, mas nada chega aqui, o endpoint de push geralmente está rejeitando a solicitação:", "gcpFixTitle": "Verificar a assinatura de push", "gcpPushUrlNote": "Mantenha esta URL em segredo — ela contém a chave de ingestão. Gire-a no cabeçalho desta página se ela vazar.", - "gcpSinkDesc": "No console do GCP, crie um **sink do Log Router** (Logging → Log Router → Criar sink) com Pub/Sub como destino e deixe-o criar o tópico. O filtro de inclusão do sink decide quais logs chegam ao OpenObserve.", + "gcpSinkDesc": "No console do GCP, crie um **sink do Log Router** (Logging → Log Router → Create sink) com Pub/Sub como destino e deixe-o criar o tópico. O filtro de inclusão do sink decide quais registros chegam ao OpenObserve.", "gcpSinkTitle": "Roteie os logs para um tópico Pub/Sub.", "gcpSinkWriterNote": "Conceda à identidade do gravador do coletor o papel de Publicador Pub/Sub no tópico; caso contrário, não publicará nada silenciosamente.", "gcpStreamHelp": "Usado na URL de push acima e monitorado pela verificação abaixo. Um stream dedicado mantém os logs do GCP separados.", @@ -3714,7 +3714,7 @@ "k8sInstallerNote": "Isso instala cert-manager, o operador do OpenTelemetry e o coletor do OpenObserve automaticamente.", "k8sInternalEndpointNote": "Use isso quando o OpenObserve estiver no mesmo cluster — o tráfego nunca o deixa.", "k8sTroubleAnnotationA": "A injeção ocorre na criação do pod, então os pods existentes não são afetados até serem reiniciados — execute `kubectl rollout restart deployment -n my-namespace`. Confirme se a anotação foi aplicada com `kubectl get ns my-namespace -o yaml` e verifique se o valor corresponde a `openobserve-collector/openobserve-`. Para Go, `otel-go-auto-target-exe` deve ser o caminho do binário **dentro** do contêiner.", - "k8sTroubleAnnotationQ": "Anotei um namespace, mas nenhum rastro aparece", + "k8sTroubleAnnotationQ": "Anotei um namespace, mas nenhum rastreamento aparece", "k8sTroubleEndpointA": "Use **In-Cluster** somente quando o OpenObserve estiver em execução neste cluster; o tráfego permanece dentro dele e nunca atravessa a rede. A URL é `http://-openobserve-router..svc.cluster.local:5080` — o padrão assume a release `o2` no namespace `openobserve`, então edite se a sua for diferente. Todos os demais usam o endpoint externo.", "k8sTroubleEndpointQ": "Qual endpoint devo usar — externo ou in-cluster?", "k8sTroubleExampleA": "Sim — **HOT commerce** é um aplicativo de exemplo conectado de ponta a ponta, e a documentação do **OpenTelemetry Operator** traz a referência completa de anotações. Ambos estão vinculados na parte inferior desta página.", @@ -3757,16 +3757,16 @@ "oracleTagline": "Colete métricas do Oracle DB com o OpenTelemetry Collector e envie-as para o OpenObserve.", "otlpFixBody": "Definir um exportador não é suficiente — ele precisa estar listado em um pipeline. Esse é o motivo mais comum pelo qual uma configuração aparentemente correta não envia nada:", "otlpFixTitle": "Verifique se o exportador está realmente conectado ao pipeline", - "otlpGrpcNote": "Menor overhead que HTTP para altos volumes de spans. A porta 5081 deve estar acessível a partir do coletor.", + "otlpGrpcNote": "Sobrecarga menor que HTTP para altos volumes de spans. A porta 5081 deve estar acessível a partir do coletor.", "otlpHttpNote": "O padrão para o OpenTelemetry Collector — funciona em qualquer lugar, inclusive atrás de proxies e balanceadores de carga.", "otlpSdkEnvNote": "Variáveis de ambiente padrão OTEL_* — todos os SDKs do OpenTelemetry as leem, portanto nenhuma alteração de código é necessária.", "otlpTracesStreamHelp": "Escrito no config acima como `stream-name` e monitorado pela verificação abaixo.", "otlpTrouble401A": "O cabeçalho `Authorization` deve ser `Basic ` usando o token de ingestão desta organização — o valor acima já está correto. Se ele foi rotacionado, copie-o novamente desta página.", "otlpTrouble401Q": "O coletor registra 401 ou 403", - "otlpTroubleHttpGrpcA": "HTTP é o padrão seguro e atravessa proxies e balanceadores de carga sem problemas. O gRPC tem menor overhead em alto volume de spans, mas precisa que a porta 5081 esteja acessível de ponta a ponta.", + "otlpTroubleHttpGrpcA": "HTTP é o padrão seguro e atravessa proxies e balanceadores de carga facilmente. gRPC tem menor sobrecarga em alto volume de spans, mas precisa que a porta 5081 esteja acessível de ponta a ponta.", "otlpTroubleHttpGrpcQ": "Devo usar HTTP ou gRPC?", "otlpTroubleStreamA": "O cabeçalho `stream-name` decide o stream. Defina-o com o mesmo nome do campo acima; caso contrário, a verificação abaixo monitora um stream para o qual nada é gravado.", - "otlpTroubleStreamQ": "Os spans chegam, mas caem no stream errado", + "otlpTroubleStreamQ": "Os spans chegam, mas caem no fluxo errado", "otlpTroubleTlsA": "A flag `tls.insecure` deve corresponder ao esquema do endpoint — ela está definida como `{insecure}` acima com base na URL desta implantação. Um endpoint HTTP simples precisa de `insecure: true`; um HTTPS precisa de `false`.", "otlpTroubleTlsQ": "A conexão gRPC falha com erro de TLS", "pillActiveBackends": "Backends ativos", @@ -3975,13 +3975,13 @@ "stuck": "Travou?", "taglineDatabricks": "Envie logs de notebooks Databricks para o OpenObserve pela API de logs.", "taglineGcp": "Transmita logs do Google Cloud para o OpenObserve com uma assinatura push do Pub/Sub — sem agente ou coletor para executar.", - "taglineKubernetes": "Implante o coletor do OpenObserve no seu cluster — logs de contêineres, eventos do Kubernetes e métricas do cluster, além de rastreamentos sem código para suas cargas de trabalho.", + "taglineKubernetes": "Implante o coletor do OpenObserve no seu cluster — registros de contêineres, eventos do Kubernetes e métricas do cluster, além de rastreamentos sem código para suas cargas de trabalho.", "taglineLinux": "Instale o agente do OpenObserve em qualquer host Linux — logs do sistema e do journald, além de métricas de CPU, memória, disco e rede.", "taglineMacos": "Instale o agente do OpenObserve em qualquer Mac — o log unificado e os arquivos de log padrão, além de métricas de CPU, memória, disco e rede.", "taglineOtlpTraces": "Aponte qualquer exportador OpenTelemetry para o OpenObserve — coletor ou SDK, HTTP ou gRPC. Seu endpoint e token estão preenchidos abaixo.", "taglineWindows": "Instale o agente do OpenObserve em qualquer host Windows — Log de Eventos, contadores de desempenho e métricas do host.", "testAgain": "Testar Novamente", - "tracesStreamNameLabel": "Nome do Stream de Traces", + "tracesStreamNameLabel": "Nome do fluxo de rastreamentos", "trackScreensDesc": "Se você usa React Navigation, entregue ao SDK a sua ref de navegação e cada mudança de rota é registrada como uma view RUM — sem código por tela.", "trackScreensTitle": "Rastrear Telas Automaticamente (Opcional)", "troubleshooting": "Solução de Problemas", @@ -4001,7 +4001,7 @@ "verifyMongodbMetricsDesc": "Clique em Test abaixo ou verifique os Streams para as métricas `mongodb_*`.", "verifyMysqlMetricsDesc": "Clique em Test abaixo ou verifique os Streams para as métricas `mysql_*`.", "verifyOracledbMetricsDesc": "Clique em Test abaixo ou verifique os Streams para as métricas `oracledb_*`.", - "verifyOtlpTracesDesc": "Reinicie o coletor (ou seu aplicativo), execute uma solicitação que produza um span e clique em Test.", + "verifyOtlpTracesDesc": "Reinicie o coletor (ou seu aplicativo), execute uma solicitação que produza um span e clique em Testar.", "verifyPostgresqlMetricsDesc": "Clique em Test abaixo ou verifique os Streams para as métricas `postgresql_*`.", "verifyReactNativeRumDesc": "Execute o aplicativo em um simulador, emulador ou dispositivo, navegue entre algumas telas e clique em Test — os eventos do React Native chegam no stream `_rumdata`.", "verifyRedisMetricsDesc": "Clique em Test abaixo ou verifique os Streams para as métricas `redis_*`.", @@ -4012,7 +4012,7 @@ "verifyZookeeperMetricsDesc": "Clique em Test abaixo ou verifique os Streams para as métricas `zookeeper_*`.", "viewLogs": "Ver Logs", "viewStreams": "Ver Streams", - "viewTraces": "Ver Traces", + "viewTraces": "Ver rastreamentos", "whatTheInstallerDoes": "O Que o Instalador Faz", "windowsAgentFixBody": "O instalador registra o agente como um serviço do Windows. Se nada aparecer, confirme se ele está em execução e leia as entradas mais recentes do log:", "windowsTroubleScriptA": "O PowerShell bloqueia scripts não assinados por padrão. Execute o console **como Administrador** e, se necessário, permita o script para essa sessão com `Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass`.", @@ -4036,11 +4036,11 @@ "verifyAndroidRumDesc": "Execute o aplicativo em um emulador ou dispositivo, navegue por algumas telas e clique em Testar — os eventos Android nativos chegam no stream `_rumdata`.", "verifyIosRumDesc": "Execute o aplicativo em um simulador ou dispositivo, navegue por algumas telas e clique em Testar — os eventos iOS nativos chegam no stream `_rumdata`.", "dbmPreparePostgresTitle": "Monitoramento de banco de dados · Conceder acesso (opcional)", - "dbmPreparePostgresDesc": "**Tudo acima já está completo por si só** — os tempos de consulta já chegam a Bancos de dados a partir dos traces da sua aplicação, sem configuração aqui. Estas últimas etapas adicionam o que um trace nunca pode ver: deadlocks e consultas bloqueadas, que somente o próprio banco de dados registra. Conceda `pg_monitor` para que o coletor possa ler as consultas de outras sessões — execute-o em um cliente SQL, **não** no seu shell.", + "dbmPreparePostgresDesc": "**Tudo acima é completo por si só** — os tempos de consulta já chegam aos Bancos de dados a partir dos rastreamentos do seu aplicativo, sem configuração aqui. Estas últimas etapas adicionam o que um rastreamento nunca pode ver: deadlocks e consultas bloqueadas, que apenas o próprio banco de dados registra. Conceda `pg_monitor` para que o coletor possa ler as consultas de outras sessões — execute em um cliente SQL, **não** no seu shell.", "dbmPrepareMysqlTitle": "Monitoramento de banco de dados · Manter histórico de deadlocks (opcional)", "dbmPrepareMariadbTitle": "Monitoramento de banco de dados · Manter histórico de deadlocks (opcional)", - "dbmPrepareMysqlDesc": "**Tudo acima já está completo por si só** — os tempos de consulta já chegam a Bancos de dados a partir dos traces da sua aplicação, sem configuração aqui. Estas últimas etapas adicionam o que um trace nunca pode ver: deadlocks e consultas bloqueadas, que somente o próprio banco de dados registra. Ative o histórico completo de deadlocks — execute-o em um cliente SQL, **não** no seu shell.", - "dbmPrepareMariadbDesc": "**Tudo acima já está completo por si só** — os tempos de consulta já chegam a Bancos de dados a partir dos traces da sua aplicação, sem configuração aqui. Estas últimas etapas adicionam o que um trace nunca pode ver: deadlocks e consultas bloqueadas, que somente o próprio banco de dados registra. Ative o histórico completo de deadlocks — execute-o em um cliente SQL, **não** no seu shell.", + "dbmPrepareMysqlDesc": "**Tudo acima é completo por si só** — os tempos de consulta já chegam aos Bancos de dados a partir dos rastreamentos do seu aplicativo, sem configuração aqui. Estas últimas etapas adicionam o que um rastreamento nunca pode ver: deadlocks e consultas bloqueadas, que apenas o próprio banco de dados registra. Ative o histórico completo de deadlocks — execute em um cliente SQL, **não** no seu shell.", + "dbmPrepareMariadbDesc": "**Tudo acima é completo por si só** — os tempos de consulta já chegam aos Bancos de dados a partir dos rastreamentos do seu aplicativo, sem configuração aqui. Estas últimas etapas adicionam o que um rastreamento nunca pode ver: deadlocks e consultas bloqueadas, que apenas o próprio banco de dados registra. Ative o histórico completo de deadlocks — execute em um cliente SQL, **não** no seu shell.", "dbmPgLoggingTitle": "Monitoramento de banco de dados · Permitir que o Postgres registre deadlocks (opcional)", "dbmPgLoggingDesc": "Deadlocks só são gravados no log do Postgres, e somente quando as configurações abaixo estão ativadas — portanto, esta etapa é o que faz a aba Deadlocks ser preenchida. A linha de prefixo precisa corresponder exatamente: o coletor a lê para descobrir quem estava envolvido, e um prefixo diferente significa que ele não encontra nada enquanto ainda reporta saudável.", "dbmPgLoggingVerifyTitle": "Monitoramento de banco de dados · Verificar se as configurações foram aplicadas (opcional)", @@ -4066,7 +4066,7 @@ "dbmMysqlLogPathHelp": "O coletor deve conseguir ler este arquivo. Encontre-o com: SHOW VARIABLES LIKE 'log_error';", "dbmMariadbLogPathHelp": "O coletor deve conseguir ler este arquivo. Encontre-o com: SHOW VARIABLES LIKE 'log_error';", "dbmPrepareMssqlTitle": "Monitoramento de Banco de Dados · Conceder acesso (opcional)", - "dbmPrepareMssqlDesc": "**Tudo acima está completo por si só** — os tempos de consulta já chegam aos Bancos de dados a partir dos traces da sua aplicação, sem configuração aqui. Este último grupo adiciona o que um trace nunca pode ver: deadlocks e consultas bloqueadas, que apenas o próprio banco de dados registra. Ambas as permissões são necessárias — uma permite que o coletor leia outras sessões, a outra permite ler o histórico de deadlocks. Execute-as em um cliente SQL, **não** no seu shell.", + "dbmPrepareMssqlDesc": "**Tudo acima é completo por si só** — os tempos de consulta já chegam aos Bancos de dados a partir dos rastreamentos do seu aplicativo, sem configuração aqui. Este último grupo adiciona o que um rastreamento nunca pode ver: deadlocks e consultas bloqueadas, que apenas o próprio banco de dados registra. Ambas as permissões são necessárias — uma permite que o coletor leia outras sessões, a outra permite que ele leia o histórico de deadlocks. Execute-as em um cliente SQL, **não** no seu shell.", "dbmConfigureMssqlDesc": "Grava `dbm-config.yaml` — defina abaixo o banco de dados ao qual conectar. O SQL Server obtém deadlocks, consultas bloqueadas, amostras de atividade, principais consultas e planos de execução aqui. O receptor sqlserver lê em toda a instância, portanto a atividade e as principais consultas não se limitam ao banco de dados nomeado acima.", "dbmRunMssqlDesc": "Executa ambas as configurações juntas. Use o mesmo login e senha que você criou no passo 1.", "dbmVerifyBlockingDesc": "Abra **Infra → Bancos de dados → Consultas bloqueadas**. Sessões aguardando em um bloqueio aparecem assim que uma é amostrada — uma aba vazia ali indica se nada está bloqueado ou se nada está sendo coletado.", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "Abra **Infra → Bancos de dados** e escolha uma aba abaixo. Deadlocks e consultas bloqueadas aparecem assim que o banco de dados relata um — uma aba vazia ali indica se nada aconteceu ou se nada está sendo coletado. A saúde da tabela é preenchida após o primeiro snapshot de 60 segundos." }, "instrumentBeforeImportTitle": "Instrumente Antes de Importar o Cliente", - "instrumentBeforeImportBody": "Se o seu aplicativo executa, mas nenhum span chega, a instrumentação provavelmente foi carregada depois que o cliente foi importado. Reordene para que a inicialização seja executada primeiro:", + "instrumentBeforeImportBody": "Se o seu aplicativo estiver em execução mas nenhum span chegar, a instrumentação provavelmente foi carregada depois que o cliente foi importado. Reordene para que a inicialização seja executada primeiro:", "launchCloudFormationStack": "Iniciar Pilha CloudFormation", "openStackSetsConsole": "Abrir o Console do StackSets", "integrations": { @@ -4239,7 +4239,7 @@ "streamOverview": "Visão geral de {stream}" }, "selectField": "Campo", - "selectIndex": "Transmita", + "selectIndex": "Fluxo", "selectStreamType": "Tipo de transmissão", "toggleFunctionEditor": "Alternar editor de funções", "useSavedFunction": "Use a função Salva", @@ -5562,7 +5562,7 @@ "panelDuplicationFailed": "Falha na duplicação do painel", "firstColumn": "Primeira coluna", "zAxis": "Eixo Z", - "breakdown": "Repartição", + "breakdown": "Detalhamento", "pivotField": "Campo pivô", "pivotFieldTooltip": "Arraste um campo de dimensão aqui. Seus valores distintos se tornam cabeçalhos de coluna na tabela dinâmica. Até 3 campos são permitidos para dinamização em vários níveis.", "breakdownTooltipHBar": "Use esses campos para dividir os dados em diferentes seções no eixo Y para uma visão mais clara.", @@ -5657,7 +5657,7 @@ "home": { "alertsOverviewSection": "Seção de visão geral de alertas", "pipelinesOverviewSection": "Seção de visão geral de pipelines", - "streams": "Transmissões", + "streams": "Fluxos", "totalDataIngested": "Total de dados ingeridos", "totalDataCompressed": "Tamanho comprimido", "viewButton": "Visualizar", @@ -5669,7 +5669,7 @@ "description": "Essa organização não recebeu nenhum dado, então não há nada para mapear. Quando os eventos começarem a fluir, o volume de ingestão, o armazenamento e o uso da consulta aparecerão aqui automaticamente.", "logs": "Enviar registros", "logsDesc": "{product1}, {product2}, {product3}, {product4} e mais", - "traces": "Enviar rastros", + "traces": "Enviar rastreamentos", "tracesDesc": "{product1} / {product2} / {product3} rastreamento distribuído", "metrics": "Enviar métricas", "metricsDesc": "{product1}, {product2}, {product3} e mais", @@ -5717,7 +5717,7 @@ "emptyActionAlertsDesc": "Revise alertas e limites configurados", "emptyActionLogs": "Explorar registros", "emptyActionLogsDesc": "Pesquise e filtre seus fluxos de log", - "emptyActionTraces": "Explore os traços", + "emptyActionTraces": "Explorar rastreamentos", "emptyActionTracesDesc": "Inspecione rastreamentos distribuídos e latência de serviço", "anomalyDetectedTitle": "Anomalia detectada — {name}", "anomalyDetectedDescription": "Stream: {stream} · {count} ponto(s) anômalo(s)", @@ -5806,7 +5806,7 @@ "taglineTail": ". Eu posso escrever seu", "taglineSql": "SQL", "taglineVrl": "VRL", - "taglineAnd": "e mostre seus registros, rastreamentos, métricas e incidentes.", + "taglineAnd": "e guiá-lo por seus registros, rastreamentos, métricas e incidentes.", "signedInAs": "Conectado como", "role": "Função", "tryOneOfThese": "Ou experimente um desses" @@ -5814,12 +5814,12 @@ "capabilities": { "query": { "title": "Escrever uma consulta", - "description": "SQL para registros, rastreamentos, RUM ou ProMQL para métricas.", + "description": "SQL para registros, rastreamentos, Monitoramento de usuários reais, ou PromQL para métricas.", "prompt": "Ajude-me a escrever uma consulta" }, "incident": { "title": "Investigue incidentes", - "description": "Causa raiz em registros, rastreamentos e alertas — por exemplo, “Por que o gateway-5xx foi acionado?”", + "description": "Causa raiz entre registros, traces e alertas — por exemplo, \"Por que o gateway-5xx disparou?\"", "prompt": "Ajude-me a investigar incidentes" }, "dashboard": { @@ -5918,7 +5918,7 @@ "pipeline": "pipeline", "report": "relatório", "function": "função", - "stream": "fluxo", + "stream": "stream", "folder": "pasta", "panel": "painel", "user": "usuário", @@ -5962,7 +5962,7 @@ "features": "CARACTERÍSTICAS", "included": "O que está incluído?", "proPlanSubtitle": "Soluções personalizadas para equipes pequenas", - "unlimitedNote": "Usuários, registros, métricas, rastreamentos ilimitados e muito mais.", + "unlimitedNote": "Usuários ilimitados, registros, métricas, traces e muito mais.", "paymentNote": "Pagamento calculado pelo uso no final do ciclo de cobrança mensal.", "proPlanLabel": "Pague conforme o uso", "contactLabel": "Entre em contato com vendas", @@ -6145,7 +6145,7 @@ "anomalyImportFailed": "Detecção de Anomalias - {index}: falha na importação de \"{name}\" — {reason}", "nameRequired": "Alerta - {index}: Nome é obrigatório e deve ser uma string válida.", "orgIdInvalid": "Alerta - {index}: ID da organização é obrigatório, deve existir na lista de organizações e deve ser igual a {orgId}.", - "streamTypeInvalid": "Alerta - {index}: Tipo de stream é obrigatório e deve ser um dos: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Alerta - {index}: O Tipo de Stream é obrigatório e deve ser um dos: 'logs', 'metrics', 'traces'.", "streamNameInvalid": "Alerta - {index}: Nome do stream é obrigatório, deve existir na lista de streams e deve ser uma string válida.", "destinationsRequired": "Alerta - {index}: Destinos são obrigatórios e devem ser um array.", "enabledBoolean": "Alerta - {index}: Habilitado deve ser booleano.", @@ -6261,7 +6261,7 @@ "noChildren": "Ainda não há sub-alertas. Adicione pelo menos dois.", "wouldTrigger": "Dispararia", "wouldNotTrigger": "Não dispararia", - "firing": "Disparando", + "firing": "Disparado", "normal": "Normal", "stepByStep": "Passo a passo", "result": "Resultado", @@ -6328,7 +6328,7 @@ "guidelinesLabel": "Diretrizes:", "selectStreamGuideline": "Selecione um stream existente na lista ou insira o nome para criar um novo", "enrichmentTablesTerm": "Enrichment_tables", - "enrichmentTablesDestinationNote": "como stream de destino está disponível apenas para pipelines agendados", + "enrichmentTablesDestinationNote": "pois o stream de destino só está disponível para oleodutos agendados", "useCurlyBracesNote": "Use chaves", "configureStreamNameDynamicNote": "para configurar o nome do stream dinamicamente. ex.", "staticTextBeforeAfterNote": ". Texto estático antes/depois", @@ -6362,7 +6362,7 @@ "pendingBatches": "Lotes Pendentes", "pendingBatchesTooltip": "Alertas aguardando para serem agrupados", "historyTimeline": { - "firing": "Disparando", + "firing": "Disparado", "ok": "Ok", "error": "Erro", "skipped": "Ignorado", @@ -6403,7 +6403,7 @@ "minimumFrequency": "Frequência mínima deve ser de {minutes} minutos", "nameMandatoryString": "Nome é obrigatório e deve ser uma string válida", "orgIdMismatch": "O ID da organização deve ser igual a {orgId}", - "streamTypeMandatory": "O tipo de stream é obrigatório e deve ser um de: logs, metrics, traces", + "streamTypeMandatory": "O Tipo de Stream é obrigatório e deve ser um dos: logs, metrics, traces", "streamNameMandatoryString": "O nome do stream é obrigatório e deve ser uma string válida", "streamNotInList": "Stream \"{streamName}\" não existe na lista de streams", "isRealTimeMandatoryBoolean": "É obrigatório que Is Real-Time seja um valor booleano", @@ -6459,8 +6459,8 @@ "searchAllFolders": "Todas as pastas", "streamConfig": "Configuração de transmissão", "alertRules": "Regras de alerta", - "noTemplatesMsg": "Para criar um alerta, você precisa de pelo menos um modelo e um destino. Os modelos definem o formato da mensagem de notificação — comece criando uma.", - "noDestinationsMsg": "Para criar um alerta, você precisa de pelo menos um destino e um modelo. Os destinos definem para onde as notificações são enviadas — comece criando uma.", + "noTemplatesMsg": "Para criar um alerta, você precisa de pelo menos um modelo e um destino. Os modelos definem o formato da mensagem de notificação — comece criando um.", + "noDestinationsMsg": "Para criar um alerta, você precisa de pelo menos um destino e um modelo. Os destinos definem para onde as notificações são enviadas — comece criando um.", "add": "Adicionar alerta", "edit": "Editar", "clone": "Alerta de clone", @@ -6513,20 +6513,20 @@ "silenceNotification": "Notificação de silêncio para", "destination": "Destino", "destinationOrWorkflowRequired": "Adicione pelo menos um destino ou fluxo de trabalho.", - "customDestination": "Destino personalizado", - "customDestinationDescription": "Configurar um endpoint HTTP personalizado ou um destino de e-mail", - "testIdleMessage": "Clique em “Testar” para verificar sua configuração de destino", - "destinationPreview": "Pré-visualização do destino", + "customDestination": "Destino Personalizado", + "customDestinationDescription": "Configure um endpoint HTTP personalizado ou um destino de e-mail", + "testIdleMessage": "Clique em 'Testar' para verificar sua configuração de destino", + "destinationPreview": "Pré-visualização do Destino", "template": "Substituição de modelo", "additionalVariables": "Variáveis adicionais", "testSuccessMessage": "Teste bem-sucedido! Seu destino está configurado corretamente.", "testFailedMessage": "O teste falhou. Verifique sua configuração e tente novamente.", "testFailedWithReason": "Teste falhou: {reason}", - "testInProgress": "Destino do teste...", + "testInProgress": "Testando destino...", "sendingNotification": "Enviando uma notificação de teste para verificar a conectividade", "testErrorDNS": "Falha na resolução do DNS. Verifique o URL do webhook ou o nome do host.", "testErrorConnection": "Conexão recusada. Verifique o URL e verifique se o serviço está acessível.", - "testErrorTimeout": "O tempo limite da solicitação expirou. O serviço de destino pode estar lento ou inacessível.", + "testErrorTimeout": "A solicitação expirou. O serviço de destino pode estar lento ou inacessível.", "testErrorSSL": "Erro no certificado SSL/TLS. Verifique o certificado ou desative a verificação SSL.", "testErrorClientError": "Erro do cliente (4xx). Verifique suas credenciais e configuração.", "testErrorServerError": "Erro do servidor (5xx). O serviço de destino está enfrentando problemas.", @@ -6536,7 +6536,7 @@ "responseBody": "Corpo de resposta", "retry": "Tente novamente", "suggestCheckUrl": "Verifique se o URL do webhook está correto e acessível.", - "suggestCheckFirewall": "Verifique as configurações do firewall e verifique se o serviço de destino está acessível.", + "suggestCheckFirewall": "Verifique as configurações do firewall e garanta que o serviço de destino está acessível.", "suggestCheckCredentials": "Verifique se suas credenciais de API estão corretas.", "suggestCheckPermissions": "Verifique se suas credenciais têm as permissões necessárias.", "suggestCheckEndpoint": "Verifique se o URL do endpoint está correto.", @@ -6601,7 +6601,7 @@ "notEqualTo": "não é igual a", "eventsDetected": "eventos detectados", "sendsTo": "Envia para", - "noDestination": "Sem destino", + "noDestination": "Nenhum destino", "notSetupYet": "(ainda não configurado)", "cooldown": "Tempo de recarga", "betweenAlerts": "entre alertas", @@ -6844,7 +6844,7 @@ "noAlertDetailsAvailable": "Nenhum detalhe de alerta disponível", "clickOnTriggerToViewDetails": "Clique em um disparo na tabela para ver os detalhes", "refreshCorrelatedData": "Atualizar dados correlacionados", - "showingCorrelatedTraces": "Exibindo traces correlacionados do período do incidente", + "showingCorrelatedTraces": "Mostrando traces correlacionados do período do incidente", "incidentTitleUpdatedSuccess": "Título do incidente atualizado com sucesso", "markAsAcknowledgedTooltip": "Marcar o incidente como reconhecido e em andamento", "markAsResolvedTooltip": "Marcar o incidente como resolvido e fechá-lo", @@ -6968,8 +6968,8 @@ "noTargetsAvailable": "Nenhum destino ou fluxo de trabalho disponível", "targetsDestinationsGroup": "Destinos", "targetsWorkflowsGroup": "Fluxos de trabalho", - "refreshDestinations": "Atualizar Destinos mais recentes", - "addNewDestination": "Adicionar novo destino", + "refreshDestinations": "Atualizar destinos mais recentes", + "addNewDestination": "Adicionar Destino", "cooldownTooltip": "Se o alerta for acionado, quanto tempo ele deve esperar antes de enviar outra notificação. Por exemplo, se o alerta for acionado às 16h e a notificação de silêncio estiver definida para 10 minutos, ele não enviará outra notificação até as 16h10, mesmo que o alerta ainda esteja após 1 minuto. Isso é para evitar enviar spam ao usuário com notificações.", "periodTooltip": "Período durante o qual a consulta deve ser executada. Por exemplo, 10 minutos significa que sempre que a consulta for executada, ela usará os últimos 10 minutos de dados.", "timezoneWarning": "Aviso: O fuso horário exibido é aproximado. Verifique e selecione o fuso horário correto manualmente.", @@ -6985,11 +6985,11 @@ "helpLegendLive": "os valores reais do seu alerta", "helpLegendSample": "uma amostra — o valor real é definido quando o alerta é acionado", "helpLegendOpaque": "adicionado automaticamente quando o alerta é acionado", - "helpTemplateExplain": "Um modelo é a mensagem de notificação que é enviada — o texto mais variáveis como {'{'} alert_name {'}'}. Escolher um aqui substitui o próprio modelo de cada destino, somente para esse alerta.", + "helpTemplateExplain": "Um modelo é a mensagem de notificação que é enviada — o texto mais variáveis como {'{'}alert_name{'}'}. Escolher um aqui substitui o modelo de cada destino, apenas para este alerta.", "helpCurrentHeading": "O que esse alerta envia agora", "helpCurrentNoOverride": "Nenhuma substituição definida — cada destino usa seu próprio modelo:", - "helpCurrentNoDestinations": "Ainda não há destinos selecionados. Cada destino usará seu próprio modelo configurado.", - "helpCurrentOverrideHeading": "Todos os destinos usam esse modelo:", + "helpCurrentNoDestinations": "Nenhum destino selecionado ainda. Cada destino usará seu próprio modelo configurado.", + "helpCurrentOverrideHeading": "Todos os destinos usam este modelo:", "helpPreviewHeading": "Pré-visualizar um modelo", "helpPreviewSelectPlaceholder": "Selecione um modelo para pré-visualizar", "helpApplyToAlert": "Inscreva-se para alertar", @@ -7001,7 +7001,7 @@ "helpYourVariablesEmpty": "Você ainda não adicionou nenhuma variável.", "helpRowTemplateExplain": "Um alerta pode corresponder a várias linhas. O modelo de linha decide a aparência de uma única linha. Em seguida, {'{'} linhas {'}'} em seu modelo principal aparecem em todas as linhas correspondentes, já formatadas.", "helpRowTemplateTypeHeading": "String versus JSON", - "helpRowTemplateTypeExplain": "A string produz texto simples por linha. O JSON produz um objeto JSON por linha, adequado para destinos estruturados.", + "helpRowTemplateTypeExplain": "String produz texto simples por linha. JSON produz um objeto JSON por linha, adequado para destinos estruturados.", "helpRowTemplateTypeCurrent": "Selecionado atualmente:", "helpPreviewHeadingShort": "prévia", "helpWhyHeading": "Por que usar uma variável?", @@ -7014,7 +7014,7 @@ "helpVariablesExampleCaption": "Adicione gravidade e equipe como variáveis e use-as em qualquer lugar do modelo:", "helpExampleResultLabel": "O que é enviado", "helpTemplateWhenHeading": "Quando devo cancelar?", - "helpTemplateWhenDesc": "Deixe isso em branco e cada destino usará seu próprio modelo. Defina uma substituição quando quiser que esse alerta envie a mesma mensagem consistente para todos os destinos, sem editar o modelo de cada destino.", + "helpTemplateWhenDesc": "Deixe isso vazio e cada destino usa seu próprio modelo. Defina uma substituição quando você quiser que este alerta envie a mesma mensagem consistente para todos os destinos — sem editar o modelo de cada destino.", "helpRowTemplateWhyHeading": "Por que um modelo de linha?", "helpRowTemplateWhyDesc": "Um alerta pode corresponder a vários registros. O modelo de linha formata um registro; {'{'} rows {'}'} então coloca todos os registros formatados no modelo principal. Assim, você lista todas as correspondências sem escrever um loop.", "helpRowTemplateExampleCaption": "Cada linha correspondente é formatada pelo modelo de linha e, em seguida, {'{'} rows {'}'} coloca todas elas no modelo principal:", @@ -7023,10 +7023,10 @@ "helpRowTemplatePreviewEmpty": "Ainda não há modelo de linha — digite um na guia Configurações adicionais para visualizá-lo aqui.", "helpPreviewSelectEmpty": "Escolha um modelo acima para visualizar a mensagem que ele enviaria.", "helpCurrentBodyEmpty": "Este modelo não tem corpo para pré-visualizar.", - "helpDestinationNoTemplate": "Usa a formatação padrão desse destino.", + "helpDestinationNoTemplate": "Usa a formatação padrão deste destino.", "builtInVars": { "orgName": "Nome da sua organização", - "streamType": "Tipo de stream (logs, métricas, traces)", + "streamType": "Tipo de stream (registros, métricas, traces)", "streamName": "Nome do stream que o alerta monitora", "alertName": "Nome do alerta", "alertType": "Tipo de alerta (ex.: agendado, tempo real)", @@ -7133,12 +7133,12 @@ }, "anomaly": { "addFilter": "Adicionar filtro", - "addNewDestination": "Adicionar novo destino", + "addNewDestination": "Adicionar Novo Destino", "anomalyScoreRange": "Faixa de pontuação de anomalias:", "checkEvery": "Verifique cada", "checkEveryTooltip": "Com que frequência o trabalho de detecção é executado. Pode ser maior do que o período de amostragem (por exemplo, amostra a cada 5m, detecção de execução a cada 1h).", "clickLoadDataHint": "Clique em Carregar dados para visualizar a série temporal", - "destinationRequired": "É necessário pelo menos um destino!", + "destinationRequired": "Pelo menos um destino é obrigatório!", "detectionResolution": "Resolução de detecção", "detectionResolutionTooltip": "Quão granular é cada ponto de dados. Por exemplo, “5m” significa que anomalias são detectadas com resolução de 5 minutos.", "disabled": "Desativado", @@ -7156,7 +7156,7 @@ "noDestinationsFound": "Nenhum destino encontrado", "noFieldsFound": "Nenhum campo encontrado", "notifications": "Notificações", - "notificationsTooltip": "Quando ativada, uma notificação será enviada ao destino selecionado sempre que uma anomalia for detectada.", + "notificationsTooltip": "Quando ativado, uma notificação será enviada ao destino selecionado sempre que uma anomalia for detectada.", "retrainEvery": "Treine novamente cada", "retrainEveryTooltip": "Com que frequência treinar automaticamente o modelo. “Nunca” significa treinar uma vez e manter o modelo até que seja retreinado manualmente.", "retrainFourteenDays": "14 dias", @@ -7304,7 +7304,7 @@ "triggerAlertFailed": "Falha ao acionar o alerta", "triggerRetrainingFailed": "Falha ao acionar o retreinamento", "bulkDeleteAlertsFailed": "Erro ao excluir alertas. Tente novamente.", - "deleteDestinationFailed": "Erro ao excluir o destino", + "deleteDestinationFailed": "Erro ao excluir destino", "bulkDeleteDestinationsFailed": "Erro ao excluir destinos. Tente novamente.", "bulkDeleteTemplatesFailed": "Erro ao excluir modelos. Tente novamente." }, @@ -7523,7 +7523,7 @@ "actionOpen": "Abrir", "actionDelete": "Excluir", "deleteTitle": "Excluir {name}?", - "deleteMessage": "Isso o remove permanentemente. A exclusão é bloqueada se ainda estiver em uso por um alerta ou destino.", + "deleteMessage": "Isso o remove permanentemente. A exclusão é bloqueada se um alerta ou destino ainda o utiliza.", "deletedToast": "{name} excluído", "deleteFailedToast": "Não foi possível excluir {name}", "loading": "Construindo grafo de dependências…", @@ -7614,12 +7614,12 @@ "stepFolder": "Pasta", "stepTune": "Ajustar", "stepInstall": "Instalar", - "destinationIntro": "Cada alerta deste lote notifica o destino que você escolher aqui. Os arquivos da biblioteca nomeiam os destinos da organização de onde foram exportados, que não existem na sua.", + "destinationIntro": "Cada alerta neste lote notifica o destino que você escolher aqui. Os arquivos da biblioteca nomeiam os destinos da organização de onde foram exportados, que não existem na sua.", "destinationLabel": "Destino", "destinationPlaceholder": "Escolha um destino", "destinationsLoadFailed": "Não foi possível carregar seus destinos existentes.", "retry": "Tentar novamente", - "destinationsNoneBody": "Esta organização ainda não tem destinos de alerta, então não há para onde esses alertas notificarem. Crie um na página Destinos e depois volte e escolha aqui.", + "destinationsNoneBody": "Esta organização ainda não tem destinos de alerta, portanto não há para onde esses alertas notificar. Crie um na página Destinos e depois volte e escolha aqui.", "openDestinations": "Abrir Destinos", "selectAll": "Selecionar todos", "clear": "Limpar", @@ -7675,7 +7675,7 @@ "importBodyLabel": "Corpo do Modelo *", "importTypeLabel": "Tipo do Modelo *", "importTitleLabel": "Título do Modelo *", - "header": "Modelos de destino", + "header": "Modelos de Destino", "add": "Adicionar modelo", "edit": "Editar", "name": "Nome", @@ -7735,7 +7735,7 @@ "chartPreviewPlaceholder": "O gráfico aparece aqui em notificações reais — ele é gerado a partir do histórico de avaliação do próprio alerta, que uma prévia não possui.", "channelTitlesDescription": "Use um título diferente em canais específicos — por exemplo, uma linha de assunto mais curta para e-mail.", "namePlaceholder": "ex.: alta taxa de erro", - "nameLockedHint": "Alertas e destinos referenciam este modelo pelo nome, portanto ele não pode ser renomeado. Clone o modelo para criar uma cópia com um novo nome.", + "nameLockedHint": "Alertas e destinos referenciam este modelo pelo nome, por isso ele não pode ser renomeado. Clone o modelo para começar uma cópia com um novo nome.", "rawBodyCaption": "Enviado exatamente como escrito, com {'{'}variables{'}'} substituídos. Consulte o Guia de Variáveis para ver tudo o que está disponível.", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "ex.: Valor", @@ -7852,7 +7852,7 @@ "editTitle": "Editar Fonte de Alerta", "name": "Nome", "nameHint": "Apenas um rótulo — todas as fontes usam a mesma configuração.", - "incidentDestination": "Destino do incidente", + "incidentDestination": "Destino de incidente", "incidentDestinationPlaceholder": "Usar padrão da organização", "incidentDestinationHint": "Para onde as notificações vão quando os alertas desta fonte criam ou entram em um incidente. Deixe vazio para usar o padrão da organização — sem nenhum dos dois definido, incidentes correspondentes disparam silenciosamente.", "noDestinationSet": "Nenhum destino de incidente definido", @@ -7884,7 +7884,7 @@ "alert_destinations": { "sectionTab": "Destinos", "chooseTypeTitle": "Escolher tipo", - "selectDestinationType": "Selecionar tipo de destino", + "selectDestinationType": "Selecione o Tipo de Destino", "connectionStepTitle": "Conexão", "connectionDetailsTitle": "Detalhes da conexão", "urlHelpText": "URL base sem barra final (ex.: https://your-domain.com)", @@ -7903,10 +7903,10 @@ "datadogHostnameHelpText": "Nome do host para logs do Datadog", "exampleLabel": "Exemplo:", "subtitle": "Onde os alertas disparados são entregues", - "exportDestination": "Destino de exportação", - "deleteDestinationTitle": "Excluir destino", + "exportDestination": "Exportar Destino", + "deleteDestinationTitle": "Excluir Destino", "deleteDestinationMessage": "Tem certeza de que deseja excluir o destino?", - "deleteDestinationsTitle": "Excluir destinos", + "deleteDestinationsTitle": "Excluir Destinos", "selected": "selecionados", "organizationLabel": "Organização", "defaultPlaceholder": "ex.: default", @@ -7925,20 +7925,20 @@ "ddTagsPlaceholder": "Digite as tags (ex.: env:prod,version:1.0)", "serviceLabel": "Serviço", "servicePlaceholder": "Digite o nome do serviço (ex.: api-gateway)", - "header": "Destinos", - "add": "Adicionar destino", + "header": "Destinos de Notificação", + "add": "Novo destino", "edit": "Editar", - "search": "Destino de pesquisa", + "search": "Pesquisar destino", "filterAll": "Todos", "filterPrebuilt": "Pré-construído", "filterCustom": "Personalizado", "templateDefaultBadge": "Padrão", "name": "Nome", - "destination_type": "Tipo de destino", + "destination_type": "Tipo de Destino", "template": "Modelo", "actions": "Ações", - "addTitle": "Adicionar destino", - "updateTitle": "Atualizar destino", + "addTitle": "Novo Destino", + "updateTitle": "Atualizar Destino", "delete": "Excluir", "method": "Método", "url": "URL", @@ -7990,15 +7990,15 @@ "jsonStringEmpty": "A string JSON está vazia", "invalidJsonFormat": "Formato JSON inválido", "importSuccess": "Destinos importados com sucesso", - "importError": "Erro ao importar Destino, verifique o JSON", + "importError": "Erro ao importar o Destino, verifique o JSON", "unknownError": "Erro Desconhecido", "nameRequired": "Destino - {index}: O campo \"name\" é obrigatório e deve ser uma string válida.", "nameExists": "Destino - {index}: \"{name}\" já existe", "typeInvalid": "Destino - {index}: O campo \"type\" deve ser \"email\", \"http\" ou \"action\"", - "actionTypeNotSupported": "Destino - {index}: O tipo 'action' não é suportado.", - "actionNotFound": "Destino - {index}: A ação \"{actionId}\" não existe para o tipo \"{type}\"", + "actionTypeNotSupported": "Destino - {index}: o tipo 'action' não é suportado.", + "actionNotFound": "Destino - {index}: a ação \"{actionId}\" não existe para o tipo \"{type}\"", "urlRequired": "Destino - {index}: O campo \"url\" é obrigatório para destinos do tipo http.", - "methodInvalid": "Destino - {index}: O campo \"method\" deve ser \"post\", \"get\" ou \"put\"", + "methodInvalid": "Destino - {index}: O campo \"method\" deve ser um de \"post\", \"get\" ou \"put\"", "templateRequiredHttp": "Destino - {index}: O campo \"template\" é obrigatório para destinos do tipo http.", "skipTlsVerifyRequired": "Destino - {index}: O campo \"skip_tls_verify\" é obrigatório e deve ser um valor booleano", "headersMustBeObject": "Destino - {index}: 'headers' deve ser um objeto para o tipo http", @@ -8007,10 +8007,10 @@ "emailsRequired": "Destino - {index}: O campo \"emails\" é obrigatório e deve ser um array para destinos do tipo email.", "emailsMustBeStrings": "Destino - {index}: 'emails' deve ser um array de strings para o tipo email", "templateRequiredEmail": "Destino - {index}: O campo \"template\" é obrigatório para destinos do tipo email.", - "templateNotFound": "Destino - {index}: O template \"{template}\" não existe para o tipo \"{type}\"", + "templateNotFound": "Destino - {index}: o modelo \"{template}\" não existe para o tipo \"{type}\"", "actionIdInvalid": "Destino - {index}: O campo \"action_id\" deve ser uma string válida.", - "createSuccess": "Destino - {index}: \"{name}\" criado com sucesso \nNota: remova o objeto de destino criado {name} do arquivo json", - "createFailed": "Destino - {index}: Falha na criação de \"{name}\" --> \n Motivo: {reason}" + "createSuccess": "Destino - {index}: \"{name}\" criado com sucesso \nNota: remova o objeto de destino criado {name} do arquivo json ", + "createFailed": "Destino - {index}: criação de \"{name}\" falhou --> \n Motivo: {reason}" }, "priorityP1Description": "Alertas de maior prioridade", "priorityP2Description": "Alertas de alta prioridade", @@ -8023,8 +8023,8 @@ "severityInfoDescription": "Incidentes informativos" }, "pipeline_destinations": { - "header": "Destinos do pipeline", - "search": "Destino de pesquisa" + "header": "Destinos de Oleodutos", + "search": "Pesquisar destino" }, "storage_settings": { "heroBrand": "OpenObserve.", @@ -8234,7 +8234,7 @@ }, "metricCard": { "lastRefreshed": "Última atualização:", - "traceId": "ID do Trace: {id}", + "traceId": "Trace ID: {id}", "metricLabel": "Métrica: {name}", "queryLabel": "Consulta: {query}", "errorLabel": "Erro: {error}", @@ -8387,7 +8387,7 @@ "customLogoText": "Texto de logotipo personalizado", "orgLabel": "Parâmetros da organização", "logDetails": "Detalhes do registro", - "traceIdFieldName": "Nome do campo ID de rastreamento", + "traceIdFieldName": "Nome do campo Trace ID", "spanIdFieldName": "Nome do campo Span ID", "toggleIngestionLogsLabel": "Alternar registros de ingestão", "usageStreamEnabledLabel": "Ativar fluxo de uso", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "Mapeamento de agentes GenAI", "title": "Mapeamento de agentes GenAI", - "description": "Configure os atributos de telemetria alternativa usados para normalizar a identidade do agente para rastreamentos e avaliações do LLM.", + "description": "Configure atributos de telemetria de fallback usados para normalizar a identidade do agente para traces de LLM e avaliações.", "agentNameFields": "Campos alternativos do nome do agente", "agentNameHelp": "Atributos de entrada a serem usados como substitutos para gen_ai.agent.name.", "agentNameInfo": "Verificado somente quando o atributo gen_ai.agent.name padrão está ausente ou vazio. Adicione um atributo de telemetria de entrada por linha.", @@ -8532,7 +8532,7 @@ "resetToEmpty": "Redefinir como vazio", "clearRegistry": "Limpar registro", "clearRegistryTitle": "Limpar o registro do agente?", - "clearRegistryDescription": "Isso exclui todas as linhas de registro do agente GenAI descobertas para essa organização. Novos rastreamentos correspondentes preencherão novamente o registro durante a ingestão.", + "clearRegistryDescription": "Isso exclui todas as linhas do registro de agentes GenAI descobertas para esta organização. Novos traces correspondentes repopularão o registro durante a ingestão.", "clearRegistryConfirm": "Limpar registro", "saved": "O mapeamento do agente GenAI foi salvo com sucesso", "clearRegistrySuccess": "Registro de agentes GenAI limpo. Excluídos {deletedCount} agentes armazenados e {bufferCount} observações na fila.", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "Falha ao salvar os aliases de campos", "fieldAliasesUnsavedConfirm": "Você tem alterações de mapeamento de campos não salvas. Descartá-las e sair?", "discoveredServicesTitle": "Serviços descobertos", - "discoveredServicesDescription": "Os serviços são descobertos automaticamente a partir de seus dados de telemetria e agrupados por seu nome de serviço para correlação. Os serviços que compartilham o mesmo nome de serviço são correlacionados entre si em registros, rastreamentos e métricas.", + "discoveredServicesDescription": "Os serviços são descobertos automaticamente a partir dos seus dados de telemetria e agrupados pelo Nome do Serviço para correlação. Serviços que compartilham o mesmo Nome do Serviço são correlacionados entre registros, traces e métricas.", "noServicesYet": "Nenhum serviço descoberto ainda", "noServicesDescription": "Os serviços aparecerão aqui à medida que os dados de telemetria forem ingeridos com atributos de identificação do serviço (como k8s-deployment, nome do serviço etc.)", "searchServiceName": "Pesquisar nome do serviço ou stream...", @@ -8560,7 +8560,7 @@ "serviceName": "Nome do serviço", "service": "Serviço", "logs": "Registros", - "traces": "Traços", + "traces": "Traces", "metrics": "Métricas", "lastSeen": "Visto pela Última Vez", "retry": "Tente novamente", @@ -8608,7 +8608,7 @@ "instancesCount": "({count} instâncias)", "noDimensions": "sem dimensões", "defaultSetWarningTitle": "A correlação pode ser não confiável.", - "defaultSetWarningBody": "Esta instância não tem desambiguação — foi descoberta sem nenhuma correspondência de carga de trabalho (sem contexto de cluster, namespace ou ambiente). Logs e traces podem vir de diferentes implantações do mesmo nome de serviço.", + "defaultSetWarningBody": "Esta instância não tem desambiguação — foi descoberta sem qualquer correspondência de workload (sem contexto de cluster, namespace ou ambiente). Registros e traces podem vir de diferentes implantações do mesmo nome de serviço.", "instanceIdentity": "Identidade da Instância", "noDimensionsCatchAll": "Sem dimensões — instância genérica", "streamSources": "Fontes de Stream", @@ -8728,7 +8728,7 @@ "createFailed": "Padrão de regex - {index}: criação de \"{name}\" falhou --> \n Motivo: {error}" }, "index": { - "genAiAgentMappingDesc": "Mapear spans de GenAI para identificadores de agente" + "genAiAgentMappingDesc": "Mapear spans GenAI para identificadores de agente" }, "organizationManagementPage": { "setAiCredits": "Definir Créditos de IA", @@ -8864,7 +8864,7 @@ "cardinality": "Cardinalidade:", "uniqueValues": "{n} valores únicos", "streams": "Streams", - "streamsSubtext": "fluxos", + "streamsSubtext": "streams", "noAdditionalDimensions": "Nenhuma dimensão adicional detectada.", "noSampleData": "Nenhum dado de amostra disponível para este campo.", "uniqueValuesDetected": "{n} valores únicos detectados", @@ -8931,7 +8931,7 @@ "cachedReportHint": "Nota: Relatórios em cache são armazenados para acesso rápido aos painéis; o compartilhamento está desabilitado para esses relatórios.", "selectDashboardStep": "Selecionar painel", "timeRangeDescription": "Gera relatório com os dados do intervalo de tempo especificado", - "pngPageLimitNote": "O PNG captura apenas a primeira página visível do painel. Use PDF se o painel tiver várias páginas.", + "pngPageLimitNote": "O PNG captura apenas a primeira página visível do painel. Use PDF se o painel abranger várias páginas.", "widthPlaceholder": "ex.: 1440", "heightPlaceholder": "ex.: 900", "dimensionsDefaultHint": "Deixe em branco para usar as configurações padrão do servidor", @@ -9050,7 +9050,7 @@ "totalTimeRange": "Intervalo total de consultas", "searchType": "Tipo de pesquisa", "querySource": "Fonte da consulta", - "traceId": "ID do Trace", + "traceId": "ID do rastreamento", "userId": "ID do usuário", "orgId": "ID da organização", "streamType": "Tipo de stream", @@ -9137,16 +9137,16 @@ }, "openInFullView": "Abrir à vista completa", "viewLogs": "Exibir registros", - "viewLogsUnavailable": "Não foi possível abrir os logs para este span.", + "viewLogsUnavailable": "Não foi possível abrir os registros para este span.", "backToLogs": "Voltar aos registros", - "openInTraces": "Abrir no Traces", + "openInTraces": "Abrir em Rastreamentos", "loadingStream": "Carregando Stream...", "noLogsAvailableForService": "Não há registros disponíveis para este serviço", - "noCorrelatedLogsFound": "Nenhum log correlacionado encontrado para este span", + "noCorrelatedLogsFound": "Nenhum registro correlacionado encontrado para este span", "noData": { - "title": "Comece a enviar traces para {product}", - "description": "Ainda não foram encontrados fluxos de rastreamento nesta organização. Instrumente seus serviços e os rastros aparecerão aqui automaticamente.", - "otlp": "Enviar traces via {product}", + "title": "Comece a enviar rastreamentos para {product}", + "description": "Nenhum stream de rastreamento encontrado nesta organização ainda. Instrumente seus serviços e os rastreamentos aparecerão aqui automaticamente.", + "otlp": "Envie rastreamentos via {product}", "otlpDesc": "{product1}, {product2} e qualquer SDK compatível com {product3}", "otelCollectorDesc": "Roteie todos os sinais de telemetria através do {product}", "or": "Ou:", @@ -9155,21 +9155,21 @@ "configureFullTextSearch": "para configurar um campo de pesquisa de texto completo para o fluxo.", "collapseFields": "Colapsar campos", "openFields": "Campos abertos", - "timeRangeUpdated": "O intervalo de tempo selecionado não incluiu esse rastreamento. O intervalo de tempo foi atualizado para corresponder ao timestamp do rastreamento.", - "errorRetrievingTraces": "Ocorreu um erro ao recuperar os traços.", - "fetchingTraces": "Aguente firme, estamos buscando seus rastros.", + "timeRangeUpdated": "O intervalo de tempo selecionado não incluía este rastreamento. O intervalo de tempo foi atualizado para corresponder ao timestamp do rastreamento.", + "errorRetrievingTraces": "Ocorreu um erro ao recuperar os rastreamentos.", + "fetchingTraces": "Carregando rastreamentos...", "noStream": { "title": "Escolha um stream para começar a explorar", - "description": "Escolha um stream de rastreamento e pressione Executar consulta. Você pode filtrar por serviço, duração, status da extensão e muito mais quando os resultados forem carregados.", + "description": "Escolha um stream de rastreamento e pressione Executar consulta. Você pode filtrar por serviço, duração, status do span e mais quando os resultados carregarem.", "selectStream": "Selecione um stream", - "selectStreamDesc": "Navegue pelos fluxos de rastreamento disponíveis nesta organização", + "selectStreamDesc": "Navegue pelos streams de rastreamento disponíveis nesta organização", "queryGuide": "Leia o guia de rastreamentos", - "queryGuideDesc": "Gráfico de serviço, filtragem de abrangência, métricas RED e muito mais", + "queryGuideDesc": "Grafo de serviços, filtragem de spans, métricas RED e mais", "recent": "Recente:" }, "noEvents": { - "title": "Nenhum vestígio encontrado", - "descNoFilters": "Nenhum traço foi encontrado em {range}. Tente ampliar o intervalo de tempo para carregar os resultados.", + "title": "Nenhum rastreamento encontrado", + "descNoFilters": "Nenhum rastreamento foi encontrado em {range}.", "descWithFilters": "Nada correspondeu a essa consulta na janela selecionada. Tente ampliar o intervalo de tempo ou remover um filtro.", "descOutOfRange": "Sua janela de tempo não contém nenhum dado deste stream. Vá para quando os dados foram vistos pela última vez.", "jumpToData": "Ir para os dados mais recentes", @@ -9177,38 +9177,38 @@ "askAi": "Peça à IA que corrija minha consulta", "selectedRange": "o intervalo selecionado" }, - "tracesFound": "Traços encontrados", - "spansFound": "Vãos encontrados", - "errorTraces": "Traços de erro", - "errorSpans": "Expansões de erro", + "tracesFound": "Rastreamentos encontrados", + "spansFound": "Spans encontrados", + "errorTraces": "Rastreamentos com erro", + "errorSpans": "Spans com erro", "filterByErrors": "Filtrar por erros", "clearErrorFilter": "Limpar filtro de erro", "error": "ERRO", "errorCount": "{n} ERRO | {n} ERROS", "success": "SUCESSO", - "applyPendingFilters": "Aplique filtros pendentes e rastreamentos de pesquisa", - "backToTraces": "Voltar ao Traces", + "applyPendingFilters": "Aplicar filtros pendentes e pesquisar rastreamentos", + "backToTraces": "Voltar para Rastreamentos", "loadingTrace": "Carregando...", - "traceId": "ID de rastreamento", - "copyTraceId": "Copiar ID de rastreamento", + "traceId": "ID do rastreamento", + "copyTraceId": "Copiar ID do rastreamento", "viewFilters": "Exibir filtros", - "reviewAndApplyFilters": "Revise e aplique filtros ao Traces", - "spansLabel": "vãos", + "reviewAndApplyFilters": "Revisar e aplicar filtros aos Rastreamentos", + "spansLabel": "spans", "errorsLabel": "erros", "previousMatch": "Partida anterior", "nextMatch": "Próxima partida", - "searchInSpans": "Pesquisar em espaços", - "spansTableView": "Expande a visualização da tabela", + "searchInSpans": "Pesquisar em spans", + "spansTableView": "Exibição de tabela de spans", "comingSoon": "Em breve...", - "fetchingTrace": "Buscando seu rastro.", + "fetchingTrace": "Buscando seu rastreamento.", "traceFilters": "Filtros de rastreamento", - "showTraces": "Mostrar traços", + "showTraces": "Mostrar rastreamentos", "applyAndSearch": "Inscreva-se e pesquise", "timestamp": "Carimbo de data/hora", - "noErrorPresent": "Nenhum erro presente neste período", + "noErrorPresent": "Nenhum erro presente para este span", "noEventsPresent": "Nenhum evento para este span", "noLinksPresent": "Nenhum link para este span", - "loadingTraceDag": "Carregando DAG de trace...", + "loadingTraceDag": "Carregando DAG do rastreamento...", "exceptionsWithCount": "Exceções ({count})", "typeLabel": "Tipo:", "messageLabel": "Mensagem:", @@ -9254,12 +9254,12 @@ "failedToLoad": "Falha ao carregar a sessão", "retry": "Tente novamente", "sessionNotFound": "Sessão não encontrada", - "noSpansFound": "Nenhum intervalo de tempo encontrado para {id} no intervalo de tempo atual.", - "searchPlaceholder": "Pesquise rastros nesta sessão...", + "noSpansFound": "Nenhum span encontrado para {id} no intervalo de tempo atual.", + "searchPlaceholder": "Pesquisar rastreamentos nesta sessão…", "turn": "vire", "turns": "gira", "turnCount": "{count} {unit}", - "openInTraceExplorer": "Exibir rastreamento", + "openInTraceExplorer": "Ver rastreamento", "filters": { "status": "Status", "model": "modelo", @@ -9348,7 +9348,7 @@ "warning": "Aviso", "critical": "Crítico" }, - "viewTraces": "Exibir traços", + "viewTraces": "Ver rastreamentos", "types": { "all": "Todos", "service": "Serviços", @@ -9362,20 +9362,20 @@ "title": "Taxa de Erros" } }, - "spansTab": "Vãos", - "tracesTab": "Traços", + "spansTab": "Spans", + "tracesTab": "Rastreamentos", "serviceGraphTab": "Gráfico de serviços", "serviceGraphSubtitle": "Veja como seus serviços se comunicam — dependências, throughput e taxas de erro", - "servicesCatalogSubtitle": "Cada serviço que envia traces, com latência, throughput e taxa de erro", + "servicesCatalogSubtitle": "Cada serviço que envia rastreamentos, com latência, throughput e taxa de erro", "treeView": "Visualização em árvore", "graphView": "Visualização gráfica", "layoutHorizontal": "Horizontal", "layoutVertical": "Vertical", "layoutForce": "Layout de força", - "exportTraces": "Exportar traços", + "exportTraces": "Exportar rastreamentos", "waterfall": "Cachoeira", "flameGraph": "Gráfico de chamas", - "traceGraph": "Gráfico de traço", + "traceGraph": "Grafo de rastreamento", "thread": "Tópico", "dbSpanDetails": { "dbSystem": "Sistema de BD", @@ -9398,13 +9398,13 @@ "changeStreamTitle": "Alterar stream?", "switchStream": "Alternar stream", "cancel": "Cancelar", - "changeStreamMessage": "Isso também atualizará o stream na guia Traces/Spans e redefinirá a consulta existente.", + "changeStreamMessage": "Isso também atualizará o stream na aba Rastreamentos/Spans e redefinirá a consulta existente.", "errorGettingFunctions": "Erro ao obter funções", "errorPullingIndex": "Erro ao obter índice para a organização selecionada{message}", "errorGettingStreams": "Erro ao obter streams", "errorLoadingStreams": "Erro ao carregar streams", "errorConstructingQuery": "Ocorreu um erro ao construir a consulta de pesquisa.", - "traceNotFound": "Trace {traceId} não encontrado", + "traceNotFound": "Rastreamento {traceId} não encontrado", "errorProcessingRequest": "Erro ao processar a solicitação", "searchRequestFailed": "Falha na solicitação de pesquisa" }, @@ -9426,8 +9426,8 @@ "operationName": "Nome da operação", "duration": "Duração", "spans": "Spans", - "spanKind": "Tipo de span", - "spanStatus": "Status do span", + "spanKind": "Tipo de Span", + "spanStatus": "Status do Span", "status": "Status", "serviceLatency": "Latência do serviço", "inputTokens": "Tokens de entrada", @@ -9539,16 +9539,16 @@ "model": "Modelo", "errors": "Erros", "noSpansLoaded": "Nenhum span carregado para este trace.", - "noLlmTurns": "Nenhuma interação LLM detectada. O trace não contém spans com", + "noLlmTurns": "Nenhum turno de LLM detectado. O trace não contém spans com", "system": "Sistema", - "historicalMessage": "{count} mensagem anterior desta sessão — processada em traces anteriores. | {count} mensagens anteriores desta sessão — processadas em traces anteriores.", + "historicalMessage": "{count} mensagem anterior desta sessão — tratada em traces anteriores. | {count} mensagens anteriores desta sessão — tratadas em traces anteriores.", "user": "Usuário", "startedAt": "Iniciado às {time}", "unknown": "desconhecido", "tokens": "Tokens", "tokensSuffix": "tokens", "error": "Erro", - "viewSpan": "Visualizar span" + "viewSpan": "Ver span" }, "traceHeader": { "operationName": "Nome da Operação" @@ -9611,7 +9611,7 @@ "traceTree": { "clickToExpand": "Clique para expandir", "clickToCollapse": "Clique para recolher", - "errorSpan": "Span com Erro", + "errorSpan": "Span de erro", "httpStatus": "HTTP {status}", "spanEvent": "{count} evento de span | {count} eventos de span" }, @@ -9640,24 +9640,24 @@ "lastData": "Últimos dados: {formatted} ({zone})" }, "correlation": { - "distributedTrace": "Rastreamento distribuído", - "loadingTraceData": "Carregando dados de rastreamento...", - "noTraceInfoAvailable": "Nenhuma informação de rastreamento disponível para este evento", - "traceIdLabel": "ID do rastreamento:", - "copyTraceId": "Copiar ID do rastreamento", - "spanIdLabel": "ID do span:", - "spanHierarchy": "Hierarquia de spans:", - "applicationSpan": "Span da aplicação", + "distributedTrace": "Trace distribuído", + "loadingTraceData": "Carregando dados do trace...", + "noTraceInfoAvailable": "Nenhuma informação de trace disponível para este evento", + "traceIdLabel": "ID do Trace:", + "copyTraceId": "Copiar ID do Trace", + "spanIdLabel": "ID do Span:", + "spanHierarchy": "Hierarquia de Span:", + "applicationSpan": "Span de aplicação", "browserSdkSpanPrefix": "Span do SDK do navegador (", "closingParen": ")", - "backendSpansPrefix": "Spans do backend (", + "backendSpansPrefix": "Spans de backend (", "performanceBreakdown": "Detalhamento de desempenho:", "totalDuration": "Duração total:", "browserLabel": "Navegador:", "networkLabel": "Rede:", "backendLabel": "Backend:", - "viewTraceDetails": "Ver detalhes do rastreamento", - "backendTraceNotAvailable": "Dados de rastreamento do backend ainda não disponíveis. Os dados de rastreamento podem levar até 30 segundos para serem ingeridos." + "viewTraceDetails": "Ver detalhes do trace", + "backendTraceNotAvailable": "Dados de trace de backend ainda não disponíveis. Os dados do trace podem levar até 30 segundos para serem ingeridos." }, "failedToAnalyzeDimensions": "Falha ao analisar dimensões", "failedToFetchCorrelatedLogs": "Falha ao buscar logs correlacionados", @@ -9708,7 +9708,7 @@ "averageOfTrace": "{avg}ms ({percent}% do trace)", "requestCount": "{count} req" }, - "spanEventTimeline": "Linha do tempo de eventos do span", + "spanEventTimeline": "Linha do tempo do evento de span", "eventClusterTooltip": "{count} eventos", "spanEventCount": "{count} evento", "spanEventCountPlural": "{count} eventos", @@ -10017,11 +10017,11 @@ "selectMetrics": "Selecione fluxos métricos", "correlatedLogs": "Registros correlacionados", "correlatedMetrics": "Métricas correlacionadas", - "correlatedTraces": "Traços correlacionados", + "correlatedTraces": "Traces", "loadingCorrelation": "Carregando dados de correlação...", "clickToLoadLogs": "Clique para carregar registros correlacionados", "clickToLoadMetrics": "Clique para carregar métricas correlacionadas", - "clickToLoadTraces": "Clique para carregar traços correlacionados", + "clickToLoadTraces": "Clique para carregar traces correlacionados", "logs": { "filtersLabel": "Filtros", "allValues": "Todos os valores", @@ -10040,19 +10040,19 @@ "noLogsFound": "Nenhum registro correlacionado foi encontrado", "noDataFound": "Nenhum dado encontrado", "noLogsDescription": "Nenhum registro encontrado para essa correlação no intervalo de tempo selecionado.", - "correlatedTracesFor": "Rastreamentos correlacionados para o serviço: {service}", + "correlatedTracesFor": "Traces correlacionados para o serviço: {service}", "all": "Todos", - "loadingTraces": "Carregando traços correlacionados...", - "tracesError": "Falha ao carregar rastreamentos", - "tracesErrorDetails": "Ocorreu um erro ao buscar dados de rastreamento. Por favor, tente novamente.", + "loadingTraces": "Carregando rastros...", + "tracesError": "Não foi possível carregar os rastros", + "tracesErrorDetails": "Ocorreu um erro ao buscar os dados de rastro. Tente novamente.", "metricsError": "Não é possível carregar métricas", "metricsErrorDetails": "Ocorreu um erro ao buscar dados de métricas. Por favor, tente novamente.", "noMetricsDescription": "Nenhuma métrica encontrada para essa correlação no intervalo de tempo selecionado.", "dimensionBasedCorrelation": "Correlação baseada em dimensões", - "tracesFromService": "Traços do serviço: {service}", - "noTracesFound": "Nenhum traço correlacionado encontrado", - "noTracesDescription": "Nenhum rastreamento encontrado para esta correlação no intervalo de tempo selecionado.", - "viewInTraces": "Exibir em traços", + "tracesFromService": "Rastros do serviço: {service}", + "noTracesFound": "Nenhum rastro encontrado", + "noTracesDescription": "Nenhum rastro encontrado para esta correlação no intervalo de tempo selecionado.", + "viewInTraces": "Ver em Rastros", "filters": "Filtros", "semanticFieldGroupsCaption": "Defina mapeamentos de nomes de campos para correlação e desduplicação (por exemplo, host, hostname, node → grupo 'host')", "exportToJson": "Exportar para JSON", @@ -10185,10 +10185,10 @@ "editCrossLink": "Editar link cruzado", "name": "Nome", "nameRequired": "O nome é obrigatório", - "namePlaceholder": "por exemplo, Exibir detalhes do rastreamento", + "namePlaceholder": "ex.: Ver detalhes do rastro", "urlTemplate": "Modelo de URL", "urlRequired": "O URL é obrigatório", - "urlPlaceholder": "ex., https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", + "urlPlaceholder": "ex.: https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", "urlInvalid": "Introduza um URL http(s) válido", "urlHint": "Use {'${field.__name}'}, {'${field.__value}'}, {'${start_time}'}, {'${end_time}'}, {'${query}'}, {'${query_encoded}'}", "fields": "Campos", @@ -10281,7 +10281,7 @@ "colPattern": "Padrão", "colPricingSimple": "Preços", "testMatchTitle": "Teste o Model Match", - "testMatchSubtitle": "Simule como o nome de um modelo de suas extensões corresponderia às regras de preços.", + "testMatchSubtitle": "Simule como um nome de modelo dos seus spans corresponderia às regras de precificação.", "modelNameInput": "Nome do modelo", "modelNameHint": "O nome do modelo de suas gerações.", "enterModelName": "Insira um nome de modelo para testar a correspondência", @@ -10378,7 +10378,7 @@ "p50": "Latência P50", "p95": "Latência P95", "p99": "Latência P99", - "cost": "Custo / trace" + "cost": "Custo / rastro" }, "insufficientLabel": "indicativo", "tooltip": { @@ -10445,11 +10445,11 @@ "sessions": "Navegue e inspecione as sessões dos agentes, passo a passo", "agentGraph": "Veja com o que seus agentes interagem — ferramentas, modelos, serviços e bancos de dados", "agentBehavior": "Identifique agentes presos em loops e os erros que os fazem falhar", - "discovery": "Encontre traces não saudáveis que merecem revisão", + "discovery": "Encontre rastros problemáticos que valem a pena revisar", "queues": "Listas de tarefas de revisão com estado", - "datasets": "Faça curadoria de datasets dourados a partir de traces anotados e revisões", + "datasets": "Crie conjuntos de dados dourados a partir de rastros anotados e revisões", "experiments": "Pré-visualize e crie execuções de avaliação offline imutáveis", - "quality": "Acompanhe a qualidade da pontuação em avaliações de span, trace e sessão", + "quality": "Acompanhe a qualidade das pontuações nas avaliações de span, rastro e sessão", "evalJobs": "Execute e monitore trabalhos de avaliação em suas sessões", "scorers": "Crie e gerencie os marcadores que classificam os resultados do LLM", "scoreConfigs": "Configure as rubricas de pontuação usadas por suas avaliações" @@ -10459,7 +10459,7 @@ "title": "Anotar · {scope}", "scope": { "span": "Span", - "trace": "Trace", + "trace": "Rastro", "session": "Sessão" }, "viaAnnotation": "Anotação", @@ -10493,7 +10493,7 @@ "dataset": { "button": "Adicionar ao dataset", "title": "Adicionar ao dataset", - "hint": "Transforme {ref} em um golden. A entrada é lida de volta do trace — você escreve a saída esperada.", + "hint": "Transforme {ref} em um golden. A entrada é lida do rastro — você escreve a saída esperada.", "errors": { "dataset": "Selecionar um dataset", "expectedOutput": "Escreva a saída esperada" @@ -10502,7 +10502,7 @@ "datasetPlaceholder": "Selecionar um dataset...", "noDatasets": "Nenhum dataset ainda — crie um na página de Datasets primeiro.", "inputLabel": "Entrada", - "inputReadOnly": "lida do trace", + "inputReadOnly": "lido do rastro", "expectedLabel": "Saída esperada", "expectedPlaceholder": "Escreva a saída que isso deveria ter produzido...", "confirm": "Adicionar ao dataset", @@ -10517,12 +10517,12 @@ "searchFooter": "{matched} de {loaded} nesta página correspondem", "scope": { "span": "Spans", - "trace": "Traces", + "trace": "Rastros", "session": "Sessões" }, "scopeNoun": { "span": "spans", - "trace": "traces", + "trace": "rastros", "session": "sessões" }, "inQueueFilter": { @@ -10638,10 +10638,10 @@ "searchPlaceholder": "Pesquisar Itens...", "footerTitle": "Itens", "allItems": "Todos", - "inTrace": "No Trace {traceId}", + "inTrace": "No rastro {traceId}", "reviewAgain": "Revisar Novamente", "emptyTitle": "Nada para Revisar", - "emptyBody": "Adicione traces, spans ou sessões a esta fila pelo Discovery ou por uma visualização de trace.", + "emptyBody": "Adicione rastros, spans ou sessões a esta fila a partir do Discovery ou de uma visualização de rastro.", "columns": { "refType": "Ref", "refId": "Referência", @@ -10660,8 +10660,8 @@ "next": "Próximo item", "collapseNav": "Recolher lista de itens", "expandNav": "Expandir lista de itens", - "openTrace": "Abrir trace completo", - "openTraceSoon": "A visualização completa do trace chega na próxima atualização.", + "openTrace": "Abrir rastro completo", + "openTraceSoon": "A visualização de rastro completo chega na próxima atualização.", "input": "Entrada", "output": "Saída", "retrievedContext": "Contexto recuperado", @@ -10692,7 +10692,7 @@ "distill": { "title": "Destilar para Dataset", "action": "Dataset", - "hint": "Escreva a resposta que este item DEVERIA ter produzido. Ela se torna a saída de ouro; a entrada é retirada do trace revisado.", + "hint": "Escreva a resposta que este item DEVERIA ter produzido. Ela se torna a saída golden; a entrada é obtida do rastro revisado.", "datasetLabel": "Dataset", "datasetPlaceholder": "Selecione um Dataset...", "noDatasets": "Nenhum dataset ainda — crie um na página de Datasets primeiro.", @@ -10704,7 +10704,7 @@ "updated": "Saída de ouro atualizada — este item já estava nesse dataset", "openDataset": "Abrir Dataset", "needsReview": "Conclua a revisão primeiro — um golden precisa de um julgamento adjudicado", - "sessionUnsupported": "Itens de sessão não podem ser destilados — apenas traces e spans", + "sessionUnsupported": "Itens de sessão não podem ser destilados — apenas rastros e spans", "loadError": "Falha ao carregar datasets", "error": "Falha ao adicionar este item ao dataset" }, @@ -10730,12 +10730,12 @@ "trial": "tentativa {index}", "summary": "Conjunto de dados v{version} · {trials} tentativa(s) · {scorers} avaliador(es)", "previewCounts": "{rows} linhas × {trials} tentativas = {slots} slots", - "viewTrace": "Ver rastreamento de execução", + "viewTrace": "Ver rastro de execução", "scoresTitle": "Pontuações", "taskProgress": "Tarefas: {completed}/{total} concluídas · {skipped} ignoradas", "scoringProgress": "Pontuações: {completed}/{total} concluídas · {skipped} ignoradas", "skipTiers": "Linhas ignoradas: {full} totalmente · {partial} parcialmente", - "scoreEvidence": "{scorer} · v{version}: {samples} amostras, {noReference} sem referência, {noTrace} sem rastreamento", + "scoreEvidence": "{scorer} · v{version}: {samples} amostras, {noReference} sem referência, {noTrace} sem rastro", "scorerApplicability": "{scorer} · v{version}: {eligible} slots elegíveis, {noReference} sem referência", "loadError": "Falha ao carregar experimentos", "previewError": "Falha ao pré-visualizar os slots do experimento", @@ -10781,7 +10781,7 @@ "sourcesPlaceholder": "Todas as fontes", "sourcesHelp": "Deixe vazio para executar todas as linhas do conjunto de dados.", "sources": { - "trace": "Trace", + "trace": "Rastro", "annotation": "Anotação", "manual": "Manual" }, @@ -10912,7 +10912,7 @@ "trials": "Tentativas", "trial": "Tentativa {index}", "retryFailedSlot": "Repetir slot com falha", - "viewTrace": "Ver rastreamento", + "viewTrace": "Ver rastro", "scores": "Pontuações", "dimension": "Dimensão", "unknownDimension": "Dimensão desconhecida", @@ -10999,7 +10999,7 @@ "actions": "Ações" }, "source": { - "trace": "trace", + "trace": "rastro", "annotation": "anotação", "manual": "manual" }, @@ -11055,7 +11055,7 @@ }, "versionPill": "v{version} · {count} Versão | v{version} · {count} Versões", "sourceSection": "Origem", - "sourceTrace": "Trace", + "sourceTrace": "Rastro", "sourceSpan": "Span", "sourceReview": "Revisão de envio", "sourceImport": "Importado de", @@ -11100,7 +11100,7 @@ "stream": "Stream", "agent": "Agente", "noAgentsTitle": "Nenhum agente encontrado", - "noAgentsDescription": "Nenhum agente foi descoberto neste intervalo de tempo. Tente ampliar o intervalo ou verifique se seus traces incluem atributos de agente gen_ai.", + "noAgentsDescription": "Nenhum agente foi descoberto neste intervalo de tempo. Tente ampliar o intervalo ou verifique se seus rastros incluem atributos de agente gen_ai.", "versionAgnosticHint": "A topologia é a mesma entre as versões — o gráfico é delimitado por ambiente, não por versão. Use a comparação de versões para comparar versões." }, "panels": { @@ -11113,8 +11113,8 @@ "subtitle": "tokens por modelo" }, "spanTrend": { - "title": "Tendência da Espanha", - "subtitle": "contagem de extensão por tipo" + "title": "Tendência de spans", + "subtitle": "contagem de spans por tipo" }, "latencyByModel": { "title": "Latência por modelo", @@ -11129,7 +11129,7 @@ "subtitle": "contagem de erros" }, "spansByModel": { - "title": "Expansões por modelo", + "title": "Spans por modelo", "subtitle": "contagem de chamadas por modelo" }, "tokensByModel": { @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "Erros recentes", - "subtitle": "últimos 10 períodos falhados" + "subtitle": "últimos 10 spans com falha" } }, "behavior": { @@ -11148,7 +11148,7 @@ "disabled": "Os sinais de comportamento do agente estão desativados para esta implantação" }, "loopsTitle": "Agentes em loop", - "loopsHint": "Agentes executando a mesma ferramenta várias vezes por trace", + "loopsHint": "Agentes executando a mesma ferramenta muitas vezes por rastro", "summaryLoops": "Agentes em loop", "summaryFailures": "Taxonomia de falhas", "summaryAgents": "Agentes afetados", @@ -11163,9 +11163,9 @@ "unknownAgent": "(agente desconhecido)", "colAgent": "Agente", "colTool": "Ferramenta", - "colRatio": "Chamadas / trace", + "colRatio": "Chamadas / rastro", "colCalls": "Chamadas", - "colTraces": "Traces", + "colTraces": "Rastros", "colFailClass": "Classe de falha", "colCount": "Contagem", "colCost": "Custo ($)", @@ -11173,27 +11173,27 @@ "colErrors": "Erros", "detail": { "title": "Detalhes do sinal", - "tracesTitle": "Rastreios", - "tracesHint": "Clique em um rastreio para abri-lo", - "worstLoopTraces": "Piores rastreios (mais repetições primeiro)", - "topCostTraces": "Rastreios mais caros", - "noTraces": "Nenhum rastreio encontrado para este sinal", + "tracesTitle": "Rastros", + "tracesHint": "Clique em um rastro para abri-lo", + "worstLoopTraces": "Piores traces (mais repetições primeiro)", + "topCostTraces": "Traces mais caros", + "noTraces": "Nenhum trace encontrado para este sinal", "errorsTitle": "O que os erros dizem", - "noErrors": "Nenhuma mensagem de erro capturada — abra um rastreio para inspecionar", - "colTraceId": "Rastreio", + "noErrors": "Nenhuma mensagem de erro capturada — abra um trace para inspecionar", + "colTraceId": "Trace", "colSpans": "Spans", "colRepeats": "Repetições", - "openInNewTab": "Abre o rastreio em uma nova aba", + "openInNewTab": "Abre o trace em uma nova aba", "showFull": "Mostrar erro completo", "showLess": "Mostrar menos", "colError": "Mensagem de erro", "colOccurrences": "Vezes", - "loopHeadline": "{agent} chamou {tool} {ratio}× por rastreio em média ({calls} chamadas em {traces} rastreios).", + "loopHeadline": "{agent} chamou {tool} {ratio}× por trace em média ({calls} chamadas em {traces} traces).", "failHeadline": "{agent} encontrou {count} erros “{cls}”.", "costHeadline": "{agent}: ${cost} gasto · {tokens} tokens · {errors} erros.", - "loopExplain": "Uma alta taxa de repetição geralmente significa que o agente não está armazenando resultados em cache ou está tentando novamente. Abra os piores rastreios abaixo para ver as chamadas repetidas.", - "failExplain": "Estas são as mensagens de erro reais por trás desta classe de falha — leia-as para encontrar a correção, ou abra um rastreio para ver onde ocorreu.", - "costExplain": "Estes rastreios impulsionaram o gasto deste agente. Abra os mais caros para ver o que foi executado." + "loopExplain": "Uma alta taxa de repetição geralmente significa que o agente não está armazenando resultados em cache ou está tentando novamente. Abra os piores traces abaixo para ver as chamadas repetidas.", + "failExplain": "Estas são as mensagens de erro reais por trás desta classe de falha — leia-as para encontrar a correção, ou abra um trace para ver onde aconteceu.", + "costExplain": "Estes traces impulsionaram o gasto deste agente. Abra os mais caros para ver o que foi executado." } }, "versionCompare": { @@ -11297,7 +11297,7 @@ "jobLabel": "Eval Job", "jobPlaceholder": "Selecione um Eval Job", "jobRequired": "Selecione um Eval Job", - "noCompatibleJobs": "Nenhum Eval Job {scope} usa o stream de trace {stream}.", + "noCompatibleJobs": "Nenhum trabalho de avaliação {scope} usa o stream de traces {stream}.", "loadJobsError": "Falha ao carregar os Eval Jobs.", "run": "Executar avaliação", "queued": "{count} tarefa de avaliação enfileirada. | {count} tarefas de avaliação enfileiradas.", @@ -11393,7 +11393,7 @@ }, "runs": { "title": "Pontuações de avaliação", - "hint": "As pontuações e raciocínios vêm de _llm_scores. Selecione uma execução para abrir seu trace de avaliador para investigação adicional.", + "hint": "As pontuações e o raciocínio vêm de _llm_scores. Selecione uma execução para abrir o trace do avaliador para investigação adicional.", "filterLabel": "Filtrar pontuações de avaliação", "footerTitle": "Pontuações de Avaliação", "noThresholdHint": "Defina um limite saudável nesta Configuração de Pontuação para classificar e destacar pontuações não saudáveis.", @@ -11667,8 +11667,8 @@ "col": { "time": "Hora", "job": "Trabalho", - "spanId": "ID da Espanha", - "traceId": "ID de rastreamento", + "spanId": "ID do span", + "traceId": "ID do trace", "score": "Pontuação", "latency": "Latência", "status": "Status" @@ -11860,7 +11860,7 @@ "idleWindowLabel": "Janela de Inatividade", "maxAgeLabel": "Idade Máxima", "filterLabel": "Filtro", - "filterEmpty": "Sem filtro — cada span é avaliado", + "filterEmpty": "Sem filtro — todo span é avaliado", "scorersSection": "Avaliadores", "scorersEmpty": "Nenhum avaliador anexado a este trabalho ainda.", "scorerUnknown": "(avaliador removido)", @@ -11896,8 +11896,8 @@ "col": { "time": "Hora", "scorer": "Avaliador", - "spanId": "ID da Espanha", - "traceId": "ID de rastreamento", + "spanId": "ID do span", + "traceId": "ID do trace", "score": "Pontuação", "latency": "Latência", "status": "Status" @@ -11953,21 +11953,21 @@ "session": "Sessão" }, "targetScopeHelp": { - "span": "Avalie cada span correspondente independentemente.", + "span": "Avalie cada span correspondente de forma independente.", "trace": "Avalie um trace inteiro após o fechamento da janela de conclusão.", "session": "Avalie uma sessão entre traces após o fechamento da janela de conclusão." }, "completionSection": "Critérios de conclusão", "completionHelp": { - "trace": "O trace é avaliado assim que o primeiro destes for atendido.", + "trace": "O trace é avaliado assim que a primeira destas condições for atendida.", "session": "A sessão é avaliada assim que o primeiro destes for atendido." }, "idleWindowLabel": "Janela ociosa (segundos)", "idleWindowHelp": "Avaliado após {duration} sem novos spans.", - "idleWindowHelpEmpty": "Avaliado assim que não chegam novos spans.", + "idleWindowHelpEmpty": "Avaliado quando não chegam novos spans.", "maxAgeLabel": "Idade máxima (segundos)", "maxAgeHelp": "Avaliado {duration} após o primeiro span.", - "maxAgeHelpEmpty": "Avaliado em uma idade fixa, mesmo que spans ainda estejam chegando.", + "maxAgeHelpEmpty": "Avaliado em uma idade fixa, mesmo que ainda estejam chegando spans.", "descriptionLabel": "Descrição", "samplingModeLabel": "Modo de amostragem", "samplingValueLabel": "Taxa de amostragem", @@ -11978,8 +11978,8 @@ "scorerPicker": { "title": "Marcadores", "hint": { - "span": "Selecione um ou mais scorers para executar para cada span correspondente.", - "trace": "Selecione um ou mais scorers para executar para cada trace elegível.", + "span": "Selecione um ou mais pontuadores para executar para cada span correspondente.", + "trace": "Selecione um ou mais pontuadores para executar para cada trace elegível.", "session": "Selecione um ou mais scorers para executar para cada sessão elegível." }, "meta": "{type} · v{version}", @@ -11990,36 +11990,36 @@ "filter": { "title": "Condição do filtro", "hint": { - "span": "Apenas spans que atendem a esta condição entram na amostragem e pontuação.", - "trace": "Um trace entra na amostragem e pontuação se algum de seus spans atender a esta condição.", - "session": "Uma sessão entra na amostragem e pontuação se algum de seus spans atender a esta condição." + "span": "Apenas spans que correspondem a esta condição entram na amostragem e na pontuação.", + "trace": "Um trace entra na amostragem e pontuação se algum de seus spans corresponder a esta condição.", + "session": "Uma sessão entra na amostragem e pontuação se algum de seus spans corresponder a esta condição." } }, "selector": { - "title": "Quais Spans (Opcional)", + "title": "Quais Spans (opcional)", "hint": { - "trace": "Deixe vazio para incluir cada span no trace." + "trace": "Deixe vazio para incluir todos os spans no trace." } }, "endSignal": { "title": "Sinal de término (opcional)", "hint": { - "trace": "Defina uma condição de span que fecha o trace imediatamente quando qualquer span a atende.", - "session": "Defina uma condição de span que fecha a sessão imediatamente quando qualquer span a atende." + "trace": "Defina uma condição de span que encerre o trace imediatamente quando qualquer span corresponder a ela.", + "session": "Defina uma condição de span que encerre a sessão imediatamente quando qualquer span corresponder a ela." } }, "inputMapping": { "title": "Variáveis do prompt", "hint": { - "span": "Mapear cada variável para um atributo de span.", - "trace": "Mapear cada variável para um valor fornecido pelo sistema ou atributo de span.", - "session": "Mapear cada variável para um valor fornecido pelo sistema ou atributo de span." + "span": "Mapeie cada variável para um atributo de span.", + "trace": "Mapeie cada variável para um valor fornecido pelo sistema ou um atributo de span.", + "session": "Mapeie cada variável para um valor fornecido pelo sistema ou um atributo de span." }, "placeholder": "Selecione um valor", "searchPlaceholder": "Pesquisar valores do sistema e atributos de span…", "groups": { "systemProvided": "Valores fornecidos pelo sistema · Para cada {scope} que este job avalia", - "spanAttributes": "Atributos de span" + "spanAttributes": "Atributos de Span" }, "selectScorers": "Selecione marcadores para configurar seus mapeamentos.", "noVariables": "Esse marcador não tem variáveis de modelo para mapear.", @@ -12029,7 +12029,7 @@ "title": "Valores do sistema de {scope}", "description": "O OpenObserve constrói esses valores separadamente para cada {scope} que este job avalia. Use-os como fontes ao mapear as variáveis de prompt do scorer.", "badge": "Fornecido pelo sistema", - "selectorRequired": "Span Selector obrigatório", + "selectorRequired": "Seletor de Span obrigatório", "columns": { "variable": "Valor", "source": "Origem", @@ -12043,57 +12043,57 @@ "trace": "Saída do span raiz do trace." }, "statistics": { - "trace": "Métricas do trace: contagem de spans, duração, chamadas LLM e ferramentas, erros, tokens e custo.", + "trace": "Métricas do trace: contagem de spans, duração, chamadas de LLM e ferramentas, erros, tokens e custo.", "session": "Métricas da sessão: contagens de traces e turnos, duração e erros." }, "spans": { - "trace": "Um subconjunto filtrado de spans, escolhido pelo Span Selector do job." + "trace": "Um subconjunto filtrado de spans, escolhido pelo Seletor de Span do job." }, "steps": { - "trace": "Spans em ordem cronológica; o meio é recolhido quando o trace é muito longo.", - "session": "Traces em ordem cronológica, representados como turnos de conversa." + "trace": "Spans em ordem de tempo; o meio é recolhido quando o trace é muito longo.", + "session": "Traces em ordem de tempo, representados como turnos de conversa." } } } }, "spanSelector": { - "select": "Selecionar Span Selector", - "bindingHelp": "Os traces podem ter centenas de spans. Escolha aqueles que este scorer deve analisar.", + "select": "Selecionar Seletor de Span", + "bindingHelp": "Traces podem ter centenas de spans. Escolha aqueles que este avaliador deve analisar.", "createForScorer": "Criar para scorer", - "createForScorerTitle": "Criar um Span Selector para este scorer", - "editorTitle": "Span Selector", + "createForScorerTitle": "Criar um Seletor de Span para este avaliador", + "editorTitle": "Seletor de Span", "name": "Nome do seletor", "schemaMode": "Campos a ler", "defaultSchema": "Campos padrão de GenAI", "customSchema": "Campos Personalizados", - "defaultSchemaHelp": "Estes oito campos são lidos de cada span correspondente. Qualquer coisa ausente vem vazia.", + "defaultSchemaHelp": "Esses oito campos são lidos de cada span correspondente. Qualquer coisa ausente virá vazia.", "fields": "Campos", "fieldsHelp": "Apenas estes campos são lidos — nada mais é enviado ao scorer.", "maximumSpans": "Máximo de Spans", - "budget": "Limita quantos spans são selecionados da trace.", + "budget": "Limita quantos spans são selecionados do trace.", "validation": { "name": "Insira um nome de seletor.", "duplicateName": "Os nomes dos seletores devem ser únicos neste job.", "filter": "Complete ou remova a condição de filtro inacabada.", "fields": "Selecione pelo menos um campo para um esquema personalizado.", "maximumSpans": "O máximo de spans deve ser um número inteiro positivo.", - "budget": "Muitos spans para os campos selecionados. Reduza a contagem de spans ou leia menos campos.", - "binding": "Selecione um Span Selector para cada scorer que usa spans de trace." + "budget": "Spans demais para os campos selecionados. Reduza a contagem de spans ou leia menos campos.", + "binding": "Selecione um Seletor de Span para cada avaliador que use spans de trace." } }, "preview": { "scopes": { "span": { "title": "Spans Correspondentes", - "hint": "Depois de escolher um stream e filtro, este painel mostrará quantos spans seu job corresponderá.", + "hint": "Depois que você escolher um stream e um filtro, este painel mostrará quantos spans seu job corresponderá.", "matchedSuffix": "spans correspondentes · última 1h", - "matchedLoading": "Contando spans correspondidos…" + "matchedLoading": "Contando spans correspondentes…" }, "trace": { "title": "Traces Correspondentes", - "hint": "Depois de escolher um stream e filtro, este painel mostrará quantas traces seu job corresponderá.", + "hint": "Depois que você escolher um stream e um filtro, este painel mostrará quantos traces seu job corresponderá.", "matchedSuffix": "traces correspondentes · última 1h", - "matchedLoading": "Contando traces correspondidas…" + "matchedLoading": "Contando traces correspondentes…" }, "session": { "title": "Sessões Correspondentes", @@ -12122,9 +12122,9 @@ "nameRequired": "Job name is required", "streamRequired": "A stream is required", "idleWindowMinimum": "A janela ociosa deve ter pelo menos 1 segundo", - "idleWindowMaximumTrace": "A janela ociosa de trace não pode exceder 30 minutos", + "idleWindowMaximumTrace": "A janela de inatividade do trace não pode exceder 30 minutos", "idleWindowMaximumSession": "A janela ociosa de sessão não pode exceder 4 horas", - "maxAgeMaximumTrace": "A idade máxima de trace não pode exceder 2 horas", + "maxAgeMaximumTrace": "A idade máxima do trace não pode exceder 2 horas", "maxAgeMaximumSession": "A idade máxima de sessão não pode exceder 24 horas", "samplingValueRequired": "A sampling value is required" } @@ -12187,7 +12187,7 @@ "curlDesc": "A maneira mais rápida: cole um comando e os registros começarão a fluir", "shippers": "Use um remetente de toras", "shippersDesc": "{product1}, {product2}, {product3}, {product4}, {product5} e mais", - "otelDesc": "Ingestão de OTLP independente do fornecedor para registros, rastreamentos e métricas", + "otelDesc": "Ingestão OTLP independente de fornecedor para registros, traces e métricas", "or": "Ou:", "aws": "AWS/CloudWatch", "askAi": "Peça à IA que configure a ingestão" @@ -12196,7 +12196,7 @@ "title": "Escolha um stream para começar a explorar", "description": "Escolha um stream e pressione Executar consulta. Você pode refinar com filtros, uma função VRL e um intervalo de tempo personalizado quando os resultados chegarem.", "selectStream": "Selecione um stream", - "selectStreamDesc": "Navegue por registros, rastreamentos, métricas e fluxos de RUM", + "selectStreamDesc": "Navegue por streams de registros, traces, métricas e Monitoramento de usuários reais", "queryGuide": "Leia o guia de consulta", "queryGuideDesc": "Filtros, modo SQL, VRL e visualizações salvas", "recent": "Recente:" @@ -12496,7 +12496,7 @@ "expandRangeDesc": "Os dados acessíveis podem estar em uma janela de tempo diferente", "copyError": "Copiar detalhes do erro", "copied": "Copiado!", - "traceId": "ID de rastreamento:", + "traceId": "ID do Trace:", "askAi": "Peça à IA que corrija minha consulta", "showDetail": "Mostrar detalhes", "hideDetail": "Ocultar detalhes" @@ -13268,7 +13268,7 @@ "maxDuration": "Duração máxima", "noExecutionData": "Nenhum dado de execução encontrado", "noExecutionDataDesc": "Dados de stream para execução {runId} não foram encontrados na janela de +/-5 min ao redor do horário agendado.", - "openTrace": "Abrir Trace do Playwright", + "openTrace": "Abrir Rastreamento do Playwright", "runId": "ID da execução", "screenshotAlt": "Captura de tela da etapa", "screenshotPlaceholder": "Placeholder de captura de tela", @@ -13354,7 +13354,7 @@ "errorPatternsWindowDesc": "Normalizado em {window} · clique em uma linha para filtrar execuções" }, "scheduleAlert": { - "addNewDestination": "Adicionar novo destino", + "addNewDestination": "Adicionar Novo Destino", "alertedIfFails": "Alertado se o teste falhar", "alertedIfFailsSuffix": "vezes.", "alerts": "Alertas", @@ -13370,7 +13370,7 @@ "weeks": "Semanas" }, "customIntervalValue": "Repetir a cada", - "destinationRequired": "É necessário pelo menos um destino", + "destinationRequired": "Pelo menos um destino é obrigatório", "destinations": "Destinos", "frequency": "Frequência", "frequencyOptions": { @@ -13642,7 +13642,7 @@ "logs": "Registros", "dashboards": "Painéis", "metrics": "Métricas", - "traces": "Traços", + "traces": "Rastreamentos", "alerts": "Alertas", "streams": "Fluxos", "pipelines": "Oleodutos", @@ -13662,7 +13662,7 @@ "dashboards": "Visualização do painel", "dashboardsPanel": "Painel — Painel (passe o mouse sobre um painel)", "metrics": "Métricas", - "traces": "Traços", + "traces": "Rastreamentos", "alerts": "Alertas", "streams": "Fluxos", "pipelines": "Oleodutos", @@ -13676,7 +13676,7 @@ "alertSources": "Alertas — Fontes Externas", "alertTemplates": "Alertas — Modelos", "panelEditor": "Editor de painéis", - "traceDetail": "Detalhe do traço", + "traceDetail": "Detalhes do Rastreamento", "runningQueries": "Executando consultas", "ingestionTokens": "IAM — Tokens de ingestão", "syntheticsTokens": "IAM — Tokens de Sintéticos", @@ -13768,8 +13768,8 @@ "panelEditorRun": "Executar/aplicar consulta", "panelEditorSave": "Salvar painel", "panelEditorBack": "Descarte e volte", - "traceNextSpan": "Próximo período", - "tracePrevSpan": "Período anterior", + "traceNextSpan": "Próximo span", + "tracePrevSpan": "Span anterior", "runningQueriesRefresh": "Atualizar lista de consultas", "ingestionTokensAdd": "Criar novo token", "ingestionTokensRefresh": "Atualizar lista de tokens", @@ -13780,7 +13780,7 @@ "aiChatExpand": "Expandir/recolher chat de IA", "logsSaveView": "Salvar como visualização salva", "logsExport": "Exportar resultados como CSV", - "tracesCopyUrl": "Copiar URL de compartilhamento de rastreamento", + "tracesCopyUrl": "Copiar URL de compartilhamento do rastreamento", "alertIncidentsRefresh": "Atualizar lista", "pipelineDestinationsRefresh": "Atualizar lista", "enrichmentTablesRefresh": "Atualizar lista", @@ -14047,7 +14047,7 @@ "alertState": { "ok": "Ok", "normal": "Normal", - "firing": "Disparando", + "firing": "Disparado", "notifyfailed": "Falha na Notificação", "flapping": "Oscilando", "anomaly": "Anomalia", @@ -14078,7 +14078,7 @@ "error": "Erro" }, "crossLinkSource": { - "stream": "Stream", + "stream": "Fluxo", "global": "Global" }, "themeApplied": { @@ -14133,7 +14133,7 @@ }, "eventStatus": { "failed": "Falha", - "firing": "Disparando", + "firing": "Disparado", "anomaly": "Anomalia" }, "featureStatus": { @@ -14148,7 +14148,7 @@ "array": "Array" }, "incidentStatus": { - "firing": "Disparando", + "firing": "Disparado", "closed": "Fechado" }, "invoiceStatus": { @@ -14167,7 +14167,7 @@ "fatal": "Fatal" }, "pipelineRunOutcome": { - "firing": "Disparando", + "firing": "Disparado", "normal": "Normal", "succeeded": "Sucesso", "skipped": "Ignorado", @@ -14316,14 +14316,14 @@ "pleaseWaitWhileLoadingAlerts": "Aguarde enquanto os alertas são carregados...", "destinationsDeletedSuccessfully": "{count} destino excluído com sucesso | {count} destinos excluídos com sucesso", "failedToDeleteDestinations": "Falha ao excluir {count} destino | Falha ao excluir {count} destinos", - "destinationsDeletedWithFailures": "{count} destino excluído com sucesso, {failed} com erro | {count} destinos excluídos com sucesso, {failed} com erro", + "destinationsDeletedWithFailures": "{count} destino excluído com sucesso, {failed} falhou | {count} destinos excluídos com sucesso, {failed} falharam", "noDestinationsSelectedForDeletion": "Nenhum destino selecionado para exclusão", "deletingDestinations": "Excluindo destinos...", "destinationDeletedSuccessfully": "Destino {name} excluído com sucesso", - "errorWhilePullingDestinations": "Erro ao buscar destinos.", - "pleaseWaitWhileLoadingDestinations": "Aguarde enquanto os destinos são carregados...", + "errorWhilePullingDestinations": "Erro ao carregar destinos.", + "pleaseWaitWhileLoadingDestinations": "Aguarde enquanto carrega os destinos...", "errorWhileLoadingActions": "Erro ao carregar ações.", - "pleaseWaitWhileLoadingAlertDestination": "Aguarde enquanto o destino do alerta é carregado...", + "pleaseWaitWhileLoadingAlertDestination": "Aguarde enquanto carrega o destino do alerta...", "errorImportingAlertPleaseCheck": "Erro ao importar alerta. Verifique o JSON.", "alertsImportedSuccessfully": "Importado com sucesso {count} alerta | Importados com sucesso {count} alertas", "invalidJson": "JSON inválido: {error}", @@ -14393,7 +14393,7 @@ "resources": { "dashboards": "Painéis", "alerts": "Alertas", - "streams": "Streams", + "streams": "Fluxos", "functions": "Funções", "savedviews": "Visualizações salvas", "users": "Usuários", @@ -14564,8 +14564,8 @@ "errorWhileUpdating": "Erro ao atualizar o relatório." }, "correlation": { - "refreshingTraceData": "Atualizando dados de rastreamento...", - "traceDetailViewComingSoon": "Visualização de detalhes do trace em breve", + "refreshingTraceData": "Atualizando dados do rastreamento...", + "traceDetailViewComingSoon": "Exibição de detalhes do rastreamento em breve", "columnIsAlreadyVisible": "A coluna \"{name}\" já está visível", "columnAddedToTable": "Coluna \"{name}\" adicionada à tabela" }, @@ -14614,7 +14614,7 @@ "youAreNotAuthorizedToManage": "Você não está autorizado a gerenciar a licença.", "copiedToClipboard": "Copiado para a área de transferência", "noDestinationsFoundPleaseCreateA": "Nenhum destino encontrado. Crie um destino primeiro.", - "errorWhilePullingDestinations": "Erro ao buscar destinos.", + "errorWhilePullingDestinations": "Erro ao carregar destinos.", "rumTokenUpdatedSuccessfully": "Token RUM atualizado com sucesso.", "rumTokenGeneratedSuccessfully": "Token RUM gerado com sucesso.", "tokenResetSuccessfully": "Token redefinido com sucesso.", @@ -14760,7 +14760,7 @@ "tags": "Tags", "tagsPlaceholder": "Adicionar tag e pressionar Enter", "streamType": "Tipo de stream", - "stream": "Stream", + "stream": "Fluxo", "queryLanguage": "Linguagem de consulta", "scope": "Escopo", "scopeHint": "Filtro opcional aplicado ao denominador. Deixe vazio para todas as linhas.", @@ -14830,7 +14830,7 @@ "noHistory": "Nenhum histórico de avaliação para este alerta ainda. A medição começa assim que ele for executado.", "loadFailed": "Não foi possível carregar o histórico de avaliação", "legendGood": "OK", - "legendBad": "Disparando", + "legendBad": "Disparado", "legendUnmeasured": "Não medido" } }, @@ -15008,7 +15008,7 @@ "loginCallback": "Callback de login", "emptyStateDemo": "Demonstração de estado vazio", "searchScheduler": "Agendador de pesquisa", - "traceDetails": "Detalhes do trace", + "traceDetails": "Detalhes do Trace", "sessionDetails": "Detalhes da sessão", "streamExplorer": "Explorador de streams", "viewDashboard": "Visualizar painel", @@ -15360,20 +15360,20 @@ "failed": "Falhas" }, "columnHints": { - "calls": "Quantas vezes esta consulta foi executada. A contagem do próprio banco de dados quando ele informa uma — isso cobre todos os clientes, não apenas as partes do seu sistema que enviam rastreamentos. As linhas marcadas como observadas pelo cliente são contadas a partir dos rastreamentos, porque seu banco de dados não as informou.", + "calls": "Quantas vezes esta consulta foi executada. A contagem do próprio banco de dados, quando ele a reporta — isso cobre todos os clientes, não apenas as partes do seu sistema que enviam traces. Linhas marcadas como observadas pelo cliente são contadas a partir de traces, porque o banco de dados não as reportou.", "p50": "Metade de todas as chamadas terminou mais rápido que isto. Conta apenas chamadas concluídas — uma consulta ainda em execução, ou que nunca voltou, não é medida aqui.", "p95": "A cauda lenta — 1 em cada 20 chamadas levou pelo menos este tempo. Conta apenas chamadas concluídas — uma consulta ainda em execução, ou que nunca voltou, não é medida aqui.", "p99": "Os piores 1% das chamadas levaram pelo menos este tempo. Conta apenas chamadas concluídas — uma consulta ainda em execução, ou que nunca voltou, não é medida aqui.", "max": "A chamada individual mais lenta nesta janela — uma chamada real, não uma média.", "errors": "Quantas dessas chamadas voltaram com erro.", "perTrace": "Quantas vezes isso é executado dentro de uma única solicitação. Um número alto geralmente significa um loop.", - "load": "Tempo total que esta consulta passou no banco de dados. O valor do próprio banco de dados quando ele informa um: tempo de execução no Postgres, mas tempo de ESPERA no MySQL e MariaDB — cada linha indica qual. Linhas marcadas como observadas pelo cliente são medidas a partir dos rastreamentos, portanto incluem ida e volta pela rede." + "load": "Tempo total que esta consulta passou no banco de dados. O próprio valor do banco de dados quando ele reporta um: tempo de execução no Postgres, mas tempo de espera no MySQL e MariaDB — cada linha indica qual. Linhas marcadas como observadas pelo cliente são medidas a partir de traces, então incluem a ida e volta da rede." }, "errorsNone": "nenhum", "errorsAll": "todos", "actions": { "open": "Abrir detalhes", - "traces": "Ver exemplos de rastreamentos", + "traces": "Ver traces de exemplo", "copy": "Copiar consulta", "copied": "Consulta copiada", "copyFailed": "Não foi possível copiar a consulta.", @@ -15405,7 +15405,7 @@ "n-plus-one": { "title": "Executa pelo menos {multiplier}× por requisição", "body": "{share} do tempo do banco · {service}", - "rule": "Exibido porque esta consulta executa pelo menos {ratio} vezes dentro de uma única requisição, em pelo menos {traces} requisições. É um limite inferior, então o número real pode ser maior. Trabalho legítimo em lote pode parecer o mesmo." + "rule": "Exibido porque esta consulta é executada pelo menos {ratio} vezes dentro de uma única requisição, em pelo menos {traces} requisições. É um limite inferior, então o número real pode ser maior. Trabalho legítimo em lote pode parecer o mesmo." }, "volume-shift": { "title": "Mais ocupada, não mais lenta", @@ -15497,7 +15497,7 @@ "ok": "Você tem acesso a estes dados", "okDetail": "você é administrador do {org}", "no": "Você não tem acesso a estes dados", - "noDetail": "O monitoramento de banco de dados lê seus traces, e sua função não os inclui. Peça a um administrador acesso de leitura." + "noDetail": "O monitoramento de banco de dados lê seus traces, e a sua função não os inclui. Peça a um administrador acesso de leitura." }, "dbSpans": { "ok": "Seus traces mencionam um banco de dados", @@ -15533,7 +15533,7 @@ "plans": "Planos de consulta", "plansHint": "As etapas que seu banco de dados seguiu para executar esta consulta. Comece aqui para descobrir por que ela está lenta.", "callers": "Chamadores e exemplos", - "callersHint": "Quais partes do seu aplicativo executaram esta consulta e execuções lentas individuais que você pode abrir como um trace.", + "callersHint": "Quais partes do seu aplicativo executaram esta consulta, e execuções lentas individuais que você pode abrir como um trace.", "callersLocked": "Execuções individuais vêm do rastreamento. Nada rastreou esta consulta neste intervalo de tempo." }, "notFound": { @@ -15559,10 +15559,10 @@ "noSamples": "Nenhuma execução individual carregada para este intervalo.", "noSeries": "Nenhum histórico para esta consulta no intervalo selecionado.", "liveSeries": "Os pontos mais recentes ainda estão sendo contados e podem mudar.", - "noStream": "Não foi possível determinar qual fluxo de rastreamento carrega esta consulta, então seus chamadores e exemplos não podem ser carregados.", - "ambiguousStream": "Esta organização tem mais de um fluxo de rastreamento e não podemos dizer em qual esta consulta é executada. Escolha um fluxo para carregar seus chamadores e rastreamentos de exemplo.", - "pickStream": "Escolha um fluxo de rastreamento", - "invalidStream": "Esse nome de fluxo de rastreamento não é reconhecido, então não executamos a busca.", + "noStream": "Não conseguimos descobrir qual stream de trace contém esta consulta, então seus chamadores e exemplos não podem ser carregados.", + "ambiguousStream": "Esta organização tem mais de um stream de trace, e não conseguimos identificar em qual deles esta consulta é executada. Escolha um stream para carregar seus chamadores e traces de exemplo.", + "pickStream": "Escolha um stream de trace", + "invalidStream": "Esse nome de stream de trace não é reconhecido, então não executamos a busca.", "firstSeen": "PRIMEIRA APARIÇÃO NESTA LISTA EM {time}", "firstSeenHint": "O ponto mais antigo neste intervalo em que esta consulta foi pesada o suficiente para ser rastreada por conta própria.", "lastSeen": "ÚLTIMA APARIÇÃO EM {time}", @@ -15593,7 +15593,7 @@ "sampleOk": "OK", "sampleError": "Falhou", "viewTrace": "Ver a solicitação →", - "viewTraces": "Ver rastreamentos de exemplo", + "viewTraces": "Ver traces de exemplo", "copySummary": "Copiar", "copySummaryHint": "Cada número aqui já está nesta página — isto apenas escreve a frase, então o minuto 13 de um incidente produz uma mensagem em vez de nada.", "summaryCopied": "Resumo copiado", @@ -15686,7 +15686,7 @@ "tracedCalls": "{calls} chamadas rastreadas", "coverage": "{count} serviços vistos em {traced} das {executions} execuções acima. O restante veio de chamadores que você ainda não está rastreando.", "coverageUnknown": "{count} serviços vistos em {traced} chamadas rastreadas. Seu banco de dados não relatou um total para esta declaração, então não há participação a fornecer.", - "noneNamed": "{traced} chamadas foram rastreadas, mas nenhuma delas pôde ser vinculada a um serviço — os rastreamentos começam fora deste intervalo de tempo." + "noneNamed": "{traced} chamadas foram rastreadas, mas nenhuma delas pôde ser vinculada a um serviço — suas traces começam fora deste intervalo de tempo." }, "callersEmpty": { "title": "Nenhuma chamada rastreada para esta consulta ainda", @@ -15752,9 +15752,9 @@ "failedWithCode": "Falhou · {code}", "viewTrace": "Abrir a solicitação da qual esta chamada fez parte", "scatterOk": "Concluída", - "partial": "Parte dos seus dados de trace não pôde ser lida, então pode haver chamadas ausentes nesta lista.", + "partial": "Parte dos seus dados de trace não pôde ser lida, então chamadas podem estar faltando nesta lista.", "disclosureShort": "Cada linha é uma chamada concluída real", - "disclosureDetail": "Medido pelo aplicativo que fez a chamada, a partir dos traces que você envia. Somente chamadas que terminaram estão aqui — uma consulta ainda em execução, ou uma que travou e nunca voltou, não produziu medição.", + "disclosureDetail": "Medido pela aplicação que fez a chamada, a partir dos traces que você envia. Somente chamadas que terminaram estão aqui — uma consulta ainda em execução, ou uma que travou e nunca retornou, não produziu medição.", "counts": { "complete": "Mostrando todas as {count} chamadas ao banco de dados nesta janela, das mais lentas primeiro.", "truncated": "As {count} chamadas mais lentas nesta janela — mais foram executadas do que são mostradas aqui.", @@ -15959,8 +15959,8 @@ "blocking": "Bloqueando" }, "coverage": { - "summary": "A espera mais longa é {longest}. Cada espera remonta a {roots} mantendo um lock aberto.", - "summaryCapped": "Mais sessões estavam esperando do que conseguimos ler de uma vez. Das que temos, a espera mais longa é {longest} e elas remontam a {roots} mantendo um lock aberto.", + "summary": "A espera mais longa é {longest}. Cada espera remonta a {roots} mantendo um bloqueio aberto.", + "summaryCapped": "Mais sessões estavam esperando do que conseguimos ler de uma vez. Das que temos, a espera mais longa é {longest} e elas remontam a {roots} mantendo um bloqueio aberto.", "summaryOneRoot": "uma sessão", "summaryManyRoots": "{count} sessões", "checked": "Verificado a cada {interval} segundos; última verificação {time}.", diff --git a/web/src/locales/languages/ru-RU.json b/web/src/locales/languages/ru-RU.json index 0369942db5..628f9d78fb 100644 --- a/web/src/locales/languages/ru-RU.json +++ b/web/src/locales/languages/ru-RU.json @@ -43,7 +43,7 @@ "allCaughtUp": "Вы всё прочитали", "noPanels": { "title": "Здесь пока нет панелей", - "description": "Добавьте панель, чтобы начать визуализацию журналов, метрик и трейсов.", + "description": "Добавьте панель, чтобы приступить к визуализации логов, метрик и трейсов.", "action": "Добавить панель", "actionDesc": "Диаграммы, таблицы и другое" }, @@ -78,7 +78,7 @@ }, "noDashboards": { "title": "Создайте свою первую панель мониторинга", - "description": "Панели мониторинга объединяют ваши метрики, журналы и трейсы в одном представлении. Создайте одну, чтобы начать.", + "description": "Дашборды объединяют ваши метрики, логи и трейсы в одном представлении. Создайте дашборд, чтобы начать.", "action": "Новая панель мониторинга", "actionDesc": "Начать с пустого холста", "import": "Импортировать панель мониторинга", @@ -124,7 +124,7 @@ }, "noIngestionTokens": { "title": "Токенов приема пока нет", - "description": "Токены приема аутентифицируют источники данных при отправке журналов, метрик и трейсов.", + "description": "Токены приема данных аутентифицируют источники данных при отправке логов, метрик и трейсов.", "action": "Новый токен", "actionDesc": "Сгенерировать токен приема" }, @@ -133,11 +133,11 @@ "description": "Организации объединяют ваших пользователей и данные. Создайте одну, чтобы начать." }, "noAlertDestinations": { - "title": "Назначений пока нет", - "description": "Назначения определяют, куда отправляются уведомления об оповещениях — Slack, email, вебхуки и другое.", - "action": "Новое назначение", + "title": "Пока нет получателей", + "description": "Получатели определяют, куда отправляются уведомления об оповещениях — Slack, электронная почта, вебхуки и многое другое.", + "action": "Новый получатель", "actionDesc": "Подключить канал уведомлений", - "import": "Импортировать назначение", + "import": "Импортировать получателя", "importDesc": "Импортировать из JSON-файла" }, "noAlertSources": { @@ -147,10 +147,10 @@ "actionDesc": "Создайте URL вебхука и токен" }, "noPipelineDestinations": { - "title": "Назначений пока нет", + "title": "Пока нет получателей", "description": "Внешние цели для вывода конвейера — HTTP-конечные точки и цели удаленной записи.", - "action": "Новое назначение", - "actionDesc": "Подключить назначение конвейера" + "action": "Новый получатель", + "actionDesc": "Подключите получателя конвейера" }, "noAlertTemplates": { "title": "Шаблонов пока нет", @@ -192,7 +192,7 @@ }, "noDiscoveredServices": { "title": "Сервисы не обнаружены", - "description": "Сервисы будут автоматически отображаться здесь, когда начнут поступать трейсы." + "description": "Сервисы появятся здесь автоматически, как только начнут поступать трейсы." }, "noNodes": { "title": "Нет доступных узлов", @@ -248,7 +248,7 @@ }, "noDatasets": { "title": "Создайте свой первый набор данных", - "description": "Золотые наборы данных собирают аннотированные трейсы и ревью в версионируемые оценочные наборы. Создайте один, чтобы начать курирование.", + "description": "Эталонные наборы данных собирают аннотированные трейсы и отзывы в версионированные наборы для оценки. Создайте один, чтобы начать курирование.", "action": "Новый набор данных", "actionDesc": "Создать пустой набор данных" }, @@ -288,15 +288,15 @@ }, "noLLMInsights": { "title": "Активность LLM пока отсутствует", - "description": "Инструментируйте свои сервисы с помощью семантических соглашений OpenTelemetry Gen-AI и загрузите хотя бы один трейс, чтобы заполнить эту панель.", + "description": "Инструментируйте свои сервисы с помощью семантических соглашений OpenTelemetry Gen-AI и примите хотя бы один трейс, чтобы заполнить этот дашборд.", "action": "Инструментировать с OpenTelemetry", - "actionDesc": "Захватывайте атрибуты gen_ai_* в ваших трейсах" + "actionDesc": "Фиксируйте атрибуты gen_ai_* в ваших трейсах." }, "noLLMSessions": { "title": "Сеансы LLM пока отсутствуют", - "description": "Сеансы группируются по gen_ai_conversation_id. Инструментируйте сервисы, чтобы каждый разговор помечал свои трейсы, и сеансы появятся здесь.", + "description": "Сессии группируются по gen_ai_conversation_id. Инструментируйте свои сервисы, чтобы каждый диалог помечал свои трейсы, и сессии появятся здесь.", "action": "Инструментировать с OpenTelemetry", - "actionDesc": "Помечайте спаны с помощью gen_ai_conversation_id" + "actionDesc": "Помечайте spans тегом gen_ai_conversation_id." }, "noScorers": { "title": "Оценщики пока отсутствуют", @@ -342,11 +342,11 @@ }, "noTraces": { "title": "Трейсы не найдены", - "description": "Нет трейсов, соответствующих выбранной службе и временному диапазону. Попробуйте расширить временной диапазон или выбрать другую службу." + "description": "Ни один трейс не соответствует выбранному сервису и временному диапазону. Попробуйте расширить временной диапазон или выбрать другой сервис." }, "noServiceGraph": { "title": "Нет данных графа служб", - "description": "Попробуйте запросить более длительный временной диапазон или убедитесь, что ваши службы отправляют метрики спанов." + "description": "Попробуйте выбрать более длинный временной диапазон или убедитесь, что ваши сервисы отправляют метрики span." }, "noServicesCatalog": { "title": "Службы не найдены", @@ -409,7 +409,7 @@ "streams": "потоки", "alerts": "оповещения", "incidents": "инциденты", - "traces": "трассы", + "traces": "трейсы", "discoveryItems": "нездоровые элементы", "datasetItems": "элементы", "searches": "поиски", @@ -426,9 +426,9 @@ "roleLimits": "лимиты ролей", "ingestionTokens": "токены приема", "organizations": "организации", - "alertDestinations": "назначения", + "alertDestinations": "получатели", "alertSources": "источники оповещений", - "pipelineDestinations": "назначения", + "pipelineDestinations": "получатели", "alertTemplates": "шаблоны", "evalTemplates": "шаблоны оценки", "enrichmentTables": "таблицы обогащения", @@ -523,8 +523,8 @@ "relatedEvents": "Связанные события", "on": "вкл", "event": "событие", - "viewTraceDetails": "Просмотреть детали трассировки", - "viewTrace": "Просмотреть трассировку", + "viewTraceDetails": "Просмотреть детали трейса", + "viewTrace": "Просмотреть трейс", "networkRequests": "Сетевые запросы", "noNetworkRequestsFound": "Для этого события не найдены сетевые запросы", "consoleLogsComingSoon": "Логи консоли скоро появятся", @@ -744,7 +744,7 @@ "nameIsRequired": "Имя обязательно", "streamTypeIsRequired": "Тип потока обязателен", "functionNameIsRequired": "Имя функции обязательно", - "remoteDestinationIsRequired": "Удалённое назначение обязательно", + "remoteDestinationIsRequired": "Требуется удаленный получатель", "timezoneIsRequired": "Часовой пояс обязателен", "idPrefix": "ID: {id}", "unchangedCount": "Без изменений ({count})", @@ -845,9 +845,9 @@ "loadError": "Сохраненное условие не удалось прочитать и оно было сброшено. Сохранение сейчас перезапишет его." }, "destination": { - "createNew": "Создать новый пункт назначения", - "select": "Пункт назначения", - "loadError": "Ошибка при загрузке пунктов назначения." + "createNew": "Создать нового получателя", + "select": "Получатель", + "loadError": "Ошибка при загрузке получателей." }, "function": { "createNew": "Создать новую функцию", @@ -1061,10 +1061,10 @@ "regionFilterMsg": "Поиск региона/кластера", "queryRangeRestrictionMsg": "Диапазон запроса ограничен {range}. Пожалуйста, измените диапазон дат соответственно. В противном случае дата начала будет автоматически скорректирована в соответствии с допустимым лимитом.", "cancel": "Отменить запрос", - "viewTrace": "Просмотр трассировки", - "viewTraceUnavailable": "Не удалось открыть трейс для этой записи журнала.", + "viewTrace": "Просмотреть трейс", + "viewTraceUnavailable": "Не удалось открыть трейс для этой записи лога.", "viewRelated": "Просмотр связанного", - "viewRelatedTooltip": "Просмотр связанных трассировок и метрик", + "viewRelatedTooltip": "Просмотреть связанные трейсы и метрики", "flattened": "Уплощённый", "original": "Исходный", "resetFilters": "Сбросить фильтры", @@ -1146,8 +1146,8 @@ "selectFunctionNamePlaceholder": "Выбрать имя функции", "confirmFunctionUpdateTitle": "Подтвердить обновление", "confirmFunctionUpdateMsg": "Вы уверены, что хотите обновить функцию {name}?", - "traceIdLabel": "ID трассировки:", - "enterTraceIdPlaceholder": "Введите ID трассировки", + "traceIdLabel": "ID трейса:", + "enterTraceIdPlaceholder": "Введите ID трейса", "changeQueryModeTitle": "Изменить режим запроса", "changeQueryModeConfirm": "Вы уверены, что хотите изменить режим запроса? Данные, сохраненные для оси X, оси Y и фильтров, будут удалены.", "patternExampleLog": "Пример лога", @@ -1199,7 +1199,7 @@ "about": "О продукте", "index": "Потоки", "search": "Логи", - "traces": "Трассировки", + "traces": "Трейсы", "serviceGraph": "Граф сервисов", "services": "Каталог сервисов", "aiObservability": "ИИ", @@ -1383,7 +1383,7 @@ "loadingMsg": "Держитесь, мы загружаем данные RUM.", "breadcrumbs": "Хлебные крошки", "tags": "Теги", - "traces": "Трассировки", + "traces": "Трейсы", "searchEvents": "Поиск событий", "loadingSessions": "Держитесь, мы загружаем сессии.", "errorStack": "Стек ошибки", @@ -1394,11 +1394,11 @@ "discoverSessionMessage": "Воспроизведение сессии захватывает и воспроизводит взаимодействия пользователей на вашем веб-сайте или приложении. Это позволяет визуально просмотреть, как пользователи перемещаются, куда они нажимают, что вводят и как взаимодействуют с вашим контентом", "loadingErrorDetails": "Держитесь, мы загружаем детали ошибки.", "eventID": "ID события", - "noCorrelatedTraces": "Не найдено коррелированных трассировок для этой сессии.", + "noCorrelatedTraces": "Для этой сессии не найдено связанных трейсов.", "span": "span", "spans": "spans", - "errorTraces": "трассировки ошибок", - "failedToFetchTraces": "Не удалось получить данные трассировки. Пожалуйста, попробуйте снова.", + "errorTraces": "трейсы с ошибками", + "failedToFetchTraces": "Не удалось получить данные трейсов. Попробуйте снова.", "seekToMoment": "Перейти к этому моменту в сессии", "route": "Маршрут", "duration": "Длительность", @@ -1485,7 +1485,7 @@ "frustrationErrorClick": "Клик вызвал ошибку JavaScript", "frustrationRageTap": "Пользователь быстро нажал несколько раз (3+) — указывает на фрустрацию", "frustrationErrorTap": "Касание вызвало ошибку JavaScript", - "fetchTraceMetadataFailed": "Не удалось получить метаданные трассировки", + "fetchTraceMetadataFailed": "Не удалось получить метаданные трейса.", "frustrationEventTooltip": "⚠️ ФРУСТРАЦИЯ: {types}\n{name}", "errorEventTooltip": "⛔ ОШИБКА: {name}", "frustrationSignalType": "Сигнал фрустрации: {type}" @@ -1561,7 +1561,7 @@ "feature_license": "Лицензия", "feature_support": "Поддержка", "feature_cost": "Стоимость", - "feature_pipelines_external": "Конвейеры - внешние назначения", + "feature_pipelines_external": "Конвейеры — Внешние назначения", "feature_extreme_performance": "Экстремальная производительность (улучшение в 100 раз для многих запросов)", "feature_query_optimizer": "Оптимизатор запросов", "value_license_agpl": "AGPL", @@ -1663,7 +1663,7 @@ }, "core_features": { "logs_metrics_traces": { - "name": "Журналы, метрики, трейсы", + "name": "Логи, Метрики, Трейсы", "note": "Полный прием и анализ данных наблюдаемости" }, "rum": { @@ -1736,7 +1736,7 @@ "note": "Защита персональных данных и конфиденциальной информации" }, "pipeline_remote_destinations": { - "name": "Удаленные назначения конвейера", + "name": "Удаленные назначения конвейеров", "note": "Отправка данных в удаленные назначения" }, "query_optimizer": { @@ -2546,7 +2546,7 @@ }, "workflow": { "header": "Рабочие процессы", - "subtitle": "Автоматизируйте действия с помощью триггеров, логики и пунктов назначения", + "subtitle": "Автоматизируйте действия с помощью триггеров, логики и назначений", "create": "Новый workflow", "createSuccess": "Рабочий процесс успешно создан", "name": "Название рабочего процесса", @@ -2664,8 +2664,8 @@ "input": "Ввод", "output": "Вывод", "noInput": "На последнем запуске этот шаг не получил записей.", - "sentExternally": "Отправлено во внешний приёмник", - "destinationNoRecords": "До этого приёмника не дошло ни одной записи — ничего не было отправлено.", + "sentExternally": "Отправлено во внешнее назначение", + "destinationNoRecords": "До этого назначения не дошло ни одной записи — ничего не отправлено.", "branchFiltered": "0 записей — в эту ветку ничего не передано.", "conditionNoMatch": "Ни одна запись не соответствовала этому условию — дальше по конвейеру ничего не пошло.", "errorHeading": "Ошибка", @@ -2741,12 +2741,12 @@ "functionCreateNew": "Создать новую функцию", "functionRequired": "Функция обязательна", "functionLoadError": "Не удалось загрузить функции", - "destinationBody": "Отправить в пункт назначения", + "destinationBody": "Отправить в назначение", "destinationBodySet": "Отправляет в {name}", - "destinationSelect": "Пункт назначения", - "destinationCreateNew": "Создать новый пункт назначения", - "destinationRequired": "Пожалуйста, выберите пункт назначения", - "destinationLoadError": "Не удалось загрузить пункты назначения", + "destinationSelect": "Назначение", + "destinationCreateNew": "Создать новое назначение", + "destinationRequired": "Пожалуйста, выберите назначение", + "destinationLoadError": "Не удалось загрузить назначения", "namePlaceholder": "Назовите этот шаг (необязательно)", "commentLabel": "Комментарий (необязательно)", "commentPlaceholder": "Добавьте заметку об этом шаге...", @@ -2756,8 +2756,8 @@ "disabledBadge": "Отключено", "incompleteBadge": "Настроить позже", "destinationSetUpLater": "Настроить позже", - "destinationSetUpLaterPrompt": "Ещё нет пункта назначения? Включите это, чтобы настроить его позже — вы можете сохранить черновик и протестировать сейчас.", - "destinationSetUpLaterActive": "Пункт назначения пока пропускается — имя и комментарий всё равно сохраняются. Вам понадобится пункт назначения перед публикацией.", + "destinationSetUpLaterPrompt": "Еще нет назначения? Включите эту опцию, чтобы настроить его позже — вы можете сохранить черновик и протестировать сейчас.", + "destinationSetUpLaterActive": "Назначение пока пропускается — имя и комментарий сохраняются. Перед публикацией вам потребуется назначение.", "functionSetUpLater": "Настроить позже", "functionSetUpLaterPrompt": "Ещё нет функции? Включите это, чтобы настроить её позже — вы можете сохранить черновик и протестировать сейчас.", "functionSetUpLaterActive": "Функция пока пропускается — имя и комментарий всё равно сохраняются. Вам понадобится функция перед публикацией." @@ -2815,8 +2815,8 @@ "functionNodeEmptyName": "У узла функции {id} пустое имя функции", "functionNodeInvalidName": "У узла функции {id} недопустимое имя функции \"{name}\". Должно быть одним из доступных функций.", "outputStreamNodeEmptyName": "У узла выходного потока {id} пустое имя потока", - "remoteStreamNodeEmptyDestination": "У узла удаленного потока {id} пустое имя назначения", - "remoteStreamNodeInvalidDestination": "У узла удаленного потока {id} недопустимое назначение \"{destination}\". Должно быть одним из доступных назначений конвейера.", + "remoteStreamNodeEmptyDestination": "У удаленного узла потока {id} не указано имя назначения.", + "remoteStreamNodeInvalidDestination": "У удаленного узла потока {id} недопустимое назначение \"{destination}\". Оно должно быть одним из доступных назначений конвейера.", "edgeMissingSourceNode": "Ребро {id} ссылается на несуществующий исходный узел {source}", "edgeMissingTargetNode": "Ребро {id} ссылается на несуществующий целевой узел {target}", "inputNodeHasIncomingEdges": "Входной узел {id} не должен иметь входящих ребер. Найдено {count} входящих ребер.", @@ -2831,7 +2831,7 @@ "importErrors": { "unknownError": "Неизвестная ошибка", "nameRequired": "Конвейер - {index}: требуется имя", - "streamTypeInvalid": "Конвейер - {index}: тип потока обязателен и должен быть одним из: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Конвейер - {index}: Тип потока обязателен и должен быть одним из: 'logs', 'metrics', 'traces'.", "sourceStreamNameRequired": "Конвейер - {index}: требуется имя исходного потока ", "sqlQueryRequired": "Конвейер - {index}: требуется SQL-запрос", "timezoneRequired": "Конвейер - {index}: требуется часовой пояс", @@ -2844,7 +2844,7 @@ "v0ConditionFields": "Конвейер - {index}, узел {nodeIndex}: формат V0 - каждое условие должно содержать column, operator и value.", "v1ConditionInvalid": "Конвейер - {index}, узел {nodeIndex}: неверный формат условия V1.", "conditionFormatUnrecognized": "Конвейер - {index}, узел {nodeIndex}: нераспознанный формат условия.", - "remoteDestinationRequired": "Конвейер - {index}: требуется удалённое назначение", + "remoteDestinationRequired": "Конвейер - {index}: Требуется удаленное назначение", "createSuccess": "Конвейер - {index}: \\\"{name}\\\" успешно создан \\\\nПримечание: удалите созданный объект конвейера {name} из json-файла", "createFailed": "Конвейер - {index}: создание \\\"{name}\\\" не удалось --> \\\\n Причина: {reason}", "sqlQueryMismatch": "Pipeline - {index}: SQL-запрос должен быть одинаковым во всех узлах, а также постарайтесь сопоставить запрос в узлах \n\n input.sql_query: {sqlQuery} \n\n input.source.query_condition.sql: {sourceSql} \n", @@ -2945,7 +2945,7 @@ "defaultDelayTooltip": "По умолчанию: 5 секунд", "deleteDataBeforeBackfill": "Удалить существующие данные перед обратным заполнением", "irreversibleDeletionWarning": "Предупреждение: Необратимое удаление данных", - "deleteBackfillWarningMessage": "Это приведет к безвозвратному удалению всех данных в целевом потоке за указанный временной диапазон перед запуском обратного заполнения. Это действие нельзя отменить.", + "deleteBackfillWarningMessage": "Это приведет к безвозвратному удалению всех данных в целевом потоке за указанный диапазон времени перед запуском backfill. Это действие не может быть отменено.", "timeAlignmentRequirements": "Требования к выравниванию времени (UTC):", "logsHourBoundaryNote": "потоки: Время должно совпадать с границами часов в UTC (например, 10:00:00, а не 10:15:00)", "metricsTracesLabel": "Метрики/Трейсы", @@ -2971,8 +2971,8 @@ "statusUnknown": "Неизвестно", "phaseInitializing": "Инициализация" }, - "deleteBackfillConfirmMessage": "Вы выбрали удаление существующих данных перед обратным заполнением. Это приведет к безвозвратному удалению всех данных в целевом потоке за указанный временной диапазон.", - "editBackfillDeleteConfirmMessage": "Вы выбрали удаление существующих данных перед обратным заполнением. Это приведет к безвозвратному удалению всех данных в целевом потоке за указанный временной диапазон. Это действие НЕЛЬЗЯ отменить или прекратить после обновления задачи. Вы уверены, что хотите продолжить?", + "deleteBackfillConfirmMessage": "Вы выбрали удаление существующих данных перед backfill. Это приведет к безвозвратному удалению всех данных в целевом потоке за указанный диапазон времени.", + "editBackfillDeleteConfirmMessage": "Вы выбрали удаление существующих данных перед backfill. Это приведет к безвозвратному удалению всех данных в целевом потоке за указанный диапазон времени. Это действие НЕ может быть отменено или прервано после обновления задания. Вы уверены, что хотите продолжить?", "actionCannotBeUndone": "Это действие НЕЛЬЗЯ отменить или прекратить после создания задачи.", "areYouSureProceed": "Вы уверены, что хотите продолжить?", "clearFilters": "Очистить фильтры", @@ -2993,7 +2993,7 @@ "chunkPeriodDefaultPlaceholder": "60", "organizationId": "Идентификатор организации", "functionName": "Имя функции", - "remoteDestination": "Удалённое назначение", + "remoteDestination": "Удаленное назначение", "failedToLoadPipeline": "Не удалось загрузить конвейер", "header": "Конвейеры", "subtitle": "Трансформируйте, обогащайте и маршрутизируйте данные в процессе", @@ -3037,14 +3037,14 @@ "functionTooltip": "Узел функции", "conditionTooltip": "Узел условия", "destinationStreamTooltip": "Назначение: узел потока", - "destinationExternalTooltip": "Назначение: внешний узел назначения", + "destinationExternalTooltip": "Назначение: узел внешнего назначения", "pipelineNotFound": "Конвейер не найден", "pipelineNameRequired": "Имя конвейера обязательно", "sourceNodeRequired": "Узел источника обязателен", "destinationNodeRequired": "Узел назначения обязателен", "connectAllNodes": "Пожалуйста, соедините все узлы перед сохранением", "connectAllNodesShort": "Пожалуйста, соедините все узлы", - "enrichmentTablesScheduledOnly": "Таблицы обогащения в качестве потока назначения доступны только для запланированных конвейеров", + "enrichmentTablesScheduledOnly": "Таблицы обогащения в качестве целевого потока доступны только для конвейеров по расписанию", "savingPipeline": "Сохранение конвейера...", "pipelineUpdated": "Конвейер успешно обновлен", "pipelineSaved": "Конвейер успешно сохранен", @@ -3076,7 +3076,7 @@ "functionAlreadyAssociated": "Функция уже связана", "atLeastOneCondition": "Добавьте хотя бы одно условие", "fillAllConditionFields": "Заполните все поля условия (столбец, оператор и значение обязательны)", - "selectExternalDestination": "Выберите внешний пункт назначения из списка", + "selectExternalDestination": "Пожалуйста, выберите внешнее назначение из списка", "backfillNumericRange": "Должно быть от {min} до {max}", "selectValidTimeRange": "Выберите допустимый временной диапазон", "startBeforeEndTime": "Время начала должно быть раньше времени окончания", @@ -3182,7 +3182,7 @@ "noJobSelected": "Задача не выбрана", "updateBackfillJobFailed": "Не удалось обновить задачу обратного заполнения", "fetchPipelineHistoryFailed": "Не удалось получить историю конвейера", - "defaultDestinationNodeWarning": "Удаление узла назначения по умолчанию останавливает прием данных в него. Исходный поток будет направляться только во вновь добавленный поток назначения. Данные, не направленные ни в один поток назначения, будут отброшены.", + "defaultDestinationNodeWarning": "Удаление узла назначения по умолчанию останавливает прием данных в него. Исходный поток будет направлять данные только в добавленный целевой поток. Данные, не направленные ни в один целевой поток, будут отброшены.", "confirmBulkDeleteMsg": "Вы уверены, что хотите удалить {count} конвейер(ов)?", "confirmPauseBackfillJob": "Вы уверены, что хотите приостановить задачу обратного заполнения для \"{name}\"? Вы сможете возобновить её позже.", "confirmResumeBackfillJob": "Вы уверены, что хотите возобновить задачу обратного заполнения для \"{name}\"?", @@ -3292,10 +3292,10 @@ "analyzingDimensions": "Анализ измерений...", "arrowSeparator": "→", "computingDistributions": "Вычисление распределений частот по {count} измерениям", - "dashboardDescError": "Сравнение процента ошибок трасс в период всплеска ошибок с базовым уровнем по измерениям.", - "dashboardDescLatency": "Сравнение процентильной задержки выбранных трасс (длительность {start}-{end}µs) с базовым уровнем по измерениям.", - "dashboardDescVolume": "Сравнение распределения количества трасс с базовым уровнем по измерениям.", - "dashboardDescVolumeRate": "Сравнение распределения количества трасс за выбранные периоды (скорость {start}-{end} трасс) с базовым уровнем по измерениям.", + "dashboardDescError": "Сравнение процента ошибок трейсов в период всплеска ошибок с базовым уровнем по измерениям", + "dashboardDescLatency": "Сравнение перцентильной задержки выбранных трейсов (длительность {start}-{end}µs) с базовым уровнем по измерениям", + "dashboardDescVolume": "Сравнение распределения количества трейсов с базовым уровнем по измерениям", + "dashboardDescVolumeRate": "Сравнение распределения количества трейсов выбранных периодов (интенсивность {start}-{end} трейсов) с базовым уровнем по измерениям", "dashboardTitleError": "Анализ ошибок", "dashboardTitleLatency": "Анализ задержек", "dashboardTitleVolume": "Анализ объемов", @@ -3303,8 +3303,8 @@ "durationLabel": "Длительность:", "failedToLoad": "Не удалось загрузить анализ", "panelDescErrorComparison": "Сравнение процента ошибок для измерения: {dimension}. Более высокие выбранные столбцы указывают, что это значение измерения имеет больше ошибок в период всплеска ошибок.", - "panelDescLatencyComparison": "Сравнение процентильной задержки для измерения: {dimension}. Более высокие выбранные столбцы указывают, что это значение измерения коррелирует с более медленными трассами.", - "panelDescVolumeComparison": "Сравнение количества трасс для измерения: {dimension}. Более высокие выбранные столбцы указывают, что это значение измерения чаще встречается в периоды высокой нагрузки.", + "panelDescLatencyComparison": "Сравнение перцентильной задержки для измерения: {dimension}. Более высокие выбранные столбцы указывают, что это значение измерения коррелирует с более медленными трейсами.", + "panelDescVolumeComparison": "Сравнение количества трейсов для измерения: {dimension}. Более высокие выбранные столбцы указывают, что это значение измерения встречается чаще в периоды высокой нагрузки.", "panelDescVolumeTopValues": "Топ значений по количеству для измерения: {dimension}.", "refreshTooltip": "Обновить анализ с обновленным процентилем", "retryButton": "Повторить", @@ -3315,7 +3315,7 @@ "title": "Инсайты", "tabLabel": "Скорость", "analyzeTooltipLogs": "Просмотреть инсайты для текущего временного диапазона", - "analyzeTooltipTraces": "Анализировать измерения трассировок для шаблонов скорости, задержки и ошибок", + "analyzeTooltipTraces": "Анализировать измерения трейсов по интенсивности, задержке и паттернам ошибок", "rateLabel": "Скорость:", "searchInspectionsLabel": "Просмотреть детали выполнения задания поиска", "inspectBtnLabel": "Просмотреть", @@ -3418,7 +3418,7 @@ "singleTargetTitle": "Одиночная цель удалённой записи", "fanoutTitle": "Разветвление на несколько бэкендов", "tipPrefix": "Совет: `vmagent` может дублировать записи, повторяя", - "tipSuffix": "флаг, поэтому вы можете сохранить существующее назначение VictoriaMetrics, одновременно пересылая метрики в OpenObserve.", + "tipSuffix": "флаг, чтобы вы могли сохранить существующий приемник VictoriaMetrics, одновременно пересылая метрики в OpenObserve.", "docLinkText": "чтобы узнать больше о настройке целей удалённой записи vmagent." }, "ai": { @@ -3441,7 +3441,7 @@ "customLabel": "Пользовательский", "logsLabel": "Логи", "metricsLabel": "Метрики", - "tracesLabel": "Трассировки", + "tracesLabel": "Трейсы", "redirectionIngestionMsg": "Примечание: Для доступа к страницам, кроме IAM, необходимо инициировать прием данных в рамках текущей организации.", "databaseLabel": "Базы данных", "securityLabel": "Безопасность", @@ -3629,14 +3629,14 @@ "anyWindowsHostNote": "Любой сервер или виртуальная машина Windows.", "arrow": "→", "askOnSlack": "Спросите в Slack", - "autoInstrumentTracesDesc": "Необязательно. Оператор OpenTelemetry внедряет инструментирование в аннотированные рабочие нагрузки, поэтому вы получаете **распределённую трассировку без изменения кода приложения или пересборки образов**. Выберите язык, затем аннотируйте пространство имён, в котором работает приложение.", - "autoInstrumentTracesTitle": "Автоинструментация ваших приложений для трассировки", + "autoInstrumentTracesDesc": "Необязательно. Оператор OpenTelemetry внедряет инструментирование в аннотированные рабочие нагрузки, так что вы получаете **распределенные трейсы без изменения кода приложения или пересборки образов**. Выберите язык, затем аннотируйте пространство имен, в котором он работает.", + "autoInstrumentTracesTitle": "Автоматическое инструментирование приложений для трейсов", "cassandraJmxNote": "Включите удалённый доступ JMX на Cassandra, чтобы приёмник мог подключиться.", "cassandraTagline": "Собирайте метрики Cassandra через JMX-приёмник OpenTelemetry Collector и отправляйте их в OpenObserve.", "checking": "Проверка…", "checkingForLogs": "Проверка логов…", "checkingForMetrics": "Проверка метрик…", - "checkingForSpans": "Проверка спанов…", + "checkingForSpans": "Проверяем спаны…", "chipEditor": "Редактор", "chipInstall": "Установить", "chipLogs": "Логи", @@ -3661,7 +3661,7 @@ "downloadEnvTooltip": "Скачать .env", "downloadJmxJarDesc": "Приёмник JMX запускает этот вспомогательный jar-файл (требуется Java на хосте коллектора).", "downloadJmxJarTitle": "Скачать JMX Metrics Jar", - "dynamodbFirehoseEndpointDesc": "Используйте их в качестве назначения **HTTP Endpoint** при создании вашего потока доставки Kinesis Data Firehose.", + "dynamodbFirehoseEndpointDesc": "Используйте их как назначение **HTTP Endpoint** при создании потока доставки Kinesis Data Firehose.", "dynamodbFirehoseEndpointTitle": "Конечная точка Firehose OpenObserve", "dynamodbPipelineDesc": "Включите **DynamoDB Streams** для вашей таблицы, подключите её к **Kinesis Data Stream**, затем направьте поток доставки **Kinesis Data Firehose** на HTTP endpoint выше.", "dynamodbPipelineTitle": "Поток DynamoDB → Firehose", @@ -3675,7 +3675,7 @@ "gcpFixBody": "GCP сообщает об ошибках доставки на самой подписке. Если приёмник публикует данные, но сюда ничего не поступает, обычно это push-конечная точка отклоняет запрос:", "gcpFixTitle": "Проверьте push-подписку", "gcpPushUrlNote": "Держите этот URL в секрете — он содержит ключ приёма данных. Если он утёк, перевыпустите его в шапке этой страницы.", - "gcpSinkDesc": "В консоли GCP создайте **приёмник Log Router** (Logging → Log Router → Create sink) с Pub/Sub в качестве назначения и позвольте ему создать тему. Фильтр включения приёмника определяет, какие логи попадают в OpenObserve.", + "gcpSinkDesc": "В консоли GCP создайте **приемник Log Router** (Logging → Log Router → Создать приемник) с Pub/Sub в качестве назначения и позвольте ему создать тему. Фильтр включения приемника определяет, какие логи попадают в OpenObserve.", "gcpSinkTitle": "Направьте логи в тему Pub/Sub", "gcpSinkWriterNote": "Предоставьте пишущему субъекту приёмника роль Pub/Sub Publisher в теме, иначе он молча ничего не опубликует.", "gcpStreamHelp": "Используется в URL-адресе отправки выше и отслеживается проверкой ниже. Выделенный поток позволяет хранить журналы GCP отдельно.", @@ -3714,7 +3714,7 @@ "k8sInstallerNote": "Это автоматически устанавливает cert-manager, оператор OpenTelemetry и коллектор OpenObserve.", "k8sInternalEndpointNote": "Используйте это, когда OpenObserve работает в этом же кластере — трафик не выходит за его пределы.", "k8sTroubleAnnotationA": "Внедрение происходит при создании пода, поэтому существующие поды не изменяются до перезапуска — выполните `kubectl rollout restart deployment -n my-namespace`. Убедитесь, что аннотация применилась, с помощью `kubectl get ns my-namespace -o yaml`, и проверьте, что значение соответствует `openobserve-collector/openobserve-`. Для Go `otel-go-auto-target-exe` должен указывать на путь к бинарному файлу **внутри** контейнера.", - "k8sTroubleAnnotationQ": "Я аннотировал пространство имён, но трейсы не появляются", + "k8sTroubleAnnotationQ": "Я аннотировал пространство имен, но трейсы не появляются", "k8sTroubleEndpointA": "Используйте **In-Cluster** только когда OpenObserve работает в этом кластере; тогда трафик остаётся внутри кластера и не выходит в сеть. URL: `http://-openobserve-router..svc.cluster.local:5080` — по умолчанию предполагается релиз `o2` в пространстве имён `openobserve`, поэтому отредактируйте его, если ваши значения отличаются. Все остальные используют внешнюю конечную точку.", "k8sTroubleEndpointQ": "Какую конечную точку мне использовать — внешнюю или внутрикластерную?", "k8sTroubleExampleA": "Да — **HOT commerce** — это пример приложения, настроенного по полному циклу, а документация **OpenTelemetry Operator** содержит полный справочник по аннотациям. Обе ссылки находятся внизу этой страницы.", @@ -3763,10 +3763,10 @@ "otlpTracesStreamHelp": "Записывается в конфигурацию выше как `stream-name` и отслеживается проверкой ниже.", "otlpTrouble401A": "Заголовок `Authorization` должен быть `Basic ` с использованием токена приема этой организации — значение выше уже корректно. Если он был ротирован, скопируйте его заново с этой страницы.", "otlpTrouble401Q": "Коллектор фиксирует 401 или 403", - "otlpTroubleHttpGrpcA": "HTTP — безопасный выбор по умолчанию и легко проходит через прокси и балансировщики нагрузки. gRPC имеет меньшие накладные расходы при большом объеме спанов, но требует доступности порта 5081 на всем пути.", + "otlpTroubleHttpGrpcA": "HTTP — безопасный вариант по умолчанию и без проблем проходит через прокси и балансировщики нагрузки. gRPC имеет меньшие накладные расходы при большом объеме спанов, но требует, чтобы порт 5081 был доступен на всем пути.", "otlpTroubleHttpGrpcQ": "Что использовать: HTTP или gRPC?", "otlpTroubleStreamA": "Заголовок `stream-name` определяет поток. Установите его в то же имя, что и поле выше, иначе проверка ниже будет отслеживать поток, в который ничего не записывается.", - "otlpTroubleStreamQ": "Спаны поступают, но попадают не в тот поток", + "otlpTroubleStreamQ": "Спаны приходят, но попадают не в тот поток", "otlpTroubleTlsA": "Флаг `tls.insecure` должен соответствовать схеме конечной точки — выше он установлен в `{insecure}` на основе URL этого развертывания. Для конечной точки по обычному HTTP требуется `insecure: true`; для HTTPS — `false`.", "otlpTroubleTlsQ": "gRPC-соединение завершается ошибкой TLS", "pillActiveBackends": "Активные бэкенды", @@ -3969,19 +3969,19 @@ "sqlServerTagline": "Собирайте метрики SQL Server с помощью OpenTelemetry Collector и отправляйте их в OpenObserve.", "startIngestingTestForLogs": "начните приём данных, затем проверьте логи", "startIngestingTestForMetrics": "начните приём данных, затем проверьте метрики", - "startIngestingTestForSpans": "начните приём данных, затем проверьте спаны", + "startIngestingTestForSpans": "начните прием данных, затем проверьте спаны", "streamNameError": "Используйте только буквы, цифры и знак подчёркивания _.", "streamNameLabel": "Имя потока", "stuck": "Застряли?", "taglineDatabricks": "Отправляйте логи блокнотов Databricks в OpenObserve через API логов.", "taglineGcp": "Передавайте логи Google Cloud в OpenObserve с помощью push-подписки Pub/Sub — не нужно запускать агент или коллектор.", - "taglineKubernetes": "Разверните коллектор OpenObserve в вашем кластере — логи контейнеров, события Kubernetes и метрики кластера, а также трейсы без кода для ваших рабочих нагрузок.", + "taglineKubernetes": "Разверните коллектор OpenObserve в вашем кластере — логи контейнеров, события Kubernetes и метрики кластера, а также трейсы без написания кода для ваших рабочих нагрузок.", "taglineLinux": "Установите агент OpenObserve на любой Linux-хост — системные и journald логи, а также метрики CPU, памяти, диска и сети.", "taglineMacos": "Установите агент OpenObserve на любой Mac — единый журнал и стандартные файлы журналов, а также метрики CPU, памяти, диска и сети.", "taglineOtlpTraces": "Направьте любой экспортер OpenTelemetry на OpenObserve — коллектор или SDK, HTTP или gRPC. Ваша конечная точка и токен заполнены ниже.", "taglineWindows": "Установите агент OpenObserve на любой Windows-хост — журнал событий, счетчики производительности и метрики хоста.", "testAgain": "Проверить снова", - "tracesStreamNameLabel": "Имя потока трассировок", + "tracesStreamNameLabel": "Имя потока трейсов", "trackScreensDesc": "Если вы используете React Navigation, передайте SDK ссылку на вашу навигацию, и каждое изменение маршрута будет записано как представление RUM — без кода на каждый экран.", "trackScreensTitle": "Отслеживать экраны автоматически (необязательно)", "troubleshooting": "Устранение неполадок", @@ -4001,7 +4001,7 @@ "verifyMongodbMetricsDesc": "Нажмите «Тест» ниже или проверьте потоки на наличие метрик `mongodb_*`.", "verifyMysqlMetricsDesc": "Нажмите «Тест» ниже или проверьте потоки на наличие метрик `mysql_*`.", "verifyOracledbMetricsDesc": "Нажмите «Тест» ниже или проверьте потоки на наличие метрик `oracledb_*`.", - "verifyOtlpTracesDesc": "Перезапустите коллектор (или ваше приложение), выполните запрос, который создаёт span, затем нажмите «Тест».", + "verifyOtlpTracesDesc": "Перезапустите коллектор (или ваше приложение), выполните запрос, который создает спан, затем нажмите «Тест».", "verifyPostgresqlMetricsDesc": "Нажмите «Тест» ниже или проверьте потоки на наличие метрик `postgresql_*`.", "verifyReactNativeRumDesc": "Запустите приложение на симуляторе, эмуляторе или устройстве, перейдите между несколькими экранами, затем нажмите «Проверить» — события React Native попадают в поток `_rumdata`.", "verifyRedisMetricsDesc": "Нажмите «Тест» ниже или проверьте потоки на наличие метрик `redis_*`.", @@ -4036,11 +4036,11 @@ "verifyAndroidRumDesc": "Запустите приложение на эмуляторе или устройстве, переместитесь между несколькими экранами, затем нажмите «Тест» — события нативного Android попадают в поток `_rumdata`.", "verifyIosRumDesc": "Запустите приложение на симуляторе или устройстве, переместитесь между несколькими экранами, затем нажмите «Тест» — события нативного iOS попадают в поток `_rumdata`.", "dbmPreparePostgresTitle": "Мониторинг базы данных · Предоставление доступа (необязательно)", - "dbmPreparePostgresDesc": "**Всё вышеперечисленное работает самостоятельно** — данные о времени запросов уже попадают в раздел «Базы данных» из трейсов вашего приложения, без какой-либо настройки здесь. Эти последние шаги добавляют то, что трейс никогда не покажет: взаимоблокировки и заблокированные запросы, которые фиксирует только сама база данных. Выдайте роль `pg_monitor`, чтобы коллектор мог читать запросы других сессий — выполните это в SQL-клиенте, **а не** в вашей оболочке.", + "dbmPreparePostgresDesc": "**Все вышеперечисленное работает само по себе** — время выполнения запросов уже попадает в «Базы данных» из трейсов вашего приложения, и здесь ничего настраивать не нужно. Эти последние шаги добавляют то, что трейс никогда не увидит: взаимоблокировки и заблокированные запросы, которые записывает только сама база данных. Выдайте `pg_monitor`, чтобы коллектор мог читать запросы других сессий — выполните это в SQL-клиенте, а **не** в оболочке.", "dbmPrepareMysqlTitle": "Мониторинг базы данных · Хранение истории взаимоблокировок (необязательно)", "dbmPrepareMariadbTitle": "Мониторинг базы данных · Хранение истории взаимоблокировок (необязательно)", - "dbmPrepareMysqlDesc": "**Всё вышеперечисленное работает самостоятельно** — данные о времени запросов уже попадают в раздел «Базы данных» из трейсов вашего приложения, без какой-либо настройки здесь. Эти последние шаги добавляют то, что трейс никогда не покажет: взаимоблокировки и заблокированные запросы, которые фиксирует только сама база данных. Включите полную историю взаимоблокировок — выполните это в SQL-клиенте, **а не** в вашей оболочке.", - "dbmPrepareMariadbDesc": "**Всё вышеперечисленное работает самостоятельно** — данные о времени запросов уже попадают в раздел «Базы данных» из трейсов вашего приложения, без какой-либо настройки здесь. Эти последние шаги добавляют то, что трейс никогда не покажет: взаимоблокировки и заблокированные запросы, которые фиксирует только сама база данных. Включите полную историю взаимоблокировок — выполните это в SQL-клиенте, **а не** в вашей оболочке.", + "dbmPrepareMysqlDesc": "**Все вышеперечисленное работает само по себе** — время выполнения запросов уже попадает в «Базы данных» из трейсов вашего приложения, и здесь ничего настраивать не нужно. Эти последние шаги добавляют то, что трейс никогда не увидит: взаимоблокировки и заблокированные запросы, которые записывает только сама база данных. Включите полную историю взаимоблокировок — выполните это в SQL-клиенте, а **не** в оболочке.", + "dbmPrepareMariadbDesc": "**Все вышеперечисленное работает само по себе** — время выполнения запросов уже попадает в «Базы данных» из трейсов вашего приложения, и здесь ничего настраивать не нужно. Эти последние шаги добавляют то, что трейс никогда не увидит: взаимоблокировки и заблокированные запросы, которые записывает только сама база данных. Включите полную историю взаимоблокировок — выполните это в SQL-клиенте, а **не** в оболочке.", "dbmPgLoggingTitle": "Мониторинг базы данных · Пусть Postgres записывает взаимоблокировки (необязательно)", "dbmPgLoggingDesc": "Взаимоблокировки записываются только в журнал Postgres и только при включенных настройках ниже — поэтому именно этот шаг наполняет вкладку «Взаимоблокировки». Строка префикса должна совпадать точно: коллектор читает её, чтобы определить участников, а другой префикс означает, что он ничего не находит, хотя продолжает сообщать о здоровом состоянии.", "dbmPgLoggingVerifyTitle": "Мониторинг базы данных · Проверка применения настроек (необязательно)", @@ -4066,7 +4066,7 @@ "dbmMysqlLogPathHelp": "Коллектор должен иметь возможность читать этот файл. Найдите его с помощью: SHOW VARIABLES LIKE 'log_error';", "dbmMariadbLogPathHelp": "Коллектор должен иметь возможность читать этот файл. Найдите его с помощью: SHOW VARIABLES LIKE 'log_error';", "dbmPrepareMssqlTitle": "Мониторинг баз данных · Предоставить доступ (необязательно)", - "dbmPrepareMssqlDesc": "**Всё вышеперечисленное работает само по себе** — времена запросов уже попадают в «Базы данных» из трейсов вашего приложения, без какой-либо настройки здесь. Эта последняя группа добавляет то, что трейс никогда не увидит: взаимоблокировки и заблокированные запросы, которые записывает только сама база данных. Нужны оба разрешения — одно позволяет коллектору читать другие сеансы, другое — читать историю взаимоблокировок. Выполните их в SQL-клиенте, **а не** в оболочке.", + "dbmPrepareMssqlDesc": "**Все вышеперечисленное работает само по себе** — время выполнения запросов уже попадает в «Базы данных» из трейсов вашего приложения, и здесь ничего настраивать не нужно. Эта последняя группа добавляет то, что трейс никогда не увидит: взаимоблокировки и заблокированные запросы, которые записывает только сама база данных. Нужны обе привилегии — одна позволяет коллектору читать другие сессии, другая — историю взаимоблокировок. Выполните их в SQL-клиенте, а **не** в оболочке.", "dbmConfigureMssqlDesc": "Записывает `dbm-config.yaml` — укажите базу данных для подключения ниже. SQL Server получает здесь взаимоблокировки, заблокированные запросы, образцы активности, топовые запросы и планы выполнения. Приёмник sqlserver читает данные со всего экземпляра, поэтому активность и топовые запросы не ограничиваются базой данных, указанной выше.", "dbmRunMssqlDesc": "Запускает обе конфигурации вместе. Используйте те же логин и пароль, которые вы создали на шаге 1.", "dbmVerifyBlockingDesc": "Откройте **Инфра → Базы данных → Заблокированные запросы**. Сеансы, ожидающие блокировку, появляются, как только один из них попадает в выборку; пустая вкладка подскажет, ничего не заблокировано или ничего не собирается.", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "Откройте **Инфра → Базы данных** и выберите вкладку ниже. Взаимоблокировки и заблокированные запросы появляются, как только база данных сообщает о них; пустая вкладка подскажет, ничего не произошло или ничего не собирается. Состояние таблиц заполняется после первого 60-секундного снимка." }, "instrumentBeforeImportTitle": "Инструментируйте перед импортом клиента", - "instrumentBeforeImportBody": "Если ваше приложение работает, но спаны не приходят, вероятно, инструментирование было загружено после импорта клиента. Измените порядок так, чтобы инициализация выполнялась первой:", + "instrumentBeforeImportBody": "Если ваше приложение работает, но спаны не поступают, вероятно, инструментирование загрузилось после импорта клиента. Измените порядок, чтобы инициализация выполнялась первой:", "launchCloudFormationStack": "Запустить стек CloudFormation", "openStackSetsConsole": "Открыть консоль StackSets", "integrations": { @@ -4916,7 +4916,7 @@ "storage": "Хранилище", "dashboard": "Дашборд" }, - "selectFolderTitle": "Выбрать целевую папку", + "selectFolderTitle": "Выберите папку назначения", "back": "Назад", "addDashboard": "Добавить панель", "folder": "Папка", @@ -5554,7 +5554,7 @@ "deletePanelTitle": "Удалить панель", "deletePanelMessage": "Вы уверены, что хотите удалить эту панель?", "movePanelTitle": "Переместить панель на другую вкладку", - "movePanelMessage": "Выберите целевую вкладку", + "movePanelMessage": "Выберите вкладку назначения", "noQueriesToCreateAlert": "Эта панель не содержит запросов для создания оповещения", "panelQueryMustHaveStream": "Запрос панели должен иметь настроенный поток", "unsupportedPanelTypeAlert": "Создание оповещений из панелей типа {type} может работать не так, как ожидалось", @@ -5718,7 +5718,7 @@ "emptyActionLogs": "Исследовать логи", "emptyActionLogsDesc": "Поиск и фильтрация потоков логов", "emptyActionTraces": "Исследовать трейсы", - "emptyActionTracesDesc": "Просмотр распределенных трейсов и задержек сервисов", + "emptyActionTracesDesc": "Просматривайте распределенные трейсы и задержки сервисов", "anomalyDetectedTitle": "Обнаружена аномалия — {name}", "anomalyDetectedDescription": "Поток: {stream} · {count} аномальных точек", "secondsAgo": "{count} сек. назад", @@ -5806,7 +5806,7 @@ "taglineTail": ". Я могу написать ваш", "taglineSql": "SQL", "taglineVrl": "VRL", - "taglineAnd": "и помочь разобраться с вашими логами, трейсами, метриками и инцидентами.", + "taglineAnd": "и проведет вас по вашим логам, трейсам, метрикам и инцидентам.", "signedInAs": "Вошли как", "role": "Роль", "tryOneOfThese": "Или попробуйте один из этих" @@ -5819,7 +5819,7 @@ }, "incident": { "title": "Расследовать инциденты", - "description": "Поиск первопричины в логах, трейсах, алертах — например: «Почему сработал gateway-5xx?»", + "description": "Анализ первопричин по логам, трейсам и оповещениям — например, «Почему сработал gateway-5xx?»", "prompt": "Помогите расследовать инцидент" }, "dashboard": { @@ -5916,7 +5916,7 @@ "alert": "оповещение", "dashboard": "дашборд", "pipeline": "конвейер", - "report": "отчет", + "report": "отчёт", "function": "функция", "stream": "поток", "folder": "папка", @@ -5962,7 +5962,7 @@ "features": "ВОЗМОЖНОСТИ", "included": "Что входит?", "proPlanSubtitle": "Индивидуальные решения для небольших команд", - "unlimitedNote": "Неограниченное количество пользователей, логов, метрик, трейсов и многое другое.", + "unlimitedNote": "Неограниченные пользователи, логи, метрики, трейсы и многое другое.", "paymentNote": "Оплата рассчитывается на основе использования в конце ежемесячного расчетного периода.", "proPlanLabel": "Оплата по мере использования", "contactLabel": "Связаться с отделом продаж", @@ -6145,13 +6145,13 @@ "anomalyImportFailed": "Anomaly Detection - {index}: импорт \\\"{name}\\\" не удался — {reason}", "nameRequired": "Alert - {index}: Имя обязательно и должно быть допустимой строкой.", "orgIdInvalid": "Alert - {index}: Идентификатор организации обязателен, должен существовать в списке организаций и должен быть равен {orgId}.", - "streamTypeInvalid": "Alert - {index}: Тип потока обязателен и должен быть одним из: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Оповещение - {index}: тип потока обязателен и должен быть одним из: 'logs', 'metrics', 'traces'.", "streamNameInvalid": "Alert - {index}: Имя потока обязательно, должно существовать в списке потоков и должно быть допустимой строкой.", - "destinationsRequired": "Alert - {index}: Получатели обязательны и должны быть массивом.", + "destinationsRequired": "Оповещение - {index}: приёмники обязательны и должны быть массивом.", "enabledBoolean": "Alert - {index}: Enabled должен быть логическим значением.", "tzOffsetNumber": "Alert - {index}: Смещение часового пояса должно быть числом.", "timezoneRequiredForCron": "Alert - {index}: Часовой пояс обязателен, когда тип частоты — 'cron'.", - "destinationNotExist": "Alert - {index}: назначение \"{destination}\" не существует", + "destinationNotExist": "Оповещение - {index}: приёмник \"{destination}\" не существует", "createSuccess": "Alert - {index}: \"{name}\" успешно создан \nПримечание: удалите созданный объект оповещения {name} из json-файла", "createFailed": "Alert - {index}: не удалось создать \"{name}\" --> \n Причина: {reason}", "unknownError": "Неизвестная ошибка", @@ -6288,7 +6288,7 @@ "exportDialogSubtitle": "Проверьте определение, затем скачайте его в формате JSON или Terraform для провайдера OpenObserve.", "jsonFilesOnlyHint": "только файлы .json", "outputMessages": "Выходные сообщения", - "destinationsRequiredLabel": "Назначения *", + "destinationsRequiredLabel": "Приёмники *", "timezoneRequiredLabel": "Часовой пояс *", "organizationIdLabel": "Идентификатор организации", "alertCreationTitle": "Создание оповещения", @@ -6328,13 +6328,13 @@ "guidelinesLabel": "Рекомендации:", "selectStreamGuideline": "Выберите существующий поток из списка или введите имя для создания нового", "enrichmentTablesTerm": "Таблицы обогащения", - "enrichmentTablesDestinationNote": "поскольку поток назначения доступен только для запланированных конвейеров", + "enrichmentTablesDestinationNote": "В качестве целевого потока доступно только для запланированных конвейеров.", "useCurlyBracesNote": "Используйте фигурные скобки", "configureStreamNameDynamicNote": "для динамической настройки имени потока, например.", "staticTextBeforeAfterNote": ". Статический текст до/после", "isOptionalNote": "необязательно", "noTriggersLoaded": "Нет загруженных триггеров", - "externalDestinationTitle": "Внешний адресат", + "externalDestinationTitle": "Внешний приёмник", "serviceGraphLegendTitle": "Легенда графика", "serviceGraphRootCause": "Красный = потенциальная первопричина", "serviceGraphHighFrequency": "Оранжевый = высокая частота", @@ -6381,7 +6381,7 @@ "duration": "Длительность", "retries": "Повторы", "dedup": "Дедуп", - "noDestinations": "Нет доступных адресатов", + "noDestinations": "Нет доступных приёмников", "validation": { "streamTypeRequired": "Тип потока обязателен.", "streamNameRequired": "Имя потока обязательно.", @@ -6392,7 +6392,7 @@ "validEmails": "Добавьте корректные email-адреса!", "silenceNonNegative": "Уведомление о тишине должно быть больше или равно 0", "periodPositive": "Период должен быть больше 0", - "destinationRequired": "Требуется хотя бы один получатель.", + "destinationRequired": "Требуется как минимум один приёмник.", "thresholdPositive": "Порог должен быть больше 0", "frequencyPositive": "Частота должна быть больше 0", "aggregationColumnRequired": "Колонка обязательна при использовании агрегатной функции.", @@ -6435,10 +6435,10 @@ "cronRequiredForCronType": "Cron-выражение обязательно, если тип частоты cron", "timezoneRequiredForCronType": "Часовой пояс обязателен, если тип частоты cron", "triggerConditionRequired": "Условие триггера обязательно", - "destinationsArray": "Получатели должны быть массивом", - "destinationRequiredPlain": "Требуется хотя бы один получатель", - "noDestinationsInSystem": "В системе не найдено доступных получателей", - "invalidDestinations": "Некорректные получатели: {destinations} - должны быть из списка доступных получателей", + "destinationsArray": "Приёмники должны быть массивом", + "destinationRequiredPlain": "Требуется как минимум один приёмник", + "noDestinationsInSystem": "В системе не найдено доступных приёмников", + "invalidDestinations": "Недопустимые приёмники: {destinations} — должны быть из списка доступных приёмников.", "enabledFlagBoolean": "Флаг включения должен быть логическим значением", "silenceNotificationRequired": "Уведомление о тишине не должно быть пустым", "thresholdNotEmpty": "Порог не должен быть пустым", @@ -6459,8 +6459,8 @@ "searchAllFolders": "Все папки", "streamConfig": "Конфигурация потоков", "alertRules": "Правила оповещений", - "noTemplatesMsg": "Для создания оповещения необходим хотя бы один шаблон и один получатель. Шаблоны определяют формат уведомления — начните с создания шаблона.", - "noDestinationsMsg": "Для создания оповещения необходим хотя бы один получатель и один шаблон. Получатели определяют, куда отправляются уведомления — начните с создания получателя.", + "noTemplatesMsg": "Для создания оповещения вам нужен как минимум один шаблон и один приёмник. Шаблоны определяют формат сообщения уведомления — начните с создания шаблона.", + "noDestinationsMsg": "Для создания оповещения вам нужен как минимум один приёмник и один шаблон. Приёмники определяют, куда отправляются уведомления — начните с создания приёмника.", "add": "Новое оповещение", "edit": "Редактировать", "clone": "Клонировать оповещение", @@ -6511,37 +6511,37 @@ "frequency": "Проверять каждые", "threshold": "Оповещать если ", "silenceNotification": "Период ожидания", - "destination": "Назначение", - "destinationOrWorkflowRequired": "Добавьте хотя бы одно назначение или рабочий процесс.", - "customDestination": "Пользовательское назначение", - "customDestinationDescription": "Настройте пользовательскую HTTP-конечную точку или назначение электронной почты", - "testIdleMessage": "Нажмите 'Тест', чтобы проверить конфигурацию назначения", - "destinationPreview": "Предварительный просмотр назначения", + "destination": "Приёмник", + "destinationOrWorkflowRequired": "Добавьте хотя бы один приёмник или рабочий процесс.", + "customDestination": "Пользовательский приёмник", + "customDestinationDescription": "Настройте пользовательский HTTP endpoint или почтовый приёмник.", + "testIdleMessage": "Нажмите «Тест», чтобы проверить конфигурацию приёмника.", + "destinationPreview": "Предпросмотр приёмника", "template": "Переопределение шаблона", "additionalVariables": "Дополнительные переменные", - "testSuccessMessage": "Тест пройден! Ваше назначение настроено правильно.", + "testSuccessMessage": "Тест выполнен успешно! Ваш приёмник настроен правильно.", "testFailedMessage": "Тест не пройден. Проверьте конфигурацию и попробуйте снова.", "testFailedWithReason": "Тест не пройден: {reason}", - "testInProgress": "Тестирование назначения...", + "testInProgress": "Проверка приёмника...", "sendingNotification": "Отправка тестового уведомления для проверки подключения", "testErrorDNS": "Ошибка разрешения DNS. Проверьте URL вебхука или имя хоста.", "testErrorConnection": "Соединение отклонено. Проверьте URL и убедитесь, что сервис доступен.", - "testErrorTimeout": "Истекло время ожидания запроса. Сервис назначения может быть медленным или недоступным.", + "testErrorTimeout": "Время ожидания запроса истекло. Сервис приёмника может быть медленным или недоступным.", "testErrorSSL": "Ошибка сертификата SSL/TLS. Проверьте сертификат или отключите проверку SSL.", "testErrorClientError": "Ошибка клиента (4xx). Проверьте учетные данные и конфигурацию.", - "testErrorServerError": "Ошибка сервера (5xx). Сервис назначения испытывает проблемы.", + "testErrorServerError": "Ошибка сервера (5xx). Сервис приёмника испытывает проблемы.", "viewDetails": "Просмотреть детали", "error": "Ошибка", "httpStatus": "HTTP статус", "responseBody": "Тело ответа", "retry": "Повторить", "suggestCheckUrl": "Пожалуйста, проверьте, что URL вебхука правильный и доступен.", - "suggestCheckFirewall": "Проверьте настройки брандмауэра и убедитесь, что сервис назначения доступен.", + "suggestCheckFirewall": "Проверьте настройки брандмауэра и убедитесь, что сервис приёмника доступен.", "suggestCheckCredentials": "Пожалуйста, проверьте правильность учетных данных API.", "suggestCheckPermissions": "Убедитесь, что у ваших учетных данных есть необходимые разрешения.", "suggestCheckEndpoint": "Пожалуйста, проверьте правильность URL конечной точки.", "suggestRateLimit": "Превышен лимит запросов. Пожалуйста, подождите перед повторной попыткой.", - "suggestServerIssue": "Сервис назначения испытывает проблемы. Пожалуйста, попробуйте позже.", + "suggestServerIssue": "Сервис приёмника испытывает проблемы. Повторите попытку позже.", "description": "Описание", "stream_name": "Имя потока", "cloneTitle": "Клонировать оповещение", @@ -6601,7 +6601,7 @@ "notEqualTo": "не равно", "eventsDetected": "событий обнаружено", "sendsTo": "Отправлять в", - "noDestination": "Нет назначения", + "noDestination": "Нет приёмника", "notSetupYet": "(еще не настроено)", "cooldown": "Тайм-аут", "betweenAlerts": "между оповещениями", @@ -6766,7 +6766,7 @@ "correlatedAlertsCount": "Оповещения: {count} коррелированных оповещений", "noCorrelatedLogs": "Коррелированные логи не найдены", "noCorrelatedMetrics": "Не найдено коррелированных метрик", - "noCorrelatedTraces": "Не найдено коррелированных трейсов", + "noCorrelatedTraces": "Коррелированные трейсы не найдены", "lastAlertAt": "Последнее оповещение", "title_field": "Заголовок", "stableDimensions": "Измерения", @@ -6779,7 +6779,7 @@ "acknowledge": "Подтвердить", "resolve": "Разрешить", "reopen": "Открыть заново", - "statusOpen": "Открыть", + "statusOpen": "Открыт", "statusAcknowledged": "Подтверждено", "statusResolved": "Разрешено", "correlationServiceDiscovery": "Обнаружение сервисов", @@ -6844,7 +6844,7 @@ "noAlertDetailsAvailable": "Нет доступных деталей оповещения", "clickOnTriggerToViewDetails": "Нажмите на срабатывание в таблице, чтобы просмотреть детали", "refreshCorrelatedData": "Обновить коррелированные данные", - "showingCorrelatedTraces": "Показываются коррелированные трейсы из временного интервала инцидента", + "showingCorrelatedTraces": "Отображаются коррелированные трейсы за время инцидента", "incidentTitleUpdatedSuccess": "Заголовок инцидента успешно обновлен", "markAsAcknowledgedTooltip": "Отметить инцидент как подтвержденный и в работе", "markAsResolvedTooltip": "Отметить инцидент как разрешенный и закрыть его", @@ -6964,16 +6964,16 @@ "helpLegendLiveExample": "Высокая загрузка ЦП", "helpLegendSampleExample": "42", "sectionTitle": "Настройки", - "noDestinationsAvailable": "Нет доступных мест назначения", - "noTargetsAvailable": "Нет доступных назначений или рабочих процессов", - "targetsDestinationsGroup": "Назначения", + "noDestinationsAvailable": "Нет доступных приёмников", + "noTargetsAvailable": "Нет доступных приёмников или рабочих процессов", + "targetsDestinationsGroup": "Приёмники", "targetsWorkflowsGroup": "Рабочие процессы", - "refreshDestinations": "Обновить последние места назначения", - "addNewDestination": "Добавить место назначения", + "refreshDestinations": "Обновить список приёмников", + "addNewDestination": "Добавить приёмник", "cooldownTooltip": "Если оповещение сработало, как долго ждать перед отправкой следующего уведомления. Например, если оповещение сработало в 16:00, а период тишины установлен на 10 минут, то следующее уведомление не будет отправлено до 16:10, даже если оповещение все еще активно через 1 минуту. Это сделано для предотвращения спама уведомлениями.", "periodTooltip": "Период, за который должен выполняться запрос. Например, 10 минут означает, что при каждом выполнении запроса будут использоваться последние 10 минут данных.", "timezoneWarning": "Предупреждение: Отображаемый часовой пояс является приблизительным. Проверьте и выберите правильный часовой пояс вручную.", - "destinationsTooltip": "Выберите одно или несколько мест назначения для отправки уведомлений оповещений.", + "destinationsTooltip": "Выберите один или несколько приёмников для отправки уведомлений об оповещениях.", "createsIncident": "Создаёт инцидент", "createsIncidentTooltip": "Если оповещение может создать инцидент, оно не отправляет специальное уведомление. Вместо этого уведомление об инциденте отправляется при создании нового инцидента или когда новый тип оповещения присоединяется к существующему инциденту.", "helpTemplateTitle": "Переопределение шаблона", @@ -6985,11 +6985,11 @@ "helpLegendLive": "реальные значения вашего оповещения", "helpLegendSample": "пример — реальное значение устанавливается при срабатывании оповещения", "helpLegendOpaque": "добавляется автоматически при срабатывании оповещения", - "helpTemplateExplain": "Шаблон — это сообщение уведомления, которое отправляется — текст плюс переменные, такие как {'{'}alert_name{'}'}. Выбор здесь переопределяет собственный шаблон каждого места назначения только для этого оповещения.", + "helpTemplateExplain": "Шаблон — это сообщение уведомления, которое отправляется: текст плюс переменные, такие как {'{'}alert_name{'}'}. Выбор шаблона здесь переопределяет собственный шаблон каждого приёмника только для этого оповещения.", "helpCurrentHeading": "Что это оповещение отправляет сейчас", - "helpCurrentNoOverride": "Переопределение не задано — каждое место назначения использует свой собственный шаблон:", - "helpCurrentNoDestinations": "Места назначения не выбраны. Каждое место назначения будет использовать свой собственный настроенный шаблон.", - "helpCurrentOverrideHeading": "Все места назначения используют этот шаблон:", + "helpCurrentNoOverride": "Переопределение не задано — каждый приёмник использует собственный шаблон:", + "helpCurrentNoDestinations": "Приёмники ещё не выбраны. Каждый приёмник будет использовать собственный настроенный шаблон.", + "helpCurrentOverrideHeading": "Все приёмники используют этот шаблон:", "helpPreviewHeading": "Предварительный просмотр шаблона", "helpPreviewSelectPlaceholder": "Выберите шаблон для предварительного просмотра", "helpApplyToAlert": "Применить к оповещению", @@ -7001,7 +7001,7 @@ "helpYourVariablesEmpty": "Вы еще не добавили ни одной переменной.", "helpRowTemplateExplain": "Оповещение может соответствовать многим строкам. Шаблон строки определяет, как выглядит одна строка. Затем {'{'}rows{'}'} в вашем основном шаблоне вставляет все соответствующие строки, уже отформатированные.", "helpRowTemplateTypeHeading": "Строка против JSON", - "helpRowTemplateTypeExplain": "Строка создает простой текст для каждой строки. JSON создает объект JSON для каждой строки, подходящий для структурированных мест назначения.", + "helpRowTemplateTypeExplain": "String создаёт обычный текст для каждой строки. JSON создаёт объект JSON для каждой строки, подходящий для структурированных приёмников.", "helpRowTemplateTypeCurrent": "Текущий выбор:", "helpPreviewHeadingShort": "Предварительный просмотр", "helpWhyHeading": "Зачем использовать переменную?", @@ -7014,7 +7014,7 @@ "helpVariablesExampleCaption": "Добавьте severity и team как переменные, затем используйте их в любом месте шаблона:", "helpExampleResultLabel": "Что отправляется", "helpTemplateWhenHeading": "Когда следует переопределить?", - "helpTemplateWhenDesc": "Оставьте это поле пустым, и каждый пункт назначения будет использовать свой собственный шаблон. Установите переопределение, когда хотите, чтобы это оповещение отправляло одинаковое согласованное сообщение во все пункты назначения — без редактирования шаблона каждого пункта.", + "helpTemplateWhenDesc": "Оставьте это пустым, и каждый получатель будет использовать свой собственный шаблон. Установите переопределение, когда вы хотите, чтобы это оповещение отправляло одинаковое, единообразное сообщение каждому получателю — без изменения шаблона каждого получателя.", "helpRowTemplateWhyHeading": "Зачем нужен шаблон строки?", "helpRowTemplateWhyDesc": "Оповещение может соответствовать множеству записей. Шаблон строки форматирует одну запись; затем {'{'}rows{'}'} вставляет все отформатированные записи в основной шаблон — так вы перечисляете все совпадения без написания цикла.", "helpRowTemplateExampleCaption": "Каждая соответствующая строка форматируется шаблоном строки, затем {'{'}rows{'}'} вставляет их все в основной шаблон:", @@ -7023,7 +7023,7 @@ "helpRowTemplatePreviewEmpty": "Шаблона строки еще нет — введите его на вкладке Дополнительные настройки, чтобы просмотреть его здесь.", "helpPreviewSelectEmpty": "Выберите шаблон выше, чтобы просмотреть сообщение, которое он отправит.", "helpCurrentBodyEmpty": "У этого шаблона нет тела для предварительного просмотра.", - "helpDestinationNoTemplate": "Использует форматирование по умолчанию этого пункта назначения.", + "helpDestinationNoTemplate": "Использует форматирование по умолчанию для этого получателя.", "builtInVars": { "orgName": "Название вашей организации", "streamType": "Тип потока (логи, метрики, трейсы)", @@ -7048,7 +7048,7 @@ }, "advanced": { "addVariable": "Добавить переменную", - "variablesTooltip": "Переменные используются для передачи данных из оповещения в пункт назначения.", + "variablesTooltip": "Переменные используются для передачи данных из оповещения получателю.", "templateType": "Тип шаблона:", "noTemplatesAvailable": "Нет доступных шаблонов", "refreshTemplates": "Обновить последние шаблоны", @@ -7133,12 +7133,12 @@ }, "anomaly": { "addFilter": "Добавить фильтр", - "addNewDestination": "Добавить новое место назначения", + "addNewDestination": "Добавить нового получателя", "anomalyScoreRange": "Диапазон оценки аномалий:", "checkEvery": "Проверять каждые", "checkEveryTooltip": "Как часто выполняется задание обнаружения. Может быть больше периода выборки (например, выборка каждые 5 мин, обнаружение каждый час).", "clickLoadDataHint": "Нажмите «Загрузить данные» для предварительного просмотра временного ряда", - "destinationRequired": "Требуется хотя бы одно место назначения!", + "destinationRequired": "Требуется хотя бы один получатель!", "detectionResolution": "Разрешение обнаружения", "detectionResolutionTooltip": "Насколько детальна каждая точка данных. Например, \"5m\" означает, что аномалии обнаруживаются с разрешением 5 минут.", "disabled": "Отключено", @@ -7153,10 +7153,10 @@ "lookBackWindowTooltip": "Как далеко назад запрашивает каждое выполнение обнаружения. Ограничивает окно даже после длительной паузы. По умолчанию равно интервалу проверки.", "maxThresholdMarkLine": "максимальный порог", "minThresholdMarkLine": "минимальный порог", - "noDestinationsFound": "Места назначения не найдены", + "noDestinationsFound": "Получатели не найдены", "noFieldsFound": "Поля не найдены", "notifications": "Уведомления", - "notificationsTooltip": "При включении уведомление будет отправлено в выбранное место назначения при обнаружении аномалии.", + "notificationsTooltip": "При включении уведомление будет отправлено выбранному получателю при обнаружении аномалии.", "retrainEvery": "Переобучать каждые", "retrainEveryTooltip": "Как часто автоматически переобучать модель. «Никогда» — обучить один раз и сохранять модель до ручного переобучения.", "retrainFourteenDays": "14 дней", @@ -7171,7 +7171,7 @@ "sqlColumnsHint": "Запрос должен возвращать два столбца: {timeBucket} и {valueColumn}.", "sqlRequired": "Требуется SQL в режиме пользовательского SQL", "summaryAlerting": "✓ Оповещение: {status}", - "summaryAlertingEnabled": "✓ Оповещение: Включено → {destinations}", + "summaryAlertingEnabled": "✓ Оповещение: включено → {destinations}", "summaryAlertingNoDestination": "✓ Оповещение: Включено ⚠️ {warning}", "summaryConfiguring": "Настройка обнаружения аномалий для потока {streamType} \"{stream}\"", "summaryDataSource": "✓ Источник данных: {type} — {name}", @@ -7309,16 +7309,16 @@ "bulkDeleteTemplatesFailed": "Ошибка при удалении шаблонов. Пожалуйста, попробуйте еще раз." }, "prebuilt": { - "conversionSuccess": "Назначение успешно преобразовано", + "conversionSuccess": "Получатель успешно преобразован", "validationError": "Ошибка проверки: {error}", - "invalidDestinationType": "Некорректный тип назначения", + "invalidDestinationType": "Недопустимый тип получателя", "invalidTargetType": "Некорректный тип цели", - "unknownDestinationType": "Неизвестный тип назначения", + "unknownDestinationType": "Неизвестный тип получателя", "testFailedUnknownError": "Тест не пройден с неизвестной ошибкой" }, "confirmDeleteAlerts": "Вы уверены, что хотите удалить {count} оповещение? | Вы уверены, что хотите удалить {count} оповещений?", - "confirmDeleteDestinations": "Вы уверены, что хотите удалить {count} получатель? | Вы уверены, что хотите удалить {count} получателей?", - "prebuiltDestination": "Готовый {type} получатель", + "confirmDeleteDestinations": "Вы уверены, что хотите удалить {count} получателя? | Вы уверены, что хотите удалить {count} получателей?", + "prebuiltDestination": "Готовый получатель {type}", "errorValidations": "Ошибки валидации", "outputMessagesLabel": "Выходные сообщения", "incidentSingular": "Инцидент", @@ -7374,7 +7374,7 @@ "critical": "Критический", "warning": "Предупреждение", "ok": "ОК", - "firingTotal": "Сработал", + "firingTotal": "Сработавшие", "observedTotal": "Группы", "nOfMFiring": "{firing} из {observed} групп срабатывают", "groupedBy": "сгруппировано по {columns}", @@ -7523,7 +7523,7 @@ "actionOpen": "Открыть", "actionDelete": "Удалить", "deleteTitle": "Удалить {name}?", - "deleteMessage": "Это удалит его навсегда. Удаление блокируется, если оповещение или получатель все еще используют его.", + "deleteMessage": "Это удалит его безвозвратно. Удаление блокируется, если оповещение или получатель по-прежнему используют его.", "deletedToast": "{name} удален", "deleteFailedToast": "Не удалось удалить {name}", "loading": "Построение графа зависимостей…", @@ -7542,7 +7542,7 @@ "missingTag": "Отсутствует", "enabled": "Включено", "paused": "Приостановлено", - "impactTemplate": "Используется: {destinations} · {alerts}", + "impactTemplate": "Используется {destinations} · {alerts}", "impactDestination": "Используется {alerts}" }, "alert_library": { @@ -7609,18 +7609,18 @@ "install": { "title": "Установить из библиотеки", "subtitle": "Выберите, куда оповещения будут отправлять уведомления, какие оповещения установить и где они будут храниться.", - "stepDestination": "Назначение", + "stepDestination": "Получатель", "stepAlerts": "Оповещения", "stepFolder": "Папка", "stepTune": "Настройка", "stepInstall": "Установить", - "destinationIntro": "Каждое оповещение в этом наборе уведомляет выбранное здесь назначение. Файлы библиотеки указывают назначения организации, из которой они были экспортированы, которых нет в вашей.", - "destinationLabel": "Назначение", - "destinationPlaceholder": "Выберите назначение", - "destinationsLoadFailed": "Не удалось загрузить ваши существующие назначения.", + "destinationIntro": "Каждое оповещение в этом наборе уведомляет получателя, выбранного вами здесь. Файлы библиотеки содержат имена получателей организации, из которой они были экспортированы, и в вашей организации таких нет.", + "destinationLabel": "Получатель", + "destinationPlaceholder": "Выберите получателя", + "destinationsLoadFailed": "Не удалось загрузить существующих получателей.", "retry": "Попробуйте снова", - "destinationsNoneBody": "В этой организации еще нет назначений для оповещений, поэтому им некуда отправлять уведомления. Создайте назначение на странице «Назначения», затем вернитесь и выберите его здесь.", - "openDestinations": "Открыть назначения", + "destinationsNoneBody": "В этой организации еще нет получателей оповещений, поэтому этим оповещениям некуда отправлять уведомления. Создайте получателя на странице «Получатели», а затем вернитесь и выберите его здесь.", + "openDestinations": "Открыть получателей", "selectAll": "Выбрать все", "clear": "Очистить", "selectedCount": "Выбрано {count} из {total}", @@ -7675,7 +7675,7 @@ "importBodyLabel": "Тело шаблона *", "importTypeLabel": "Тип шаблона *", "importTitleLabel": "Заголовок шаблона *", - "header": "Шаблоны назначений", + "header": "Шаблоны получателей", "add": "Новый шаблон", "edit": "Редактировать", "name": "Имя", @@ -7735,7 +7735,7 @@ "chartPreviewPlaceholder": "Диаграмма появляется здесь в реальных уведомлениях — она строится из истории оценки самого оповещения, которой нет в предварительном просмотре.", "channelTitlesDescription": "Используйте другое название для конкретных каналов — например, более короткую тему для email.", "namePlaceholder": "например, высокая частота ошибок", - "nameLockedHint": "Оповещения и назначения ссылаются на этот шаблон по имени, поэтому его нельзя переименовать. Клонируйте шаблон, чтобы создать копию под новым именем.", + "nameLockedHint": "Оповещения и получатели ссылаются на этот шаблон по имени, поэтому его нельзя переименовать. Клонируйте шаблон, чтобы создать копию под новым именем.", "rawBodyCaption": "Отправляется точно как написано, с подстановкой {'{'}variables{'}'}. См. руководство по переменным для получения полного списка.", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "например, значение", @@ -7809,12 +7809,12 @@ "channelSns": "SNS", "testSendGroupLabel": "Отправить реальное тестовое сообщение", "testSend": "Отправить тест", - "testSendDestinationLabel": "Назначение", + "testSendDestinationLabel": "Получатель", "testSendConfirmTitle": "Отправить реальное тестовое сообщение?", "testSendConfirm": "Это отправит реальное сообщение в выбранный канал с пометкой [TEST].", "testSendSuccess": "Тестовое сообщение отправлено", "testSendRateLimited": "Слишком много тестовых отправок — подождите немного и попробуйте снова", - "testSendNoDestination": "Сначала выберите назначение" + "testSendNoDestination": "Сначала выберите получателя" }, "alert_sources": { "header": "Внешние источники оповещений", @@ -7852,10 +7852,10 @@ "editTitle": "Изменить источник алертов", "name": "Название", "nameHint": "Просто метка — для всех источников используется одна и та же настройка.", - "incidentDestination": "Назначение инцидентов", + "incidentDestination": "Получатель инцидентов", "incidentDestinationPlaceholder": "Использовать настройку организации по умолчанию", "incidentDestinationHint": "Сюда отправляются уведомления, когда алерты этого источника создают инцидент или присоединяются к нему. Оставьте пустым, чтобы использовать настройку организации по умолчанию — если не задано ничего, подходящие инциденты срабатывают молча.", - "noDestinationSet": "Назначение инцидентов не задано", + "noDestinationSet": "Получатель инцидентов не задан", "setupStep1Title": "1. Создайте вебхук", "setupStep1Body": "В Grafana, Alertmanager или любом инструменте, который умеет отправлять JSON методом POST, создайте контактную точку/получателя вебхука.", "setupRemainingStepsHint": "Сохраните этот источник, чтобы получить его URL и токен, затем вставьте их в конфигурацию вебхука.", @@ -7879,12 +7879,12 @@ "updatedSuccess": "Источник оповещений обновлен", "error": "Ошибка загрузки источников оповещений", "senderError": "Ошибка загрузки статуса источника", - "destinationsLoadError": "Ошибка загрузки назначений" + "destinationsLoadError": "Ошибка загрузки получателей" }, "alert_destinations": { - "sectionTab": "Назначения", + "sectionTab": "Получатели", "chooseTypeTitle": "Выберите тип", - "selectDestinationType": "Выберите тип назначения", + "selectDestinationType": "Выберите тип получателя", "connectionStepTitle": "Подключение", "connectionDetailsTitle": "Детали подключения", "urlHelpText": "Базовый URL без завершающего слеша (например, https://your-domain.com)", @@ -7903,10 +7903,10 @@ "datadogHostnameHelpText": "Имя хоста для логов Datadog", "exampleLabel": "Пример:", "subtitle": "Куда доставляются сработавшие оповещения", - "exportDestination": "Назначение экспорта", - "deleteDestinationTitle": "Удалить назначение", - "deleteDestinationMessage": "Вы уверены, что хотите удалить назначение?", - "deleteDestinationsTitle": "Удалить назначения", + "exportDestination": "Экспортировать получателя", + "deleteDestinationTitle": "Удалить получателя", + "deleteDestinationMessage": "Вы уверены, что хотите удалить получателя?", + "deleteDestinationsTitle": "Удалить получателей", "selected": "выбрано", "organizationLabel": "Организация", "defaultPlaceholder": "например, default", @@ -7925,20 +7925,20 @@ "ddTagsPlaceholder": "Введите теги (например, env:prod,version:1.0)", "serviceLabel": "Сервис", "servicePlaceholder": "Введите имя сервиса (например, api-gateway)", - "header": "Назначения уведомлений", - "add": "Новое назначение", + "header": "Получатели уведомлений", + "add": "Новый получатель", "edit": "Редактировать", - "search": "Поиск назначения", + "search": "Поиск получателя", "filterAll": "Все", "filterPrebuilt": "Встроенный", "filterCustom": "Пользовательский", "templateDefaultBadge": "По умолчанию", "name": "Имя", - "destination_type": "Тип назначения", + "destination_type": "Тип получателя", "template": "Шаблон", "actions": "Действия", - "addTitle": "Новое назначение", - "updateTitle": "Обновить назначение", + "addTitle": "Новый получатель", + "updateTitle": "Обновить получателя", "delete": "Удалить", "method": "Метод", "url": "URL", @@ -7952,7 +7952,7 @@ "custom_headers": "Пользовательские заголовки (необязательно)", "preview": "Предпросмотр", "test": "Тест", - "saved": "Назначение успешно сохранено", + "saved": "Получатель успешно сохранен", "customWebhook": "Пользовательский (Webhook)", "customEmail": "Пользовательский (Email)", "customAction": "Пользовательский (Действие)", @@ -7962,7 +7962,7 @@ "separator_hint": "Строка-разделитель между записями (допускаются пробелы)", "templateDefaultOption": "По умолчанию ({name})", "templateHelp": "Оставьте по умолчанию, чтобы использовать стандартный шаблон {type} ({name}), или выберите пользовательский.", - "loadingData": "Загрузка данных о назначении...", + "loadingData": "Загрузка данных получателя...", "noEmailTemplates": "Похоже, вы еще не создали ни одного шаблона электронной почты.", "createEmailTemplate": "Создать шаблон электронной почты", "headers": "Заголовки", @@ -7977,40 +7977,40 @@ "servicenowDescription": "Создавать инциденты в ServiceNow" }, "import": { - "title": "Импорт назначения", + "title": "Импорт получателя", "errorValidations": "Проверка ошибок", "outputMessages": "Выходные сообщения", - "destinationName": "Имя назначения", - "destinationUrl": "URL назначения", - "destinationMethod": "Метод назначения", + "destinationName": "Имя получателя", + "destinationUrl": "URL получателя", + "destinationMethod": "Метод получателя", "templates": "Шаблоны", "emails": "Электронные письма (через запятую)", "actions": "Действия", - "destinationCreation": "Создание назначения", + "destinationCreation": "Создание получателя", "jsonStringEmpty": "Строка JSON пуста", "invalidJsonFormat": "Неверный формат JSON", - "importSuccess": "Адресаты успешно импортированы", - "importError": "Ошибка импорта назначения, проверьте JSON", + "importSuccess": "Получатели успешно импортированы", + "importError": "Ошибка импорта получателя, проверьте JSON", "unknownError": "Неизвестная ошибка", - "nameRequired": "Назначение - {index}: поле \"name\" обязательно и должно быть допустимой строкой.", - "nameExists": "Назначение - {index}: \"{name}\" уже существует", - "typeInvalid": "Назначение - {index}: поле \"type\" должно быть \"email\", \"http\" или \"action\"", - "actionTypeNotSupported": "Назначение - {index}: тип 'action' не поддерживается.", - "actionNotFound": "Назначение - {index}: действие \"{actionId}\" не существует для типа \"{type}\"", - "urlRequired": "Назначение - {index}: поле \"url\" обязательно для назначений типа http.", - "methodInvalid": "Назначение - {index}: поле \"method\" должно быть одним из \"post\", \"get\" или \"put\"", - "templateRequiredHttp": "Назначение - {index}: поле \"template\" обязательно для назначений типа http.", - "skipTlsVerifyRequired": "Назначение - {index}: поле \"skip_tls_verify\" обязательно и должно быть логическим значением", - "headersMustBeObject": "Назначение - {index}: 'headers' должен быть объектом для типа http", - "urlNotAllowedEmail": "Назначение - {index}: 'url' не должен указываться для типа email", - "headersNotAllowedEmail": "Назначение - {index}: 'headers' не должен указываться для типа email", - "emailsRequired": "Назначение - {index}: поле \"emails\" обязательно и должно быть массивом для назначений типа email.", - "emailsMustBeStrings": "Назначение - {index}: 'emails' должен быть массивом строк для типа email", - "templateRequiredEmail": "Назначение - {index}: поле \"template\" обязательно для назначений типа email.", - "templateNotFound": "Назначение - {index}: шаблон \"{template}\" не существует для типа \"{type}\"", - "actionIdInvalid": "Назначение - {index}: поле \"action_id\" должно быть допустимой строкой.", - "createSuccess": "Назначение - {index}: \"{name}\" успешно создан \nПримечание: удалите созданный объект назначения {name} из JSON-файла ", - "createFailed": "Назначение - {index}: создание \"{name}\" не удалось --> \n Причина: {reason}" + "nameRequired": "Получатель - {index}: поле \"name\" обязательно и должно быть допустимой строкой.", + "nameExists": "Получатель - {index}: \"{name}\" уже существует", + "typeInvalid": "Получатель - {index}: поле \"type\" должно быть либо \"email\", либо \"http\", либо \"action\"", + "actionTypeNotSupported": "Получатель - {index}: тип 'action' не поддерживается.", + "actionNotFound": "Получатель - {index}: действие \"{actionId}\" не существует для типа \"{type}\"", + "urlRequired": "Получатель - {index}: поле \"url\" обязательно для получателей типа http.", + "methodInvalid": "Получатель - {index}: поле \"method\" должно быть одним из \"post\", \"get\" или \"put\"", + "templateRequiredHttp": "Получатель - {index}: поле \"template\" обязательно для получателей типа http.", + "skipTlsVerifyRequired": "Получатель - {index}: поле \"skip_tls_verify\" обязательно и должно быть логическим значением", + "headersMustBeObject": "Получатель - {index}: 'headers' должен быть объектом для типа http", + "urlNotAllowedEmail": "Получатель - {index}: 'url' не должен указываться для типа email", + "headersNotAllowedEmail": "Получатель - {index}: 'headers' не должен указываться для типа email", + "emailsRequired": "Получатель - {index}: поле \"emails\" обязательно и должно быть массивом для получателей типа email.", + "emailsMustBeStrings": "Получатель - {index}: 'emails' должен быть массивом строк для типа email", + "templateRequiredEmail": "Получатель - {index}: поле \"template\" обязательно для получателей типа email.", + "templateNotFound": "Получатель - {index}: шаблон \"{template}\" не существует для типа \"{type}\"", + "actionIdInvalid": "Получатель - {index}: поле \"action_id\" должно быть допустимой строкой.", + "createSuccess": "Получатель - {index}: \"{name}\" успешно создан \nПримечание: удалите созданный объект получателя {name} из JSON-файла ", + "createFailed": "Получатель - {index}: создание \"{name}\" не удалось --> \n Причина: {reason}" }, "priorityP1Description": "Оповещения наивысшего приоритета", "priorityP2Description": "Оповещения высокого приоритета", @@ -8023,8 +8023,8 @@ "severityInfoDescription": "Информационные инциденты" }, "pipeline_destinations": { - "header": "Назначения конвейера", - "search": "Поиск назначения" + "header": "Получатели конвейера", + "search": "Поиск получателя" }, "storage_settings": { "heroBrand": "OpenObserve.", @@ -8234,7 +8234,7 @@ }, "metricCard": { "lastRefreshed": "Последнее обновление:", - "traceId": "ID трассировки: {id}", + "traceId": "Trace ID: {id}", "metricLabel": "Метрика: {name}", "queryLabel": "Запрос: {query}", "errorLabel": "Ошибка: {error}", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "Сопоставление агентов GenAI", "title": "Сопоставление агентов GenAI", - "description": "Настройте резервные атрибуты телеметрии, используемые для нормализации идентификации агента для трассировок и оценок LLM.", + "description": "Настройте резервные атрибуты телеметрии, используемые для нормализации идентичности агента для LLM-трассировок и оценок.", "agentNameFields": "Резервные поля имени агента", "agentNameHelp": "Входящие атрибуты, используемые в качестве резервных для gen_ai.agent.name.", "agentNameInfo": "Проверяется только при отсутствии или пустоте стандартного атрибута gen_ai.agent.name. Добавьте по одному входящему атрибуту телеметрии на строку.", @@ -8532,7 +8532,7 @@ "resetToEmpty": "Сбросить до пустого", "clearRegistry": "Очистить реестр", "clearRegistryTitle": "Очистить реестр агентов?", - "clearRegistryDescription": "Это удаляет все строки реестра обнаруженных агентов GenAI для этой организации. Новые соответствующие трассировки повторно заполнят реестр во время приема данных.", + "clearRegistryDescription": "Это удаляет все обнаруженные записи реестра агентов GenAI для этой организации. Новые подходящие трассировки будут повторно заполнять реестр во время приема данных.", "clearRegistryConfirm": "Очистить реестр", "saved": "Сопоставление агентов GenAI успешно сохранено", "clearRegistrySuccess": "Реестр агентов GenAI очищен. Удалено {deletedCount} сохраненных агентов и {bufferCount} ожидающих наблюдений.", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "Не удалось сохранить псевдонимы полей", "fieldAliasesUnsavedConfirm": "У вас есть несохранённые изменения сопоставления полей. Отбросить их и выйти?", "discoveredServicesTitle": "Обнаруженные службы", - "discoveredServicesDescription": "Службы автоматически обнаруживаются из телеметрических данных и группируются по именам служб для корреляции. Службы с одинаковым именем коррелируются между логами, трассировками и метриками.", + "discoveredServicesDescription": "Сервисы автоматически обнаруживаются в ваших данных телеметрии и группируются по их имени сервиса для корреляции. Сервисы с одинаковым именем сервиса коррелируются вместе в журналах, трассировках и метриках.", "noServicesYet": "Службы ещё не обнаружены", "noServicesDescription": "Службы появятся здесь по мере поступления телеметрических данных с атрибутами идентификации служб (например, k8s-deployment, имя службы и т.д.)", "searchServiceName": "Поиск имени службы или потока...", @@ -8572,7 +8572,7 @@ "fieldMappingDialogHelp": "Добавьте или удалите имена полей, которые должны распознаваться как имя сервиса в ваших телеметрических данных.", "fieldMappingPlaceholder": "Введите имя поля и нажмите Enter", "foundInLogs": "Найдено в логах", - "foundInTraces": "Найдено в трейсах", + "foundInTraces": "Найдено в трассировках", "foundInMetrics": "Найдено в метриках", "distinguishByLabel": "Различать сервисы по", "distinguishByHelp": "Выберите поля, определяющие, где работают ваши сервисы. Например, кластер + пространство имен + развертывание вместе создают уникальную идентичность для каждого сервиса. Не более 5 полей.", @@ -8608,13 +8608,13 @@ "instancesCount": "({count} экземпляров)", "noDimensions": "нет измерений", "defaultSetWarningTitle": "Корреляция может быть ненадежной.", - "defaultSetWarningBody": "Этот экземпляр не имеет устранения неоднозначности — он был обнаружен без сопоставления рабочей нагрузки (нет контекста кластера, пространства имен или среды). Логи и трейсы могут поступать от разных развертываний одного и того же имени сервиса.", + "defaultSetWarningBody": "Этот экземпляр не имеет уточнения — он был обнаружен без сопоставления рабочих нагрузок (без контекста кластера, пространства имен или окружения). Журналы и трассировки могут поступать из разных развертываний с одним и тем же именем сервиса.", "instanceIdentity": "Идентичность экземпляра", "noDimensionsCatchAll": "Нет измерений — экземпляр для всех случаев", "streamSources": "Источники потоков", "fieldNameMapping": "Сопоставление имен полей", "logsWithCount": "Логи ({count})", - "tracesWithCount": "Трейсы ({count})", + "tracesWithCount": "Трассировки ({count})", "metricsWithCount": "Метрики ({count})" }, "addRegexPattern": { @@ -8728,7 +8728,7 @@ "createFailed": "Регулярное выражение - {index}: \"{name}\" не удалось создать --> \n Причина: {error}" }, "index": { - "genAiAgentMappingDesc": "Сопоставить спаны GenAI с идентификаторами агентов" + "genAiAgentMappingDesc": "Сопоставление GenAI Span с идентификаторами агентов" }, "organizationManagementPage": { "setAiCredits": "Установить AI-кредиты", @@ -8931,7 +8931,7 @@ "cachedReportHint": "Примечание: кэшированные отчеты хранятся для быстрого доступа к панелям мониторинга; общий доступ для этих отчетов отключен.", "selectDashboardStep": "Выберите панель мониторинга", "timeRangeDescription": "Создает отчет с данными за указанный период времени", - "pngPageLimitNote": "В формате PNG захватывается только первая видимая страница панели мониторинга. Используйте PDF, если панель занимает несколько страниц.", + "pngPageLimitNote": "PNG захватывает только первую видимую страницу дашборда. Используйте PDF, если дашборд занимает несколько страниц.", "widthPlaceholder": "напр., 1440", "heightPlaceholder": "напр., 900", "dimensionsDefaultHint": "Оставьте пустым, чтобы использовать настройки сервера по умолчанию", @@ -8947,7 +8947,7 @@ "searchAllFoldersTitle": "Искать во всех папках", "never": "Никогда", "startDate": "Дата начала", - "header": "Отчёты", + "header": "Отчеты", "subtitle": "Запланированные отчёты и экспорт", "searchThisFolder": "Эта папка", "searchAllFolders": "Все папки", @@ -9050,7 +9050,7 @@ "totalTimeRange": "Общий диапазон запроса", "searchType": "Тип поиска", "querySource": "Источник запроса", - "traceId": "ID трассировки", + "traceId": "ID трейса", "userId": "ID пользователя", "orgId": "ID организации", "streamType": "Тип потока", @@ -9137,16 +9137,16 @@ }, "openInFullView": "Открыть в полном виде", "viewLogs": "Просмотр логов", - "viewLogsUnavailable": "Не удалось открыть логи для этого span.", + "viewLogsUnavailable": "Не удалось открыть логи для этого спана.", "backToLogs": "Назад к логам", "openInTraces": "Открыть в трейсах", "loadingStream": "Загрузка потока...", "noLogsAvailableForService": "Нет доступных логов для этого сервиса", - "noCorrelatedLogsFound": "Не найдены связанные логи для этого спана", + "noCorrelatedLogsFound": "Не найдено связанных логов для этого спана", "noData": { - "title": "Начните отправлять трассировки в {product}", - "description": "В этой организации пока не найдено потоков трейсов. Инструментируйте свои сервисы, и трейсы появятся здесь автоматически.", - "otlp": "Отправляйте трассировки через {product}", + "title": "Начните отправлять трейсы в {product}", + "description": "В этой организации пока нет потоков трейсов. Внедрите инструментирование в свои сервисы, и трейсы появятся здесь автоматически.", + "otlp": "Отправляйте трейсы через {product}", "otlpDesc": "{product1}, {product2} и любой {product3}-совместимый SDK", "otelCollectorDesc": "Направляйте все телеметрические сигналы через {product}", "or": "Или:", @@ -9155,7 +9155,7 @@ "configureFullTextSearch": "для настройки поля полнотекстового поиска в потоке.", "collapseFields": "Свернуть поля", "openFields": "Открыть поля", - "timeRangeUpdated": "Выбранный временной диапазон не включал этот трейс. Временной диапазон был обновлен в соответствии с временной меткой трейса.", + "timeRangeUpdated": "Выбранный временной диапазон не включал этот трейс. Временной диапазон был обновлён, чтобы соответствовать временной метке трейса.", "errorRetrievingTraces": "Произошла ошибка при получении трейсов.", "fetchingTraces": "Загрузка трейсов...", "noStream": { @@ -9163,13 +9163,13 @@ "description": "Выберите поток трейсов, затем нажмите Выполнить запрос. После загрузки результатов вы сможете фильтровать по сервису, длительности, статусу спана и другим параметрам.", "selectStream": "Выберите поток", "selectStreamDesc": "Просмотрите доступные потоки трейсов в этой организации", - "queryGuide": "Прочтите руководство по трейсам", - "queryGuideDesc": "Граф сервисов, фильтрация спанов, метрики RED и многое другое", + "queryGuide": "Ознакомьтесь с руководством по трейсам", + "queryGuideDesc": "Граф сервисов, фильтрация спанов, RED-метрики и другое", "recent": "Недавние:" }, "noEvents": { "title": "Трейсы не найдены", - "descNoFilters": "Трейсы не найдены в {range}.", + "descNoFilters": "В диапазоне {range} трейсы не найдены.", "descWithFilters": "В выбранном окне ничего не соответствует этому запросу. В потоке есть данные — попробуйте ослабить фильтр в строке запроса.", "descOutOfRange": "Ваш временной интервал не содержит данных из этого потока. Перейдите к моменту, когда данные были видны в последний раз.", "jumpToData": "Перейти к последним данным", @@ -9177,8 +9177,8 @@ "askAi": "Попросить ИИ исправить мой запрос", "selectedRange": "выбранный диапазон" }, - "tracesFound": "Трейсы найдены", - "spansFound": "Спаны найдены", + "tracesFound": "Найдено трейсов", + "spansFound": "Найдено спанов", "errorTraces": "Трейсы с ошибками", "errorSpans": "Спаны с ошибками", "filterByErrors": "Фильтр по ошибкам", @@ -9186,29 +9186,29 @@ "error": "ОШИБКА", "errorCount": "{n} ОШИБКА | {n} ОШИБКИ", "success": "УСПЕХ", - "applyPendingFilters": "Применить ожидающие фильтры и искать трейсы", + "applyPendingFilters": "Применить ожидающие фильтры и выполнить поиск трейсов", "backToTraces": "Назад к трейсам", "loadingTrace": "Загрузка...", "traceId": "ID трейса", - "copyTraceId": "Скопировать ID трейса", + "copyTraceId": "Копировать ID трейса", "viewFilters": "Посмотреть фильтры", "reviewAndApplyFilters": "Просмотреть и применить фильтры к трейсам", "spansLabel": "спаны", "errorsLabel": "ошибки", "previousMatch": "Предыдущее совпадение", "nextMatch": "Следующее совпадение", - "searchInSpans": "Поиск в спанах", - "spansTableView": "Таблица спанов", + "searchInSpans": "Искать в спанах", + "spansTableView": "Табличное представление спанов", "comingSoon": "Скоро...", "fetchingTrace": "Загрузка вашего трейса.", "traceFilters": "Фильтры трейсов", "showTraces": "Показать трейсы", "applyAndSearch": "Применить и искать", "timestamp": "Временная метка", - "noErrorPresent": "Для этого спана нет ошибок", - "noEventsPresent": "Нет событий для этого span", - "noLinksPresent": "Нет ссылок для этого span", - "loadingTraceDag": "Загрузка DAG трассировки...", + "noErrorPresent": "Для этого спана ошибок нет", + "noEventsPresent": "Для этого спана нет событий", + "noLinksPresent": "Для этого спана нет ссылок", + "loadingTraceDag": "Загрузка DAG трейса...", "exceptionsWithCount": "Исключения ({count})", "typeLabel": "Тип:", "messageLabel": "Сообщение:", @@ -9366,7 +9366,7 @@ "tracesTab": "Трейсы", "serviceGraphTab": "Граф сервисов", "serviceGraphSubtitle": "Посмотрите, как ваши сервисы взаимодействуют друг с другом — зависимости, пропускная способность и уровень ошибок", - "servicesCatalogSubtitle": "Каждый сервис, отправляющий трассировки, с задержкой, пропускной способностью и уровнем ошибок", + "servicesCatalogSubtitle": "Каждый сервис, отправляющий трейсы, с задержкой, пропускной способностью и частотой ошибок", "treeView": "Древовидное представление", "graphView": "Графическое представление", "layoutHorizontal": "Горизонтально", @@ -9375,7 +9375,7 @@ "exportTraces": "Экспорт трейсов", "waterfall": "Водопад", "flameGraph": "Пламенный график", - "traceGraph": "График трейсов", + "traceGraph": "Граф трейса", "thread": "Поток", "dbSpanDetails": { "dbSystem": "СУБД", @@ -9385,7 +9385,7 @@ "host": "Хост", "user": "Пользователь", "storedProcedure": "Хранимая процедура", - "noQueryText": "Текст запроса для этого спана не записан.", + "noQueryText": "Для этого спана не записано текста запроса.", "performance": "Производительность", "rowsReturned": "Возвращено строк", "batchSize": "Размер пакета", @@ -9398,7 +9398,7 @@ "changeStreamTitle": "Изменить поток?", "switchStream": "Переключить поток", "cancel": "Отмена", - "changeStreamMessage": "Это также обновит поток на вкладке Трейсы/Спаны и сбросит текущий запрос.", + "changeStreamMessage": "Это также обновит поток на вкладке «Трейсы/Спаны» и сбросит текущий запрос.", "errorGettingFunctions": "Ошибка при получении функций", "errorPullingIndex": "Ошибка при загрузке индекса для выбранной организации{message}", "errorGettingStreams": "Ошибка при получении потоков", @@ -9468,11 +9468,11 @@ "logs": "Логи", "traces": "Трейсы", "databases": "Базы данных", - "viewTraces": "Просмотр трейсов", + "viewTraces": "Просмотреть трейсы", "operations": "Операции", "metrics": "Метрики", "noOperationsFound": "Операции не найдены", - "viewInTraces": "Просмотр в трейсах", + "viewInTraces": "Просмотреть в трейсах", "noResourceDataFound": "Данные {resource} не найдены", "retry": "Повторить", "noMetricsAvailable": "Нет метрик для этого сервиса.", @@ -9496,13 +9496,13 @@ "tabHosts": "Хосты", "tabDatabases": "Базы данных", "tabQueries": "Запросы", - "tabDestinations": "Назначения", + "tabDestinations": "Получатели", "tabRpcServices": "RPC-сервисы", "tabUrls": "URL-адреса", "colHost": "Хост", "colDatabase": "База данных", "colDbOperation": "Операция БД", - "colDestination": "Назначение", + "colDestination": "Получатель", "colRpcService": "RPC-сервис", "colUrl": "URL", "envHost": "Хост", @@ -9538,17 +9538,17 @@ "cost": "Стоимость", "model": "Модель", "errors": "Ошибки", - "noSpansLoaded": "Для этого трейса не загружено ни одного спана.", - "noLlmTurns": "Обнаружено, что трейс не содержит спанов с", + "noSpansLoaded": "Спаны для этого трейса не загружены.", + "noLlmTurns": "Не обнаружено LLM-ходов. Трейс не содержит спанов с", "system": "Система", - "historicalMessage": "{count} более раннее сообщение из этой сессии — обработанное в предыдущих трейсах. | {count} более ранних сообщений из этой сессии — обработанных в предыдущих трейсах.", + "historicalMessage": "{count} более раннее сообщение из этой сессии — обработано в предыдущих трейсах. | {count} более ранних сообщений из этой сессии — обработано в предыдущих трейсах.", "user": "Пользователь", "startedAt": "Начато в {time}", "unknown": "неизвестно", "tokens": "Токены", "tokensSuffix": "токенов", "error": "Ошибка", - "viewSpan": "Просмотр спана" + "viewSpan": "Просмотреть спан" }, "traceHeader": { "operationName": "Имя операции" @@ -9587,8 +9587,8 @@ "value": "Значение", "timestamp": "Временная метка", "enterpriseLicenseRequired": "Функция корреляции требует лицензии Enterprise", - "missingSpanOrStream": "Отсутствует имя span или потока", - "spanIdCopied": "ID span скопирован в буфер обмена", + "missingSpanOrStream": "Отсутствует имя спана или потока", + "spanIdCopied": "ID спана скопирован в буфер обмена", "attributesCopied": "Атрибуты скопированы в буфер обмена", "copiedToClipboard": "{type} скопирован в буфер обмена", "failedToCopyClipboard": "Не удалось скопировать в буфер обмена", @@ -9601,26 +9601,26 @@ "filterAdded": "Фильтр добавлен: {field} {operator} '{value}'", "timeline": "Временная шкала", "serviceMap": "Карта сервисов", - "traceNotFound": "Трассировка {traceId} не найдена", - "spanNotFound": "Span {spanId} не найден в трассировке", + "traceNotFound": "Трейс {traceId} не найден", + "spanNotFound": "Спан {spanId} не найден в трейсе", "unknownOperation": "Неизвестная операция", "unknownService": "Неизвестный сервис", - "traceIdCopied": "ID трассировки скопирован в буфер обмена", + "traceIdCopied": "ID трейса скопирован в буфер обмена", "sessionIdCopied": "ID сессии скопирован в буфер обмена" }, "traceTree": { "clickToExpand": "Нажмите, чтобы развернуть", "clickToCollapse": "Нажмите, чтобы свернуть", - "errorSpan": "Span с ошибкой", + "errorSpan": "Спан с ошибкой", "httpStatus": "HTTP {status}", - "spanEvent": "{count} span-событие | {count} span-событий" + "spanEvent": "{count} событие спана | {count} событий спана" }, "tracesAnalysisDashboard": { "baseline": "Базовый уровень:", "selected": "Выбрано:", "dimensions": "Измерения", "collapseDimensions": "Свернуть измерения", - "tracesPerInterval": "трассировок/интервал" + "tracesPerInterval": "трейсов/интервал" }, "sessionDetails": { "missingSessionInfo": "Отсутствует ID сессии или поток в URL", @@ -9628,36 +9628,36 @@ "copied": "Скопировано" }, "flameGraphView": { - "spans": "spans", + "spans": "Спаны", "depth": "глубина", - "noSpansToDisplay": "Нет spans для отображения", + "noSpansToDisplay": "Нет спанов для отображения", "service": "Сервис:", "duration": "Длительность:", - "percentOfTrace": "% трассировки:", + "percentOfTrace": "% трейса:", "hasErrors": "⚠ Есть ошибки" }, "tracesNoEventsState": { "lastData": "Последние данные: {formatted} ({zone})" }, "correlation": { - "distributedTrace": "Распределённая трассировка", - "loadingTraceData": "Загрузка данных трассировки...", - "noTraceInfoAvailable": "Нет информации о трассировке для этого события", - "traceIdLabel": "Trace ID:", - "copyTraceId": "Копировать Trace ID", - "spanIdLabel": "Span ID:", + "distributedTrace": "Распределённый трейс", + "loadingTraceData": "Загрузка данных трейса...", + "noTraceInfoAvailable": "Нет информации о трейсе для этого события", + "traceIdLabel": "ID трейса:", + "copyTraceId": "Скопировать ID трейса", + "spanIdLabel": "ID спана:", "spanHierarchy": "Иерархия спанов:", - "applicationSpan": "Span приложения", - "browserSdkSpanPrefix": "Span браузерного SDK (", + "applicationSpan": "Спан приложения", + "browserSdkSpanPrefix": "Спан Browser SDK (", "closingParen": ")", - "backendSpansPrefix": "Серверные спаны (", + "backendSpansPrefix": "Спаны бэкенда (", "performanceBreakdown": "Разбивка по производительности:", "totalDuration": "Общая длительность:", "browserLabel": "Браузер:", "networkLabel": "Сеть:", "backendLabel": "Сервер:", - "viewTraceDetails": "Просмотреть детали трассировки", - "backendTraceNotAvailable": "Данные серверной трассировки еще не доступны. Загрузка данных трассировки может занять до 30 секунд." + "viewTraceDetails": "Просмотреть детали трейса", + "backendTraceNotAvailable": "Данные бэкенд-трейса пока недоступны. Прием данных трейса может занять до 30 секунд." }, "failedToAnalyzeDimensions": "Не удалось проанализировать измерения", "failedToFetchCorrelatedLogs": "Не удалось получить коррелированные логи", @@ -9705,10 +9705,10 @@ "p75Label": "P75:", "p95Label": "P95:", "p99Label": "P99:", - "averageOfTrace": "{avg}мс ({percent}% трейса)", + "averageOfTrace": "{avg} мс ({percent}% трейса)", "requestCount": "{count} запр." }, - "spanEventTimeline": "Временная шкала событий спана", + "spanEventTimeline": "Хронология событий спана", "eventClusterTooltip": "{count} событий", "spanEventCount": "{count} событие", "spanEventCountPlural": "{count} событий", @@ -10021,7 +10021,7 @@ "loadingCorrelation": "Загрузка данных корреляции...", "clickToLoadLogs": "Нажмите, чтобы загрузить коррелированные логи", "clickToLoadMetrics": "Нажмите, чтобы загрузить коррелированные метрики", - "clickToLoadTraces": "Нажмите, чтобы загрузить коррелированные трейсы", + "clickToLoadTraces": "Нажмите, чтобы загрузить связанные трейсы", "logs": { "filtersLabel": "Фильтры", "allValues": "Все значения", @@ -10040,18 +10040,18 @@ "noLogsFound": "Логи не найдены", "noDataFound": "Данные не найдены", "noLogsDescription": "Не найдены логи для этой корреляции в выбранном временном диапазоне.", - "correlatedTracesFor": "Коррелированные трейсы для сервиса: {service}", + "correlatedTracesFor": "Связанные трейсы для сервиса: {service}", "all": "Все", "loadingTraces": "Загрузка трейсов...", "tracesError": "Не удалось загрузить трейсы", - "tracesErrorDetails": "Произошла ошибка при получении данных трейсов. Пожалуйста, попробуйте снова.", + "tracesErrorDetails": "Произошла ошибка при получении данных трейсов. Попробуйте еще раз.", "metricsError": "Не удалось загрузить метрики", "metricsErrorDetails": "Произошла ошибка при получении данных метрик. Пожалуйста, попробуйте снова.", "noMetricsDescription": "Выберите метрики на боковой панели для просмотра графиков.", "dimensionBasedCorrelation": "Корреляция на основе измерений", "tracesFromService": "Трейсы из сервиса: {service}", "noTracesFound": "Трейсы не найдены", - "noTracesDescription": "Не найдены трейсы для этой корреляции в выбранном временном диапазоне.", + "noTracesDescription": "Трейсы не найдены для этой корреляции в выбранном временном диапазоне.", "viewInTraces": "Просмотреть в трейсах", "filters": "Фильтры", "semanticFieldGroupsCaption": "Сопоставьте имена полей телеметрии с общими группами, чтобы OpenObserve мог коррелировать их между потоками.", @@ -10185,7 +10185,7 @@ "editCrossLink": "Редактировать перекрестную ссылку", "name": "Имя", "nameRequired": "Имя обязательно", - "namePlaceholder": "например, Просмотреть детали трассировки", + "namePlaceholder": "например, Просмотреть детали трейса", "urlTemplate": "Шаблон URL", "urlRequired": "URL обязателен", "urlPlaceholder": "например, https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", @@ -10281,7 +10281,7 @@ "colPattern": "Шаблон", "colPricingSimple": "Ценообразование", "testMatchTitle": "Тест сопоставления модели", - "testMatchSubtitle": "Симулируйте, как имя модели из ваших спанов будет сопоставляться с правилами ценообразования.", + "testMatchSubtitle": "Смоделируйте, как имя модели из ваших спанов будет сопоставляться с правилами ценообразования.", "modelNameInput": "Имя модели", "modelNameHint": "Имя модели в ваших генерациях.", "enterModelName": "Введите имя модели для тестирования сопоставления", @@ -10378,7 +10378,7 @@ "p50": "Задержка P50", "p95": "Задержка P95", "p99": "Задержка P99", - "cost": "Стоимость / трассировка" + "cost": "Стоимость / трейс" }, "insufficientLabel": "ориентировочный", "tooltip": { @@ -10445,11 +10445,11 @@ "sessions": "Просматривайте и анализируйте сессии агентов пошагово", "agentGraph": "Узнайте, с чем взаимодействуют ваши агенты — инструменты, модели, сервисы и хранилища данных", "agentBehavior": "Выявляйте агентов, застрявших в циклах, и ошибки, приводящие к их сбою", - "discovery": "Найдите нездоровые трейсы, которые стоит проверить", + "discovery": "Найдите проблемные трейсы, которые стоит просмотреть", "queues": "Списки задач для ревью с сохранением состояния", - "datasets": "Курируйте золотые наборы данных из аннотированных трейсов и ревью", + "datasets": "Составляйте золотые наборы данных из аннотированных трейсов и отзывов", "experiments": "Предварительный просмотр и создание неизменяемых автономных прогонов оценки", - "quality": "Отслеживайте качество оценок в разрезе span, trace и session оценок", + "quality": "Отслеживайте качество оценок для спанов, трейсов и сессий", "evalJobs": "Запускайте и отслеживайте задачи оценки по вашим сессиям", "scorers": "Создавайте и управляйте оценщиками, которые оценивают выходные данные LLM", "scoreConfigs": "Настройте рубрики оценки, используемые в ваших оценках" @@ -10493,7 +10493,7 @@ "dataset": { "button": "Добавить в набор данных", "title": "Добавить в набор данных", - "hint": "Превратите {ref} в эталон. Входные данные считываются из трейса — вы пишете ожидаемый выход.", + "hint": "Превратите {ref} в эталон. Входные данные считываются из трейса — вы указываете ожидаемый результат.", "errors": { "dataset": "Выберите набор данных", "expectedOutput": "Укажите ожидаемый результат" @@ -10502,7 +10502,7 @@ "datasetPlaceholder": "Выберите набор данных...", "noDatasets": "Наборов данных пока нет — сначала создайте один на странице «Наборы данных».", "inputLabel": "Входные данные", - "inputReadOnly": "прочитано из трейса", + "inputReadOnly": "считано из трейса", "expectedLabel": "Ожидаемый результат", "expectedPlaceholder": "Напишите результат, который должен был быть получен...", "confirm": "Добавить в набор данных", @@ -10641,7 +10641,7 @@ "inTrace": "В трейсе {traceId}", "reviewAgain": "Проверить снова", "emptyTitle": "Нечего проверять", - "emptyBody": "Добавляйте трейсы, спаны или сессии в эту очередь из Discovery или из представления трейса.", + "emptyBody": "Добавляйте трейсы, спаны или сессии в эту очередь из Discovery или представления трейса.", "columns": { "refType": "Ссылка", "refId": "Ссылка", @@ -10692,7 +10692,7 @@ "distill": { "title": "Дистиллировать в набор данных", "action": "Набор данных", - "hint": "Напишите ответ, который этот элемент ДОЛЖЕН был дать. Он станет эталонным выходом; входные данные берутся из просматриваемого трейса.", + "hint": "Укажите ответ, который этот элемент ДОЛЖЕН был дать. Он станет эталонным выводом; входные данные берутся из проверенного трейса.", "datasetLabel": "Набор данных", "datasetPlaceholder": "Выберите набор данных...", "noDatasets": "Наборов данных пока нет — сначала создайте его на странице «Наборы данных».", @@ -10704,7 +10704,7 @@ "updated": "Эталон обновлён — этот элемент уже был в этом наборе данных.", "openDataset": "Открыть датасет", "needsReview": "Сначала завершите проверку — золотому требуется арбитражное решение", - "sessionUnsupported": "Элементы сеансов нельзя дистиллировать — только трейсы и спаны", + "sessionUnsupported": "Элементы сессий нельзя дистиллировать — только трейсы и спаны.", "loadError": "Не удалось загрузить датасеты", "error": "Не удалось добавить этот элемент в датасет" }, @@ -10730,12 +10730,12 @@ "trial": "испытание {index}", "summary": "Набор данных v{version} · {trials} испытаний · {scorers} оценщиков", "previewCounts": "{rows} строк × {trials} испытаний = {slots} слотов", - "viewTrace": "Просмотреть трассировку выполнения", + "viewTrace": "Просмотреть трейс выполнения", "scoresTitle": "Оценки", "taskProgress": "Задачи: {completed}/{total} выполнено · {skipped} пропущено", "scoringProgress": "Оценки: {completed}/{total} выполнено · {skipped} пропущено", "skipTiers": "Пропущено строк: {full} полностью · {partial} частично", - "scoreEvidence": "{scorer} · v{version}: {samples} образцов, {noReference} без эталона, {noTrace} без трассировки", + "scoreEvidence": "{scorer} · v{version}: {samples} образцов, {noReference} без эталона, {noTrace} без трейса", "scorerApplicability": "{scorer} · v{version}: {eligible} доступных слотов, {noReference} без эталона", "loadError": "Не удалось загрузить эксперименты", "previewError": "Не удалось предпросмотреть слоты эксперимента", @@ -10781,7 +10781,7 @@ "sourcesPlaceholder": "Все источники", "sourcesHelp": "Оставьте пустым, чтобы выполнить каждую строку в наборе данных.", "sources": { - "trace": "Трассировка", + "trace": "Трейс", "annotation": "Аннотация", "manual": "Вручную" }, @@ -10912,7 +10912,7 @@ "trials": "Попытки", "trial": "Попытка {index}", "retryFailedSlot": "Повторить неудачный слот", - "viewTrace": "Просмотреть трассировку", + "viewTrace": "Просмотреть трейс", "scores": "Оценки", "dimension": "Измерение", "unknownDimension": "Неизвестное измерение", @@ -11100,7 +11100,7 @@ "stream": "Поток", "agent": "Агент", "noAgentsTitle": "Агенты не найдены", - "noAgentsDescription": "В этом временном диапазоне агенты не обнаружены. Попробуйте расширить временной диапазон или проверьте, что ваши трассы содержат атрибуты агента gen_ai.", + "noAgentsDescription": "В этом временном диапазоне агенты не обнаружены. Попробуйте расширить временной диапазон или проверьте, что ваши трейсы содержат атрибуты агентов gen_ai.", "versionAgnosticHint": "Топология одинакова во всех версиях — график привязан к окружению, а не к версии. Используйте сравнение версий, чтобы сравнивать версии." }, "panels": { @@ -11113,7 +11113,7 @@ "subtitle": "токены по модели" }, "spanTrend": { - "title": "Тенденция спанов", + "title": "Тренд спанов", "subtitle": "количество спанов по типу" }, "latencyByModel": { @@ -11129,7 +11129,7 @@ "subtitle": "количество ошибок" }, "spansByModel": { - "title": "Спаны по модели", + "title": "Спаны по моделям", "subtitle": "количество вызовов на модель" }, "tokensByModel": { @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "Последние ошибки", - "subtitle": "последние 10 неудачных спанов" + "subtitle": "последние 10 ошибочных спанов" } }, "behavior": { @@ -11148,7 +11148,7 @@ "disabled": "Сигналы поведения агента отключены для этого развертывания" }, "loopsTitle": "Зацикленные агенты", - "loopsHint": "Агенты, многократно выполняющие один и тот же инструмент за трассировку", + "loopsHint": "Агенты повторно запускают один и тот же инструмент много раз за трейс", "summaryLoops": "Зацикленные агенты", "summaryFailures": "Таксономия сбоев", "summaryAgents": "Затронутые агенты", @@ -11163,9 +11163,9 @@ "unknownAgent": "(неизвестный агент)", "colAgent": "Агент", "colTool": "Инструмент", - "colRatio": "Вызовы / трассировка", + "colRatio": "Вызовы / трейс", "colCalls": "Вызовы", - "colTraces": "Трассировки", + "colTraces": "Трейсы", "colFailClass": "Класс сбоя", "colCount": "Количество", "colCost": "Стоимость ($)", @@ -11175,7 +11175,7 @@ "title": "Детали сигнала", "tracesTitle": "Трейсы", "tracesHint": "Нажмите на трейс, чтобы открыть его", - "worstLoopTraces": "Худшие трейсы (сначала с наибольшим количеством повторов)", + "worstLoopTraces": "Худшие трейсы (сначала с наибольшим числом повторов)", "topCostTraces": "Самые дорогие трейсы", "noTraces": "Для этого сигнала трейсы не найдены", "errorsTitle": "Что говорят ошибки", @@ -11188,17 +11188,17 @@ "showLess": "Показать меньше", "colError": "Сообщение об ошибке", "colOccurrences": "Раз", - "loopHeadline": "{agent} вызывал {tool} в среднем {ratio}× на трейс ({calls} вызовов по {traces} трейсам).", + "loopHeadline": "{agent} вызывает {tool} {ratio}× в среднем на трейс ({calls} вызовов на {traces} трейсов)", "failHeadline": "{agent} получил {count} ошибок “{cls}”.", "costHeadline": "{agent}: ${cost} расход · {tokens} токенов · {errors} ошибок.", - "loopExplain": "Высокая частота повторов обычно означает, что агент не кэширует результаты или повторяет попытки. Откройте худшие трейсы ниже, чтобы увидеть повторные вызовы.", - "failExplain": "Это фактические сообщения об ошибках, стоящие за этим классом сбоев — прочитайте их, чтобы найти исправление, или откройте трейс, чтобы увидеть, где это произошло.", - "costExplain": "Эти трейсы привели к расходам этого агента. Откройте самые дорогие, чтобы увидеть, что выполнялось." + "loopExplain": "Высокая частота повторов обычно означает, что агент не кэширует результаты или повторяет попытки. Откройте худшие трейсы ниже, чтобы увидеть повторяющиеся вызовы.", + "failExplain": "Это фактические сообщения об ошибках, стоящие за этим классом сбоев — прочитайте их, чтобы найти решение, или откройте трейс, чтобы увидеть, где это произошло.", + "costExplain": "Эти трейсы сформировали расходы агента. Откройте самые дорогие, чтобы увидеть, что выполнялось." } }, "versionCompare": { "datePickerDisabled": "В этом режиме окна задаются для каждой версии", - "sampledNote": "Интервалы задержки и стоимости вычисляются на основе до {cap} случайно выбранных трейсов для каждой версии.", + "sampledNote": "Интервалы задержки и стоимости вычисляются по не более чем {cap} случайно выбранным трейсам для каждой версии.", "bar": { "versionA": "Версия A", "versionB": "Версия B", @@ -11279,25 +11279,25 @@ }, "manualEvaluation": { "titles": { - "span": "Оценить span", - "trace": "Оценить trace", + "span": "Оценить спан", + "trace": "Оценить трейс", "session": "Оценить session" }, "targetLabels": { - "span": "ID span", - "trace": "ID trace", + "span": "Span ID", + "trace": "Trace ID", "session": "ID сессии" }, "scopes": { - "span": "span", - "trace": "trace", + "span": "спан", + "trace": "трейс", "session": "session" }, "description": "Выберите задание оценки для запуска против этой цели. Исполнитель оценки загрузит исходную телеметрию из временного диапазона этой страницы.", "jobLabel": "Задание оценки", "jobPlaceholder": "Выберите задание оценки", "jobRequired": "Выберите задание оценки", - "noCompatibleJobs": "Никакие задания оценки {scope} не используют поток трассировок {stream}.", + "noCompatibleJobs": "Ни один {scope} Eval Job не использует поток трассировки {stream}.", "loadJobsError": "Не удалось загрузить задания оценки.", "run": "Запустить оценку", "queued": "В очередь поставлена {count} задача оценки. | В очередь поставлено {count} задач оценки.", @@ -11323,8 +11323,8 @@ "filterLabel": "Область оценки", "filterHint": "Сравните эту конфигурацию оценок по разным областям оценки.", "all": "Все", - "span": "Span", - "trace": "Trace", + "span": "Спан", + "trace": "Трейс", "session": "Session" }, "kpis": { @@ -11393,7 +11393,7 @@ }, "runs": { "title": "Оценки", - "hint": "Оценки и обоснования берутся из _llm_scores. Выберите запуск, чтобы открыть его трассировку оценщика для дальнейшего исследования.", + "hint": "Оценки и обоснование берутся из _llm_scores. Выберите запуск, чтобы открыть его оценочный трейс для дальнейшего исследования.", "filterLabel": "Фильтровать оценки", "footerTitle": "Оценки", "noThresholdHint": "Установите порог здоровья в этой конфигурации оценок, чтобы классифицировать и выделять нездоровые оценки.", @@ -11588,7 +11588,7 @@ "booleanInfo": "Булевы конфигурации принимают значения {trueLabel} / {falseLabel}. Дополнительная настройка не требуется.", "healthyThresholdTitle": "Порог здоровья", "optional": "Необязательно", - "healthyThresholdIntro": "Определите, когда оценки по этому измерению считаются здоровыми. Оценки за пределами этого диапазона вызовут проблемы с качеством в списках трассировок, сессиях и других представлениях.", + "healthyThresholdIntro": "Определите, когда оценки по этому измерению считаются нормальными. Оценки вне этого диапазона будут вызывать проблемы с качеством в списках трейсов, сеансах и других представлениях.", "healthyWhenValueIs": "Здоров, когда значение:", "healthyCategories": "Здоровые категории:", "healthyCategoriesHint": "Отметьте все значения, которые считаются здоровыми.", @@ -11667,8 +11667,8 @@ "col": { "time": "Время", "job": "Задание", - "spanId": "ID спана", - "traceId": "ID трейса", + "spanId": "Span ID", + "traceId": "Trace ID", "score": "Оценка", "latency": "Задержка", "status": "Статус" @@ -11860,7 +11860,7 @@ "idleWindowLabel": "Окно бездействия", "maxAgeLabel": "Максимальный возраст", "filterLabel": "Фильтр", - "filterEmpty": "Без фильтра — каждый span оценивается", + "filterEmpty": "Фильтра нет — оценивается каждый спан", "scorersSection": "Оценщики", "scorersEmpty": "К этому заданию ещё не прикреплено оценщиков.", "scorerUnknown": "(удалённый оценщик)", @@ -11896,8 +11896,8 @@ "col": { "time": "Время", "scorer": "Оценщик", - "spanId": "ID span", - "traceId": "ID трассировки", + "spanId": "Span ID", + "traceId": "Trace ID", "score": "Оценка", "latency": "Задержка", "status": "Статус" @@ -11953,21 +11953,21 @@ "session": "Сессия" }, "targetScopeHelp": { - "span": "Оценивать каждый соответствующий отрезок независимо.", - "trace": "Оценивать весь трейс после закрытия окна завершения.", - "session": "Оценивать сессию по трейсам после закрытия окна завершения." + "span": "Оценивайте каждый подходящий спан независимо.", + "trace": "Оценивайте весь трейс после закрытия окна завершения.", + "session": "Оценивайте сеанс по всем трейсам после закрытия окна завершения." }, "completionSection": "Критерии завершения", "completionHelp": { - "trace": "Трейс оценивается сразу после выполнения первого из них.", + "trace": "Трейс оценивается, как только выполняется первое из этих условий.", "session": "Сессия оценивается сразу после выполнения первого из них." }, "idleWindowLabel": "Окно бездействия (секунды)", - "idleWindowHelp": "Оценивается через {duration} без новых отрезков.", - "idleWindowHelpEmpty": "Оценивается, когда новые отрезки перестают поступать.", + "idleWindowHelp": "Оценивается через {duration} без новых спанов.", + "idleWindowHelpEmpty": "Оценивается, когда не поступает новых спанов.", "maxAgeLabel": "Максимальный возраст (секунды)", - "maxAgeHelp": "Оценивается через {duration} после первого отрезка.", - "maxAgeHelpEmpty": "Оценивается по достижении фиксированного возраста, даже если отрезки ещё поступают.", + "maxAgeHelp": "Оценивается через {duration} после первого спана.", + "maxAgeHelpEmpty": "Оценивается по достижении фиксированного возраста, даже если спаны ещё поступают.", "descriptionLabel": "Описание", "samplingModeLabel": "Режим выборки", "samplingValueLabel": "Частота дискретизации", @@ -11978,7 +11978,7 @@ "scorerPicker": { "title": "Оценщики", "hint": { - "span": "Выберите один или несколько оценщиков для выполнения для каждого соответствующего отрезка.", + "span": "Выберите один или несколько оценщиков для выполнения для каждого подходящего спана.", "trace": "Выберите один или несколько оценщиков для выполнения для каждого подходящего трейса.", "session": "Выберите один или несколько оценщиков для выполнения для каждой подходящей сессии." }, @@ -11990,36 +11990,36 @@ "filter": { "title": "Условие фильтра", "hint": { - "span": "Только отрезки, соответствующие этому условию, попадают в выборку и оценку.", - "trace": "Трейс попадает в выборку и оценку, если любой из его отрезков соответствует этому условию.", - "session": "Сессия попадает в выборку и оценку, если любой из её отрезков соответствует этому условию." + "span": "Только спаны, соответствующие этому условию, попадают в выборку и оценку.", + "trace": "Трейс попадает в выборку и получает оценку, если хотя бы один из его спанов соответствует этому условию.", + "session": "Сессия попадает в выборку и получает оценку, если хотя бы один из её спанов соответствует этому условию." } }, "selector": { - "title": "Какие отрезки (необязательно)", + "title": "Какие спаны (необязательно)", "hint": { - "trace": "Оставьте пустым, чтобы включить каждый отрезок в трейсе." + "trace": "Оставьте пустым, чтобы включить все спаны трейса." } }, "endSignal": { "title": "Сигнал завершения (необязательно)", "hint": { - "trace": "Определите условие отрезка, которое немедленно закрывает трейс, когда любой отрезок ему соответствует.", - "session": "Определите условие отрезка, которое немедленно закрывает сессию, когда любой отрезок ему соответствует." + "trace": "Задайте условие для спана, которое немедленно закрывает трейс, когда любой спан ему соответствует.", + "session": "Задайте условие для спана, которое немедленно закрывает сессию, когда любой спан ему соответствует." } }, "inputMapping": { "title": "Переменные запроса", "hint": { "span": "Сопоставьте каждую переменную с атрибутом спана.", - "trace": "Сопоставьте каждую переменную с предоставляемым системой значением или атрибутом спана.", - "session": "Сопоставьте каждую переменную с предоставляемым системой значением или атрибутом спана." + "trace": "Сопоставьте каждую переменную с системным значением или атрибутом спана.", + "session": "Сопоставьте каждую переменную с системным значением или атрибутом спана." }, "placeholder": "Выберите значение", - "searchPlaceholder": "Поиск системных значений и атрибутов спана…", + "searchPlaceholder": "Поиск системных значений и атрибутов спанов…", "groups": { "systemProvided": "Системные значения · Для каждого {scope}, оцениваемого этим заданием", - "spanAttributes": "Атрибуты спана" + "spanAttributes": "Атрибуты спанов" }, "selectScorers": "Выберите скореры для настройки их сопоставлений.", "noVariables": "У этого скорера нет переменных шаблона для сопоставления.", @@ -12029,7 +12029,7 @@ "title": "Системные значения для {scope}", "description": "OpenObserve формирует эти значения отдельно для каждого {scope}, оцениваемого этим заданием. Используйте их как источники при сопоставлении переменных промпта оценщика.", "badge": "Предоставлено системой", - "selectorRequired": "Требуется селектор отрезков", + "selectorRequired": "Требуется селектор спанов", "columns": { "variable": "Значение", "source": "Источник", @@ -12037,63 +12037,63 @@ }, "variables": { "input": { - "trace": "Ввод из корневого отрезка трейса." + "trace": "Входные данные из корневого спана трейса." }, "output": { - "trace": "Вывод из корневого отрезка трейса." + "trace": "Выходные данные из корневого спана трейса." }, "statistics": { - "trace": "Метрики трейса: количество отрезков, длительность, вызовы LLM и инструментов, ошибки, токены и стоимость.", - "session": "Метрики сессии: количество трейсов и оборотов, длительность и ошибки." + "trace": "Метрики трейса: количество спанов, длительность, вызовы LLM и инструментов, ошибки, токены и стоимость.", + "session": "Метрики сессии: количество трейсов и ходов, длительность и ошибки." }, "spans": { - "trace": "Отфильтрованное подмножество отрезков, выбранное селектором отрезков задания." + "trace": "Отфильтрованное подмножество спанов, выбранное селектором спанов задания." }, "steps": { - "trace": "Отрезки в хронологическом порядке; середина сворачивается, когда трейс очень длинный.", - "session": "Трейсы в хронологическом порядке, представленные как обороты разговора." + "trace": "Спаны в хронологическом порядке; средняя часть сворачивается, когда трейс очень длинный.", + "session": "Трейсы в хронологическом порядке, представленные как ходы разговора." } } } }, "spanSelector": { - "select": "Выбрать селектор отрезков", - "bindingHelp": "Трейсы могут содержать сотни отрезков. Выберите те, на которые должен обратить внимание этот оценщик.", + "select": "Выбрать селектор спанов", + "bindingHelp": "Трейсы могут содержать сотни спанов. Выберите те, которые должен просматривать этот оценщик.", "createForScorer": "Создать для оценщика", - "createForScorerTitle": "Создать селектор отрезков для этого оценщика", - "editorTitle": "Селектор отрезков", + "createForScorerTitle": "Создать селектор спанов для этого оценщика", + "editorTitle": "Селектор спанов", "name": "Имя селектора", "schemaMode": "Поля для чтения", "defaultSchema": "Стандартные поля GenAI", "customSchema": "Пользовательские поля", - "defaultSchemaHelp": "Эти восемь полей считываются из каждого подходящего спана. Отсутствующие значения передаются пустыми.", + "defaultSchemaHelp": "Эти восемь полей считываются из каждого подходящего спана. Любые отсутствующие значения приходят пустыми.", "fields": "Поля", "fieldsHelp": "Считываются только эти поля — больше ничего не отправляется оценщику.", - "maximumSpans": "Максимальное количество спанов", - "budget": "Ограничивает количество спанов, выбранных из трассировки.", + "maximumSpans": "Максимум спанов", + "budget": "Ограничивает количество спанов, выбираемых из трейса.", "validation": { "name": "Введите имя селектора.", "duplicateName": "Имена селекторов должны быть уникальными в рамках этой задачи.", "filter": "Завершите или удалите незавершённое условие фильтра.", "fields": "Выберите хотя бы одно поле для пользовательской схемы.", - "maximumSpans": "Максимальное количество спанов должно быть положительным целым числом.", + "maximumSpans": "Максимальное количество спанов должно быть целым положительным числом.", "budget": "Слишком много спанов для выбранных полей. Уменьшите количество спанов или читайте меньше полей.", - "binding": "Выберите селектор спана для каждого оценщика, использующего трассировочные спаны." + "binding": "Выберите селектор спанов для каждого оценщика, который использует спаны трейса." } }, "preview": { "scopes": { "span": { "title": "Совпавшие спаны", - "hint": "После выбора потока и фильтра эта панель покажет, сколько спанов будет соответствовать вашей задаче.", - "matchedSuffix": "Совпавшие спаны · за последний 1h", + "hint": "После выбора потока и фильтра эта панель покажет, сколько спанов будет соответствовать вашему заданию.", + "matchedSuffix": "спанов совпало · за последний 1 ч", "matchedLoading": "Подсчёт совпавших спанов…" }, "trace": { - "title": "Совпавшие трассировки", - "hint": "После выбора потока и фильтра эта панель покажет, сколько трассировок будет соответствовать вашей задаче.", - "matchedSuffix": "Совпавшие трейсы · за последний 1h", - "matchedLoading": "Подсчёт совпавших трассировок…" + "title": "Совпавшие трейсы", + "hint": "После выбора потока и фильтра эта панель покажет, сколько трейсов будет соответствовать вашему заданию.", + "matchedSuffix": "трейсов совпало · за последний 1 ч", + "matchedLoading": "Подсчёт совпавших трейсов…" }, "session": { "title": "Совпавшие сеансы", @@ -12187,7 +12187,7 @@ "curlDesc": "Самый быстрый способ — вставьте одну команду, и логи начнут поступать", "shippers": "Использовать сборщик логов", "shippersDesc": "{product1}, {product2}, {product3}, {product4}, {product5} и другие", - "otelDesc": "Вендорно-нейтральный приём OTLP для логов, трейсов и метрик", + "otelDesc": "Вендор-нейтральный прием данных OTLP для логов, трейсов и метрик", "or": "Или:", "aws": "AWS / CloudWatch", "askAi": "Попросить AI настроить приём" @@ -12293,13 +12293,13 @@ "scannedEventsForQuery": "Просканированные события для этого запроса", "timeTaken": "Затраченное время", "noData": "Нет данных", - "traceId": "ID трассы", + "traceId": "Trace ID", "viewQuery": "Просмотреть запрос", "sqlQuery": "SQL-запрос", "copied": "Скопировано!", "sql": "SQL", "noSqlAvailable": "Нет доступного SQL-запроса", - "fullTraceId": "Полный ID трассы", + "fullTraceId": "Полный Trace ID", "columnDuration": "Длительность", "columnNodeName": "Имя узла", "columnRole": "Роль", @@ -12312,7 +12312,7 @@ "goodResponse": "Хороший ответ", "moderateResponse": "Умеренный ответ", "slowResponse": "Медленный ответ", - "failedToCopyTraceId": "Не удалось скопировать ID трассы в буфер обмена", + "failedToCopyTraceId": "Не удалось скопировать Trace ID в буфер обмена", "failedToCopySql": "Не удалось скопировать SQL в буфер обмена" }, "searchResult": { @@ -12332,7 +12332,7 @@ "noMetricStreams": "Для сервиса \"{service}\" не найдено потоков метрик", "correlationError": "Ошибка корреляции: {error}", "contentCopied": "Содержимое успешно скопировано!", - "noTraceIdForInspection": "Нет ID трассы для проверки" + "noTraceIdForInspection": "Нет доступного Trace ID для просмотра" }, "searchBar": { "customRangeAlt": "Пользовательский диапазон", @@ -12496,7 +12496,7 @@ "expandRangeDesc": "Доступные данные могут находиться в другом временном окне", "copyError": "Скопировать сведения об ошибке", "copied": "Скопировано!", - "traceId": "ID трассировки:", + "traceId": "Trace ID:", "askAi": "Попросить ИИ исправить мой запрос", "showDetail": "Показать подробности", "hideDetail": "Скрыть подробности" @@ -13268,7 +13268,7 @@ "maxDuration": "Макс. длительность", "noExecutionData": "Данные выполнения не найдены", "noExecutionDataDesc": "Потоковые данные для запуска {runId} не найдены в окне +/-5 мин вокруг запланированного времени.", - "openTrace": "Открыть трейс Playwright", + "openTrace": "Открыть трассировку Playwright", "runId": "ID запуска", "screenshotAlt": "Скриншот шага", "screenshotPlaceholder": "Заполнитель скриншота", @@ -13354,7 +13354,7 @@ "errorPatternsWindowDesc": "Нормализовано по {window} · нажмите на строку для фильтрации прогонов" }, "scheduleAlert": { - "addNewDestination": "Добавить новый пункт назначения", + "addNewDestination": "Добавить нового получателя", "alertedIfFails": "Оповещать при сбое", "alertedIfFailsSuffix": "раз.", "alerts": "Оповещения", @@ -13370,8 +13370,8 @@ "weeks": "Недели" }, "customIntervalValue": "Повторять каждые", - "destinationRequired": "Требуется хотя бы один пункт назначения", - "destinations": "Пункты назначения", + "destinationRequired": "Требуется хотя бы один получатель", + "destinations": "Получатели", "frequency": "Частота", "frequencyOptions": { "15min": "15 мин", @@ -13383,8 +13383,8 @@ "custom": "Пользовательский" }, "minutes": "минут", - "noDestinations": "Нет доступных пунктов назначения", - "refreshDestinations": "Обновить пункты назначения", + "noDestinations": "Нет доступных получателей", + "refreshDestinations": "Обновить получателей", "retries": "Повторные попытки", "retriesOnFailure": "Повторные попытки при сбое", "retriesOnFailureSuffix": "раз.", @@ -13642,7 +13642,7 @@ "logs": "Логи", "dashboards": "Панели управления", "metrics": "Метрики", - "traces": "Трассы", + "traces": "Трассировки", "alerts": "Оповещения", "streams": "Потоки", "pipelines": "Конвейеры", @@ -13662,7 +13662,7 @@ "dashboards": "Просмотр панели управления", "dashboardsPanel": "Панель управления — Панель (наведите курсор на панель)", "metrics": "Метрики", - "traces": "Трассы", + "traces": "Трассировки", "alerts": "Оповещения", "streams": "Потоки", "pipelines": "Конвейеры", @@ -13672,16 +13672,16 @@ "iamRoles": "IAM — Роли", "iamGroups": "IAM — Группы", "iamServiceAccounts": "IAM — Сервисные аккаунты", - "alertDestinations": "Оповещения — Назначения", + "alertDestinations": "Оповещения — Получатели", "alertSources": "Оповещения — Внешние источники", "alertTemplates": "Оповещения — Шаблоны", "panelEditor": "Редактор панелей", - "traceDetail": "Детали трассы", + "traceDetail": "Детали трассировки", "runningQueries": "Выполняемые запросы", "ingestionTokens": "IAM — Токены приёма данных", "syntheticsTokens": "IAM — Токены Synthetics", "alertIncidents": "Оповещения — Инциденты", - "pipelineDestinations": "Конвейеры — Назначения", + "pipelineDestinations": "Конвейеры — Получатели", "enrichmentTables": "Таблицы обогащения", "iamInvitations": "IAM — Приглашения", "iamOrganizations": "IAM — Организации", @@ -13757,7 +13757,7 @@ "iamGroupsRefresh": "Обновить список", "iamServiceAccountsAdd": "Добавить новую учётную запись службы", "iamServiceAccountsRefresh": "Обновить список", - "alertDestinationsAdd": "Добавить новый приёмник", + "alertDestinationsAdd": "Добавить нового получателя", "alertDestinationsRefresh": "Обновить список", "alertSourcesAdd": "Добавить новый источник оповещений", "alertSourcesRefresh": "Обновить список", @@ -13780,7 +13780,7 @@ "aiChatExpand": "Развернуть/свернуть чат ИИ", "logsSaveView": "Сохранить как сохранённое представление", "logsExport": "Экспортировать результаты в CSV", - "tracesCopyUrl": "Скопировать ссылку на трассу", + "tracesCopyUrl": "Скопировать общую ссылку на трассировку", "alertIncidentsRefresh": "Обновить список", "pipelineDestinationsRefresh": "Обновить список", "enrichmentTablesRefresh": "Обновить список", @@ -14047,7 +14047,7 @@ "alertState": { "ok": "ОК", "normal": "Норма", - "firing": "Сработал", + "firing": "Активно", "notifyfailed": "Ошибка уведомления", "flapping": "Флаппинг", "anomaly": "Аномалия", @@ -14133,7 +14133,7 @@ }, "eventStatus": { "failed": "Ошибка", - "firing": "Сработало", + "firing": "Активно", "anomaly": "Аномалия" }, "featureStatus": { @@ -14148,7 +14148,7 @@ "array": "Массив" }, "incidentStatus": { - "firing": "Сработал", + "firing": "Активно", "closed": "Закрыто" }, "invoiceStatus": { @@ -14167,7 +14167,7 @@ "fatal": "Фатальный" }, "pipelineRunOutcome": { - "firing": "Сработал", + "firing": "Активно", "normal": "Норма", "succeeded": "Успешно", "skipped": "Пропущено", @@ -14309,21 +14309,21 @@ "pleaseSelectStreamType": "Пожалуйста, выберите тип потока ", "anomalyDetectionClonedSuccessfully": "Обнаружение аномалий успешно клонировано", "errorWhileFetchingTemplates": "Ошибка при получении шаблонов.", - "errorWhileFetchingDestinations": "Ошибка при получении назначений.", + "errorWhileFetchingDestinations": "Ошибка при получении получателей.", "failedToLoadAlertForEditing": "Не удалось загрузить оповещение для редактирования", "pleaseWaitWhileLoadingAlert": "Пожалуйста, подождите, идет загрузка оповещения...", "errorWhilePullingAlerts": "Ошибка при получении оповещений.", "pleaseWaitWhileLoadingAlerts": "Пожалуйста, подождите, идет загрузка оповещений...", - "destinationsDeletedSuccessfully": "{count} назначение успешно удалено | {count} назначений успешно удалено", - "failedToDeleteDestinations": "Не удалось удалить {count} назначение | Не удалось удалить {count} назначений", - "destinationsDeletedWithFailures": "{count} назначение успешно удалено, не удалось: {failed} | {count} назначений успешно удалено, не удалось: {failed}", - "noDestinationsSelectedForDeletion": "Не выбрано назначений для удаления", - "deletingDestinations": "Удаление назначений...", - "destinationDeletedSuccessfully": "Назначение {name} успешно удалено", - "errorWhilePullingDestinations": "Ошибка при получении назначений.", - "pleaseWaitWhileLoadingDestinations": "Пожалуйста, подождите, идет загрузка назначений...", + "destinationsDeletedSuccessfully": "{count} получатель удален успешно | {count} получателей удалено успешно", + "failedToDeleteDestinations": "Не удалось удалить {count} получателя | Не удалось удалить {count} получателей", + "destinationsDeletedWithFailures": "{count} получатель удален успешно, {failed} с ошибкой | {count} получателей удалено успешно, {failed} с ошибкой", + "noDestinationsSelectedForDeletion": "Не выбрано получателей для удаления", + "deletingDestinations": "Удаление получателей...", + "destinationDeletedSuccessfully": "Получатель {name} успешно удален", + "errorWhilePullingDestinations": "Ошибка при получении получателей.", + "pleaseWaitWhileLoadingDestinations": "Пожалуйста, подождите, пока загружаются получатели...", "errorWhileLoadingActions": "Ошибка при загрузке действий.", - "pleaseWaitWhileLoadingAlertDestination": "Пожалуйста, подождите, идет загрузка назначения оповещения...", + "pleaseWaitWhileLoadingAlertDestination": "Пожалуйста, подождите, пока загружается получатель оповещений...", "errorImportingAlertPleaseCheck": "Ошибка импорта оповещения. Проверьте JSON.", "alertsImportedSuccessfully": "{count} оповещение успешно импортировано | {count} оповещений успешно импортировано", "invalidJson": "Недопустимый JSON: {error}", @@ -14342,8 +14342,8 @@ "incidentsRefreshed": "Инциденты обновлены", "failedToPostComment": "Не удалось опубликовать комментарий", "commentPostedSuccessfully": "Комментарий успешно опубликован", - "destinationUpdatedSuccessfully": "Назначение \"{name}\" успешно обновлено.", - "destinationCreatedSuccessfully": "Назначение \"{name}\" успешно создано.", + "destinationUpdatedSuccessfully": "Получатель \"{name}\" успешно обновлен.", + "destinationCreatedSuccessfully": "Получатель \"{name}\" успешно создан.", "failedToDeleteTemplates": "Не удалось удалить {count} шаблон | Не удалось удалить {count} шаблонов", "templatesDeletedWithFailures": "Удалён {count} шаблон, но {failed} не удалось | Удалено {count} шаблонов, но {failed} не удалось", "successfullyDeletedTemplates": "Успешно удалён {count} шаблон | Успешно удалено {count} шаблонов", @@ -14400,7 +14400,7 @@ "roles": "Роли", "organizations": "Организации", "pipelines": "Конвейеры", - "destinations": "Назначения", + "destinations": "Получатели", "templates": "Шаблоны", "reports": "Отчёты", "llmModelPricing": "Цены на модели LLM" @@ -14565,7 +14565,7 @@ }, "correlation": { "refreshingTraceData": "Обновление данных трассировки...", - "traceDetailViewComingSoon": "Детальный просмотр трассировки скоро появится", + "traceDetailViewComingSoon": "Просмотр деталей трассировки скоро будет доступен", "columnIsAlreadyVisible": "Столбец \"{name}\" уже виден", "columnAddedToTable": "Столбец \"{name}\" добавлен в таблицу" }, @@ -14605,7 +14605,7 @@ "isNotASupportedFileType": "\"{fileName}\" не является поддерживаемым типом файла. Разрешены только файлы {allowed}." }, "workflows": { - "thisBranchAlreadyEndsInA": "Эта ветка уже заканчивается узлом назначения.", + "thisBranchAlreadyEndsInA": "Эта ветвь уже заканчивается получателем.", "chooseATriggerNodeToStart": "Выберите узел-триггер для запуска рабочего процесса", "thisConnectionWouldCreateALoop": "Это соединение создаст цикл", "onlyOneIncomingConnectionToA": "К одному шагу разрешено только одно входящее соединение" @@ -14613,8 +14613,8 @@ "views": { "youAreNotAuthorizedToManage": "Вы не авторизованы для управления лицензией.", "copiedToClipboard": "Скопировано в буфер обмена", - "noDestinationsFoundPleaseCreateA": "Пункты назначения не найдены. Сначала создайте пункт назначения.", - "errorWhilePullingDestinations": "Ошибка при получении пунктов назначения.", + "noDestinationsFoundPleaseCreateA": "Получатели не найдены. Пожалуйста, сначала создайте получателя.", + "errorWhilePullingDestinations": "Ошибка при получении получателей.", "rumTokenUpdatedSuccessfully": "RUM-токен успешно обновлен.", "rumTokenGeneratedSuccessfully": "RUM-токен успешно создан.", "tokenResetSuccessfully": "Токен успешно сброшен.", @@ -14631,7 +14631,7 @@ "pleaseWaitWhileLoadingStreams": "Пожалуйста, подождите, пока загружаются потоки...", "errorWhilePullingSummary": "Ошибка при получении сводки.", "pleaseWaitWhileLoadingSummary": "Пожалуйста, подождите, пока загружается сводка...", - "noDestinationsCreateOneBeforeSaving": "Пункты назначения не найдены. Создайте пункт назначения перед сохранением этого оповещения.", + "noDestinationsCreateOneBeforeSaving": "Получатели не найдены. Создайте получателя перед сохранением этого оповещения.", "errorWhileLoadingAlert": "Ошибка при загрузке оповещения." }, "RUM": { @@ -14830,7 +14830,7 @@ "noHistory": "Истории оценок для этого оповещения ещё нет. Измерение начнётся после его первого запуска.", "loadFailed": "Не удалось загрузить историю оценок", "legendGood": "ОК", - "legendBad": "Сработало", + "legendBad": "Срабатывание", "legendUnmeasured": "Не измерено" } }, @@ -15360,14 +15360,14 @@ "failed": "Сбои" }, "columnHints": { - "calls": "Сколько раз выполнялся этот запрос. Собственный счётчик вашей базы данных, если он есть — он охватывает всех клиентов, а не только части вашей системы, отправляющие трейсы. Строки, помеченные как наблюдаемые клиентом, подсчитываются по трейсам, потому что ваша база данных о них не сообщила.", + "calls": "Сколько раз выполнялся этот запрос. Собственное число базы данных, если она его сообщает, — охватывает всех клиентов, а не только те части вашей системы, которые отправляют трейсы. Строки с пометкой «наблюдается клиентом» подсчитываются из трейсов, поскольку база данных их не сообщала.", "p50": "Половина всех вызовов завершилась быстрее этого. Учитываются только завершённые вызовы — запрос, который всё ещё выполняется или так и не вернулся, здесь не измеряется.", "p95": "Медленный хвост — 1 из 20 вызовов занял не меньше этого времени. Учитываются только завершённые вызовы — запрос, который всё ещё выполняется или так и не вернулся, здесь не измеряется.", "p99": "Худшие 1% вызовов заняли не меньше этого времени. Учитываются только завершённые вызовы — запрос, который всё ещё выполняется или так и не вернулся, здесь не измеряется.", "max": "Самый медленный вызов в этом окне — один реальный вызов, а не среднее.", "errors": "Сколько из этих вызовов завершились ошибкой.", "perTrace": "Сколько раз это выполняется в рамках одного запроса. Большое число обычно означает цикл.", - "load": "Общее время, которое этот запрос провёл в базе данных. Собственный показатель вашей базы данных, если он есть: время выполнения на Postgres, но время ОЖИДАНИЯ на MySQL и MariaDB — в каждой строке указано, какое именно. Строки, помеченные как наблюдаемые клиентом, измеряются по трейсам, поэтому включают сетевой обход." + "load": "Общее время, которое этот запрос провёл в базе данных. Собственное значение базы данных, если она его сообщает: время выполнения в Postgres, но время ОЖИДАНИЯ в MySQL и MariaDB — в каждой строке указано, какое именно. Строки с пометкой «наблюдается клиентом» измеряются по трейсам, поэтому включают время сетевого обмена." }, "errorsNone": "нет", "errorsAll": "все", @@ -15405,7 +15405,7 @@ "n-plus-one": { "title": "Выполняется не менее {multiplier}× на запрос", "body": "{share} времени базы данных · {service}", - "rule": "Показано, потому что этот запрос выполняется не менее {ratio} раз в рамках одного запроса, как минимум в {traces} запросах. Это нижняя граница, поэтому реальное число может быть больше. Легитимная пакетная работа может выглядеть так же." + "rule": "Показано, потому что этот запрос выполняется как минимум {ratio} раз в рамках одного запроса и как минимум в {traces} запросах. Это нижняя граница, поэтому реальное число может быть больше. Законная пакетная обработка может выглядеть так же." }, "volume-shift": { "title": "Чаще, но не медленнее", @@ -15479,7 +15479,7 @@ "subtitleCounts": "{pass} пройдено, {fail} не пройдено. | {pass} пройдено, {fail} не пройдено.", "checklistTitle": "Что мы проверили", "showMeHow": "Покажите, как настроить инструментирование", - "checkTrace": "Проверьте один из моих трейсов", + "checkTrace": "Проверить один из моих трейсов", "checks": { "enabled": { "ok": "Мониторинг баз данных включён", @@ -15490,17 +15490,17 @@ "traces": { "ok": "Ваши трейсы поступают", "okDetail": "{count} записано в этом временном диапазоне", - "no": "Трейсы не поступали", - "noDetail": "Мониторинг баз данных строится на основе трейсов, и эта организация ещё не отправляла их." + "no": "Трейсы ещё не поступали", + "noDetail": "Мониторинг базы данных строится на трейсах, а эта организация ещё не отправляла их." }, "permission": { "ok": "У вас есть доступ к этим данным", "okDetail": "вы администратор в {org}", "no": "У вас нет доступа к этим данным", - "noDetail": "Мониторинг баз данных читает ваши трейсы, но ваша роль не включает их. Попросите администратора предоставить доступ на чтение." + "noDetail": "Мониторинг базы данных читает ваши трейсы, а ваша роль не включает их. Попросите администратора предоставить доступ на чтение." }, "dbSpans": { - "ok": "В ваших трейсах упоминается база данных", + "ok": "Ваши трейсы упоминают базу данных", "okDetail": "вызовы к базе данных записываются", "no": "Ни один из ваших трейсов не упоминает базу данных", "noDetail": "Ваши приложения трассируются, но часть, которая обращается к базе данных, — нет. Добавьте инструментирование базы данных для вашего языка, и запросы появятся здесь." @@ -15533,7 +15533,7 @@ "plans": "Планы запросов", "plansHint": "Шаги, которые ваша база данных выполнила для этого запроса. Начните здесь, чтобы понять, почему он медленный.", "callers": "Вызывающие и примеры", - "callersHint": "Какие части вашего приложения выполняли этот запрос, и отдельные медленные выполнения, которые можно открыть как трейс.", + "callersHint": "Какие части вашего приложения выполняли этот запрос, а также отдельные медленные выполнения, которые можно открыть как трейс.", "callersLocked": "Отдельные выполнения получаются из трассировки. Ни один трейс не зафиксировал этот запрос в этом временном диапазоне." }, "notFound": { @@ -15559,10 +15559,10 @@ "noSamples": "Для этого диапазона не загружено ни одного отдельного выполнения.", "noSeries": "Нет истории для этого запроса в выбранном вами диапазоне.", "liveSeries": "Самые последние точки все еще подсчитываются и могут измениться.", - "noStream": "Мы не смогли определить, какой поток трассировок переносит этот запрос, поэтому его вызывающие и примеры не могут быть загружены.", - "ambiguousStream": "В этой организации более одного потока трассировок, и мы не можем определить, на каком из них работает этот запрос. Выберите поток, чтобы загрузить его вызывающие и примеры трассировок.", - "pickStream": "Выберите поток трассировок", - "invalidStream": "Имя этого потока трассировок нам не знакомо, поэтому мы не выполнили поиск.", + "noStream": "Не удалось определить, какой поток трейсов содержит этот запрос, поэтому его вызывающие стороны и примеры не могут быть загружены.", + "ambiguousStream": "В этой организации более одного потока трейсов, и мы не можем определить, в каком из них выполняется этот запрос. Выберите поток, чтобы загрузить его вызывающие стороны и примеры трейсов.", + "pickStream": "Выберите поток трейсов", + "invalidStream": "Это имя потока трейсов нам не знакомо, поэтому мы не выполнили поиск.", "firstSeen": "ВПЕРВЫЕ ПОЯВИЛСЯ В ЭТОМ СПИСКЕ В {time}", "firstSeenHint": "Самая ранняя точка в этом диапазоне, где этот запрос был достаточно тяжелым, чтобы отслеживаться отдельно.", "lastSeen": "ПОСЛЕДНИЙ РАЗ ПОЯВИЛСЯ В {time}", @@ -15593,7 +15593,7 @@ "sampleOk": "ОК", "sampleError": "Сбой", "viewTrace": "Посмотреть запрос →", - "viewTraces": "Посмотреть примеры трассировок", + "viewTraces": "Посмотреть примеры трейсов", "copySummary": "Скопировать", "copySummaryHint": "Каждое число здесь уже есть на этой странице — это просто составляет предложение, так что 13-я минута инцидента создаёт сообщение вместо пустоты.", "summaryCopied": "Сводка скопирована", @@ -15686,7 +15686,7 @@ "tracedCalls": "{calls} вызовов отслежено", "coverage": "{count} сервисов замечено в {traced} из {executions} выполнений выше. Остальные поступили от вызывающих, которых вы ещё не трассируете.", "coverageUnknown": "{count} сервисов замечено в {traced} отслеженных вызовах. Ваша база данных не сообщила общее количество для этого оператора, поэтому долю указать нельзя.", - "noneNamed": "{traced} вызовов были отслежены, но ни один из них не удалось привязать к сервису — их трассировки начинаются вне этого временного диапазона." + "noneNamed": "Было отслежено {traced} вызовов, но ни один из них не удалось привязать к сервису — их трейсы начинаются за пределами этого временного диапазона." }, "callersEmpty": { "title": "Отслеженных вызовов для этого запроса пока нет", @@ -15752,9 +15752,9 @@ "failedWithCode": "Ошибка · {code}", "viewTrace": "Открыть запрос, частью которого был этот вызов", "scatterOk": "Завершено", - "partial": "Некоторые данные трассировки не удалось прочитать, поэтому часть вызовов может отсутствовать в этом списке.", + "partial": "Часть данных ваших трейсов не удалось прочитать, поэтому некоторые вызовы могут отсутствовать в этом списке.", "disclosureShort": "Каждая строка — это один реальный завершённый вызов", - "disclosureDetail": "Измерено приложением, которое выполнило вызов, по данным отправляемых трассировок. Здесь только завершённые вызовы — запрос, который всё ещё выполняется или завис и не вернулся, не дал измерения.", + "disclosureDetail": "Измерено приложением, которое выполнило вызов, на основе отправляемых вами трейсов. Здесь только завершившиеся вызовы — запрос, который всё ещё выполняется или завис и не вернулся, не даёт измерения.", "counts": { "complete": "Показаны все {count} вызовов к базе данных за этот период, сначала самые медленные.", "truncated": "{count} самых медленных вызовов за этот период — выполнялось больше, чем показано.", @@ -15959,8 +15959,8 @@ "blocking": "Блокирует" }, "coverage": { - "summary": "Самое долгое ожидание — {longest}. Каждое ожидание вызвано блокировкой, которую держат открытой: {roots}.", - "summaryCapped": "Сеансов ожидало больше, чем мы смогли прочитать за один раз. Из тех, что у нас есть, самое долгое ожидание — {longest}, и все они упираются в блокировку, которую держат открытой: {roots}.", + "summary": "Самое длительное ожидание — {longest}. Каждое ожидание восходит к {roots}, удерживающим блокировку открытой.", + "summaryCapped": "Ожидающих сеансов было больше, чем мы могли прочитать за раз. Среди тех, что у нас есть, самое длительное ожидание — {longest}, и они восходят к {roots}, удерживающим блокировку открытой.", "summaryOneRoot": "один сеанс", "summaryManyRoots": "{count} сеансов", "checked": "Проверка каждые {interval} секунд; последняя проверка: {time}.", diff --git a/web/src/locales/languages/tr-TR.json b/web/src/locales/languages/tr-TR.json index eaa29e8f96..88ad12541f 100644 --- a/web/src/locales/languages/tr-TR.json +++ b/web/src/locales/languages/tr-TR.json @@ -78,7 +78,7 @@ }, "noDashboards": { "title": "İlk panonuzu oluşturun", - "description": "Gösterge panoları metriklerinizi, günlüklerinizi ve izlerinizi tek bir görünümde bir araya getirir. Başlamak için bir tane oluşturun.", + "description": "Gösterge panoları, metriklerinizi, günlüklerinizi ve izlerinizi tek bir görünümde bir araya getirir. Başlamak için bir tane oluşturun.", "action": "Yeni gösterge tablosu", "actionDesc": "Boş bir tuvalden başlayın", "import": "Kontrol panosunu içe aktarma", @@ -124,7 +124,7 @@ }, "noIngestionTokens": { "title": "Henüz alım belirteci yok", - "description": "Yutma belirteçleri, günlükleri, metrikleri ve izleri gönderirken veri kaynaklarını doğrular.", + "description": "Veri alımı belirteçleri, günlükler, metrikler ve izler gönderilirken veri kaynaklarının kimliğini doğrular.", "action": "Yeni belirteç", "actionDesc": "Bir yutma belirteci oluşturun" }, @@ -133,11 +133,11 @@ "description": "Kuruluşlar kullanıcılarınızı ve verilerinizi bir arada gruplandırır. Başlamak için bir tane oluşturun." }, "noAlertDestinations": { - "title": "Henüz destinasyon yok", - "description": "Hedefler, uyarı bildirimlerinin nereye gönderileceğini tanımlar - Slack, e-posta, web kancaları ve daha fazlası.", + "title": "Henüz hedef yok", + "description": "Hedefler, uyarı bildirimlerinin nereye gönderileceğini tanımlar — Slack, e-posta, webhook'lar ve daha fazlası.", "action": "Yeni hedef", "actionDesc": "Bir bildirim kanalı bağlayın", - "import": "İçe aktarma hedefi", + "import": "Hedefi içe aktar", "importDesc": "JSON dosyasından içe aktarma" }, "noAlertSources": { @@ -147,10 +147,10 @@ "actionDesc": "Bir webhook URL'si ve belirteç oluşturun" }, "noPipelineDestinations": { - "title": "Henüz destinasyon yok", + "title": "Henüz hedef yok", "description": "Boru hattı çıktısı için harici hedefler - HTTP uç noktaları ve uzaktan yazma hedefleri.", "action": "Yeni hedef", - "actionDesc": "Bir boru hattı hedefini bağlama" + "actionDesc": "Bir boru hattı hedefi bağlayın" }, "noAlertTemplates": { "title": "Henüz şablon yok", @@ -192,7 +192,7 @@ }, "noDiscoveredServices": { "title": "Hiçbir hizmet keşfedilmedi", - "description": "İzler gelmeye başladığında hizmetler burada otomatik olarak görünecektir." + "description": "İzler gelmeye başladığında hizmetler otomatik olarak burada görünecektir." }, "noNodes": { "title": "Mevcut düğüm yok", @@ -248,7 +248,7 @@ }, "noDatasets": { "title": "İlk veri kümenizi oluşturun", - "description": "Altın veri kümeleri, açıklamalı izleri ve incelemeleri sürümlü değerlendirme setlerinde toplar. Kürasyona başlamak için bir tane oluşturun.", + "description": "Altın veri kümeleri, açıklamalı izleri ve incelemeleri sürümlendirilmiş değerlendirme kümelerinde toplar. Küratörlüğe başlamak için bir tane oluşturun.", "action": "Yeni veri kümesi", "actionDesc": "Boş bir veri kümesi başlat" }, @@ -288,15 +288,15 @@ }, "noLLMInsights": { "title": "Henüz LLM etkinliği yok", - "description": "Hizmetlerinizi OpenTelemetry Gen-AI semantik kurallarıyla düzenleyin ve bu gösterge tablosunu doldurmak için en az bir iz alın.", + "description": "Hizmetlerinizi OpenTelemetry Gen-AI anlamsal kurallarıyla enstrümante edin ve bu gösterge panelini doldurmak için en az bir iz alın.", "action": "OpenTelemetry ile Enstrüman", - "actionDesc": "İzlerinizdeki gen_ai_* özelliklerini yakalayın" + "actionDesc": "İzlerinizde gen_ai_* niteliklerini yakalayın" }, "noLLMSessions": { "title": "Henüz LLM oturumu yok", - "description": "Oturumlar gen_ai_conversation_id olarak gruplandırılır. Hizmetlerinizi düzenleyin, böylece her konuşma izlerini etiketler ve oturumlar burada görünür.", + "description": "Oturumlar, gen_ai_conversation_id tarafından gruplandırılır. Hizmetlerinizi, her konuşma izlerini etiketleyecek şekilde enstrümante edin; oturumlar burada görünecektir.", "action": "OpenTelemetry ile Enstrüman", - "actionDesc": "gen_ai_conversation_id ile gen_ai_conversation_id ile etiketleme alanları" + "actionDesc": "Span'leri gen_ai_conversation_id ile etiketleyin" }, "noScorers": { "title": "Henüz golcü yok", @@ -342,11 +342,11 @@ }, "noTraces": { "title": "İz bulunamadı", - "description": "Seçilen hizmet ve zaman aralığıyla eşleşen hiçbir iz yoktur. Daha geniş bir zaman aralığı veya farklı bir hizmet deneyin." + "description": "Seçilen hizmet ve zaman aralığıyla eşleşen iz yok. Daha geniş bir zaman aralığı veya farklı bir hizmet deneyin." }, "noServiceGraph": { "title": "Servis grafiği verisi yok", - "description": "Daha uzun bir zaman aralığı sorgulamayı deneyin veya hizmetlerinizin aralık ölçümleri yaydığından emin olun." + "description": "Daha uzun bir zaman aralığı sorgulamayı deneyin veya hizmetlerinizin span metrikleri yaydığından emin olun." }, "noServicesCatalog": { "title": "Hizmet bulunamadı", @@ -406,16 +406,16 @@ "pipelines": "boru hatları", "workflows": "iş akışları", "functions": "işlevleri", - "streams": "akışları", + "streams": "akışlar", "alerts": "uyarılar", "incidents": "olaylar", - "traces": "izleri", + "traces": "izler", "discoveryItems": "sağlıksız öğeler", "datasetItems": "öğeler", "searches": "aramalar", "searchJobs": "arama işleri", "users": "kullanıcıları", - "reports": "raporları", + "reports": "raporlar", "queries": "sorgular", "serviceAccounts": "hizmet hesapları", "invitations": "davetiyeleri", @@ -847,7 +847,7 @@ "destination": { "createNew": "Yeni Hedef Oluştur", "select": "Hedef", - "loadError": "Hedefler alınırken hata oluştu." + "loadError": "Hedefler getirilirken hata oluştu." }, "function": { "createNew": "Yeni İşlev Oluştur", @@ -1061,10 +1061,10 @@ "regionFilterMsg": "Ara Bölge/Küme", "queryRangeRestrictionMsg": "Sorgu aralığı {range} ile sınırlıdır. Lütfen tarih aralığını buna göre ayarlayın. Aksi takdirde, başlangıç tarihi izin verilen sınıra uyacak şekilde otomatik olarak ayarlanacaktır.", "cancel": "Sorguyu iptal et", - "viewTrace": "İzlemeyi Görüntüle", + "viewTrace": "İzi Görüntüle", "viewTraceUnavailable": "Bu günlük kaydı için iz açılamadı.", "viewRelated": "İlgili Görüntüle", - "viewRelatedTooltip": "İlgili izleri ve metrikleri görüntüleme", + "viewRelatedTooltip": "İlgili izleri ve metrikleri görüntüle", "flattened": "Düzleştirilmiş", "original": "Orijinal", "resetFilters": "Filtreleri Sıfırla", @@ -1146,8 +1146,8 @@ "selectFunctionNamePlaceholder": "İşlev Adını Seçin", "confirmFunctionUpdateTitle": "Güncellemeyi Onayla", "confirmFunctionUpdateMsg": "{name} işlevini güncellemek istediğinizden emin misiniz?", - "traceIdLabel": "İzleme kimliği:", - "enterTraceIdPlaceholder": "İzleme kimliğini girin", + "traceIdLabel": "İz Kimliği:", + "enterTraceIdPlaceholder": "İz kimliği girin", "changeQueryModeTitle": "Sorgu Modunu Değiştir", "changeQueryModeConfirm": "Sorgu modunu değiştirmek istediğinizden emin misiniz? X Ekseni, Y Ekseni ve Filtreler için kaydedilen veriler silinecektir.", "patternExampleLog": "Örnek Günlük", @@ -1199,7 +1199,7 @@ "about": "Hakkında", "index": "Akışlar", "search": "Günlükler", - "traces": "İzleri", + "traces": "İzler", "serviceGraph": "Hizmet Grafiği", "services": "Hizmet Kataloğu", "aiObservability": "Yapay Zeka Gözlemlenebilirliği", @@ -1383,8 +1383,8 @@ "loadingMsg": "Sıkı durun, RUM verilerini yüklüyoruz.", "breadcrumbs": "Ekmek kırıntıları", "tags": "Etiketler", - "traces": "İzleri", - "searchEvents": "Etkinlikleri Ara", + "traces": "İzler", + "searchEvents": "Olayları Ara", "loadingSessions": "Sıkı durun, seansları getiriyoruz.", "errorStack": "Hata Yığını", "sessionReplay": "Oturum Tekrar Oynatma", @@ -1395,10 +1395,10 @@ "loadingErrorDetails": "Sıkı durun, hata ayrıntılarını getiriyoruz.", "eventID": "Olay Kimliği", "noCorrelatedTraces": "Bu oturum için ilişkili iz bulunamadı.", - "span": "kapsamak", - "spans": "açıklıklar", + "span": "span", + "spans": "span'ler", "errorTraces": "hata izleri", - "failedToFetchTraces": "İzleme verileri alınamadı. Lütfen tekrar deneyin.", + "failedToFetchTraces": "İz verileri alınamadı. Lütfen tekrar deneyin.", "seekToMoment": "Oturumda bu anı arayın", "route": "Güzergah", "duration": "Süre", @@ -1537,7 +1537,7 @@ "feature_column_name": "Özellik", "feature_logs": "Günlükler", "feature_metrics": "Metrikler", - "feature_traces": "İzleri", + "feature_traces": "İzler", "feature_alerts": "Uyarılar", "feature_dashboards": "Gösterge panoları", "feature_reports": "Raporlar", @@ -1561,7 +1561,7 @@ "feature_license": "Lisans", "feature_support": "Destek", "feature_cost": "Maliyet", - "feature_pipelines_external": "Boru hatları - Dış hedefler", + "feature_pipelines_external": "Boru hatları - Harici hedefler", "feature_extreme_performance": "Olağanüstü performans (birçok sorgu için 100x iyileştirme)", "feature_query_optimizer": "Sorgu iyileştirici", "value_license_agpl": "AGGL", @@ -1736,8 +1736,8 @@ "note": "PII ve hassas bilgileri koruyun" }, "pipeline_remote_destinations": { - "name": "Boru Hattı Uzak Hedefleri", - "note": "Uzak hedeflere veri gönderin" + "name": "Boru hattı uzak hedefleri", + "note": "Verileri uzak hedeflere gönder" }, "query_optimizer": { "name": "Sorgu İyileştirici/Toplama Önbelleği", @@ -2504,7 +2504,7 @@ "deleteDatesMessage": "Seçilen tarihleri silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.", "labelLogs": "Günlükler", "labelMetrics": "Metrikler", - "labelTraces": "İzleri", + "labelTraces": "İzler", "labelMetadata": "Meta veriler", "add": "Akış Ekle", "dataRetention": "Veri Saklama (gün cinsinden)", @@ -2665,7 +2665,7 @@ "output": "Çıkış", "noInput": "Bu adım son çalıştırmada hiç kayıt almadı.", "sentExternally": "Harici hedefe gönderildi", - "destinationNoRecords": "Bu hedefe hiç kayıt ulaşmadı — hiçbir şey gönderilmedi.", + "destinationNoRecords": "Bu hedefe hiçbir kayıt ulaşmadı — hiçbir şey gönderilmedi.", "branchFiltered": "0 kayıt — bu dala hiçbir şey geçmedi.", "conditionNoMatch": "Bu koşulla eşleşen kayıt yok — aşağı akışta hiçbir şey devam etmedi.", "errorHeading": "Hata", @@ -2756,7 +2756,7 @@ "disabledBadge": "Devre Dışı", "incompleteBadge": "Daha Sonra Kur", "destinationSetUpLater": "Daha Sonra Kur", - "destinationSetUpLaterPrompt": "Henüz bir hedefiniz yok mu? Bunu açın ve daha sonra ayarlayın — şimdi taslak kaydedip test edebilirsiniz.", + "destinationSetUpLaterPrompt": "Henüz bir hedefiniz yok mu? Daha sonra ayarlamak için bunu açın — şimdi bir taslak kaydedip test edebilirsiniz.", "destinationSetUpLaterActive": "Hedef şimdilik atlanıyor — ad ve yorum yine de kaydedilir. Yayınlamadan önce bir hedefe ihtiyacınız olacak.", "functionSetUpLater": "Daha Sonra Kur", "functionSetUpLaterPrompt": "Henüz bir fonksiyonunuz yok mu? Bunu açın ve daha sonra ayarlayın — şimdi taslak kaydedip test edebilirsiniz.", @@ -2815,8 +2815,8 @@ "functionNodeEmptyName": "Fonksiyon düğümü {id} fonksiyon adı boş", "functionNodeInvalidName": "Fonksiyon düğümü {id} geçersiz fonksiyon adı \"{name}\". Mevcut fonksiyonlardan biri olmalıdır.", "outputStreamNodeEmptyName": "Çıktı akış düğümü {id} akış adı boş", - "remoteStreamNodeEmptyDestination": "Uzak akış düğümü {id} hedef adı boş", - "remoteStreamNodeInvalidDestination": "Uzak akış düğümü {id} geçersiz hedef \"{destination}\". Mevcut pipeline hedeflerinden biri olmalıdır.", + "remoteStreamNodeEmptyDestination": "Uzak akış düğümü {id} boş bir hedef adı içeriyor", + "remoteStreamNodeInvalidDestination": "Uzak akış düğümü {id} geçersiz hedef \"{destination}\" içeriyor. Mevcut boru hattı hedeflerinden biri olmalıdır.", "edgeMissingSourceNode": "Kenar {id} mevcut olmayan kaynak düğümü {source} referans gösteriyor", "edgeMissingTargetNode": "Kenar {id} mevcut olmayan hedef düğümü {target} referans gösteriyor", "inputNodeHasIncomingEdges": "Giriş düğümü {id} gelen kenarlara sahip olmamalıdır. {count} gelen kenar bulundu.", @@ -2831,7 +2831,7 @@ "importErrors": { "unknownError": "Bilinmeyen Hata", "nameRequired": "İşlem Hattı - {index}: Ad gereklidir.", - "streamTypeInvalid": "İşlem Hattı - {index}: Akış Türü zorunludur ve şunlardan biri olmalıdır: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Boru hattı - {index}: Akış Türü zorunludur ve şunlardan biri olmalıdır: 'logs', 'metrics', 'traces'.", "sourceStreamNameRequired": "İşlem Hattı - {index}: Kaynak akış adı gereklidir ", "sqlQueryRequired": "İşlem Hattı - {index}: SQL sorgusu gereklidir.", "timezoneRequired": "İşlem Hattı - {index}: Saat dilimi gereklidir.", @@ -2844,7 +2844,7 @@ "v0ConditionFields": "İşlem Hattı - {index}, Düğüm {nodeIndex}: V0 biçimi - her koşul sütun, operatör ve değere sahip olmalıdır.", "v1ConditionInvalid": "İşlem Hattı - {index}, Düğüm {nodeIndex}: Geçersiz V1 koşul biçimi.", "conditionFormatUnrecognized": "İşlem Hattı - {index}, Düğüm {nodeIndex}: Tanınmayan koşul biçimi.", - "remoteDestinationRequired": "İşlem Hattı - {index}: Uzak hedef gereklidir.", + "remoteDestinationRequired": "Boru hattı - {index}: Uzak hedef gereklidir", "createSuccess": "İşlem Hattı - {index}: \"{name}\" başarıyla oluşturuldu \\nNot: lütfen oluşturulan işlem hattı nesnesini {name} json dosyasından kaldırın", "createFailed": "İşlem Hattı - {index}: \"{name}\" oluşturma başarısız oldu --> \\n Neden: {reason}", "sqlQueryMismatch": "Pipeline - {index}: SQL sorgusu tüm düğümlerde aynı olmalı ve ayrıca düğümlerdeki sorguyla eşleşmeye çalışın \n\n input.sql_query: {sqlQuery} \n\n input.source.query_condition.sql: {sourceSql} \n", @@ -2945,7 +2945,7 @@ "defaultDelayTooltip": "Varsayılan: 5 saniye", "deleteDataBeforeBackfill": "Geri doldurmadan önce mevcut verileri sil", "irreversibleDeletionWarning": "Uyarı: Geri Alınamaz Veri Silme", - "deleteBackfillWarningMessage": "Bu, geri doldurmayı çalıştırmadan önce belirtilen zaman aralığındaki hedef akıştaki tüm verileri kalıcı olarak silecektir. Bu işlem geri alınamaz.", + "deleteBackfillWarningMessage": "Bu, geri doldurma çalıştırılmadan önce belirtilen zaman aralığındaki hedef akıştaki tüm verileri kalıcı olarak siler. Bu işlem geri alınamaz.", "timeAlignmentRequirements": "Zaman Hizalama Gereksinimleri (UTC):", "logsHourBoundaryNote": "akışlar: Zamanlar UTC'de saat sınırlarına hizalanmalıdır (örn. 10:00:00, 10:15:00 değil)", "metricsTracesLabel": "Metrikler/İzler", @@ -2972,7 +2972,7 @@ "phaseInitializing": "Başlatılıyor" }, "deleteBackfillConfirmMessage": "Geri doldurmadan önce mevcut verileri silmeyi seçtiniz. Bu, belirtilen zaman aralığındaki hedef akıştaki tüm verileri kalıcı olarak silecektir.", - "editBackfillDeleteConfirmMessage": "Geri doldurmadan önce mevcut verileri silmeyi seçtiniz. Bu, belirtilen zaman aralığındaki hedef akıştaki tüm verileri kalıcı olarak silecektir. Bu işlem, iş güncellendikten sonra geri alınamaz veya iptal edilemez. Devam etmek istediğinize emin misiniz?", + "editBackfillDeleteConfirmMessage": "Geri doldurmadan önce mevcut verileri silmeyi seçtiniz. Bu, belirtilen zaman aralığındaki hedef akıştaki tüm verileri kalıcı olarak silecektir. İş güncellendikten sonra bu işlem GERİ ALINAMAZ veya iptal edilemez. Devam etmek istediğinize emin misiniz?", "actionCannotBeUndone": "Bu işlem, iş oluşturulduktan sonra geri alınamaz veya iptal edilemez.", "areYouSureProceed": "Devam etmek istediğinize emin misiniz?", "clearFilters": "Filtreleri Temizle", @@ -3076,7 +3076,7 @@ "functionAlreadyAssociated": "İşlev zaten ilişkilendirilmiş", "atLeastOneCondition": "Lütfen en az bir koşul ekleyin", "fillAllConditionFields": "Lütfen tüm koşul alanlarını doldurun (sütun, operatör ve değer gereklidir)", - "selectExternalDestination": "Lütfen listeden harici bir hedef seçin", + "selectExternalDestination": "Lütfen listeden harici hedef seçin", "backfillNumericRange": "{min} ile {max} arasında olmalıdır", "selectValidTimeRange": "Lütfen geçerli bir zaman aralığı seçin", "startBeforeEndTime": "Başlangıç saati bitiş saatinden önce olmalıdır", @@ -3182,7 +3182,7 @@ "noJobSelected": "Hiçbir iş seçilmedi", "updateBackfillJobFailed": "Backfill işi güncellenemedi", "fetchPipelineHistoryFailed": "Pipeline geçmişi alınamadı", - "defaultDestinationNodeWarning": "Varsayılan hedef düğümü kaldırmak, verilerin bu düğüme alınmasını durdurur. Kaynak akış daha sonra yalnızca yeni eklenen hedef akışa yönlendirilir. Herhangi bir hedef akışa yönlendirilmeyen veriler atılır.", + "defaultDestinationNodeWarning": "Varsayılan hedef düğümünü kaldırmak, verilerin bu düğüme alınmasını durdurur. Kaynak akış daha sonra yalnızca yeni eklenen hedef akışa yönlendirilir. Herhangi bir hedef akışa yönlendirilmeyen veriler atılacaktır.", "confirmBulkDeleteMsg": "{count} pipeline silmek istediğinize emin misiniz?", "confirmPauseBackfillJob": "\"{name}\" için backfill işini duraklatmak istediğinize emin misiniz? Daha sonra sürdürebilirsiniz.", "confirmResumeBackfillJob": "\"{name}\" için backfill işini sürdürmek istediğinize emin misiniz?", @@ -3292,10 +3292,10 @@ "analyzingDimensions": "Boyutları analiz ediyor...", "arrowSeparator": "→", "computingDistributions": "{count} boyutları arasındaki frekans dağılımlarını hesaplama", - "dashboardDescError": "Hata artışı dönemindeki izlerin hata yüzdesini, boyutlar genelinde taban çizgisiyle karşılaştırma", - "dashboardDescLatency": "Seçilen izlerin yüzdelik gecikmesini (süre {start}-{end}µs) boyutlar genelinde taban çizgisiyle karşılaştırma", - "dashboardDescVolume": "İz sayısı dağılımını boyutlar genelinde taban çizgisiyle karşılaştırma", - "dashboardDescVolumeRate": "Seçilen dönemlerin iz sayısı dağılımını (oran {start}-{end} iz) boyutlar genelinde taban çizgisiyle karşılaştırma", + "dashboardDescError": "Hata artışı dönemindeki izlerin hata yüzdesini, boyutlar genelinde taban çizgisiyle karşılaştırır.", + "dashboardDescLatency": "Seçilen izlerin yüzdelik gecikmesini (süre {start}-{end}µs) boyutlar genelinde taban çizgisiyle karşılaştırır.", + "dashboardDescVolume": "İz sayısı dağılımını boyutlar genelinde taban çizgisiyle karşılaştırır.", + "dashboardDescVolumeRate": "Seçilen dönemlerin iz sayısı dağılımını (oran {start}-{end} iz) boyutlar genelinde taban çizgisiyle karşılaştırır.", "dashboardTitleError": "Hata İçgörüleri", "dashboardTitleLatency": "Gecikme İçgörüleri", "dashboardTitleVolume": "Hacim İçgörüleri", @@ -3315,7 +3315,7 @@ "title": "İçgörüler", "tabLabel": "Oranı", "analyzeTooltipLogs": "Geçerli zaman aralığı için boyut dağılımını analiz edin", - "analyzeTooltipTraces": "Hız, gecikme süresi ve hata kalıpları için izleme boyutlarını analiz edin", + "analyzeTooltipTraces": "Oran, gecikme ve hata modelleri için iz boyutlarını analiz edin.", "rateLabel": "Oranı:", "searchInspectionsLabel": "Arama işi yürütme ayrıntılarını inceleyin", "inspectBtnLabel": "İnceleyin", @@ -3418,7 +3418,7 @@ "singleTargetTitle": "Tek uzak yazma hedefi", "fanoutTitle": "Birden çok backend'e dağıtım", "tipPrefix": "İpucu: `vmagent` yazma işlemlerini şu", - "tipSuffix": "bayrağı tekrarlayarak çoğaltabilir, böylece mevcut bir VictoriaMetrics hedefini korurken aynı zamanda OpenObserve'e metrik iletebilirsiniz.", + "tipSuffix": "bayrağı, mevcut bir VictoriaMetrics hedefini korurken aynı zamanda metrikleri OpenObserve'e iletebilirsiniz.", "docLinkText": "vmagent uzak yazma hedeflerini yapılandırma hakkında daha fazla bilgi edinmek için." }, "ai": { @@ -3441,7 +3441,7 @@ "customLabel": "Özel", "logsLabel": "Günlükler", "metricsLabel": "Metrikler", - "tracesLabel": "İzleri", + "tracesLabel": "İzler", "redirectionIngestionMsg": "Not: IAM dışındaki sayfalara erişmek için, veri alımının geçerli kuruluş içinde başlatılması gerekir.", "databaseLabel": "Veritabanları", "securityLabel": "Güvenlik", @@ -3629,14 +3629,14 @@ "anyWindowsHostNote": "Herhangi bir Windows sunucusu veya VM.", "arrow": "→", "askOnSlack": "Slack'te Sorun", - "autoInstrumentTracesDesc": "İsteğe bağlı. OpenTelemetry operatörü, ek açıklamalı iş yüklerine enstrümantasyon enjekte eder; böylece **uygulama koduna dokunmadan veya görüntüleri yeniden oluşturmadan dağıtık izler** elde edersiniz. Bir dil seçin ve ardından çalıştığı ad alanına ek açıklama ekleyin.", - "autoInstrumentTracesTitle": "Uygulamalarınızı İzleme için Otomatik Enstrümante Edin", + "autoInstrumentTracesDesc": "İsteğe bağlı. OpenTelemetry operatörü, annotasyon eklenmiş iş yüklerine enstrümantasyon enjekte eder, böylece **uygulama koduna dokunmadan veya görüntüleri yeniden oluşturmadan dağıtık izler** elde edersiniz. Bir dil seçin, ardından çalıştığı namespace'e annotasyon ekleyin.", + "autoInstrumentTracesTitle": "Uygulamalarınızı İzler için Otomatik Enstrümante Edin", "cassandraJmxNote": "Alıcının bağlanabilmesi için Cassandra'da JMX uzaktan erişimini etkinleştirin.", "cassandraTagline": "Cassandra metriklerini OpenTelemetry Collector'ın JMX alıcısı aracılığıyla toplayın ve OpenObserve'e gönderin.", "checking": "Kontrol ediliyor…", "checkingForLogs": "Günlükler kontrol ediliyor…", "checkingForMetrics": "Metrikler kontrol ediliyor…", - "checkingForSpans": "Span'ler kontrol ediliyor…", + "checkingForSpans": "Span'lar kontrol ediliyor…", "chipEditor": "Düzenleyici", "chipInstall": "Kur", "chipLogs": "Günlükler", @@ -3661,7 +3661,7 @@ "downloadEnvTooltip": ".env İndir", "downloadJmxJarDesc": "JMX alıcısı bu yardımcı jar'ı çalıştırır (toplayıcı ana bilgisayarda Java gerektirir).", "downloadJmxJarTitle": "JMX Metrikleri JAR'ını İndir", - "dynamodbFirehoseEndpointDesc": "Kinesis Data Firehose teslimat akışınızı oluştururken bunları **HTTP Uç Noktası** hedefi olarak kullanın.", + "dynamodbFirehoseEndpointDesc": "Bunları, Kinesis Data Firehose teslimat akışınızı oluştururken **HTTP Endpoint** hedefi olarak kullanın.", "dynamodbFirehoseEndpointTitle": "OpenObserve Firehose Uç Noktası", "dynamodbPipelineDesc": "Tablonuzda **DynamoDB Streams** özelliğini etkinleştirin, bir **Kinesis Data Stream**'e bağlayın ve ardından bir **Kinesis Data Firehose** teslimat akışını yukarıdaki HTTP uç noktasına yönlendirin.", "dynamodbPipelineTitle": "DynamoDB → Firehose Aktarımı", @@ -3675,7 +3675,7 @@ "gcpFixBody": "GCP, teslimat hatalarını aboneliğin kendisinde raporlar. Sink yayın yapıyor ama buraya hiçbir şey gelmiyorsa, push uç noktası genellikle isteği reddediyordur:", "gcpFixTitle": "Push Aboneliğini Kontrol Et", "gcpPushUrlNote": "Bu URL'yi gizli tutun — alım anahtarını içerir. Sızarsa bu sayfanın başlığından döndürün.", - "gcpSinkDesc": "GCP konsolunda, hedef olarak Pub/Sub ile bir **Log Router havuzu** (Logging → Log Router → Create sink) oluşturun ve konuyu oluşturmasına izin verin. Havuzun dahil etme filtresi, hangi günlüklerin OpenObserve'e ulaşacağını belirler.", + "gcpSinkDesc": "GCP konsolunda, hedef olarak Pub/Sub ile bir **Log Router sink** oluşturun (Logging → Log Router → Create sink) ve konuyu (topic) oluşturmasına izin verin. Sink'in dahil etme filtresi, hangi günlüklerin OpenObserve'e ulaşacağını belirler.", "gcpSinkTitle": "Günlükleri Pub/Sub Konusuna Yönlendirin", "gcpSinkWriterNote": "Sink'in yazar kimliğine konu üzerinde Pub/Sub Publisher rolü verin, aksi halde sessizce hiçbir şey yayınlamaz.", "gcpStreamHelp": "Yukarıdaki gönderme URL'sinde kullanılır ve aşağıdaki denetim tarafından izlenir. Özel bir akış, GCP günlüklerini ayrı tutar.", @@ -3714,7 +3714,7 @@ "k8sInstallerNote": "Bu, cert-manager'ı, OpenTelemetry operatörünü ve OpenObserve toplayıcısını otomatik olarak kurar.", "k8sInternalEndpointNote": "Bunu, OpenObserve aynı kümede çalışıyorsa kullanın — trafik asla kümeden dışarı çıkmaz.", "k8sTroubleAnnotationA": "Enjeksiyon pod oluşturulurken gerçekleşir, bu nedenle mevcut podlar yeniden başlatılana kadar etkilenmez — `kubectl rollout restart deployment -n my-namespace` komutunu çalıştırın. Notun yerleştiğini `kubectl get ns my-namespace -o yaml` ile doğrulayın ve değerin `openobserve-collector/openobserve-` ile eşleştiğini kontrol edin. Go için `otel-go-auto-target-exe`, ikili dosyanın kapsayıcı **içindeki** yolu olmalıdır.", - "k8sTroubleAnnotationQ": "Bir ad alanını notladım ancak hiç iz görünmüyor", + "k8sTroubleAnnotationQ": "Bir namespace'e annotasyon ekledim ama hiç iz görünmüyor", "k8sTroubleEndpointA": "**In-Cluster** seçeneğini yalnızca OpenObserve'in kendisi bu kümede çalışıyorsa kullanın; trafik o zaman küme içinde kalır ve ağı asla geçmez. URL `http://-openobserve-router..svc.cluster.local:5080` şeklindedir — varsayılan, `openobserve` ad alanındaki `o2` sürümünü varsayar; sizinki farklıysa düzenleyin. Diğer herkes harici uç noktayı kullanır.", "k8sTroubleEndpointQ": "Hangi uç noktayı kullanmalıyım — harici mi yoksa küme içi mi?", "k8sTroubleExampleA": "Evet — **HOT commerce** uçtan uca bağlanmış örnek bir uygulamadır ve **OpenTelemetry Operator** belgeleri tam not referansını içerir. İkisi de bu sayfanın altında bağlantılıdır.", @@ -3757,16 +3757,16 @@ "oracleTagline": "Oracle DB metriklerini OpenTelemetry Collector ile topla ve OpenObserve'e gönder.", "otlpFixBody": "Bir dışa aktarıcı tanımlamak yeterli değildir — bir boru hattında listelenmesi gerekir. Bu, doğru görünen bir yapılandırmanın hiçbir şey göndermemesinin en yaygın tek nedenidir:", "otlpFixTitle": "Dışa Aktarıcının Gerçekten Boru Hattına Bağlı Olduğunu Kontrol Edin", - "otlpGrpcNote": "Yüksek span hacimleri için HTTP'den daha düşük ek yük. 5081 bağlantı noktasına kolektörden erişilebilir olmalıdır.", + "otlpGrpcNote": "Yüksek span hacimleri için HTTP'den daha düşük ek yük. 5081 portu toplayıcıdan erişilebilir olmalıdır.", "otlpHttpNote": "OpenTelemetry Collector için varsayılan — proxy'lerin ve yük dengeleyicilerin arkasında dahil her yerde çalışır.", "otlpSdkEnvNote": "Standart OTEL_* ortam değişkenleri — her OpenTelemetry SDK bunları okur, bu nedenle kod değişikliği gerekmez.", "otlpTracesStreamHelp": "Yukarıdaki yapılandırmaya `stream-name` olarak yazılır ve aşağıdaki denetim tarafından izlenir.", "otlpTrouble401A": "`Authorization` başlığı, bu kuruluşun alma belirtecini kullanarak `Basic ` olmalıdır — yukarıdaki değer zaten doğrudur. Yenilendiyse, bu sayfadan yeniden kopyalayın.", "otlpTrouble401Q": "Kolektör 401 veya 403 hatalarını günlüğe kaydediyor", - "otlpTroubleHttpGrpcA": "HTTP güvenli varsayılandır ve proxy'ler ile yük dengeleyicilerden sorunsuz geçer. gRPC, yüksek span hacminde daha düşük ek yüke sahiptir ancak 5081 bağlantı noktasının uçtan uca erişilebilir olması gerekir.", + "otlpTroubleHttpGrpcA": "HTTP güvenli varsayılandır ve proxy'ler ile yük dengeleyicilerden sorunsuz geçer. gRPC, yüksek span hacminde daha düşük ek yüke sahiptir ancak 5081 portunun uçtan uca erişilebilir olması gerekir.", "otlpTroubleHttpGrpcQ": "HTTP mi yoksa gRPC mi kullanmalıyım?", "otlpTroubleStreamA": "`stream-name` başlığı akışa karar verir. Bunu yukarıdaki alanla aynı ad olarak ayarlayın, aksi takdirde aşağıdaki kontrol hiçbir şeyin yazılmadığı bir akışı izler.", - "otlpTroubleStreamQ": "Span'lar geliyor ancak yanlış akışa düşüyor", + "otlpTroubleStreamQ": "Span'lar geliyor ama yanlış akışa düşüyor", "otlpTroubleTlsA": "`tls.insecure` bayrağı, uç noktanın şemasıyla eşleşmelidir — bu dağıtımın URL'sine göre yukarıda `{insecure}` olarak ayarlanmıştır. Düz HTTP uç noktası `insecure: true` gerektirir; HTTPS olanı ise `false` gerektirir.", "otlpTroubleTlsQ": "gRPC bağlantısı TLS hatasıyla başarısız oluyor", "pillActiveBackends": "Etkin Arka Uçlar", @@ -3824,7 +3824,7 @@ "pillServiceMap": "Hizmet Haritası", "pillSessions": "Oturumlar", "pillSetup": "Kurulum", - "pillSpans": "Spanlar", + "pillSpans": "Span'lar", "pillSqlCompilationRate": "SQL Derleme Hızı", "pillStorageBytes": "Depolama Baytları", "pillSystem": "Sistem", @@ -3969,13 +3969,13 @@ "sqlServerTagline": "SQL Server metriklerini OpenTelemetry Collector ile topla ve OpenObserve'e gönder.", "startIngestingTestForLogs": "Veri almaya başlayın, ardından logları test edin", "startIngestingTestForMetrics": "Veri almaya başlayın, ardından metrikleri test edin", - "startIngestingTestForSpans": "Veri almaya başlayın, ardından span'leri test edin", + "startIngestingTestForSpans": "veri alımına başlayın, ardından span'ları test edin", "streamNameError": "Yalnızca harfler, sayılar ve _ kullanın.", "streamNameLabel": "Akış Adı", "stuck": "Takıldınız mı?", "taglineDatabricks": "Databricks not defteri günlüklerini günlük API'si üzerinden OpenObserve'e gönderin.", "taglineGcp": "Google Cloud günlüklerini Pub/Sub push aboneliğiyle OpenObserve'e aktarın — çalıştırılacak aracı veya toplayıcı yok.", - "taglineKubernetes": "OpenObserve toplayıcısını kümenize dağıtın — konteyner günlükleri, Kubernetes olayları ve küme metrikleri ile iş yükleriniz için sıfır kodlu izler.", + "taglineKubernetes": "OpenObserve toplayıcısını kümenize dağıtın — konteyner günlükleri, Kubernetes olayları ve küme metrikleri, ayrıca iş yükleriniz için sıfır kodlu izler.", "taglineLinux": "OpenObserve aracısını herhangi bir Linux ana makinesine kurun — sistem ve journald günlükleri ile CPU, bellek, disk ve ağ metrikleri.", "taglineMacos": "OpenObserve aracısını herhangi bir Mac'e kurun — birleşik günlük ve standart günlük dosyaları ile CPU, bellek, disk ve ağ metrikleri.", "taglineOtlpTraces": "Herhangi bir OpenTelemetry dışa aktarıcısını OpenObserve'e yönlendirin — toplayıcı veya SDK, HTTP veya gRPC. Uç noktanız ve belirteciniz aşağıda doldurulmuştur.", @@ -4001,7 +4001,7 @@ "verifyMongodbMetricsDesc": "Aşağıdaki Test'e tıkla veya `mongodb_*` metrikleri için Akışlar'ı kontrol et.", "verifyMysqlMetricsDesc": "Aşağıdaki Test'e tıkla veya `mysql_*` metrikleri için Akışlar'ı kontrol et.", "verifyOracledbMetricsDesc": "Aşağıdaki Test'e tıkla veya `oracledb_*` metrikleri için Akışlar'ı kontrol et.", - "verifyOtlpTracesDesc": "Collector'ı (veya uygulamanı) yeniden başlat, span üreten bir istek gönder ve sonra Test'e tıkla.", + "verifyOtlpTracesDesc": "Toplayıcıyı (veya uygulamanızı) yeniden başlatın, bir span üreten bir istek çalıştırın, ardından Test'e basın.", "verifyPostgresqlMetricsDesc": "Aşağıdaki Test'e tıkla veya `postgresql_*` metrikleri için Akışlar'ı kontrol et.", "verifyReactNativeRumDesc": "Uygulamayı bir simülatörde, öykünücüde veya cihazda çalıştırın, birkaç ekran arasında gezinin, ardından Test'e basın — React Native olayları `_rumdata` akışına girer.", "verifyRedisMetricsDesc": "Aşağıdaki Test'e tıkla veya `redis_*` metrikleri için Akışlar'ı kontrol et.", @@ -4036,11 +4036,11 @@ "verifyAndroidRumDesc": "Uygulamayı bir emülatörde veya cihazda çalıştırın, birkaç ekran arasında gezinin, ardından Test'e basın — yerel Android olayları `_rumdata` akışına düşer.", "verifyIosRumDesc": "Uygulamayı bir simülatörde veya cihazda çalıştırın, birkaç ekran arasında gezinin, ardından Test'e basın — yerel iOS olayları `_rumdata` akışına düşer.", "dbmPreparePostgresTitle": "Veritabanı İzleme · Erişim izni verin (isteğe bağlı)", - "dbmPreparePostgresDesc": "**Yukarıdakilerin tümü kendi başına tamamdır** — sorgu süreleri, uygulamanızın izlerinden (traces) zaten Veritabanları'na ulaşır, burada ek bir kurulum gerekmez. Bu son adımlar, bir trace'in asla göremeyeceği şeyleri ekler: yalnızca veritabanının kaydettiği deadlock'lar ve engellenen sorgular. `pg_monitor` yetkisi verin ki collector diğer oturumların sorgularını okuyabilsin — bunu bir SQL istemcisinde çalıştırın, **shell'inizde değil**.", + "dbmPreparePostgresDesc": "**Yukarıdaki her şey kendi başına tamamdır** — sorgu süreleri, burada hiçbir kurulum yapmadan uygulamanızın izlerinden Veritabanları'na zaten ulaşır. Bu son adımlar, bir izin asla göremeyeceğini ekler: yalnızca veritabanının kendisinin kaydettiği deadlock'lar ve engellenmiş sorgular. Toplayıcının diğer oturumların sorgularını okuyabilmesi için `pg_monitor` yetkisi verin — bunu bir SQL istemcisinde çalıştırın, **kabukta değil**.", "dbmPrepareMysqlTitle": "Veritabanı İzleme · Deadlock geçmişini sakla (isteğe bağlı)", "dbmPrepareMariadbTitle": "Veritabanı İzleme · Deadlock geçmişini sakla (isteğe bağlı)", - "dbmPrepareMysqlDesc": "**Yukarıdakilerin tümü kendi başına tamamdır** — sorgu süreleri, uygulamanızın izlerinden (traces) zaten Veritabanları'na ulaşır, burada ek bir kurulum gerekmez. Bu son adımlar, bir trace'in asla göremeyeceği şeyleri ekler: yalnızca veritabanının kaydettiği deadlock'lar ve engellenen sorgular. Tam deadlock geçmişini açın — bunu bir SQL istemcisinde çalıştırın, **shell'inizde değil**.", - "dbmPrepareMariadbDesc": "**Yukarıdakilerin tümü kendi başına tamamdır** — sorgu süreleri, uygulamanızın izlerinden (traces) zaten Veritabanları'na ulaşır, burada ek bir kurulum gerekmez. Bu son adımlar, bir trace'in asla göremeyeceği şeyleri ekler: yalnızca veritabanının kaydettiği deadlock'lar ve engellenen sorgular. Tam deadlock geçmişini açın — bunu bir SQL istemcisinde çalıştırın, **shell'inizde değil**.", + "dbmPrepareMysqlDesc": "**Yukarıdaki her şey kendi başına tamamdır** — sorgu süreleri, burada hiçbir kurulum yapmadan uygulamanızın izlerinden Veritabanları'na zaten ulaşır. Bu son adımlar, bir izin asla göremeyeceğini ekler: yalnızca veritabanının kendisinin kaydettiği deadlock'lar ve engellenmiş sorgular. Tam deadlock geçmişini açın — bunu bir SQL istemcisinde çalıştırın, **kabukta değil**.", + "dbmPrepareMariadbDesc": "**Yukarıdaki her şey kendi başına tamamdır** — sorgu süreleri, burada hiçbir kurulum yapmadan uygulamanızın izlerinden Veritabanları'na zaten ulaşır. Bu son adımlar, bir izin asla göremeyeceğini ekler: yalnızca veritabanının kendisinin kaydettiği deadlock'lar ve engellenmiş sorgular. Tam deadlock geçmişini açın — bunu bir SQL istemcisinde çalıştırın, **kabukta değil**.", "dbmPgLoggingTitle": "Veritabanı İzleme · Postgres'in deadlock'ları kaydetmesine izin ver (isteğe bağlı)", "dbmPgLoggingDesc": "Deadlock'lar yalnızca Postgres günlüğüne yazılır ve yalnızca aşağıdaki ayarlar açıkken yazılır — bu yüzden Deadlocks sekmesinin hiç dolmasını sağlayan şey bu adımdır. Önek satırı birebir eşleşmelidir: collector, ilgili tarafları bulmak için bunu okur; farklı bir önek, hiçbir şey bulamayacağı ve yine de sağlıklı rapor vereceği anlamına gelir.", "dbmPgLoggingVerifyTitle": "Veritabanı İzleme · Ayarların etkili olduğunu kontrol edin (isteğe bağlı)", @@ -4066,7 +4066,7 @@ "dbmMysqlLogPathHelp": "Collector bu dosyayı okuyabilmelidir. Şu komutla bulun: SHOW VARIABLES LIKE 'log_error';", "dbmMariadbLogPathHelp": "Collector bu dosyayı okuyabilmelidir. Şu komutla bulun: SHOW VARIABLES LIKE 'log_error';", "dbmPrepareMssqlTitle": "Veritabanı İzleme · Erişim izni ver (isteğe bağlı)", - "dbmPrepareMssqlDesc": "**Yukarıdaki her şey kendi başına tamamlandı** — sorgu süreleri, uygulamanızın izlemelerinden Veritabanlarına zaten ulaşır, burada ek bir kurulum gerekmez. Bu son grup, bir izlemenin asla göremeyeceğini ekler: yalnızca veritabanının kendisinin kaydettiği kilitlenmeler ve engellenen sorgular. Her iki izin de gereklidir — biri toplayıcının diğer oturumları okumasını sağlar, diğeri kilitlenme geçmişini okumasını sağlar. Bunları bir SQL istemcisinde çalıştırın, **terminalinizde değil**.", + "dbmPrepareMssqlDesc": "**Yukarıdaki her şey kendi başına tamamdır** — sorgu süreleri, burada hiçbir kurulum yapmadan uygulamanızın izlerinden Veritabanları'na zaten ulaşır. Bu son grup, bir izin asla göremeyeceğini ekler: yalnızca veritabanının kendisinin kaydettiği deadlock'lar ve engellenmiş sorgular. Her iki yetki de gereklidir — biri toplayıcının diğer oturumları okumasını, diğeri deadlock geçmişini okumasını sağlar. Bunları bir SQL istemcisinde çalıştırın, **kabukta değil**.", "dbmConfigureMssqlDesc": "`dbm-config.yaml` dosyasını yazar — aşağıda bağlanılacak veritabanını ayarlayın. SQL Server burada kilitlenmeleri, engellenen sorguları, etkinlik örneklerini, en çok kullanılan sorguları ve yürütme planlarını alır. sqlserver alıcısı tüm örneği okur, bu nedenle etkinlik ve en çok kullanılan sorgular yukarıda belirttiğiniz veritabanıyla sınırlı değildir.", "dbmRunMssqlDesc": "Her iki yapılandırmayı birlikte çalıştırır. 1. adımda oluşturduğunuz aynı kullanıcı adını ve parolayı kullanın.", "dbmVerifyBlockingDesc": "**Altyapı → Veritabanları → Engellenen sorgular** bölümünü açın. Bir kilit için bekleyen oturumlar, örneklenir örneklenmez görünür — oradaki boş bir sekme, hiçbir şeyin engellenmediğini veya hiçbir şeyin toplanmadığını söyler.", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "**Altyapı → Veritabanları** bölümünü açın ve aşağıdan bir sekme seçin. Kilitlenmeler ve engellenen sorgular, veritabanınız bir tane bildirdiğinde görünür — oradaki boş bir sekme, hiçbir şeyin olmadığını veya hiçbir şeyin toplanmadığını söyler. Tablo sağlığı, ilk 60 saniyelik anlık görüntüden sonra dolar." }, "instrumentBeforeImportTitle": "İstemciyi İçe Aktarmadan Önce Enstrümantasyon", - "instrumentBeforeImportBody": "Uygulamanız çalışıyor ancak spanlar gelmiyorsa, enstrümantasyon büyük olasılıkla istemci içe aktarıldıktan sonra yüklenmiştir. Başlatmanın önce çalışması için sıralamayı yeniden düzenleyin:", + "instrumentBeforeImportBody": "Uygulamanız çalışıyor ancak hiç span gelmiyorsa, enstrümantasyon büyük olasılıkla istemci içe aktarıldıktan sonra yüklenmiştir. İlk olarak init'in çalışması için sırayı değiştirin:", "launchCloudFormationStack": "CloudFormation Yığınını Başlat", "openStackSetsConsole": "StackSets Konsolunu Aç", "integrations": { @@ -4486,7 +4486,7 @@ "unsavedMessage": "Kaydedilmemiş değişiklikleriniz var. Gitmek istediğinden emin misin?", "currentFolderLabel": "Geçerli Klasör", "selectFolderLabel": "Klasör Seç", - "selectFolderPlaceholder": "Hedef klasörü seçin", + "selectFolderPlaceholder": "Hedef klasör seçin", "selectDashboardLabel": "Kontrol Panelini Seçin", "selectTabLabel": "Sekme Seç", "layerType": "Katman Türü", @@ -4916,7 +4916,7 @@ "storage": "Depolama", "dashboard": "Pano" }, - "selectFolderTitle": "Hedef Klasörü Seç", + "selectFolderTitle": "Hedef Klasörü Seçin", "back": "Geri", "addDashboard": "Pano Ekle", "folder": "Klasör", @@ -5554,7 +5554,7 @@ "deletePanelTitle": "Paneli Sil", "deletePanelMessage": "Bu paneli silmek istediğinizden emin misiniz?", "movePanelTitle": "Paneli Başka Bir Sekmeye Taşı", - "movePanelMessage": "Hedef sekmesini seçin", + "movePanelMessage": "Hedef sekmeyi seçin", "noQueriesToCreateAlert": "Bu panelde bir uyarı oluşturmak için herhangi bir sorgu yok", "panelQueryMustHaveStream": "Panel sorgusunun yapılandırılmış bir akışı olmalıdır", "unsupportedPanelTypeAlert": "{type} panellerinden uyarılar oluşturmak beklendiği gibi çalışmayabilir", @@ -5562,7 +5562,7 @@ "panelDuplicationFailed": "Panel çoğaltma başarısız oldu", "firstColumn": "İlk Sütun", "zAxis": "Z ekseni", - "breakdown": "Arıza", + "breakdown": "Kırılım", "pivotField": "Pivot Alanı", "pivotFieldTooltip": "Bir boyut alanını buraya sürükleyin. Farklı değerleri pivot tabloda sütun başlıkları haline gelir. Çok seviyeli döndürme için en fazla 3 alana izin verilir.", "breakdownTooltipHBar": "Daha net bir görünüm için verileri Y ekseninde farklı bölümlere bölmek için bu alanları kullanın.", @@ -5669,7 +5669,7 @@ "description": "Bu kuruluş herhangi bir veri almadı, bu yüzden çizeleyecek bir şey yok. Olaylar akmaya başladığında, alım hacminiz, depolama ve sorgu kullanım ınız burada otomatik olarak görünecektir.", "logs": "Günlükleri gönder", "logsDesc": "{product1}, {product2}, {product3}, {product4} ve daha fazlası", - "traces": "İzleri gönder", + "traces": "İz Gönder", "tracesDesc": "{product1} / {product2} / {product3} dağıtık izleme", "metrics": "Metrik gönder", "metricsDesc": "{product1}, {product2}, {product3} ve daha fazlası", @@ -5717,8 +5717,8 @@ "emptyActionAlertsDesc": "Yapılandırılmış uyarıları ve eşikleri gözden geçirin", "emptyActionLogs": "Günlükleri keşfedin", "emptyActionLogsDesc": "Günlük akışlarınızı arayın ve filtreleyin", - "emptyActionTraces": "İzleri keşfedin", - "emptyActionTracesDesc": "Dağıtılmış izleri ve servis gecikmesini denetleyin", + "emptyActionTraces": "İzleri Keşfet", + "emptyActionTracesDesc": "Dağıtık izleri ve hizmet gecikmesini inceleyin", "anomalyDetectedTitle": "Anomali tespit edildi — {name}", "anomalyDetectedDescription": "Akış: {stream} · {count} anormal nokta", "secondsAgo": "{count} sn önce", @@ -5814,12 +5814,12 @@ "capabilities": { "query": { "title": "Bir Sorgu Yazın", - "description": "Günlükler için SQL, izler, ölçümler için RUM veya PromQL.", + "description": "Günlükler, izler, Gerçek Kullanıcı İzleme için SQL veya metrikler için PromQL.", "prompt": "Bir sorgu yazmama yardım et" }, "incident": { "title": "Olayları Araştırın", - "description": "Günlükler, izler, uyarılar arasında kök neden — örn. “Gateway-5xx neden ateşlendi?”", + "description": "Günlükler, izler ve uyarılar arasında kök neden analizi — ör. \"gateway-5xx neden tetiklendi?\"", "prompt": "Olayları araştırmama yardım et" }, "dashboard": { @@ -5916,9 +5916,9 @@ "alert": "Uyarı", "dashboard": "Pano", "pipeline": "İşlem Hattı", - "report": "Rapor", + "report": "rapor", "function": "Fonksiyon", - "stream": "Akış", + "stream": "akış", "folder": "Klasör", "panel": "Panel", "user": "Kullanıcı", @@ -5962,7 +5962,7 @@ "features": "ÖZELLİKLERİ", "included": "Neler dahildir?", "proPlanSubtitle": "Küçük ekipler için özel çözümler", - "unlimitedNote": "Sınırsız kullanıcı, günlükler, metrikler, izler ve daha fazlası.", + "unlimitedNote": "Sınırsız kullanıcı, günlük, metrik, iz ve daha fazlası.", "paymentNote": "Aylık faturalandırma döngüsünün sonunda kullanıma göre hesaplanan ödeme.", "proPlanLabel": "Kullandıkça öde", "contactLabel": "Satış İletişim", @@ -6261,7 +6261,7 @@ "noChildren": "Henüz alt uyarı yok. En az iki tane ekleyin.", "wouldTrigger": "Tetiklenirdi", "wouldNotTrigger": "Tetiklenmezdi", - "firing": "Tetikleniyor", + "firing": "Tetiklenen", "normal": "Normal", "stepByStep": "Adım adım", "result": "Sonuç", @@ -6328,7 +6328,7 @@ "guidelinesLabel": "Yönergeler:", "selectStreamGuideline": "Listeden mevcut bir akış seçin veya yeni bir tane oluşturmak için adı girin", "enrichmentTablesTerm": "Enrichment_tables", - "enrichmentTablesDestinationNote": "Hedef akış yalnızca zamanlanmış pipeline'lar için kullanılabilir", + "enrichmentTablesDestinationNote": "hedef akışı olarak yalnızca zamanlanmış boru hatları için kullanılabilir", "useCurlyBracesNote": "Süslü parantez kullanın", "configureStreamNameDynamicNote": "akış adını dinamik olarak yapılandırmak için. örn.", "staticTextBeforeAfterNote": ". Öncesinde/sonrasında statik metin", @@ -6362,7 +6362,7 @@ "pendingBatches": "Bekleyen Toplu İşlemler", "pendingBatchesTooltip": "Birlikte gruplandırılmayı bekleyen uyarılar", "historyTimeline": { - "firing": "Aktif", + "firing": "Tetiklenen", "ok": "Tamam", "error": "Hata", "skipped": "Atlanan", @@ -6438,7 +6438,7 @@ "destinationsArray": "Hedefler bir dizi olmalıdır", "destinationRequiredPlain": "En az bir hedef gereklidir", "noDestinationsInSystem": "Sistemde kullanılabilir hedef bulunamadı", - "invalidDestinations": "Geçersiz hedefler: {destinations} - kullanılabilir hedefler listesinden olmalıdır", + "invalidDestinations": "Geçersiz hedefler: {destinations} - kullanılabilir hedef listesinden olmalıdır", "enabledFlagBoolean": "Etkinleştirilmiş bayrağı bir boole değeri olmalıdır", "silenceNotificationRequired": "Sessizlik Bildirimi boş olmamalıdır", "thresholdNotEmpty": "Eşik boş olmamalıdır", @@ -6459,8 +6459,8 @@ "searchAllFolders": "Tüm klasörler", "streamConfig": "Akış Yapılandırması", "alertRules": "Uyarı Kuralları", - "noTemplatesMsg": "Bir uyarı oluşturmak için en az bir şablona ve bir hedefe ihtiyacınız vardır. Şablonlar bildirim mesajının biçimini tanımlar - bir tane oluşturarak başlayın.", - "noDestinationsMsg": "Bir uyarı oluşturmak için en az bir hedef ve bir şablona ihtiyacınız vardır. Hedefler bildirimlerin nereye gönderileceğini tanımlar - bir tane oluşturarak başlayın.", + "noTemplatesMsg": "Uyarı oluşturmak için en az bir şablon ve bir hedef gerekir. Şablonlar bildirim mesajının biçimini tanımlar — bir tane oluşturarak başlayın.", + "noDestinationsMsg": "Uyarı oluşturmak için en az bir hedef ve bir şablon gerekir. Hedefler bildirimlerin nereye gönderileceğini tanımlar — bir tane oluşturarak başlayın.", "add": "Uyarı ekle", "edit": "Düzenle", "clone": "Klon uyarısı", @@ -6514,34 +6514,34 @@ "destination": "Hedef", "destinationOrWorkflowRequired": "En az bir hedef veya iş akışı ekleyin.", "customDestination": "Özel Hedef", - "customDestinationDescription": "Özel bir HTTP uç noktası veya e-posta hedefi yapılandırma", - "testIdleMessage": "Hedef yapılandırmanızı doğrulamak için 'Test Et'i tıklayın", - "destinationPreview": "Hedef Önizleme", + "customDestinationDescription": "Özel bir HTTP uç noktası veya e-posta hedefi yapılandırın", + "testIdleMessage": "Hedef yapılandırmanızı doğrulamak için 'Test' düğmesine tıklayın", + "destinationPreview": "Hedef Önizlemesi", "template": "Şablon Geçersiz Kılma", "additionalVariables": "Ek Değişkenler", - "testSuccessMessage": "Test başarılı! Hedefiniz doğru yapılandırılmıştır.", + "testSuccessMessage": "Test başarılı! Hedefiniz doğru yapılandırılmış.", "testFailedMessage": "Test başarısız oldu. Lütfen yapılandırmanızı kontrol edin ve tekrar deneyin.", "testFailedWithReason": "Test başarısız oldu: {reason}", - "testInProgress": "Test hedefi...", + "testInProgress": "Hedef test ediliyor...", "sendingNotification": "Bağlantıyı doğrulamak için test bildirimi gönderme", "testErrorDNS": "DNS çözümü başarısız oldu. Lütfen webhook URL'sini veya ana bilgisayar adını kontrol edin.", "testErrorConnection": "Bağlantı reddedildi. Lütfen URL'yi doğrulayın ve hizmetin erişilebilir olduğundan emin olun.", - "testErrorTimeout": "İstek zaman aşımına uğradı. Hedef servis yavaş veya ulaşılamaz olabilir.", + "testErrorTimeout": "İstek zaman aşımına uğradı. Hedef hizmet yavaş veya erişilemez olabilir.", "testErrorSSL": "SSL/TLS sertifika hatası. Lütfen sertifikayı doğrulayın veya SSL doğrulamasını devre dışı bırakın.", "testErrorClientError": "İstemci hatası (4xx). Lütfen kimlik bilgilerinizi ve yapılandırmanızı kontrol edin.", - "testErrorServerError": "Sunucu hatası (5xx). Hedef hizmeti sorun yaşıyor.", + "testErrorServerError": "Sunucu hatası (5xx). Hedef hizmet sorun yaşıyor.", "viewDetails": "Ayrıntıları Görüntüle", "error": "Hata", "httpStatus": "HTTP Durumu", "responseBody": "Yanıt Gövdesi", "retry": "Tekrar dene", "suggestCheckUrl": "Lütfen webhook URL'sinin doğru ve erişilebilir olduğunu doğrulayın.", - "suggestCheckFirewall": "Güvenlik duvarı ayarlarınızı kontrol edin ve hedef servisin erişilebilir olduğundan emin olun.", + "suggestCheckFirewall": "Güvenlik duvarı ayarlarınızı kontrol edin ve hedef hizmete erişilebildiğinden emin olun.", "suggestCheckCredentials": "Lütfen API kimlik bilgilerinizin doğru olduğunu doğrulayın.", "suggestCheckPermissions": "Kimlik bilgilerinizin gerekli izinlere sahip olup olmadığını kontrol edin.", "suggestCheckEndpoint": "Lütfen uç nokta URL'sinin doğru olduğunu doğrulayın.", "suggestRateLimit": "Oran sınırını aştınız. Lütfen tekrar denemeden önce bekleyin.", - "suggestServerIssue": "Hedef hizmeti sorun yaşıyor. Lütfen daha sonra tekrar deneyin.", + "suggestServerIssue": "Hedef hizmet sorun yaşıyor. Lütfen daha sonra tekrar deneyin.", "description": "Açıklama", "stream_name": "Akış Adı", "cloneTitle": "Klon Uyarısı", @@ -6844,7 +6844,7 @@ "noAlertDetailsAvailable": "Kullanılabilir uyarı ayrıntısı yok", "clickOnTriggerToViewDetails": "Ayrıntıları görüntülemek için tablodaki bir tetikleyiciye tıklayın", "refreshCorrelatedData": "İlişkilendirilmiş verileri yenile", - "showingCorrelatedTraces": "Olay zaman aralığından ilişkilendirilmiş izler gösteriliyor", + "showingCorrelatedTraces": "Olay zaman aralığından ilişkili izler gösteriliyor", "incidentTitleUpdatedSuccess": "Olay başlığı başarıyla güncellendi", "markAsAcknowledgedTooltip": "Olayı kabul edildi ve üzerinde çalışılıyor olarak işaretle", "markAsResolvedTooltip": "Olayı çözüldü olarak işaretle ve kapat", @@ -6965,11 +6965,11 @@ "helpLegendSampleExample": "42", "sectionTitle": "Ayarlar", "noDestinationsAvailable": "Kullanılabilir hedef yok", - "noTargetsAvailable": "Kullanılabilir Hedef veya İş Akışı Yok", + "noTargetsAvailable": "Kullanılabilir hedef veya iş akışı yok", "targetsDestinationsGroup": "Hedefler", "targetsWorkflowsGroup": "İş Akışları", - "refreshDestinations": "En güncel Hedefleri yenile", - "addNewDestination": "Yeni Hedef Ekle", + "refreshDestinations": "En son Hedefleri Yenile", + "addNewDestination": "Hedef Ekle", "cooldownTooltip": "Uyarı tetiklenirse, başka bir bildirim göndermeden önce ne kadar beklemelidir. örneğin, uyarı saat 16:00 'da tetiklenirse ve sessizlik bildirimi 10 dakikaya ayarlanırsa, uyarı 1 dakika sonra hala olsa bile 16:10'a kadar başka bir bildirim göndermez. Bu, kullanıcıya bildirimlerle spam göndermekten kaçınmak içindir.", "periodTooltip": "Sorgunun çalıştırılması gereken süre. Örneğin 10 dakika, sorgu her çalıştırıldığında verinin son 10 dakikasını kullanacağı anlamına gelir.", "timezoneWarning": "Uyarı: Görüntülenen saat dilimi yaklaşıktır. Doğru saat dilimini manuel olarak doğrulayın ve seçin.", @@ -6985,10 +6985,10 @@ "helpLegendLive": "uyarınızın gerçek değerleri", "helpLegendSample": "bir örnek — uyarı ateşlendiğinde gerçek değer ayarlanır", "helpLegendOpaque": "uyarı ateşlendiğinde otomatik olarak eklendi", - "helpTemplateExplain": "Şablon gönderilen bildirim mesajıdır - metin artı {'{'} alert_name {'}'} gibi değişkenler. Buradan birini seçmek, her hedefin kendi şablonunu geçersiz kılar, yalnızca bu uyarı için.", + "helpTemplateExplain": "Şablon, gönderilen bildirim mesajıdır — metin ve {'{'}alert_name{'}'} gibi değişkenler. Burada birini seçmek, yalnızca bu uyarı için her hedefin kendi şablonunu geçersiz kılar.", "helpCurrentHeading": "Bu uyarı şimdi ne gönderiyor", - "helpCurrentNoOverride": "Geçersiz kılma kümesi yok - her hedef kendi şablonunu kullanır:", - "helpCurrentNoDestinations": "Henüz hedef seçilmedi. Her hedef kendi yapılandırılmış şablonunu kullanacaktır.", + "helpCurrentNoOverride": "Geçersiz kılma ayarlanmamış — her hedef kendi şablonunu kullanır:", + "helpCurrentNoDestinations": "Henüz hedef seçilmedi. Her hedef kendi yapılandırılmış şablonunu kullanır.", "helpCurrentOverrideHeading": "Tüm hedefler bu şablonu kullanır:", "helpPreviewHeading": "Şablonu önizleme", "helpPreviewSelectPlaceholder": "Önizlemek için bir şablon seçin", @@ -7001,7 +7001,7 @@ "helpYourVariablesEmpty": "Henüz herhangi bir değişken eklemediniz.", "helpRowTemplateExplain": "Bir uyarı birçok satırla eşleşebilir. Satır şablonu, tek bir satırın nasıl görüneceğine karar verir. Ardından, ana şablonunuzdaki {'{'} satırları {'}'}, zaten biçimlendirilmiş olan eşleşen her satıra düşer.", "helpRowTemplateTypeHeading": "Dize ve JSON", - "helpRowTemplateTypeExplain": "String satır başına düz metin üretir. JSON, yapılandırılmış hedefler için uygun satır başına bir JSON nesnesi üretir.", + "helpRowTemplateTypeExplain": "String her satır için düz metin üretir. JSON, yapılandırılmış hedefler için uygun, her satır için bir JSON nesnesi üretir.", "helpRowTemplateTypeCurrent": "Şu anda seçilmiş:", "helpPreviewHeadingShort": "Önizleme", "helpWhyHeading": "Neden bir değişken kullanıyorsunuz?", @@ -7014,7 +7014,7 @@ "helpVariablesExampleCaption": "Değişken olarak önem ve ekip ekleyin, ardından bunları şablonun herhangi bir yerinde kullanın:", "helpExampleResultLabel": "Ne gönderilir", "helpTemplateWhenHeading": "Ne zaman geçersiz kılmalıyım?", - "helpTemplateWhenDesc": "Bunu boş bırakın ve her hedef kendi şablonunu kullanır. Bu uyarının her hedefe aynı, tutarlı mesajı göndermesini istediğinizde, her hedefin şablonunu düzenlemeden geçersiz kılma ayarlayın.", + "helpTemplateWhenDesc": "Bunu boş bırakın; her hedef kendi şablonunu kullanır. Bu uyarının her hedefe aynı ve tutarlı bir mesaj göndermesini istediğinizde, her hedefin şablonunu düzenlemeden bir geçersiz kılma ayarlayın.", "helpRowTemplateWhyHeading": "Neden satır şablonu?", "helpRowTemplateWhyDesc": "Bir uyarı birçok kayıtla eşleşebilir. Satır şablonu bir kaydı biçimlendirir; {'{'} rows {'}'} daha sonra her biçimlendirilmiş kaydı ana şablona bırakır - böylece bir döngü yazmadan tüm eşleşmeleri listelersiniz.", "helpRowTemplateExampleCaption": "Eşleşen her satır satır şablonu tarafından biçimlendirilir, ardından {'{'} satırları {'}'} hepsini ana şablona bırakır:", @@ -7026,7 +7026,7 @@ "helpDestinationNoTemplate": "Bu hedefin varsayılan biçimlendirmesini kullanır.", "builtInVars": { "orgName": "Kuruluş adınız", - "streamType": "Akış türü (loglar, metrikler, izler)", + "streamType": "Akış türü (günlükler, metrikler, izler)", "streamName": "Uyarının izlediği akışın adı", "alertName": "Uyarının adı", "alertType": "Uyarı türü (ör. zamanlanmış, gerçek zamanlı)", @@ -7048,7 +7048,7 @@ }, "advanced": { "addVariable": "Değişken Ekle", - "variablesTooltip": "Değişkenler, verileri uyarıdan hedefe iletmek için kullanılır.", + "variablesTooltip": "Değişkenler, uyarıdan hedefe veri aktarmak için kullanılır.", "templateType": "Şablon Türü:", "noTemplatesAvailable": "Kullanılabilir şablon yok", "refreshTemplates": "En güncel Şablonları yenile", @@ -7138,7 +7138,7 @@ "checkEvery": "Her birini kontrol et", "checkEveryTooltip": "Algılama işinin ne sıklıkta çalıştığı. Numune periyodundan daha büyük olabilir (örn. her 5m'de bir numune, her 1 saatte bir algılama çalıştırın).", "clickLoadDataHint": "Zaman serilerini önizlemek için Veri Yükle'yi tıklatın", - "destinationRequired": "En az bir varış noktası gereklidir!", + "destinationRequired": "En az bir hedef gereklidir!", "detectionResolution": "Algılama Çözünürlüğü", "detectionResolutionTooltip": "Her veri noktası ne kadar ayrıntılı. Örneğin “5m”, anormalliklerin 5 dakikalık çözünürlükte tespit edildiği anlamına gelir.", "disabled": "Engelli", @@ -7156,7 +7156,7 @@ "noDestinationsFound": "Hedef bulunamadı", "noFieldsFound": "Alan bulunamadı", "notifications": "Bildirimler", - "notificationsTooltip": "Etkinleştirildiğinde, bir anormallik tespit edildiğinde seçilen hedefe bir bildirim gönderilir.", + "notificationsTooltip": "Etkinleştirildiğinde, bir anormallik algılandığında seçilen hedefe bir bildirim gönderilir.", "retrainEvery": "Her Şeyi Yeniden Eğitin", "retrainEveryTooltip": "Modelin otomatik olarak ne sıklıkta yeniden eğitileceği. “Asla”, bir kez antrenman yapmak ve manuel olarak yeniden eğitilene kadar modeli tutmak anlamına gelir.", "retrainFourteenDays": "14 gün", @@ -7304,7 +7304,7 @@ "triggerAlertFailed": "Uyarı tetiklenemedi", "triggerRetrainingFailed": "Yeniden eğitim tetiklenemedi", "bulkDeleteAlertsFailed": "Uyarılar silinirken hata oluştu. Lütfen tekrar deneyin.", - "deleteDestinationFailed": "Hedef silinirken hata oluştu.", + "deleteDestinationFailed": "Hedef silinirken hata oluştu", "bulkDeleteDestinationsFailed": "Hedefler silinirken hata oluştu. Lütfen tekrar deneyin.", "bulkDeleteTemplatesFailed": "Şablonlar silinirken hata oluştu. Lütfen tekrar deneyin." }, @@ -7317,7 +7317,7 @@ "testFailedUnknownError": "Test bilinmeyen bir hatayla başarısız oldu" }, "confirmDeleteAlerts": "{count} uyarıyı silmek istediğinize emin misiniz? | {count} uyarıyı silmek istediğinize emin misiniz?", - "confirmDeleteDestinations": "{count} hedefi silmek istediğinize emin misiniz? | {count} hedefi silmek istediğinize emin misiniz?", + "confirmDeleteDestinations": "Bu {count} hedefi silmek istediğinize emin misiniz? | Bu {count} hedefi silmek istediğinize emin misiniz?", "prebuiltDestination": "Hazır {type} hedefi", "errorValidations": "Hata Doğrulamaları", "outputMessagesLabel": "Çıktı Mesajları", @@ -7374,7 +7374,7 @@ "critical": "Kritik", "warning": "Uyarı", "ok": "Normal", - "firingTotal": "Tetikleniyor", + "firingTotal": "Tetiklenen", "observedTotal": "Gruplar", "nOfMFiring": "{firing} / {observed} grup tetikleniyor", "groupedBy": "{columns} sütununa göre gruplandı", @@ -7542,7 +7542,7 @@ "missingTag": "Eksik", "enabled": "Etkin", "paused": "Duraklatıldı", - "impactTemplate": "Kullanan: {destinations} · {alerts}", + "impactTemplate": "{destinations} · {alerts} tarafından kullanılıyor", "impactDestination": "Kullanan: {alerts}" }, "alert_library": { @@ -7614,12 +7614,12 @@ "stepFolder": "Klasör", "stepTune": "Ayarla", "stepInstall": "Yükle", - "destinationIntro": "Bu gruptaki her uyarı, burada seçtiğiniz hedefe bildirim gönderir. Kitaplık dosyaları, dışa aktarıldıkları kuruluşun hedeflerinin adlarını içerir; bu hedefler sizin kuruluşunuzda mevcut değildir.", + "destinationIntro": "Bu gruptaki her uyarı, burada seçtiğiniz hedefe bildirim gönderir. Kütüphane dosyaları, dışa aktarıldıkları kuruluşun hedeflerini adlandırır; bu hedefler sizin kuruluşunuzda bulunmaz.", "destinationLabel": "Hedef", "destinationPlaceholder": "Bir hedef seçin", "destinationsLoadFailed": "Mevcut hedefleriniz yüklenemedi.", "retry": "Tekrar dene", - "destinationsNoneBody": "Bu kuruluşun henüz uyarı hedefi yok, bu yüzden bu uyarıların bildirim gönderebileceği bir yer yok. Hedefler sayfasında bir tane oluşturun ve ardından buraya geri gelip buradan seçin.", + "destinationsNoneBody": "Bu kuruluşun henüz uyarı hedefi yok, bu yüzden bu uyarıların bildirim gönderebileceği bir yer yok. Hedefler sayfasında bir tane oluşturun, ardından buraya dönüp seçin.", "openDestinations": "Hedefleri Aç", "selectAll": "Tümünü seç", "clear": "Temizle", @@ -7735,7 +7735,7 @@ "chartPreviewPlaceholder": "Grafik gerçek bildirimlerde burada görünür — uyarının kendi değerlendirme geçmişinden çizilir, önizlemede bu yoktur.", "channelTitlesDescription": "Belirli kanallarda farklı bir başlık kullanın — örn. e-posta için daha kısa bir konu satırı.", "namePlaceholder": "örn. Yüksek hata oranı", - "nameLockedHint": "Uyarılar ve hedefler bu şablona adıyla başvurur, bu yüzden yeniden adlandırılamaz. Yeni bir ad altında kopya oluşturmak için şablonu klonlayın.", + "nameLockedHint": "Uyarılar ve hedefler bu şablona adıyla başvurur, bu nedenle yeniden adlandırılamaz. Yeni bir ad altında bir kopya başlatmak için şablonu kopyalayın.", "rawBodyCaption": "Tam olarak yazıldığı gibi gönderilir, {'{'}variables{'}'} değişkenleriyle değiştirilir. Mevcut her şey için Değişken Rehberi'ne bakın.", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "örn. Değer", @@ -7879,12 +7879,12 @@ "updatedSuccess": "Uyarı kaynağı güncellendi", "error": "Uyarı kaynakları yüklenirken hata", "senderError": "Kaynak durumu yüklenirken hata", - "destinationsLoadError": "Hedefler yüklenirken hata" + "destinationsLoadError": "Hedefler yüklenirken hata oluştu" }, "alert_destinations": { "sectionTab": "Hedefler", "chooseTypeTitle": "Tür Seçin", - "selectDestinationType": "Hedef Türü Seçin", + "selectDestinationType": "Hedef Türünü Seç", "connectionStepTitle": "Bağlantı", "connectionDetailsTitle": "Bağlantı Ayrıntıları", "urlHelpText": "Sondaki eğik çizgi olmadan temel URL (ör. https://your-domain.com)", @@ -7903,9 +7903,9 @@ "datadogHostnameHelpText": "Datadog günlükleri için ana bilgisayar adı", "exampleLabel": "Örnek:", "subtitle": "Tetiklenen uyarıların teslim edildiği yer", - "exportDestination": "Dışa Aktarma Hedefi", + "exportDestination": "Hedefi Dışa Aktar", "deleteDestinationTitle": "Hedefi Sil", - "deleteDestinationMessage": "Hedefi silmek istediğinizden emin misiniz?", + "deleteDestinationMessage": "Hedefi silmek istediğinize emin misiniz?", "deleteDestinationsTitle": "Hedefleri Sil", "selected": "seçili", "organizationLabel": "Kuruluş", @@ -7925,10 +7925,10 @@ "ddTagsPlaceholder": "Etiketleri gir (örn. env:prod,version:1.0)", "serviceLabel": "Hizmet", "servicePlaceholder": "Hizmet adını gir (örn. api-gateway)", - "header": "Destinasyonlar", - "add": "Hedef Ekle", + "header": "Bildirim Hedefleri", + "add": "Yeni hedef", "edit": "Düzenle", - "search": "Hedefi ara", + "search": "Hedef ara", "filterAll": "Hepsi", "filterPrebuilt": "Önceden oluşturulmuş", "filterCustom": "Özel", @@ -7937,7 +7937,7 @@ "destination_type": "Hedef Türü", "template": "Şablon", "actions": "Eylemler", - "addTitle": "Hedef Ekle", + "addTitle": "Yeni Hedef", "updateTitle": "Hedefi Güncelle", "delete": "Sil", "method": "Yöntemi", @@ -7977,11 +7977,11 @@ "servicenowDescription": "ServiceNow'da olaylar oluştur" }, "import": { - "title": "Hedefi İçe Aktar", + "title": "Hedef İçe Aktar", "errorValidations": "Hata Doğrulamaları", "outputMessages": "Çıktı Mesajları", "destinationName": "Hedef Adı", - "destinationUrl": "Hedef URL", + "destinationUrl": "Hedef URL'si", "destinationMethod": "Hedef Yöntemi", "templates": "Şablonlar", "emails": "E-postalar (virgülle ayrılmış)", @@ -7990,26 +7990,26 @@ "jsonStringEmpty": "JSON dizesi boş", "invalidJsonFormat": "Geçersiz JSON biçimi", "importSuccess": "Hedefler başarıyla içe aktarıldı", - "importError": "Hedef içe aktarılırken hata, lütfen JSON'u kontrol edin", + "importError": "Hedef içe aktarılırken hata oluştu, JSON'u kontrol edin", "unknownError": "Bilinmeyen Hata", - "nameRequired": "Hedef - {index}: \"name\" alanı gereklidir ve geçerli bir dize olmalıdır.", + "nameRequired": "Hedef - {index}: \"name\" alanı zorunludur ve geçerli bir dize olmalıdır.", "nameExists": "Hedef - {index}: \"{name}\" zaten mevcut", "typeInvalid": "Hedef - {index}: \"type\" alanı \"email\", \"http\" veya \"action\" olmalıdır", "actionTypeNotSupported": "Hedef - {index}: 'action' türü desteklenmiyor.", "actionNotFound": "Hedef - {index}: \"{type}\" türü için \"{actionId}\" eylemi mevcut değil", - "urlRequired": "Hedef - {index}: http türü hedefler için \"url\" alanı gereklidir.", - "methodInvalid": "Hedef - {index}: \"method\" alanı \"post\", \"get\" veya \"put\" olmalıdır", - "templateRequiredHttp": "Hedef - {index}: http türü hedefler için \"template\" alanı gereklidir.", - "skipTlsVerifyRequired": "Hedef - {index}: \"skip_tls_verify\" alanı gereklidir ve boolean bir değer olmalıdır", - "headersMustBeObject": "Hedef - {index}: 'headers' http türü için bir nesne olmalıdır", - "urlNotAllowedEmail": "Hedef - {index}: 'url' e-posta türü için sağlanmamalıdır", - "headersNotAllowedEmail": "Hedef - {index}: 'headers' e-posta türü için sağlanmamalıdır", - "emailsRequired": "Hedef - {index}: \"emails\" alanı gereklidir ve e-posta türü hedefler için bir dizi olmalıdır.", - "emailsMustBeStrings": "Hedef - {index}: 'emails' e-posta türü için bir dize dizisi olmalıdır", - "templateRequiredEmail": "Hedef - {index}: e-posta türü hedefler için \"template\" alanı gereklidir.", + "urlRequired": "Hedef - {index}: http türündeki hedefler için \"url\" alanı zorunludur.", + "methodInvalid": "Hedef - {index}: \"method\" alanı \"post\", \"get\" veya \"put\" değerlerinden biri olmalıdır", + "templateRequiredHttp": "Hedef - {index}: http türündeki hedefler için \"template\" alanı zorunludur.", + "skipTlsVerifyRequired": "Hedef - {index}: \"skip_tls_verify\" alanı zorunludur ve boolean bir değer olmalıdır", + "headersMustBeObject": "Hedef - {index}: http türü için 'headers' bir nesne olmalıdır", + "urlNotAllowedEmail": "Hedef - {index}: e-posta türü için 'url' sağlanmamalıdır", + "headersNotAllowedEmail": "Hedef - {index}: e-posta türü için 'headers' sağlanmamalıdır", + "emailsRequired": "Hedef - {index}: e-posta türündeki hedefler için \"emails\" alanı zorunludur ve bir dizi olmalıdır.", + "emailsMustBeStrings": "Hedef - {index}: e-posta türü için 'emails' bir dize dizisi olmalıdır", + "templateRequiredEmail": "Hedef - {index}: e-posta türündeki hedefler için \"template\" alanı zorunludur.", "templateNotFound": "Hedef - {index}: \"{type}\" türü için \"{template}\" şablonu mevcut değil", "actionIdInvalid": "Hedef - {index}: \"action_id\" alanı geçerli bir dize olmalıdır.", - "createSuccess": "Hedef - {index}: \"{name}\" başarıyla oluşturuldu \nNot: lütfen oluşturulan hedef nesnesi {name}'i json dosyasından kaldırın", + "createSuccess": "Hedef - {index}: \"{name}\" başarıyla oluşturuldu \nNot: lütfen oluşturulan {name} hedef nesnesini json dosyasından kaldırın ", "createFailed": "Hedef - {index}: \"{name}\" oluşturma başarısız --> \n Neden: {reason}" }, "priorityP1Description": "En yüksek öncelikli uyarılar", @@ -8023,8 +8023,8 @@ "severityInfoDescription": "Bilgilendirme olayları" }, "pipeline_destinations": { - "header": "Boru Hattı Destinasyonları", - "search": "Hedefi ara" + "header": "Boru Hattı Hedefleri", + "search": "Hedef ara" }, "storage_settings": { "heroBrand": "OpenObserve.", @@ -8234,7 +8234,7 @@ }, "metricCard": { "lastRefreshed": "Son Yenileme:", - "traceId": "İzleme Kimliği: {id}", + "traceId": "İz Kimliği: {id}", "metricLabel": "Metrik: {name}", "queryLabel": "Sorgu: {query}", "errorLabel": "Hata: {error}", @@ -8387,8 +8387,8 @@ "customLogoText": "Özel Logo Metni", "orgLabel": "Organizasyon Parametreleri", "logDetails": "Günlük Ayrıntıları", - "traceIdFieldName": "İzleme Kimliği Alan Adı", - "spanIdFieldName": "Span ID Alan Adı", + "traceIdFieldName": "İz Kimliği Alan Adı", + "spanIdFieldName": "Span Kimliği Alan Adı", "toggleIngestionLogsLabel": "Yutma Günlüklerini Değiştir", "usageStreamEnabledLabel": "Kullanım Akışını Etkinleştir", "claimParserFunction": "SSO Talep Ayrıştırıcısı", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "GenAI Aracı Haritalama", "title": "GenAI Aracı Haritalama", - "description": "LLM izleri ve değerlendirmeleri için ajan kimliğini normalleştirmek için kullanılan yedek telemetri özniteliklerini yapılandırın.", + "description": "LLM izleri ve değerlendirmeleri için ajan kimliğini normalleştirmek üzere yedek telemetri özniteliklerini yapılandırın.", "agentNameFields": "Temsilci adı geri dönüş alanları", "agentNameHelp": "gen_ai.agent.name için yedek olarak kullanılacak gelen öznitelikler.", "agentNameInfo": "Yalnızca standart gen_ai.agent.name özniteliği eksik veya boş olduğunda kontrol edilir. Satır başına bir gelen telemetri özelliği ekleyin.", @@ -8532,7 +8532,7 @@ "resetToEmpty": "Boşa sıfırla", "clearRegistry": "Kayıt defterini temizle", "clearRegistryTitle": "Temsilci kayıt defterini temizleyin?", - "clearRegistryDescription": "Bu, bu kuruluş için keşfedilen tüm GenAI aracı kayıt defteri satırlarını siler. Yeni eşleşen izler, alma sırasında kayıt defterini yeniden dolduracaktır.", + "clearRegistryDescription": "Bu, bu organizasyon için keşfedilen tüm GenAI ajan kayıt satırlarını siler. Yeni eşleşen izler, veri alımı sırasında kaydı yeniden dolduracaktır.", "clearRegistryConfirm": "Kayıt defterini temizle", "saved": "GenAI aracı eşlemesi başarıyla kaydedildi", "clearRegistrySuccess": "GenAI aracı kayıt defteri temizlendi. {deletedCount} depolanmış aracı ve {bufferCount} sırada bekleyen gözlem silindi.", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "Alan takma adları kaydedilemedi", "fieldAliasesUnsavedConfirm": "Kaydedilmemiş alan eşleme değişiklikleriniz var. Bunları iptal edip çıkmak istiyor musunuz?", "discoveredServicesTitle": "Keşfedilen Hizmetler", - "discoveredServicesDescription": "Hizmetler telemetri verilerinizden otomatik olarak keşfedilir ve korelasyon için Tam Nitelikli Adlarına (FQN) göre gruplandırılır. Aynı FQN'yi paylaşan hizmetler günlükler, izler ve metrikler arasında birbiriyle ilişkilendirilir.", + "discoveredServicesDescription": "Hizmetler, telemetri verilerinizden otomatik olarak keşfedilir ve ilişkilendirme için Hizmet Adına göre gruplandırılır. Aynı Hizmet Adını paylaşan hizmetler; günlükler, izler ve metrikler arasında birlikte ilişkilendirilir.", "noServicesYet": "Henüz hiçbir hizmet keşfedilmedi", "noServicesDescription": "Hizmetler, telemetri verileri hizmet tanımlama öznitelikleriyle alındığında (k8s-dağıtımı, hizmet adı vb.) burada görünecektir.", "searchServiceName": "Servis adını ara...", @@ -8560,7 +8560,7 @@ "serviceName": "Hizmet Adı", "service": "Hizmet", "logs": "Günlükler", - "traces": "İzleri", + "traces": "İzler", "metrics": "Metrikler", "lastSeen": "Son Görülme", "retry": "Tekrar dene", @@ -8608,7 +8608,7 @@ "instancesCount": "({count} örnek)", "noDimensions": "boyut yok", "defaultSetWarningTitle": "İlişkilendirme güvenilmez olabilir.", - "defaultSetWarningBody": "Bu örneğin ayırt edici bilgisi yok — herhangi bir iş yükü eşleşmesi olmadan keşfedildi (küme, ad alanı veya ortam bağlamı yok). Loglar ve izler aynı servis adının farklı dağıtımlarından geliyor olabilir.", + "defaultSetWarningBody": "Bu örnekte belirsizlik giderme yok — herhangi bir iş yükü eşleşmesi olmadan keşfedildi (küme, ad alanı veya ortam bağlamı yok). Günlükler ve izler, aynı hizmet adının farklı dağıtımlarından gelebilir.", "instanceIdentity": "Örnek Kimliği", "noDimensionsCatchAll": "Boyut yok — tümünü yakalayan örnek", "streamSources": "Akış Kaynakları", @@ -8728,7 +8728,7 @@ "createFailed": "Regex deseni - {index}: \"{name}\" oluşturma başarısız oldu --> \n Sebep: {error}" }, "index": { - "genAiAgentMappingDesc": "GenAI yayılmalarını aracı tanımlayıcılarla eşle" + "genAiAgentMappingDesc": "GenAI Span'lerini ajan tanımlayıcılarıyla eşleştir" }, "organizationManagementPage": { "setAiCredits": "AI Kredilerini Ayarla", @@ -8931,7 +8931,7 @@ "cachedReportHint": "Not: Önbelleğe alınan raporlar, panolara hızlı erişim için saklanır; bu raporlar için paylaşım devre dışıdır.", "selectDashboardStep": "Pano Seç", "timeRangeDescription": "Belirtilen zaman aralığındaki verilerle rapor oluşturur.", - "pngPageLimitNote": "PNG, panonun yalnızca ilk görünür sayfasını yakalar. Pano birden fazla sayfaya yayılıyorsa PDF kullanın.", + "pngPageLimitNote": "PNG yalnızca gösterge panelinin ilk görünür sayfasını yakalar. Gösterge paneli birden çok sayfaya yayılıyorsa PDF kullanın.", "widthPlaceholder": "ör. 1440", "heightPlaceholder": "ör. 900", "dimensionsDefaultHint": "Sunucu varsayılanlarını kullanmak için boş bırakın", @@ -9137,16 +9137,16 @@ }, "openInFullView": "Tam görünümde aç", "viewLogs": "Günlükleri Görüntüle", - "viewLogsUnavailable": "Bu span için günlükler açılamadı.", + "viewLogsUnavailable": "Bu Span için günlükler açılamadı.", "backToLogs": "Günlüklere Dön", - "openInTraces": "Traces'te aç", + "openInTraces": "İzlerde Aç", "loadingStream": "Akış Yükleniyor...", "noLogsAvailableForService": "Bu hizmet için günlük yok", - "noCorrelatedLogsFound": "Bu span için ilişkili günlükler bulunamadı", + "noCorrelatedLogsFound": "Bu Span için ilişkili günlük bulunamadı", "noData": { - "title": "{product} adresine iz göndermeye başlayın", - "description": "Bu organizasyonda henüz iz akışı bulunamadı. Hizmetleriniz ve izleriniz burada otomatik olarak görünecektir.", - "otlp": "{product} üzerinden iz gönder", + "title": "{product} ürününe iz göndermeye başlayın", + "description": "Bu organizasyonda henüz iz akışı bulunamadı. Hizmetlerinizi enstrümante edin, izler otomatik olarak burada görünecek.", + "otlp": "{product} ile iz gönderin", "otlpDesc": "{product1}, {product2} ve {product3} ile uyumlu herhangi bir SDK", "otelCollectorDesc": "Tüm telemetri sinyallerini {product} üzerinden yönlendirin", "or": "Veya:", @@ -9155,21 +9155,21 @@ "configureFullTextSearch": "akışa tam metin arama alanını yapılandırmak için.", "collapseFields": "Alanları Daralt", "openFields": "Açık Alanlar", - "timeRangeUpdated": "Seçilen zaman aralığı bu izi içermiyordu. Zaman aralığı, izlemenin zaman damgasıyla eşleşecek şekilde güncellendi.", - "errorRetrievingTraces": "İzler alınırken hata oluştu.", - "fetchingTraces": "Sıkı tutun, izlerini getiriyoruz.", + "timeRangeUpdated": "Seçilen zaman aralığı bu izi içermiyordu. Zaman aralığı, izin zaman damgasıyla eşleşecek şekilde güncellendi.", + "errorRetrievingTraces": "İzler alınırken bir hata oluştu.", + "fetchingTraces": "İzler yükleniyor...", "noStream": { "title": "Keşfetmeye başlamak için bir yayın seçin", - "description": "Bir izleme akışı seçin, ardından Sorguyu çalıştır'a basın. Sonuçlar yüklendikten sonra hizmet, süre, aralık durumu ve daha fazlasına göre filtreleyebilirsiniz.", + "description": "Bir iz akışı seçin, ardından Sorgu çalıştır düğmesine basın. Sonuçlar yüklendiğinde hizmet, süre, span durumu ve daha fazlasına göre filtreleyebilirsiniz.", "selectStream": "Bir akış seçin", - "selectStreamDesc": "Bu kuruluştaki kullanılabilir izleme akışlarına göz atın", - "queryGuide": "İzler kılavuzunu okuyun", - "queryGuideDesc": "Hizmet grafiği, aralık filtreleme, RED metrikleri ve daha fazlası", + "selectStreamDesc": "Bu organizasyondaki mevcut iz akışlarına göz atın", + "queryGuide": "İz rehberini okuyun", + "queryGuideDesc": "Hizmet grafiği, span filtreleme, RED metrikleri ve daha fazlası", "recent": "En son:" }, "noEvents": { "title": "İz bulunamadı", - "descNoFilters": "{range} içinde hiçbir iz bulunamadı. Sonuçları yüklemek için zaman aralığını genişletmeyi deneyin.", + "descNoFilters": "{range} aralığında iz bulunamadı.", "descWithFilters": "Seçilen pencerede bu sorguy la eşleşen hiçbir şey yok. Zaman aralığını genişletmeyi veya bir filtreyi kaldırmayı deneyin.", "descOutOfRange": "Zaman pencereniz bu akıştan herhangi bir veri içermiyor. Verinin en son görüldüğü zamana geçin.", "jumpToData": "En son verilere geç", @@ -9177,38 +9177,38 @@ "askAi": "AI'dan sorgumu düzeltmesini isteyin", "selectedRange": "Seçilen aralık" }, - "tracesFound": "İzler Bulundu", - "spansFound": "Bulunan Açıklıklar", + "tracesFound": "Bulunan İzler", + "spansFound": "Bulunan Spanlar", "errorTraces": "Hata İzleri", - "errorSpans": "Hata Aralıkları", + "errorSpans": "Hata Spanları", "filterByErrors": "Hatalara göre filtrele", "clearErrorFilter": "Hata filtresini temizle", "error": "HATA", "errorCount": "{n} HATA | {n} HATALAR", "success": "BAŞARI", - "applyPendingFilters": "Bekleyen filtreleri ve Arama İzlerini uygulayın", - "backToTraces": "Traces sayfasına geri dön", + "applyPendingFilters": "Bekleyen filtreleri uygula ve İzleri Ara", + "backToTraces": "İzlere Geri Dön", "loadingTrace": "Yükleniyor...", - "traceId": "İzleme Kimliği", - "copyTraceId": "İzleme Kimliğini Kopyala", + "traceId": "İz Kimliği", + "copyTraceId": "İz Kimliğini Kopyala", "viewFilters": "Filtreleri görüntüle", - "reviewAndApplyFilters": "İzlere filtreleri gözden geçirin ve uygulayın", - "spansLabel": "açıklıklar", + "reviewAndApplyFilters": "Filtreleri gözden geçir ve İzlere uygula", + "spansLabel": "spanlar", "errorsLabel": "hatalar", "previousMatch": "Önceki maç", "nextMatch": "Sonraki maç", - "searchInSpans": "Aralıklarda ara", - "spansTableView": "Yayılma Tablosu Görünümü", + "searchInSpans": "Spanlarda ara", + "spansTableView": "Spanlar Tablo Görünümü", "comingSoon": "Yakında...", - "fetchingTrace": "İzini getiriyorum.", - "traceFilters": "İzleme Filtreleri", + "fetchingTrace": "İziniz getiriliyor.", + "traceFilters": "İz Filtreleri", "showTraces": "İzleri Göster", "applyAndSearch": "Uygula ve Ara", "timestamp": "Zaman damgası", - "noErrorPresent": "Bu aralıkta hata yok", - "noEventsPresent": "Bu yayılma için etkinlik yok", - "noLinksPresent": "Bu yayılma için bağlantı yok", - "loadingTraceDag": "İz DAG yükleniyor...", + "noErrorPresent": "Bu Span için hata mevcut değil", + "noEventsPresent": "Bu Span için olay yok", + "noLinksPresent": "Bu Span için bağlantı yok", + "loadingTraceDag": "İz DAG'ı yükleniyor...", "exceptionsWithCount": "İstisnalar ({count})", "typeLabel": "Türü:", "messageLabel": "Mesaj:", @@ -9254,12 +9254,12 @@ "failedToLoad": "Oturum yüklenemedi", "retry": "Tekrar dene", "sessionNotFound": "Oturum bulunamadı", - "noSpansFound": "Geçerli zaman aralığında {id} için hiçbir açıklık bulunamadı.", - "searchPlaceholder": "Bu oturumdaki izleri ara...", + "noSpansFound": "Mevcut zaman aralığında {id} için Span bulunamadı.", + "searchPlaceholder": "Bu oturumda izleri ara…", "turn": "dönüş", "turns": "sıralar", "turnCount": "{count} {unit}", - "openInTraceExplorer": "İzlemeyi Görüntüle", + "openInTraceExplorer": "İzi Görüntüle", "filters": { "status": "Durum", "model": "Modeli", @@ -9362,11 +9362,11 @@ "title": "Hata Oranı" } }, - "spansTab": "Açıklıklar", - "tracesTab": "İzleri", + "spansTab": "Spanlar", + "tracesTab": "İzler", "serviceGraphTab": "Servis Grafiği", "serviceGraphSubtitle": "Hizmetlerinizin birbirini nasıl çağırdığını görün — bağımlılıklar, işlem hacmi ve hata oranları", - "servicesCatalogSubtitle": "İz gönderen her hizmet; gecikme, işlem hacmi ve hata oranı", + "servicesCatalogSubtitle": "İz gönderen her hizmet, gecikme, verim ve hata oranıyla birlikte", "treeView": "Ağaç Görünümü", "graphView": "Grafik Görünümü", "layoutHorizontal": "Yatay", @@ -9385,7 +9385,7 @@ "host": "Host", "user": "Kullanıcı", "storedProcedure": "Saklı Yordam", - "noQueryText": "Bu span için sorgu metni kaydedilmedi.", + "noQueryText": "Bu Span için sorgu metni kaydedilmemiş.", "performance": "Performans", "rowsReturned": "Döndürülen Satırlar", "batchSize": "Toplu İşlem Boyutu", @@ -9398,13 +9398,13 @@ "changeStreamTitle": "Akışı değiştir?", "switchStream": "Akışı değiştir", "cancel": "İptal", - "changeStreamMessage": "Bu, İzler/Spanler sekmesindeki akışı da güncelleyecek ve mevcut sorguyu sıfırlayacaktır.", + "changeStreamMessage": "Bu ayrıca İzler/Spanlar sekmesindeki akışı güncelleyecek ve mevcut sorguyu sıfırlayacak.", "errorGettingFunctions": "Fonksiyonlar alınırken hata oluştu", "errorPullingIndex": "Seçilen kuruluş için indeks çekilirken hata oluştu{message}", "errorGettingStreams": "Akışlar alınırken hata oluştu", "errorLoadingStreams": "Akışlar yüklenirken hata oluştu", "errorConstructingQuery": "Arama sorgusu oluşturulurken bir hata oluştu.", - "traceNotFound": "İz {traceId} bulunamadı", + "traceNotFound": "{traceId} izi bulunamadı", "errorProcessingRequest": "İstek işlenirken hata oluştu", "searchRequestFailed": "Arama isteği başarısız" }, @@ -9425,7 +9425,7 @@ "service": "Hizmet", "operationName": "İşlem Adı", "duration": "Süre", - "spans": "Span'lar", + "spans": "Spanlar", "spanKind": "Span Türü", "spanStatus": "Span Durumu", "status": "Durum", @@ -9518,13 +9518,13 @@ "processExitCode": "İşlem Çıkış Kodu" }, "traceLatencyCell": { - "spansAcrossServices": "{spans} yayılma, {services} hizmet arasında" + "spansAcrossServices": "{spans} span, {services} hizmet arasında" }, "threadToolCalls": { "toolCall": "araç çağrısı", "toolCalls": "araç çağrıları", "showCalls": "Çağrıları Göster", - "openSpanDetails": "Yayılma ayrıntılarını aç", + "openSpanDetails": "Span ayrıntılarını aç", "arguments": "Bağımsız Değişkenler", "result": "Sonuç", "empty": "(boş)" @@ -9538,17 +9538,17 @@ "cost": "Maliyet", "model": "Model", "errors": "Hatalar", - "noSpansLoaded": "Bu iz için yayılma yüklenmedi.", - "noLlmTurns": "Hiçbir LLM dönüşü algılanmadı. İz, şu özelliklere sahip yayılma içermiyor:", + "noSpansLoaded": "Bu iz için hiç span yüklenmedi.", + "noLlmTurns": "LLM turları algılanmadı. İz, şu özellikleri taşıyan hiç span içermiyor", "system": "Sistem", - "historicalMessage": "Bu oturumdan {count} önceki mesaj — önceki izlemelerde işlendi. | Bu oturumdan {count} önceki mesaj — önceki izlemelerde işlendi.", + "historicalMessage": "{count} bu oturumdan önceki mesaj — önceki izlerde işlendi. | {count} bu oturumdan önceki mesaj — önceki izlerde işlendi.", "user": "Kullanıcı", "startedAt": "{time} tarihinde başlatıldı", "unknown": "bilinmiyor", "tokens": "Token'lar", "tokensSuffix": "token'lar", "error": "Hata", - "viewSpan": "Span'i Görüntüle" + "viewSpan": "Span'i görüntüle" }, "traceHeader": { "operationName": "İşlem Adı" @@ -9566,7 +9566,7 @@ "start": "Başlangıç", "requestResent": "İstek {count} kez yeniden gönderildi | İstek {count} kez yeniden gönderildi", "resends": "Yeniden gönderimler", - "spanIdTitle": "Span ID: {id}", + "spanIdTitle": "Span Kimliği: {id}", "inputTokens": "Giriş Token'ları", "in": "Giriş", "outputTokens": "Çıkış Token'ları", @@ -9587,8 +9587,8 @@ "value": "Değer", "timestamp": "Zaman Damgası", "enterpriseLicenseRequired": "Korelasyon özelliği kurumsal lisans gerektirir", - "missingSpanOrStream": "Eksik span veya akış adı", - "spanIdCopied": "Span ID panoya kopyalandı", + "missingSpanOrStream": "Span veya akış adı eksik", + "spanIdCopied": "Span kimliği panoya kopyalandı", "attributesCopied": "Nitelikler panoya kopyalandı", "copiedToClipboard": "{type} panoya kopyalandı", "failedToCopyClipboard": "Panoya kopyalanamadı", @@ -9601,17 +9601,17 @@ "filterAdded": "Filtre eklendi: {field} {operator} '{value}'", "timeline": "Zaman Çizelgesi", "serviceMap": "Hizmet Haritası", - "traceNotFound": "{traceId} izi bulunamadı", - "spanNotFound": "İz içinde {spanId} span bulunamadı", + "traceNotFound": "İz {traceId} bulunamadı", + "spanNotFound": "Span {spanId} iz içinde bulunamadı", "unknownOperation": "Bilinmeyen İşlem", "unknownService": "Bilinmeyen Hizmet", - "traceIdCopied": "İz ID panoya kopyalandı", + "traceIdCopied": "İz kimliği panoya kopyalandı", "sessionIdCopied": "Oturum ID panoya kopyalandı" }, "traceTree": { "clickToExpand": "Genişletmek için tıklayın", "clickToCollapse": "Daraltmak için tıklayın", - "errorSpan": "Hata Span'ı", + "errorSpan": "Hata Span", "httpStatus": "HTTP {status}", "spanEvent": "{count} span olayı | {count} span olayı" }, @@ -9620,7 +9620,7 @@ "selected": "Seçilen:", "dimensions": "Boyutlar", "collapseDimensions": "Boyutları Daralt", - "tracesPerInterval": "izler/aralık" + "tracesPerInterval": "iz/aralık" }, "sessionDetails": { "missingSessionInfo": "URL'de eksik oturum id veya akış", @@ -9628,12 +9628,12 @@ "copied": "Kopyalandı" }, "flameGraphView": { - "spans": "span'lar", + "spans": "span'ler", "depth": "derinlik", "noSpansToDisplay": "Görüntülenecek span yok", "service": "Hizmet:", "duration": "Süre:", - "percentOfTrace": "İzin yüzdesi:", + "percentOfTrace": "İz yüzdesi:", "hasErrors": "⚠ Hatalar var" }, "tracesNoEventsState": { @@ -9643,21 +9643,21 @@ "distributedTrace": "Dağıtık İz", "loadingTraceData": "İz verileri yükleniyor...", "noTraceInfoAvailable": "Bu olay için iz bilgisi mevcut değil", - "traceIdLabel": "İz Kimliği:", - "copyTraceId": "İz Kimliğini Kopyala", - "spanIdLabel": "Span ID:", + "traceIdLabel": "İz kimliği:", + "copyTraceId": "İz kimliğini kopyala", + "spanIdLabel": "Span kimliği:", "spanHierarchy": "Span Hiyerarşisi:", - "applicationSpan": "Uygulama Spanı", + "applicationSpan": "Uygulama Span", "browserSdkSpanPrefix": "Tarayıcı SDK Span (", "closingParen": ")", - "backendSpansPrefix": "Arka Uç Spanları (", + "backendSpansPrefix": "Arka Uç Span'leri (", "performanceBreakdown": "Performans Dökümü:", "totalDuration": "Toplam Süre:", "browserLabel": "Tarayıcı:", "networkLabel": "Ağ:", "backendLabel": "Arka Uç:", - "viewTraceDetails": "İz Ayrıntılarını Görüntüle", - "backendTraceNotAvailable": "Arka uç iz verileri henüz mevcut değil. İz verilerinin işlenmesi 30 saniyeye kadar sürebilir." + "viewTraceDetails": "İz ayrıntılarını görüntüle", + "backendTraceNotAvailable": "Arka uç iz verileri henüz mevcut değil. İz verilerinin alınması 30 saniyeye kadar sürebilir." }, "failedToAnalyzeDimensions": "Boyutlar analiz edilemedi", "failedToFetchCorrelatedLogs": "İlişkili günlükler getirilemedi", @@ -9696,7 +9696,7 @@ "requestsLabel": "İstekler:", "errorsLabel": "Hatalar:", "errorRateLabel": "Hata Oranı:", - "spansLabel": "Span'lar:", + "spansLabel": "Span'ler:", "callsLabel": "Çağrılar:", "averageLabel": "Ortalama:", "minimumLabel": "Minimum:", @@ -9705,7 +9705,7 @@ "p75Label": "P75:", "p95Label": "P95:", "p99Label": "P99:", - "averageOfTrace": "{avg}ms (iz'in {percent}%)", + "averageOfTrace": "{avg}ms (izin %{percent}'i)", "requestCount": "{count} istek" }, "spanEventTimeline": "Span olay zaman çizelgesi", @@ -10017,7 +10017,7 @@ "selectMetrics": "Metrik Akışları Seçin", "correlatedLogs": "İlişkili Günlükler", "correlatedMetrics": "İlişkili Metrikler", - "correlatedTraces": "İlişkili İzler", + "correlatedTraces": "İzler", "loadingCorrelation": "Korelasyon verileri yükleniyor...", "clickToLoadLogs": "İlişkili günlükleri yüklemek için tıklayın", "clickToLoadMetrics": "İlişkili metrikleri yüklemek için tıklayın", @@ -10042,16 +10042,16 @@ "noLogsDescription": "Seçilen zaman aralığında bu korelasyon için günlük bulunamadı.", "correlatedTracesFor": "Hizmet için ilişkili izler: {service}", "all": "Hepsi", - "loadingTraces": "İlişkili izler yükleniyor...", - "tracesError": "İzler yüklenemedi", - "tracesErrorDetails": "İzleme verileri alınırken bir hata oluştu. Lütfen tekrar deneyin.", + "loadingTraces": "İzler yükleniyor...", + "tracesError": "İzler yüklenemiyor", + "tracesErrorDetails": "İz verisi alınırken bir hata oluştu. Lütfen tekrar deneyin.", "metricsError": "Metrikler Yüklenemiyor", "metricsErrorDetails": "Metrik verileri alınırken bir hata oluştu. Lütfen tekrar deneyin.", "noMetricsDescription": "Seçilen zaman aralığında bu korelasyon için hiçbir metrik bulunamadı.", "dimensionBasedCorrelation": "Boyut Tabanlı Korelasyon", - "tracesFromService": "Hizmetten gelen izler: {service}", - "noTracesFound": "İlişkili iz bulunamadı", - "noTracesDescription": "Seçilen zaman aralığında bu korelasyon için iz bulunamadı.", + "tracesFromService": "Hizmetten izler: {service}", + "noTracesFound": "İz Bulunamadı", + "noTracesDescription": "Seçilen zaman aralığında bu ilişkilendirme için iz bulunamadı.", "viewInTraces": "İzlerde Görüntüle", "filters": "Filtreler", "semanticFieldGroupsCaption": "Korelasyon ve tekilleştirme için alan adı eşlemelerini tanımlayın (örn., ana bilgisayar adı, düğüm → 'ana bilgisayar' grubu)", @@ -10185,7 +10185,7 @@ "editCrossLink": "Çapraz Bağlantıyı Düzenle", "name": "İsim", "nameRequired": "İsim zorunludur", - "namePlaceholder": "örn., İzleme Ayrıntılarını Görüntüle", + "namePlaceholder": "örn., İz Ayrıntılarını Görüntüle", "urlTemplate": "URL Şablonu", "urlRequired": "URL gerekli", "urlPlaceholder": "örn., https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", @@ -10281,7 +10281,7 @@ "colPattern": "Desen", "colPricingSimple": "Fiyatlandırma", "testMatchTitle": "Test Modeli Eşleşmesi", - "testMatchSubtitle": "Açıklıklarınızdaki bir model adının fiyatlandırma kurallarıyla nasıl eşleşeceğini simüle edin.", + "testMatchSubtitle": "Span'lerinizdeki bir model adının fiyatlandırma kurallarına nasıl eşleşeceğini simüle edin.", "modelNameInput": "Model Adı", "modelNameHint": "Nesillerinizin model adı.", "enterModelName": "Eşleşmeyi test etmek için bir model adı girin", @@ -10447,9 +10447,9 @@ "agentBehavior": "Döngülerde takılı kalan ajanları ve onları başarısız yapan hataları tespit edin", "discovery": "İncelemeye değer sağlıksız izleri bulun", "queues": "Durum bilgisi tutan inceleme yapılacaklar listeleri", - "datasets": "Açıklamalı izlerden ve incelemelerden altın veri kümeleri oluşturun", + "datasets": "Etiketlenmiş izlerden ve incelemelerden altın veri kümeleri oluşturun", "experiments": "Değişmez çevrimdışı değerlendirme çalıştırmalarını önizleyin ve oluşturun", - "quality": "Span, trace ve oturum değerlendirmelerinde skor kalitesini takip edin", + "quality": "Span, iz ve oturum değerlendirmelerinde puan kalitesini takip edin", "evalJobs": "Oturumlarınız boyunca değerlendirme işlerini çalıştırın ve izleyin", "scorers": "LLM çıktılarını derecelendiren puanları oluşturun ve yönetin", "scoreConfigs": "Değerlendirmeleriniz tarafından kullanılan puanlama derecelerini yapılandırın" @@ -10493,7 +10493,7 @@ "dataset": { "button": "Veri Kümesine Ekle", "title": "Veri Kümesine Ekle", - "hint": "{ref} öğesini altın bir örneğe dönüştürün. Girdi izden geri okunur — beklenen çıktıyı siz yazarsınız.", + "hint": "{ref} öğesini bir altın örneğe dönüştürün. Girdi izden geri okunur — siz beklenen çıktıyı yazarsınız.", "errors": { "dataset": "Bir veri kümesi seçin", "expectedOutput": "Beklenen çıktıyı yazın" @@ -10516,12 +10516,12 @@ "searchPlaceholder": "Servis, Girdi, Kalite Ara...", "searchFooter": "Bu sayfada {matched} tanesi {loaded} öğeden eşleşiyor", "scope": { - "span": "Spanlar", + "span": "Span'ler", "trace": "İzler", "session": "Oturumlar" }, "scopeNoun": { - "span": "spanlar", + "span": "span'ler", "trace": "izler", "session": "oturumlar" }, @@ -10549,7 +10549,7 @@ "inQueue": "Kuyrukta mı?", "actions": "Eylemler" }, - "spanParent": "{trace} içinde", + "spanParent": "İçinde {trace}", "quality": { "issue": "Sorun", "multiple": "Birden Fazla", @@ -10638,10 +10638,10 @@ "searchPlaceholder": "Öğeleri Ara...", "footerTitle": "Öğeler", "allItems": "Tümü", - "inTrace": "Trace {traceId} içinde", + "inTrace": "İz içinde {traceId}", "reviewAgain": "Tekrar İncele", "emptyTitle": "İncelenecek Bir Şey Yok", - "emptyBody": "Bu kuyruğa Discovery'den veya bir trace görünümünden trace'lar, span'ler veya oturumlar ekleyin.", + "emptyBody": "Discovery veya bir iz görünümünden bu kuyruğa izler, span'ler veya oturumlar ekleyin.", "columns": { "refType": "Ref", "refId": "Referans", @@ -10692,7 +10692,7 @@ "distill": { "title": "Veri Setine Damıt", "action": "Veri Seti", - "hint": "Bu öğenin üretmesi GEREKEN cevabı yazın. Bu, altın çıktı olur; girdi ise incelenen izden alınır.", + "hint": "Bu öğenin üretmesi GEREKEN yanıtı yazın. Bu, altın çıktı hâline gelir; girdi incelenen izden alınır.", "datasetLabel": "Veri Seti", "datasetPlaceholder": "Bir Veri Seti Seçin...", "noDatasets": "Henüz veri seti yok — önce Veri Setleri sayfasından bir tane oluşturun.", @@ -10704,7 +10704,7 @@ "updated": "Altın güncellendi — bu öğe zaten o veri setinde", "openDataset": "Veri Setini Aç", "needsReview": "Önce incelemeyi tamamlayın — altın standart için hakem kararı gerekir.", - "sessionUnsupported": "Oturum öğeleri damıtılamaz — yalnızca trace ve span.", + "sessionUnsupported": "Oturum öğeleri damıtılamaz — yalnızca izler ve span'ler", "loadError": "Veri setleri yüklenemedi", "error": "Bu öğe veri setine eklenemedi" }, @@ -10912,7 +10912,7 @@ "trials": "Denemeler", "trial": "Deneme {index}", "retryFailedSlot": "Başarısız Slotu Tekrar Dene", - "viewTrace": "İzlemeyi Görüntüle", + "viewTrace": "İzi Görüntüle", "scores": "Puanlar", "dimension": "Boyut", "unknownDimension": "Bilinmeyen boyut", @@ -11100,7 +11100,7 @@ "stream": "Akış", "agent": "Ajan", "noAgentsTitle": "Hiçbir ajan bulunamadı", - "noAgentsDescription": "Bu zaman aralığında hiçbir ajan bulunamadı. Zaman aralığını genişletmeyi deneyin veya izlemelerinizin gen_ai ajan niteliklerini içerdiğini kontrol edin.", + "noAgentsDescription": "Bu zaman aralığında hiçbir aracı bulunamadı. Zaman aralığını genişletmeyi deneyin veya izlerinizin gen_ai aracı öznitelikleri içerdiğini kontrol edin.", "versionAgnosticHint": "Topoloji sürümler arasında aynıdır — grafik ortama göre kapsamlanır, sürüme göre değil. Sürümleri karşılaştırmak için sürüm karşılaştırmasını kullanın." }, "panels": { @@ -11113,8 +11113,8 @@ "subtitle": "modele göre belirteçler" }, "spanTrend": { - "title": "Yayılma eğilimi", - "subtitle": "türe göre aralık sayısı" + "title": "Span eğilimi", + "subtitle": "türe göre span sayısı" }, "latencyByModel": { "title": "Modele göre gecikme", @@ -11129,7 +11129,7 @@ "subtitle": "hata sayısı" }, "spansByModel": { - "title": "Modele göre aralıklar", + "title": "Modele göre span'ler", "subtitle": "model başına çağrı sayısı" }, "tokensByModel": { @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "Son hatalar", - "subtitle": "son 10 başarısız yayılım" + "subtitle": "son 10 başarısız span" } }, "behavior": { @@ -11148,7 +11148,7 @@ "disabled": "Bu dağıtım için ajan davranışı sinyalleri kapalı" }, "loopsTitle": "Döngü yapan ajanlar", - "loopsHint": "Ajanlar aynı aracı iz başına birçok kez yeniden çalıştırıyor", + "loopsHint": "Aracıların bir iz başına aynı aracı birçok kez yeniden çalıştırması", "summaryLoops": "Döngü yapan ajanlar", "summaryFailures": "Arıza taksonomisi", "summaryAgents": "Etkilenen ajanlar", @@ -11175,30 +11175,30 @@ "title": "Sinyal ayrıntıları", "tracesTitle": "İzler", "tracesHint": "Bir izi açmak için tıklayın", - "worstLoopTraces": "En kötü izler (en çok tekrarlayanlar önce)", + "worstLoopTraces": "En kötü izler (en çok tekrar edenler önce)", "topCostTraces": "En pahalı izler", "noTraces": "Bu sinyal için iz bulunamadı", "errorsTitle": "Hataların söyledikleri", "noErrors": "Hata mesajı yakalanmadı — incelemek için bir iz açın", "colTraceId": "İz", - "colSpans": "Yayılımlar", + "colSpans": "Span'lar", "colRepeats": "Tekrarlar", - "openInNewTab": "İzi yeni sekmede açar", + "openInNewTab": "İzi yeni bir sekmede açar", "showFull": "Tam hatayı göster", "showLess": "Daha az göster", "colError": "Hata mesajı", "colOccurrences": "KeZ", - "loopHeadline": "{agent}, {tool} öğesini ortalama {ratio}× kez çağırdı ({calls} çağrı, {traces} izde).", + "loopHeadline": "{agent}, {tool} öğesini iz başına ortalama {ratio}× çağırdı ({traces} izde {calls} çağrı).", "failHeadline": "{agent}, “{cls}” hatasından {count} tane aldı.", "costHeadline": "{agent}: ${cost} harcama · {tokens} token · {errors} hata.", "loopExplain": "Yüksek tekrar oranı genellikle ajanın sonuçları önbelleğe almadığı veya yeniden denediği anlamına gelir. Tekrarlanan çağrıları görmek için aşağıdaki en kötü izleri açın.", - "failExplain": "Bunlar, bu hata sınıfının arkasındaki gerçek hata mesajlarıdır — düzeltmeyi bulmak için okuyun veya nerede olduğunu görmek için bir iz açın.", - "costExplain": "Bu izler, bu ajanın harcamasını yönlendirdi. En pahalı olanları açarak ne çalıştığını görün." + "failExplain": "Bunlar bu hata sınıfının arkasındaki gerçek hata mesajlarıdır — çözümü bulmak için bunları okuyun veya nerede olduğunu görmek için bir iz açın.", + "costExplain": "Bu izler bu ajanın harcamasını tetikledi. Nelerin çalıştığını görmek için en pahalı olanları açın." } }, "versionCompare": { "datePickerDisabled": "Bu modda pencereler sürüm başınadır", - "sampledNote": "Gecikme ve maliyet aralıkları, her sürüm için rastgele örneklenen en fazla {cap} iz üzerinden hesaplanır.", + "sampledNote": "Gecikme ve maliyet aralıkları, sürüm başına rastgele örneklenmiş en fazla {cap} izden hesaplanır.", "bar": { "versionA": "Sürüm A", "versionB": "Sürüm B", @@ -11279,25 +11279,25 @@ }, "manualEvaluation": { "titles": { - "span": "Span'i değerlendir", - "trace": "Trace'i değerlendir", + "span": "Span'ı değerlendir", + "trace": "İzi değerlendir", "session": "Oturumu değerlendir" }, "targetLabels": { "span": "Span Kimliği", - "trace": "Trace Kimliği", + "trace": "İz Kimliği", "session": "Oturum Kimliği" }, "scopes": { "span": "span", - "trace": "trace", + "trace": "iz", "session": "oturum" }, "description": "Bu hedef için bir Eval Job seçin. Değerlendirme çalışanı, kaynak telemetriyi bu sayfanın zaman aralığından yükler.", "jobLabel": "Eval Job", "jobPlaceholder": "Bir Eval Job seçin", "jobRequired": "Bir Eval Job seçin", - "noCompatibleJobs": "Hiçbir {scope} Eval Job, {stream} trace akışını kullanmıyor.", + "noCompatibleJobs": "Hiçbir {scope} değerlendirme işi {stream} iz akışını kullanmıyor.", "loadJobsError": "Eval Job'lar yüklenemedi.", "run": "Değerlendirmeyi çalıştır", "queued": "{count} değerlendirme görevi sıraya alındı. | {count} değerlendirme görevi sıraya alındı.", @@ -11324,7 +11324,7 @@ "filterHint": "Bu Skor Yapılandırmasını değerlendirme hedef kapsamlarında karşılaştırın.", "all": "Tümü", "span": "Span", - "trace": "Trace", + "trace": "İz", "session": "Oturum" }, "kpis": { @@ -11393,7 +11393,7 @@ }, "runs": { "title": "Değerlendirme skorları", - "hint": "Skorlar ve gerekçeler _llm_scores'tan gelir. Daha fazla inceleme için bir çalıştırma seçerek değerlendirici izini açın.", + "hint": "Puanlar ve gerekçeler _llm_scores'ten gelir. Daha fazla inceleme için değerlendirici izini açmak üzere bir çalıştırma seçin.", "filterLabel": "Değerlendirme skorlarını filtrele", "footerTitle": "Değerlendirme Skorları", "noThresholdHint": "Sağlıksız skorları sınıflandırmak ve vurgulamak için bu Skor Yapılandırmasında bir sağlıklı eşik belirleyin.", @@ -11588,7 +11588,7 @@ "booleanInfo": "Boolean yapılandırmaları {trueLabel} / {falseLabel} değerlerini kabul eder. Ek bir yapılandırma gerekmez.", "healthyThresholdTitle": "Sağlıklı Eşik", "optional": "İsteğe Bağlı", - "healthyThresholdIntro": "Bu boyuttaki puanların ne zaman sağlıklı sayılacağını tanımlayın. Bu aralığın dışındaki puanlar; iz listelerinde, oturumlarda ve diğer görünümlerde kalite sorunlarını tetikler.", + "healthyThresholdIntro": "Bu boyuttaki puanların ne zaman sağlıklı kabul edildiğini tanımlayın. Bu aralığın dışındaki puanlar, iz listelerinde, oturumlarda ve diğer görünümlerde kalite sorunlarını tetikler.", "healthyWhenValueIs": "Değer şu olduğunda sağlıklı:", "healthyCategories": "Sağlıklı kategoriler:", "healthyCategoriesHint": "Sağlıklı sayılan tüm değerleri işaretleyin.", @@ -11667,8 +11667,8 @@ "col": { "time": "Zaman", "job": "İş", - "spanId": "Açıklık kimliği", - "traceId": "İzleme Kimliği", + "spanId": "Span Kimliği", + "traceId": "İz Kimliği", "score": "Puan", "latency": "Gecikme", "status": "Durum" @@ -11896,8 +11896,8 @@ "col": { "time": "Zaman", "scorer": "Puanlayıcı", - "spanId": "Açıklık kimliği", - "traceId": "İzleme Kimliği", + "spanId": "Span Kimliği", + "traceId": "İz Kimliği", "score": "Puan", "latency": "Gecikme", "status": "Durum" @@ -11953,13 +11953,13 @@ "session": "Oturum" }, "targetScopeHelp": { - "span": "Her eşleşen span'ı bağımsız olarak değerlendirin.", - "trace": "Tamamlanma penceresi kapandıktan sonra tüm trace'i değerlendirin.", - "session": "Tamamlanma penceresi kapandıktan sonra trace'ler arası bir oturumu değerlendirin." + "span": "Eşleşen her span'ı bağımsız olarak değerlendirin.", + "trace": "Tamamlama penceresi kapandıktan sonra bütün bir izi değerlendirin.", + "session": "Tamamlama penceresi kapandıktan sonra izler genelinde bir oturumu değerlendirin." }, "completionSection": "Tamamlanma kriterleri", "completionHelp": { - "trace": "Trace, bunlardan ilki karşılandığında değerlendirilir.", + "trace": "Bu koşullardan ilki sağlandığında iz değerlendirilir.", "session": "Oturum, bunlardan ilki karşılandığında değerlendirilir." }, "idleWindowLabel": "Boşta kalma penceresi (saniye)", @@ -11967,7 +11967,7 @@ "idleWindowHelpEmpty": "Yeni span gelmediğinde değerlendirilir.", "maxAgeLabel": "Maksimum yaş (saniye)", "maxAgeHelp": "İlk span'dan {duration} sonra değerlendirilir.", - "maxAgeHelpEmpty": "Sabit bir yaşta değerlendirilir, span'lar hala geliyor olsa bile.", + "maxAgeHelpEmpty": "Span'lar hâlâ geliyor olsa bile sabit bir yaşta değerlendirilir.", "descriptionLabel": "Açıklama", "samplingModeLabel": "Örnekleme modu", "samplingValueLabel": "Örnekleme oranı", @@ -11978,8 +11978,8 @@ "scorerPicker": { "title": "Gol Sahipleri", "hint": { - "span": "Her eşleşen span için çalıştırılacak bir veya daha fazla puanlayıcı seçin.", - "trace": "Her uygun trace için çalıştırılacak bir veya daha fazla puanlayıcı seçin.", + "span": "Eşleşen her span için çalıştırılacak bir veya daha fazla puanlayıcı seçin.", + "trace": "Uygun her iz için çalıştırılacak bir veya daha fazla puanlayıcı seçin.", "session": "Her uygun oturum için çalıştırılacak bir veya daha fazla puanlayıcı seçin." }, "meta": "{type} · v{version}", @@ -11990,36 +11990,36 @@ "filter": { "title": "Filtre koşulu", "hint": { - "span": "Yalnızca bu koşulu karşılayan span'lar örnekleme ve puanlamaya girer.", - "trace": "Bir trace, span'larından herhangi biri bu koşulu karşılarsa örnekleme ve puanlamaya girer.", - "session": "Bir oturum, span'larından herhangi biri bu koşulu karşılarsa örnekleme ve puanlamaya girer." + "span": "Bu koşulu karşılayan yalnızca span'lar örnekleme ve puanlamaya girer.", + "trace": "Bir trace, span'lerinden herhangi biri bu koşulla eşleşirse örnekleme ve puanlamaya girer.", + "session": "Bir oturum, span'lerinden herhangi biri bu koşulla eşleşirse örnekleme ve puanlamaya girer." } }, "selector": { - "title": "Hangi Span'lar (İsteğe bağlı)", + "title": "Hangi Span'ler (İsteğe Bağlı)", "hint": { - "trace": "Trace'deki tüm span'ları dahil etmek için boş bırakın." + "trace": "Trace'teki her span'i dahil etmek için boş bırakın." } }, "endSignal": { "title": "Bitiş sinyali (isteğe bağlı)", "hint": { - "trace": "Herhangi bir span eşleştiğinde trace'i hemen kapatan bir span koşulu tanımlayın.", - "session": "Herhangi bir span eşleştiğinde oturumu hemen kapatan bir span koşulu tanımlayın." + "trace": "Herhangi bir span eşleştiğinde trace'i hemen sonlandıran bir span koşulu tanımlayın.", + "session": "Herhangi bir span eşleştiğinde oturumu hemen sonlandıran bir span koşulu tanımlayın." } }, "inputMapping": { "title": "Prompt değişkenleri", "hint": { - "span": "Her değişkeni bir span özelliğiyle eşleştirin.", - "trace": "Her değişkeni sistem tarafından sağlanan bir değerle veya span özelliğiyle eşleştirin.", - "session": "Her değişkeni sistem tarafından sağlanan bir değerle veya span özelliğiyle eşleştirin." + "span": "Her değişkeni bir span özniteliğine eşleyin.", + "trace": "Her değişkeni sistem tarafından sağlanan bir değere veya span özniteliğine eşleyin.", + "session": "Her değişkeni sistem tarafından sağlanan bir değere veya span özniteliğine eşleyin." }, "placeholder": "Bir değer seçin", - "searchPlaceholder": "Sistem değerlerini ve span özelliklerini ara…", + "searchPlaceholder": "Sistem değerlerini ve span özniteliklerini ara…", "groups": { "systemProvided": "Sistem tarafından sağlanan değerler · Bu işin değerlendirdiği her {scope} için", - "spanAttributes": "Span özellikleri" + "spanAttributes": "Span öznitelikleri" }, "selectScorers": "Eşlemelerini yapılandırmak için puanları seçin.", "noVariables": "Bu puanın eşlenecek şablon değişkenleri yoktur.", @@ -12029,7 +12029,7 @@ "title": "{scope} sistem değerleri", "description": "OpenObserve bu değerleri, bu işin değerlendirdiği her {scope} için ayrı ayrı oluşturur. Skorlayıcının prompt değişkenlerini eşlerken bunları kaynak olarak kullanın.", "badge": "Sistem tarafından sağlanır", - "selectorRequired": "Span Seçici gerekli", + "selectorRequired": "Span Selector gerekli", "columns": { "variable": "Değer", "source": "Kaynak", @@ -12037,40 +12037,40 @@ }, "variables": { "input": { - "trace": "Trace'in kök span'ından giriş." + "trace": "Trace'in kök span'inden girdi." }, "output": { - "trace": "Trace'in kök span'ından çıkış." + "trace": "Trace'in kök span'inden çıktı." }, "statistics": { "trace": "Trace metrikleri: span sayısı, süre, LLM ve araç çağrıları, hatalar, token'lar ve maliyet.", "session": "Oturum metrikleri: trace ve tur sayıları, süre ve hatalar." }, "spans": { - "trace": "İşin Span Seçicisi tarafından seçilen filtrelenmiş bir span alt kümesi." + "trace": "İşin Span Selector'ı tarafından seçilen filtrelenmiş bir span alt kümesi." }, "steps": { - "trace": "Zaman sırasına göre span'lar; trace çok uzun olduğunda orta kısım katlanır.", + "trace": "Zaman sırasına göre span'ler; trace çok uzun olduğunda orta kısım katlanır.", "session": "Zaman sırasına göre trace'ler, konuşma turları olarak temsil edilir." } } } }, "spanSelector": { - "select": "Span Seçici Seç", + "select": "Span Selector Seç", "bindingHelp": "Trace'ler yüzlerce span içerebilir. Bu puanlayıcının bakması gerekenleri seçin.", "createForScorer": "Puanlayıcı için oluştur", - "createForScorerTitle": "Bu puanlayıcı için bir Span Seçici oluşturun", - "editorTitle": "Span Seçici", + "createForScorerTitle": "Bu puanlayıcı için bir Span Selector oluşturun", + "editorTitle": "Span Selector", "name": "Seçici adı", "schemaMode": "Okunacak Alanlar", "defaultSchema": "Standart GenAI Alanları", "customSchema": "Özel Alanlar", - "defaultSchemaHelp": "Bu sekiz alan eşleşen her span'dan okunur. Eksik olanlar boş olarak gelir.", + "defaultSchemaHelp": "Bu sekiz alan eşleşen her span'den okunur. Eksik olan her şey boş olarak gelir.", "fields": "Alanlar", "fieldsHelp": "Yalnızca bu alanlar okunur — puanlayıcıya başka bir şey gönderilmez.", "maximumSpans": "Maksimum Span Sayısı", - "budget": "İzden kaç span seçileceğini sınırlar.", + "budget": "Trace'ten kaç span seçileceğini sınırlar.", "validation": { "name": "Bir seçici adı girin.", "duplicateName": "Seçici adları bu işte benzersiz olmalıdır.", @@ -12078,22 +12078,22 @@ "fields": "Özel şema için en az bir alan seçin.", "maximumSpans": "Maksimum span sayısı pozitif bir tam sayı olmalıdır.", "budget": "Seçilen alanlar için çok fazla span var. Span sayısını azaltın veya daha az alan okuyun.", - "binding": "İzleme spanları kullanan her skorlayıcı için bir Span Seçici seçin." + "binding": "Trace span'leri kullanan her puanlayıcı için bir Span Selector seçin." } }, "preview": { "scopes": { "span": { - "title": "Eşleşen Span'lar", - "hint": "Bir akış ve filtre seçtikten sonra bu panel, işinizin kaç span ile eşleşeceğini gösterecektir.", - "matchedSuffix": "eşleşen spanlar · son 1 saat", - "matchedLoading": "Eşleşen span'lar sayılıyor…" + "title": "Eşleşen Span'ler", + "hint": "Bir stream ve filtre seçtiğinizde bu panel, işinizin kaç span ile eşleşeceğini gösterecek.", + "matchedSuffix": "eşleşen span · son 1 saat", + "matchedLoading": "Eşleşen span'ler sayılıyor…" }, "trace": { - "title": "Eşleşen İzler", - "hint": "Bir akış ve filtre seçtikten sonra bu panel, işinizin kaç iz ile eşleşeceğini gösterecektir.", - "matchedSuffix": "eşleşen izler · son 1 saat", - "matchedLoading": "Eşleşen izler sayılıyor…" + "title": "Eşleşen Trace'ler", + "hint": "Bir stream ve filtre seçtiğinizde bu panel, işinizin kaç trace ile eşleşeceğini gösterecek.", + "matchedSuffix": "eşleşen trace · son 1 saat", + "matchedLoading": "Eşleşen trace'ler sayılıyor…" }, "session": { "title": "Eşleşen Oturumlar", @@ -12122,9 +12122,9 @@ "nameRequired": "Job name is required", "streamRequired": "A stream is required", "idleWindowMinimum": "Boşta kalma penceresi en az 1 saniye olmalıdır", - "idleWindowMaximumTrace": "Trace boşta kalma süresi 30 dakikayı aşamaz", + "idleWindowMaximumTrace": "Trace boşta kalma penceresi 30 dakikayı aşamaz", "idleWindowMaximumSession": "Oturum boşta kalma süresi 4 saati aşamaz", - "maxAgeMaximumTrace": "Maksimum trace süresi 2 saati aşamaz", + "maxAgeMaximumTrace": "Trace için maksimum yaş 2 saati aşamaz", "maxAgeMaximumSession": "Maksimum oturum süresi 24 saati aşamaz", "samplingValueRequired": "A sampling value is required" } @@ -12187,7 +12187,7 @@ "curlDesc": "En hızlı yol - bir komut yapıştırın ve günlükler akmaya başlar", "shippers": "Bir günlük göndericisi kullanın", "shippersDesc": "{product1}, {product2}, {product3}, {product4}, {product5} ve daha fazlası", - "otelDesc": "Günlükler, izler ve ölçümler için satıcıdan bağımsız OTLP alımı", + "otelDesc": "Günlükler, trace'ler ve metrikler için satıcı bağımsız OTLP veri alımı", "or": "Veya:", "aws": "AWS/CloudWatch", "askAi": "AI'dan alımı ayarlamasını isteyin" @@ -12196,13 +12196,13 @@ "title": "Keşfetmeye başlamak için bir yayın seçin", "description": "Bir akış seçin, ardından Sorguyu çalıştır'a basın. Sonuçlar geldiğinde filtreler, bir VRL işlevi ve özel bir zaman aralığı ile hassaslaştırabilirsiniz.", "selectStream": "Bir akış seçin", - "selectStreamDesc": "Günlüklere, izlere, metriklere ve RUM akışlarına göz atın", + "selectStreamDesc": "Günlükler, trace'ler, metrikler ve Gerçek Kullanıcı İzleme stream'lerine göz atın", "queryGuide": "Sorgu kılavuzunu okuyun", "queryGuideDesc": "Filtreler, SQL modu, VRL ve kaydedilmiş görünümler", "recent": "En son:" }, "noEvents": { - "title": "Etkinlik bulunamadı", + "title": "Olay bulunamadı", "descNoFilters": "{range} 'de hiçbir olay bulunamadı. Sonuçları yüklemek için zaman aralığını genişletmeyi deneyin.", "descWithFilters": "Seçilen pencerede bu sorguy la eşleşen hiçbir şey yok. Zaman aralığını genişletmeyi, filtreyi kolaylaştırmayı veya sorguyu sıfırlamayı deneyin.", "descOutOfRange": "Zaman pencereniz bu akıştan herhangi bir veri içermiyor. Verinin en son görüldüğü zamana geçin.", @@ -12293,13 +12293,13 @@ "scannedEventsForQuery": "Bu sorgu için taranan olaylar", "timeTaken": "Geçen Süre", "noData": "Veri yok", - "traceId": "İzleme Kimliği", + "traceId": "Trace ID", "viewQuery": "Sorguyu Görüntüle", "sqlQuery": "SQL Sorgusu", "copied": "Kopyalandı!", "sql": "SQL", "noSqlAvailable": "Kullanılabilir SQL sorgusu yok", - "fullTraceId": "Tam İzleme Kimliği", + "fullTraceId": "Tam Trace ID", "columnDuration": "Süre", "columnNodeName": "Düğüm Adı", "columnRole": "Rol", @@ -12312,7 +12312,7 @@ "goodResponse": "İyi yanıt", "moderateResponse": "Orta düzey yanıt", "slowResponse": "Yavaş yanıt", - "failedToCopyTraceId": "İzleme kimliği panoya kopyalanamadı", + "failedToCopyTraceId": "Trace ID panoya kopyalanamadı", "failedToCopySql": "SQL panoya kopyalanamadı" }, "searchResult": { @@ -12332,7 +12332,7 @@ "noMetricStreams": "\"{service}\" hizmeti için metrik akışı bulunamadı", "correlationError": "Korelasyon hatası: {error}", "contentCopied": "İçerik Başarıyla Kopyalandı!", - "noTraceIdForInspection": "İnceleme için kullanılabilir izleme kimliği yok" + "noTraceIdForInspection": "İnceleme için trace ID mevcut değil" }, "searchBar": { "customRangeAlt": "Özel Aralık", @@ -12496,7 +12496,7 @@ "expandRangeDesc": "Erişilebilir veriler farklı bir zaman aralığında olabilir", "copyError": "Hata ayrıntılarını kopyala", "copied": "Kopyalandı!", - "traceId": "İzleme kimliği:", + "traceId": "Trace ID:", "askAi": "AI'dan sorgumu düzeltmesini isteyin", "showDetail": "Ayrıntıları göster", "hideDetail": "Ayrıntıları gizle" @@ -13370,8 +13370,8 @@ "weeks": "Haftalar" }, "customIntervalValue": "Her tekrarla", - "destinationRequired": "En az bir varış yeri gereklidir", - "destinations": "Destinasyonlar", + "destinationRequired": "En az bir hedef gereklidir", + "destinations": "Hedefler", "frequency": "Frekans", "frequencyOptions": { "15min": "15 dakika", @@ -13383,8 +13383,8 @@ "custom": "Özel" }, "minutes": "dakikalar", - "noDestinations": "Mevcut varış noktası yok", - "refreshDestinations": "Hedefleri yenileme", + "noDestinations": "Kullanılabilir hedef yok", + "refreshDestinations": "Hedefleri Yenile", "retries": "Tekrar denemeler", "retriesOnFailure": "Başarısızlıkta yeniden deneniyor", "retriesOnFailureSuffix": "zaman.", @@ -13642,7 +13642,7 @@ "logs": "Günlükler", "dashboards": "Gösterge panoları", "metrics": "Metrikler", - "traces": "İzleri", + "traces": "İzler", "alerts": "Uyarılar", "streams": "Akışlar", "pipelines": "Boru hatları", @@ -13662,7 +13662,7 @@ "dashboards": "Kontrol Paneli Görünümü", "dashboardsPanel": "Dashboard — Panel (panele gelin)", "metrics": "Metrikler", - "traces": "İzleri", + "traces": "İzler", "alerts": "Uyarılar", "streams": "Akışlar", "pipelines": "Boru hatları", @@ -13672,16 +13672,16 @@ "iamRoles": "IAM — Roller", "iamGroups": "IAM — Gruplar", "iamServiceAccounts": "IAM - Hizmet Hesapları", - "alertDestinations": "Uyarılar - Destinasyonlar", + "alertDestinations": "Uyarılar — Hedefler", "alertSources": "Uyarılar — Harici Kaynaklar", "alertTemplates": "Uyarılar - Şablonlar", "panelEditor": "Panel Düzenleyicisi", - "traceDetail": "İzleme Detayı", + "traceDetail": "İz Detayı", "runningQueries": "Çalışan Sorgular", "ingestionTokens": "IAM — Yutma Belirteçleri", "syntheticsTokens": "IAM — Synthetics Belirteçleri", "alertIncidents": "Uyarılar — Olaylar", - "pipelineDestinations": "Boru Hatları - Destinasyonlar", + "pipelineDestinations": "Boru hatları — Hedefler", "enrichmentTables": "Zenginleştirme Tabloları", "iamInvitations": "IAM — Davetiyeler", "iamOrganizations": "IAM — Organizasyonlar", @@ -13768,8 +13768,8 @@ "panelEditorRun": "Sorguyu çalıştır/uygula", "panelEditorSave": "Paneli kaydet", "panelEditorBack": "Atın ve geri dön", - "traceNextSpan": "Sonraki aralık", - "tracePrevSpan": "Önceki kapsama alanı", + "traceNextSpan": "Sonraki span", + "tracePrevSpan": "Önceki span", "runningQueriesRefresh": "Sorgu listesini yenile", "ingestionTokensAdd": "Yeni belirteç oluştur", "ingestionTokensRefresh": "Belirteç listesini yenile", @@ -13780,7 +13780,7 @@ "aiChatExpand": "AI sohbetini genişlet/daralt", "logsSaveView": "Kayıtlı görünüm olarak kaydet", "logsExport": "Sonuçları CSV olarak dışa aktarın", - "tracesCopyUrl": "İzleme paylaşım URL'sini kopyala", + "tracesCopyUrl": "İz paylaşım URL'sini kopyala", "alertIncidentsRefresh": "Listeyi yenileme", "pipelineDestinationsRefresh": "Listeyi yenileme", "enrichmentTablesRefresh": "Listeyi yenileme", @@ -14047,7 +14047,7 @@ "alertState": { "ok": "Tamam", "normal": "Normal", - "firing": "Tetikleniyor", + "firing": "Tetiklendi", "notifyfailed": "Bildirim Başarısız", "flapping": "Dalgalanıyor", "anomaly": "Anomali", @@ -14160,14 +14160,14 @@ "pending": "Beklemede" }, "logLevel": { - "trace": "İz", + "trace": "Trace", "debug": "Hata Ayıklama", "info": "Bilgi", "warn": "UYARI", "fatal": "Ölümcül" }, "pipelineRunOutcome": { - "firing": "Tetiklenen", + "firing": "Tetiklendi", "normal": "Normal", "succeeded": "Başarılı", "skipped": "Atlandı", @@ -14309,7 +14309,7 @@ "pleaseSelectStreamType": "Lütfen akış türünü seçin ", "anomalyDetectionClonedSuccessfully": "Anomali tespiti başarıyla kopyalandı", "errorWhileFetchingTemplates": "Şablonlar alınırken hata oluştu.", - "errorWhileFetchingDestinations": "Hedefler alınırken hata oluştu.", + "errorWhileFetchingDestinations": "Hedefler getirilirken hata oluştu.", "failedToLoadAlertForEditing": "Alarm düzenleme için yüklenemedi", "pleaseWaitWhileLoadingAlert": "Lütfen alarm yüklenirken bekleyin...", "errorWhilePullingAlerts": "Alarmlar alınırken hata oluştu.", @@ -14319,11 +14319,11 @@ "destinationsDeletedWithFailures": "{count} hedef başarıyla silindi, {failed} başarısız | {count} hedef başarıyla silindi, {failed} başarısız", "noDestinationsSelectedForDeletion": "Silme için seçilmiş hedef yok", "deletingDestinations": "Hedefler siliniyor...", - "destinationDeletedSuccessfully": "{name} hedefi başarıyla silindi", + "destinationDeletedSuccessfully": "Hedef {name} başarıyla silindi", "errorWhilePullingDestinations": "Hedefler alınırken hata oluştu.", "pleaseWaitWhileLoadingDestinations": "Lütfen hedefler yüklenirken bekleyin...", "errorWhileLoadingActions": "Eylemler yüklenirken hata oluştu.", - "pleaseWaitWhileLoadingAlertDestination": "Lütfen alarm hedefi yüklenirken bekleyin...", + "pleaseWaitWhileLoadingAlertDestination": "Lütfen uyarı hedefi yüklenirken bekleyin...", "errorImportingAlertPleaseCheck": "Alarm içe aktarılırken hata oluştu. Lütfen JSON'u kontrol edin.", "alertsImportedSuccessfully": "{count} alarm başarıyla içe aktarıldı | {count} alarm başarıyla içe aktarıldı", "invalidJson": "Geçersiz JSON: {error}", @@ -14564,8 +14564,8 @@ "errorWhileUpdating": "Rapor güncellenirken hata." }, "correlation": { - "refreshingTraceData": "İz verisi yenileniyor...", - "traceDetailViewComingSoon": "İz ayrıntı görünümü çok yakında", + "refreshingTraceData": "İz verileri yenileniyor...", + "traceDetailViewComingSoon": "İz detay görünümü çok yakında", "columnIsAlreadyVisible": "\"{name}\" sütunu zaten görünür", "columnAddedToTable": "\"{name}\" sütunu tabloya eklendi" }, @@ -14605,7 +14605,7 @@ "isNotASupportedFileType": "\"{fileName}\" desteklenen bir dosya türü değil. Yalnızca {allowed} dosyalara izin verilir." }, "workflows": { - "thisBranchAlreadyEndsInA": "Bu dal zaten bir Hedefte sona eriyor.", + "thisBranchAlreadyEndsInA": "Bu dal zaten bir Hedef ile bitiyor.", "chooseATriggerNodeToStart": "İş akışınızı başlatmak için bir tetikleyici düğüm seçin", "thisConnectionWouldCreateALoop": "Bu bağlantı bir döngü oluşturur", "onlyOneIncomingConnectionToA": "Bir adıma yalnızca bir gelen bağlantı izin verilir" @@ -14631,7 +14631,7 @@ "pleaseWaitWhileLoadingStreams": "Akışlar yüklenirken lütfen bekleyin...", "errorWhilePullingSummary": "Özet alınırken hata oluştu.", "pleaseWaitWhileLoadingSummary": "Özet yüklenirken lütfen bekleyin...", - "noDestinationsCreateOneBeforeSaving": "Hedef bulunamadı. Bu uyarıyı kaydetmeden önce bir tane oluşturun.", + "noDestinationsCreateOneBeforeSaving": "Hedef bulunamadı. Bu uyarıyı kaydetmeden önce bir hedef oluşturun.", "errorWhileLoadingAlert": "Uyarı yüklenirken hata oluştu." }, "RUM": { @@ -14830,7 +14830,7 @@ "noHistory": "Bu uyarı için henüz değerlendirme geçmişi yok. Ölçüm, çalıştıktan sonra başlar.", "loadFailed": "Değerlendirme geçmişi yüklenemedi", "legendGood": "Tamam", - "legendBad": "Tetikleniyor", + "legendBad": "Tetiklendi", "legendUnmeasured": "Ölçülmemiş" } }, @@ -15008,7 +15008,7 @@ "loginCallback": "Giriş Geri Çağrısı", "emptyStateDemo": "Boş Durum Demosu", "searchScheduler": "Arama Zamanlayıcısı", - "traceDetails": "İz Ayrıntıları", + "traceDetails": "İz Detayları", "sessionDetails": "Oturum Ayrıntıları", "streamExplorer": "Akış Gezgini", "viewDashboard": "Panoyu Görüntüle", @@ -15360,20 +15360,20 @@ "failed": "Başarısız" }, "columnHints": { - "calls": "Bu sorgunun kaç kez çalıştığı. Veritabanınızın bildirdiği yerde kendi sayısı — bu, yalnızca iz gönderen sistem parçalarınızı değil, her istemciyi kapsar. İstemciden gözlemlenen olarak işaretlenen satırlar, veritabanınız bildirmediği için izlerden sayılır.", + "calls": "Bu sorgunun kaç kez çalıştığı. Veritabanınızın raporladığı durumlarda kendi sayısı — bu, tüm istemcileri kapsar, yalnızca sisteminizin iz gönderen bölümlerini değil. İstemci tarafından gözlemlenen olarak işaretlenen satırlar, veritabanınız bunları raporlamadığı için izlerden sayılır.", "p50": "Tüm çağrıların yarısı bundan daha hızlı tamamlandı. Yalnızca tamamlanan çağrıları sayar — hâlâ çalışan veya hiç yanıt vermeyen bir sorgu burada ölçülmez.", "p95": "Yavaş kuyruk — 20 çağrıdan 1'i en az bu kadar sürdü. Yalnızca tamamlanan çağrıları sayar — hâlâ çalışan veya hiç yanıt vermeyen bir sorgu burada ölçülmez.", "p99": "En kötü %1'lik çağrılar en az bu kadar sürdü. Yalnızca tamamlanan çağrıları sayar — hâlâ çalışan veya hiç yanıt vermeyen bir sorgu burada ölçülmez.", "max": "Bu zaman aralığındaki en yavaş tek çağrı — gerçek bir çağrı, ortalama değil.", "errors": "Bu çağrıların kaçı hata ile geri döndü.", "perTrace": "Bu, tek bir istek içinde kaç kez çalışır. Yüksek bir sayı genellikle bir döngü anlamına gelir.", - "load": "Bu sorgunun veritabanında geçirdiği toplam süre. Veritabanınızın bildirdiği yerde kendi sayısı: Postgres'te yürütme süresi, ancak MySQL ve MariaDB'de BEKLEME süresi — her satır hangisini söyler. İstemciden gözlemlenen olarak işaretlenen satırlar izlerden ölçülür, bu nedenle ağ gidiş-dönüşünü içerir." + "load": "Bu sorgunun veritabanında geçirdiği toplam süre. Veritabanınızın raporladığı durumlarda kendi değeri: Postgres'te yürütme süresi, ancak MySQL ve MariaDB'de bekleme süresi — her satır hangisi olduğunu belirtir. İstemci tarafından gözlemlenen olarak işaretlenen satırlar izlerden ölçülür, bu nedenle ağ gidiş-dönüşünü içerir." }, "errorsNone": "yok", "errorsAll": "tümü", "actions": { "open": "Ayrıntıları aç", - "traces": "Örnek izleri gör", + "traces": "Örnek izleri görüntüle", "copy": "Sorguyu kopyala", "copied": "Sorgu kopyalandı", "copyFailed": "Sorgu kopyalanamadı.", @@ -15405,7 +15405,7 @@ "n-plus-one": { "title": "İstek başına en az {multiplier}× çalışır", "body": "veritabanı süresinin {share}'i · {service}", - "rule": "Bu sorgu, tek bir istek içinde en az {ratio} kez çalıştığı ve en az {traces} istekte görüldüğü için gösteriliyor. Bu alt sınırdır, bu yüzden gerçek sayı daha yüksek olabilir. Meşru toplu işler de aynı görünebilir." + "rule": "Bu sorgu tek bir istek içinde en az {ratio} kez ve en az {traces} istek boyunca çalıştığı için gösteriliyor. Bu bir alt sınırdır, bu yüzden gerçek sayı daha yüksek olabilir. Meşru toplu işlemler de aynı görünebilir." }, "volume-shift": { "title": "Daha yoğun, daha yavaş değil", @@ -15491,13 +15491,13 @@ "ok": "İzleriniz geliyor", "okDetail": "Bu zaman aralığında {count} kaydedildi", "no": "Hiç iz gelmedi", - "noDetail": "Veritabanı izleme, izlerden oluşturulur ve bu kuruluş henüz hiç göndermedi." + "noDetail": "Veritabanı izlemesi izler üzerine kuruludur ve bu kuruluş henüz hiç iz göndermemiştir." }, "permission": { "ok": "Bu verilere erişiminiz var", "okDetail": "{org} üzerinde yöneticisiniz", "no": "Bu verilere erişiminiz yok", - "noDetail": "Veritabanı izleme izlerinizi okur ve rolünüz bunları kapsamaz. Okuma erişimi için bir yöneticiye başvurun." + "noDetail": "Veritabanı izlemesi izlerinizi okur ve rolünüz bunları içermiyor. Okuma erişimi için bir yöneticiye başvurun." }, "dbSpans": { "ok": "İzleriniz bir veritabanından bahsediyor", @@ -15533,7 +15533,7 @@ "plans": "Sorgu planları", "plansHint": "Veritabanınızın bu sorguyu çalıştırırken attığı adımlar. Neden yavaş olduğunu anlamak için buradan başlayın.", "callers": "Çağıranlar ve örnekler", - "callersHint": "Uygulamanızın hangi bölümleri bu sorguyu çalıştırdı ve iz olarak açabileceğiniz bireysel yavaş çalıştırmalar.", + "callersHint": "Uygulamanızın hangi bölümleri bu sorguyu çalıştırdı ve bir iz olarak açabileceğiniz bireysel yavaş çalıştırmalar.", "callersLocked": "Bireysel çalıştırmalar izlemeden gelir. Bu zaman aralığında bu sorguyu izleyen hiçbir şey yok." }, "notFound": { @@ -15559,10 +15559,10 @@ "noSamples": "Bu aralık için hiçbir bireysel çalıştırma yüklenmedi.", "noSeries": "Seçtiğiniz aralıkta bu sorgu için geçmiş yok.", "liveSeries": "En son noktalar hâlâ sayılıyor ve değişebilir.", - "noStream": "Bu sorguyu taşıyan iz akışını belirleyemedik, bu nedenle çağıranları ve örnekleri yüklenemiyor.", - "ambiguousStream": "Bu organizasyonda birden fazla iz akışı var ve bu sorgunun hangisinde çalıştığını belirleyemiyoruz. Çağıranları ve örnek izleri yüklemek için bir akış seçin.", + "noStream": "Bu sorguyu hangi iz akışının taşıdığını belirleyemedik, bu nedenle çağıranları ve örnekleri yüklenemiyor.", + "ambiguousStream": "Bu kuruluşun birden fazla iz akışı var ve bu sorgunun hangisinde çalıştığını söyleyemiyoruz. Çağıranları ve örnek izleri yüklemek için bir akış seçin.", "pickStream": "Bir iz akışı seçin", - "invalidStream": "Bu iz akışı adı tanıdığımız bir ad değil, bu yüzden aramayı çalıştırmadık.", + "invalidStream": "Bu iz akışı adı tanımadığımız bir ad, bu nedenle aramayı çalıştırmadık.", "firstSeen": "BU LİSTEDE İLK GÖRÜNME: {time}", "firstSeenHint": "Bu sorgunun kendi başına izlenecek kadar ağır olduğu bu aralıktaki en erken nokta.", "lastSeen": "SON GÖRÜNME: {time}", @@ -15593,7 +15593,7 @@ "sampleOk": "OK", "sampleError": "Başarısız", "viewTrace": "İsteği gör →", - "viewTraces": "Örnek izleri gör", + "viewTraces": "Örnek izleri görüntüle", "copySummary": "Kopyala", "copySummaryHint": "Buradaki her sayı zaten bu sayfada — bu yalnızca cümleyi yazar; böylece bir olayın 13. dakikası hiçbir şey yerine bir mesaj üretir.", "summaryCopied": "Özet kopyalandı", @@ -15752,9 +15752,9 @@ "failedWithCode": "Başarısız · {code}", "viewTrace": "Bu çağrının parçası olduğu isteği aç", "scatterOk": "Tamamlandı", - "partial": "İzleme verilerinizin bir kısmı okunamadı, bu nedenle bu listede çağrılar eksik olabilir.", + "partial": "İz verilerinizin bir kısmı okunamadı, bu nedenle bu listede bazı çağrılar eksik olabilir.", "disclosureShort": "Her satır gerçek bir tamamlanmış çağrıdır.", - "disclosureDetail": "Gönderdiğiniz izlemelerden, çağrıyı yapan uygulama tarafından ölçülür. Burada yalnızca tamamlanan çağrılar vardır — hâlâ çalışan veya asılı kalıp geri dönmeyen bir sorgu ölçüm üretmemiştir.", + "disclosureDetail": "Çağrıyı yapan uygulama tarafından gönderdiğiniz izlerden ölçülür. Burada yalnızca tamamlanmış çağrılar vardır — hâlâ çalışan veya takılıp geri dönmeyen bir sorgu ölçüm üretmemiştir.", "counts": { "complete": "Bu penceredeki tüm {count} veritabanı çağrısı gösteriliyor, en yavaştan başlayarak.", "truncated": "Bu penceredeki en yavaş {count} çağrı — burada gösterilenden daha fazlası çalıştı.", @@ -15959,8 +15959,8 @@ "blocking": "Engelliyor" }, "coverage": { - "summary": "En uzun bekleme {longest}. Her bekleme, kilidi açık tutan {roots} kaynağına kadar uzanıyor.", - "summaryCapped": "Aynı anda okuyabildiğimizden daha fazla oturum bekliyordu. Elimizdekiler arasında en uzun bekleme {longest} ve bunlar kilidi açık tutan {roots} kaynağına kadar uzanıyor.", + "summary": "En uzun bekleme {longest}. Her bekleme, bir kilidi açık tutan {roots} kaynağına kadar uzanır.", + "summaryCapped": "Aynı anda okuyabildiğimizden daha fazla oturum bekliyordu. Elde ettiklerimiz arasında en uzun bekleme {longest} ve bunlar bir kilidi açık tutan {roots} kaynağına kadar uzanıyor.", "summaryOneRoot": "bir oturum", "summaryManyRoots": "{count} oturum", "checked": "Her {interval} saniyede bir kontrol edildi; son bakış {time}.", diff --git a/web/src/locales/languages/vi-VN.json b/web/src/locales/languages/vi-VN.json index ddc0486416..c14ca26125 100644 --- a/web/src/locales/languages/vi-VN.json +++ b/web/src/locales/languages/vi-VN.json @@ -43,7 +43,7 @@ "allCaughtUp": "Bạn đã xem hết", "noPanels": { "title": "Chưa có panel nào ở đây", - "description": "Thêm một panel để bắt đầu trực quan hóa log, metrics và traces.", + "description": "Thêm bảng để bắt đầu trực quan hóa nhật ký, chỉ số và trace.", "action": "Thêm panel", "actionDesc": "Biểu đồ, bảng và hơn thế nữa" }, @@ -78,7 +78,7 @@ }, "noDashboards": { "title": "Tạo bảng điều khiển đầu tiên của bạn", - "description": "Bảng điều khiển tập hợp các số liệu, nhật ký và dấu vết của bạn trong một chế độ xem. Hãy xây dựng một bảng để bắt đầu.", + "description": "Bảng điều khiển tập hợp chỉ số, nhật ký và trace của bạn vào một chế độ xem. Hãy tạo một bảng để bắt đầu.", "action": "Bảng điều khiển mới", "actionDesc": "Bắt đầu từ một khung trống", "import": "Nhập bảng điều khiển", @@ -124,7 +124,7 @@ }, "noIngestionTokens": { "title": "Chưa có mã thông báo nhập nào", - "description": "Mã thông báo nhập xác thực nguồn dữ liệu khi gửi nhật ký, số liệu và dấu vết.", + "description": "Token tiếp nhận xác thực nguồn dữ liệu khi gửi nhật ký, chỉ số và trace.", "action": "Mã thông báo mới", "actionDesc": "Tạo mã thông báo nhập" }, @@ -133,11 +133,11 @@ "description": "Tổ chức nhóm người dùng và dữ liệu của bạn lại với nhau. Hãy tạo một tổ chức để bắt đầu." }, "noAlertDestinations": { - "title": "Chưa có điểm đến nào", - "description": "Điểm đến xác định nơi gửi thông báo cảnh báo — Slack, email, webhook, v.v.", - "action": "Điểm đến mới", + "title": "Chưa có đích nào", + "description": "Đích xác định nơi các thông báo cảnh báo được gửi đến — Slack, email, webhook, v.v.", + "action": "Đích mới", "actionDesc": "Kết nối kênh thông báo", - "import": "Nhập điểm đến", + "import": "Nhập đích", "importDesc": "Nhập từ tệp JSON" }, "noAlertSources": { @@ -147,10 +147,10 @@ "actionDesc": "Tạo URL webhook và token" }, "noPipelineDestinations": { - "title": "Chưa có điểm đến nào", + "title": "Chưa có đích nào", "description": "Các đích bên ngoài cho đầu ra của đường ống — điểm cuối HTTP và đích ghi từ xa.", - "action": "Điểm đến mới", - "actionDesc": "Kết nối điểm đến đường ống" + "action": "Đích mới", + "actionDesc": "Kết nối một đích pipeline" }, "noAlertTemplates": { "title": "Chưa có mẫu nào", @@ -192,7 +192,7 @@ }, "noDiscoveredServices": { "title": "Không tìm thấy dịch vụ nào", - "description": "Dịch vụ sẽ tự động xuất hiện ở đây khi có dấu vết bắt đầu đến." + "description": "Các dịch vụ sẽ tự động xuất hiện tại đây khi trace bắt đầu đến." }, "noNodes": { "title": "Không có nút nào khả dụng", @@ -248,7 +248,7 @@ }, "noDatasets": { "title": "Tạo tập dữ liệu đầu tiên của bạn", - "description": "Tập dữ liệu vàng thu thập các trace và đánh giá đã chú thích vào các bộ đánh giá có phiên bản. Hãy tạo một tập để bắt đầu quản lý.", + "description": "Golden dataset thu thập các trace được chú thích và đánh giá thành các bộ đánh giá có phiên bản. Tạo một bộ để bắt đầu quản lý.", "action": "Tập dữ liệu mới", "actionDesc": "Bắt đầu một tập dữ liệu trống" }, @@ -288,15 +288,15 @@ }, "noLLMInsights": { "title": "Chưa có hoạt động LLM nào", - "description": "Hãy trang bị dịch vụ của bạn với các quy ước ngữ nghĩa OpenTelemetry Gen-AI và nhập ít nhất một trace để làm đầy bảng điều khiển này.", + "description": "Hãy cài đặt đo lường cho dịch vụ của bạn bằng các quy ước ngữ nghĩa Gen-AI của OpenTelemetry và tiếp nhận ít nhất một trace để điền dữ liệu vào bảng điều khiển này.", "action": "Trang bị với OpenTelemetry", - "actionDesc": "Ghi lại các thuộc tính gen_ai_* trên các trace của bạn" + "actionDesc": "Thu thập các thuộc tính gen_ai_* trên trace của bạn." }, "noLLMSessions": { "title": "Chưa có phiên LLM nào", - "description": "Các phiên được nhóm theo gen_ai_conversation_id. Trang bị dịch vụ của bạn để mỗi cuộc hội thoại gắn thẻ trace của nó, và các phiên sẽ xuất hiện ở đây.", + "description": "Các phiên được nhóm theo gen_ai_conversation_id. Hãy cài đặt đo lường cho dịch vụ của bạn để mỗi cuộc trò chuyện gắn thẻ cho trace của nó, và các phiên sẽ xuất hiện tại đây.", "action": "Trang bị với OpenTelemetry", - "actionDesc": "Gắn thẻ span với gen_ai_conversation_id" + "actionDesc": "Gắn thẻ span bằng gen_ai_conversation_id" }, "noScorers": { "title": "Chưa có bộ chấm điểm nào", @@ -341,12 +341,12 @@ "description": "Không có mục bất ổn nào trong khoảng thời gian này. Mở rộng phạm vi thời gian hoặc chuyển bộ lọc hàng đợi để xem các mục bạn đã phân loại." }, "noTraces": { - "title": "Không tìm thấy trace nào", - "description": "Không có trace nào khớp với dịch vụ và phạm vi thời gian đã chọn. Hãy thử phạm vi thời gian rộng hơn hoặc dịch vụ khác." + "title": "Không tìm thấy trace nào.", + "description": "Không có trace nào khớp với dịch vụ và khoảng thời gian đã chọn. Hãy thử khoảng thời gian rộng hơn hoặc dịch vụ khác." }, "noServiceGraph": { "title": "Không có dữ liệu đồ thị dịch vụ", - "description": "Hãy thử truy vấn phạm vi thời gian dài hơn hoặc đảm bảo dịch vụ của bạn đang phát ra số liệu span." + "description": "Hãy thử truy vấn khoảng thời gian dài hơn, hoặc đảm bảo các dịch vụ của bạn đang phát ra chỉ số span." }, "noServicesCatalog": { "title": "Không tìm thấy dịch vụ nào", @@ -406,10 +406,10 @@ "pipelines": "đường ống", "workflows": "quy trình làm việc", "functions": "hàm", - "streams": "luồng", + "streams": "stream", "alerts": "cảnh báo", "incidents": "sự cố", - "traces": "dấu vết", + "traces": "trace", "discoveryItems": "mục bất ổn", "datasetItems": "mục", "searches": "tìm kiếm", @@ -426,9 +426,9 @@ "roleLimits": "giới hạn vai trò", "ingestionTokens": "token tiếp nhận", "organizations": "tổ chức", - "alertDestinations": "đích đến", + "alertDestinations": "đích", "alertSources": "nguồn cảnh báo", - "pipelineDestinations": "đích đến", + "pipelineDestinations": "đích", "alertTemplates": "mẫu", "evalTemplates": "mẫu đánh giá", "enrichmentTables": "bảng làm giàu", @@ -480,7 +480,7 @@ "noSearchResults": "Không có kết quả tìm kiếm", "noServiceAccounts": "Không có tài khoản dịch vụ", "noStreams": "Không có dữ liệu được đưa vào", - "noTraces": "Không có dấu vết", + "noTraces": "Không có trace", "noUsers": "Không có người dùng" }, "noExperiments": { @@ -524,7 +524,7 @@ "on": "trên", "event": "sự kiện", "viewTraceDetails": "Xem chi tiết trace", - "viewTrace": "Xem Trace", + "viewTrace": "Xem trace", "networkRequests": "Yêu cầu mạng", "noNetworkRequestsFound": "Không tìm thấy yêu cầu mạng nào cho sự kiện này", "consoleLogsComingSoon": "Nhật ký console sắp ra mắt", @@ -803,7 +803,7 @@ "relativeTimeAgo": "Cách đây {value} {unit}", "relativeTimePast": "Trong {value} {unit} qua", "metrics": "Chỉ số", - "traces": "Truy vết", + "traces": "Trace", "browserTime": "Thời gian trình duyệt", "invalidCredentials": "Thông tin đăng nhập không hợp lệ", "notFound": "Không tìm thấy", @@ -845,9 +845,9 @@ "loadError": "Điều kiện đã lưu không thể đọc được và đã được đặt lại. Lưu ngay bây giờ sẽ ghi đè lên nó." }, "destination": { - "createNew": "Tạo đích đến mới", - "select": "Đích đến", - "loadError": "Lỗi khi lấy danh sách đích đến." + "createNew": "Tạo đích mới", + "select": "Đích", + "loadError": "Có lỗi khi lấy danh sách đích." }, "function": { "createNew": "Tạo hàm mới", @@ -1061,10 +1061,10 @@ "regionFilterMsg": "Tìm kiếm vùng/cụm", "queryRangeRestrictionMsg": "Phạm vi truy vấn bị giới hạn trong {range}. Vui lòng điều chỉnh phạm vi ngày cho phù hợp. Nếu không, ngày bắt đầu sẽ tự động được điều chỉnh để nằm trong giới hạn cho phép.", "cancel": "Hủy truy vấn", - "viewTrace": "Xem dấu vết", + "viewTrace": "Xem trace", "viewTraceUnavailable": "Không thể mở trace cho bản ghi nhật ký này.", "viewRelated": "Xem liên quan", - "viewRelatedTooltip": "Xem dấu vết và chỉ số liên quan", + "viewRelatedTooltip": "Xem trace và chỉ số liên quan", "flattened": "Đã làm phẳng", "original": "Gốc", "resetFilters": "Đặt lại bộ lọc", @@ -1146,8 +1146,8 @@ "selectFunctionNamePlaceholder": "Chọn tên hàm", "confirmFunctionUpdateTitle": "Xác nhận cập nhật", "confirmFunctionUpdateMsg": "Bạn có chắc chắn muốn cập nhật hàm {name}?", - "traceIdLabel": "ID theo dõi:", - "enterTraceIdPlaceholder": "Nhập ID theo dõi", + "traceIdLabel": "ID trace:", + "enterTraceIdPlaceholder": "Nhập ID trace", "changeQueryModeTitle": "Đổi Chế Độ Truy Vấn", "changeQueryModeConfirm": "Bạn có chắc muốn đổi chế độ truy vấn? Dữ liệu đã lưu cho trục X, trục Y và Bộ lọc sẽ bị xóa.", "patternExampleLog": "Ví dụ log", @@ -1197,7 +1197,7 @@ "upgradeToProPlan": "Nâng cấp lên gói PRO", "home": "Trang chủ", "about": "Giới thiệu", - "index": "Luồng dữ liệu", + "index": "Stream", "search": "Nhật ký", "traces": "Trace", "serviceGraph": "Biểu đồ dịch vụ", @@ -1383,7 +1383,7 @@ "loadingMsg": "Hãy chờ một chút, chúng tôi đang tải dữ liệu RUM.", "breadcrumbs": "Breadcrumbs", "tags": "Thẻ", - "traces": "Dấu vết", + "traces": "Trace", "searchEvents": "Tìm kiếm sự kiện", "loadingSessions": "Hãy chờ một chút, chúng tôi đang lấy các phiên.", "errorStack": "Ngăn xếp lỗi", @@ -1394,11 +1394,11 @@ "discoverSessionMessage": "Phát lại phiên ghi lại và phát lại các tương tác của người dùng trên trang web hoặc ứng dụng của bạn. Điều này cho phép bạn xem xét trực quan cách người dùng điều hướng, nơi họ nhấp, nội dung họ gõ và cách họ tương tác với nội dung của bạn", "loadingErrorDetails": "Hãy chờ một chút, chúng tôi đang lấy chi tiết lỗi.", "eventID": "ID sự kiện", - "noCorrelatedTraces": "Không tìm thấy dấu vết liên quan cho phiên này.", + "noCorrelatedTraces": "Không tìm thấy trace liên quan cho phiên này.", "span": "span", - "spans": "spans", - "errorTraces": "dấu vết lỗi", - "failedToFetchTraces": "Không thể lấy dữ liệu dấu vết. Vui lòng thử lại.", + "spans": "span", + "errorTraces": "trace lỗi", + "failedToFetchTraces": "Không thể tải dữ liệu trace. Vui lòng thử lại.", "seekToMoment": "Chuyển đến thời điểm này trong phiên", "route": "Tuyến", "duration": "Thời lượng", @@ -1485,7 +1485,7 @@ "frustrationErrorClick": "Nhấp chuột đã kích hoạt lỗi JavaScript", "frustrationRageTap": "Người dùng chạm nhanh nhiều lần (3+) - biểu thị sự bực bội", "frustrationErrorTap": "Chạm đã kích hoạt lỗi JavaScript", - "fetchTraceMetadataFailed": "Không thể tải siêu dữ liệu trace", + "fetchTraceMetadataFailed": "Không thể tải siêu dữ liệu trace.", "frustrationEventTooltip": "⚠️ BỰC BỘI: {types}\n{name}", "errorEventTooltip": "⛔ LỖI: {name}", "frustrationSignalType": "Tín hiệu bực bội: {type}" @@ -1537,7 +1537,7 @@ "feature_column_name": "Tính năng", "feature_logs": "Nhật ký", "feature_metrics": "Chỉ số", - "feature_traces": "Dấu vết", + "feature_traces": "Trace", "feature_alerts": "Cảnh báo", "feature_dashboards": "Bảng điều khiển", "feature_reports": "Báo cáo", @@ -1561,7 +1561,7 @@ "feature_license": "Giấy phép", "feature_support": "Hỗ trợ", "feature_cost": "Chi phí", - "feature_pipelines_external": "Đường ống - Đích bên ngoài", + "feature_pipelines_external": "Pipeline - Đích bên ngoài", "feature_extreme_performance": "Hiệu suất cực cao (cải thiện 100x cho nhiều truy vấn)", "feature_query_optimizer": "Trình tối ưu hóa truy vấn", "value_license_agpl": "AGPL", @@ -1663,7 +1663,7 @@ }, "core_features": { "logs_metrics_traces": { - "name": "Nhật ký, Chỉ số, Dấu vết", + "name": "Nhật ký, Chỉ số, Trace", "note": "Nhập và phân tích dữ liệu quan sát đầy đủ" }, "rum": { @@ -1736,7 +1736,7 @@ "note": "Bảo vệ PII và thông tin nhạy cảm" }, "pipeline_remote_destinations": { - "name": "Đích từ xa của Pipeline", + "name": "Pipeline - Đích từ xa", "note": "Gửi dữ liệu đến các đích từ xa" }, "query_optimizer": { @@ -1780,7 +1780,7 @@ "note": "Vận hành kết nối phân tán tối ưu" }, "logs_metrics_traces_correlation": { - "name": "Tương quan Nhật ký, Số liệu & Dấu vết", + "name": "Tương quan Nhật ký, Chỉ số và Trace", "note": "Phát hiện và tương quan tự động" }, "service_maps": { @@ -2464,7 +2464,7 @@ "secondaryIndexCount": "Chỉ mục phụ ({count})" }, "deleteField": "Xóa trường", - "header": "Luồng dữ liệu", + "header": "Stream", "subtitle": "Quản lý chỉ mục và cấu hình luồng", "streamNameHelpText": "Chỉ sử dụng ký tự chữ số, dấu gạch dưới và dấu hai chấm.", "search": "Tìm kiếm luồng", @@ -2504,7 +2504,7 @@ "deleteDatesMessage": "Bạn có chắc chắn muốn xóa các ngày đã chọn? Hành động này không thể hoàn tác.", "labelLogs": "Nhật ký", "labelMetrics": "Chỉ số", - "labelTraces": "Dấu vết", + "labelTraces": "Trace", "labelMetadata": "Siêu dữ liệu", "add": "Luồng mới", "dataRetention": "Lưu giữ dữ liệu (ngày)", @@ -2546,7 +2546,7 @@ }, "workflow": { "header": "Quy trình làm việc", - "subtitle": "Tự động hóa hành động với bộ kích hoạt, logic và đích đến", + "subtitle": "Tự động hóa Hành động bằng Trình kích hoạt, Logic và Đích", "create": "Quy trình làm việc mới", "createSuccess": "Đã tạo quy trình làm việc thành công", "name": "Tên Workflow", @@ -2627,7 +2627,7 @@ }, "triggerMeta": { "orgId": "ID tổ chức mà cảnh báo thuộc về.", - "streamType": "Loại stream — logs, metrics hoặc traces.", + "streamType": "Loại Stream — nhật ký, chỉ số hoặc trace.", "streamName": "Stream mà cảnh báo giám sát.", "alertName": "Tên của cảnh báo đã kích hoạt.", "alertType": "Loại cảnh báo — realtime hoặc scheduled.", @@ -2665,7 +2665,7 @@ "output": "Đầu ra", "noInput": "Bước này không nhận được bản ghi nào trong lần chạy gần nhất.", "sentExternally": "Đã gửi đến đích bên ngoài", - "destinationNoRecords": "Không có bản ghi nào đến được đích này — không có gì được gửi đi.", + "destinationNoRecords": "Không có bản ghi nào đến đích này — không có gì được gửi.", "branchFiltered": "0 bản ghi — không có gì được chuyển đến nhánh này.", "conditionNoMatch": "Không có bản ghi nào khớp với điều kiện này — không có gì tiếp tục sang các bước tiếp theo.", "errorHeading": "Lỗi", @@ -2746,7 +2746,7 @@ "destinationSelect": "Đích", "destinationCreateNew": "Tạo đích mới", "destinationRequired": "Vui lòng chọn một đích", - "destinationLoadError": "Không thể tải danh sách đích", + "destinationLoadError": "Không thể tải các đích", "namePlaceholder": "Tên bước này (Tùy chọn)", "commentLabel": "Nhận xét (Tùy chọn)", "commentPlaceholder": "Thêm ghi chú về bước này...", @@ -2757,7 +2757,7 @@ "incompleteBadge": "Thiết lập sau", "destinationSetUpLater": "Thiết lập sau", "destinationSetUpLaterPrompt": "Chưa có đích? Bật tùy chọn này để thiết lập sau — bạn có thể lưu bản nháp và kiểm tra ngay bây giờ.", - "destinationSetUpLaterActive": "Đích sẽ được bỏ qua trong lúc này — tên và nhận xét vẫn được lưu. Bạn cần một đích trước khi xuất bản.", + "destinationSetUpLaterActive": "Đích hiện đang được bỏ qua — tên và ghi chú vẫn được lưu. Bạn cần có một đích trước khi xuất bản.", "functionSetUpLater": "Thiết lập sau", "functionSetUpLaterPrompt": "Chưa có hàm? Bật tùy chọn này để thiết lập sau — bạn có thể lưu bản nháp và kiểm tra ngay bây giờ.", "functionSetUpLaterActive": "Hàm sẽ được bỏ qua trong lúc này — tên và nhận xét vẫn được lưu. Bạn cần một hàm trước khi xuất bản." @@ -2815,8 +2815,8 @@ "functionNodeEmptyName": "Nút hàm {id} có tên hàm trống", "functionNodeInvalidName": "Nút hàm {id} có tên hàm không hợp lệ \"{name}\". Phải là một trong các hàm khả dụng.", "outputStreamNodeEmptyName": "Nút luồng đầu ra {id} có tên luồng trống", - "remoteStreamNodeEmptyDestination": "Nút luồng từ xa {id} có tên đích trống", - "remoteStreamNodeInvalidDestination": "Nút luồng từ xa {id} có đích không hợp lệ \"{destination}\". Phải là một trong các đích pipeline khả dụng.", + "remoteStreamNodeEmptyDestination": "Nút stream từ xa {id} có tên đích trống", + "remoteStreamNodeInvalidDestination": "Nút stream từ xa {id} có đích không hợp lệ \"{destination}\". Phải là một trong các đích pipeline khả dụng.", "edgeMissingSourceNode": "Cạnh {id} tham chiếu đến nút nguồn {source} không tồn tại", "edgeMissingTargetNode": "Cạnh {id} tham chiếu đến nút đích {target} không tồn tại", "inputNodeHasIncomingEdges": "Nút đầu vào {id} không nên có cạnh đến. Tìm thấy {count} cạnh đến.", @@ -2831,7 +2831,7 @@ "importErrors": { "unknownError": "Lỗi không xác định", "nameRequired": "Pipeline - {index}: Tên là bắt buộc", - "streamTypeInvalid": "Pipeline - {index}: Loại stream là bắt buộc và phải là một trong: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Pipeline - {index}: Loại Stream là bắt buộc và phải là một trong: 'logs', 'metrics', 'traces'.", "sourceStreamNameRequired": "Pipeline - {index}: Tên stream nguồn là bắt buộc ", "sqlQueryRequired": "Pipeline - {index}: Truy vấn SQL là bắt buộc", "timezoneRequired": "Pipeline - {index}: Múi giờ là bắt buộc", @@ -2945,10 +2945,10 @@ "defaultDelayTooltip": "Mặc định: 5 giây", "deleteDataBeforeBackfill": "Xóa dữ liệu hiện có trước khi backfill", "irreversibleDeletionWarning": "Cảnh báo: Xóa dữ liệu không thể hoàn tác", - "deleteBackfillWarningMessage": "Thao tác này sẽ xóa vĩnh viễn tất cả dữ liệu trong luồng đích cho khoảng thời gian đã chỉ định trước khi chạy backfill. Hành động này không thể hoàn tác.", + "deleteBackfillWarningMessage": "Thao tác này sẽ xóa vĩnh viễn tất cả dữ liệu trong stream đích cho khoảng thời gian đã chỉ định trước khi chạy backfill. Hành động này không thể hoàn tác.", "timeAlignmentRequirements": "Yêu cầu căn chỉnh thời gian (UTC):", "logsHourBoundaryNote": "streams: Thời gian phải khớp với ranh giới giờ theo UTC (ví dụ: 10:00:00, không phải 10:15:00)", - "metricsTracesLabel": "Metrics/Traces", + "metricsTracesLabel": "Chỉ số/Trace", "dayBoundaryNote": "streams: Thời gian phải khớp với ranh giới ngày theo UTC (ví dụ: 00:00:00)", "estimatedProcessingTime": "Thời gian xử lý ước tính:", "estimatedChunks": "Số phân đoạn ước tính:", @@ -2971,8 +2971,8 @@ "statusUnknown": "Không xác định", "phaseInitializing": "Đang khởi tạo" }, - "deleteBackfillConfirmMessage": "Bạn đã chọn xóa dữ liệu hiện có trước khi backfill. Thao tác này sẽ xóa vĩnh viễn tất cả dữ liệu trong luồng đích cho khoảng thời gian đã chỉ định.", - "editBackfillDeleteConfirmMessage": "Bạn đã chọn xóa dữ liệu hiện có trước khi backfill. Thao tác này sẽ xóa vĩnh viễn tất cả dữ liệu trong luồng đích cho khoảng thời gian đã chỉ định. Hành động này KHÔNG THỂ hoàn tác hoặc hủy bỏ sau khi công việc được cập nhật. Bạn có chắc chắn muốn tiếp tục không?", + "deleteBackfillConfirmMessage": "Bạn đã chọn xóa dữ liệu hiện có trước khi backfill. Thao tác này sẽ xóa vĩnh viễn tất cả dữ liệu trong stream đích cho khoảng thời gian đã chỉ định.", + "editBackfillDeleteConfirmMessage": "Bạn đã chọn xóa dữ liệu hiện có trước khi backfill. Thao tác này sẽ xóa vĩnh viễn tất cả dữ liệu trong stream đích cho khoảng thời gian đã chỉ định. Hành động này KHÔNG THỂ hoàn tác hoặc hủy sau khi tác vụ được cập nhật. Bạn có chắc chắn muốn tiếp tục?", "actionCannotBeUndone": "Hành động này KHÔNG THỂ hoàn tác hoặc hủy bỏ sau khi công việc được tạo.", "areYouSureProceed": "Bạn có chắc chắn muốn tiếp tục không?", "clearFilters": "Xóa bộ lọc", @@ -3036,15 +3036,15 @@ "sourceQueryTooltip": "Nguồn: Nút Truy vấn", "functionTooltip": "Nút Hàm", "conditionTooltip": "Nút Điều kiện", - "destinationStreamTooltip": "Đích: Nút Luồng", - "destinationExternalTooltip": "Đích: Nút Đích Bên ngoài", + "destinationStreamTooltip": "Đích: Nút Stream", + "destinationExternalTooltip": "Đích: Nút Đích Bên Ngoài", "pipelineNotFound": "Không tìm thấy Pipeline", "pipelineNameRequired": "Tên Pipeline là bắt buộc", "sourceNodeRequired": "Nút nguồn là bắt buộc", "destinationNodeRequired": "Nút đích là bắt buộc", "connectAllNodes": "Vui lòng kết nối tất cả các nút trước khi lưu", "connectAllNodesShort": "Vui lòng kết nối tất cả các nút", - "enrichmentTablesScheduledOnly": "Bảng làm giàu dữ liệu làm luồng đích chỉ khả dụng cho các pipeline theo lịch", + "enrichmentTablesScheduledOnly": "Bảng làm giàu dữ liệu làm stream đích chỉ khả dụng cho pipeline theo lịch trình.", "savingPipeline": "Đang lưu pipeline...", "pipelineUpdated": "Pipeline đã được cập nhật thành công", "pipelineSaved": "Pipeline đã được lưu thành công", @@ -3076,7 +3076,7 @@ "functionAlreadyAssociated": "Hàm đã được liên kết", "atLeastOneCondition": "Vui lòng thêm ít nhất một điều kiện", "fillAllConditionFields": "Vui lòng điền tất cả các trường điều kiện (cột, toán tử và giá trị là bắt buộc)", - "selectExternalDestination": "Vui lòng chọn đích bên ngoài từ danh sách", + "selectExternalDestination": "Vui lòng chọn Đích bên ngoài từ danh sách", "backfillNumericRange": "Phải nằm trong khoảng từ {min} đến {max}", "selectValidTimeRange": "Vui lòng chọn một phạm vi thời gian hợp lệ", "startBeforeEndTime": "Thời gian bắt đầu phải trước thời gian kết thúc", @@ -3092,7 +3092,7 @@ "streamType": "Loại Stream *" }, "sourceNode": "Nguồn", - "streamNode": "Luồng", + "streamNode": "Stream", "queryNode": "Truy vấn", "transformNode": "Biến đổi", "functionNode": "Hàm", @@ -3156,7 +3156,7 @@ "customStep5": "Chọn định dạng đầu ra (JSON hoặc NDJSON)", "customStep6": "Kiểm tra kết nối để xác minh rằng nó hoạt động", "defaultTitle": "Chi tiết kết nối", - "defaultStep1": "Chọn loại đích để xem hướng dẫn cụ thể" + "defaultStep1": "Chọn một loại đích để xem hướng dẫn cụ thể" }, "deleteFunctionAssociationConfirm": "Bạn có chắc chắn muốn xóa liên kết hàm không?", "deleteStreamRoutingConfirm": "Bạn có chắc chắn muốn xóa định tuyến luồng không?", @@ -3182,7 +3182,7 @@ "noJobSelected": "Chưa chọn công việc nào", "updateBackfillJobFailed": "Không thể cập nhật công việc backfill", "fetchPipelineHistoryFailed": "Không thể tải lịch sử pipeline", - "defaultDestinationNodeWarning": "Việc xóa nút đích mặc định sẽ ngừng đưa dữ liệu vào nút đó. Luồng nguồn sau đó sẽ chỉ định tuyến đến luồng đích mới được thêm. Dữ liệu không được định tuyến đến bất kỳ luồng đích nào sẽ bị loại bỏ.", + "defaultDestinationNodeWarning": "Xóa nút đích mặc định sẽ ngừng tiếp nhận dữ liệu vào nút đó. stream nguồn sau đó sẽ chỉ định tuyến đến stream đích mới được thêm. Dữ liệu không được định tuyến đến bất kỳ stream đích nào sẽ bị loại bỏ.", "confirmBulkDeleteMsg": "Bạn có chắc chắn muốn xóa {count} pipeline không?", "confirmPauseBackfillJob": "Bạn có chắc muốn tạm dừng công việc backfill cho \"{name}\" không? Bạn có thể tiếp tục sau.", "confirmResumeBackfillJob": "Bạn có chắc muốn tiếp tục công việc backfill cho \"{name}\" không?", @@ -3292,10 +3292,10 @@ "analyzingDimensions": "Đang phân tích các thứ nguyên...", "arrowSeparator": "→", "computingDistributions": "Đang tính toán phân bố tần số trên {count} thứ nguyên", - "dashboardDescError": "So sánh tỷ lệ lỗi của các trace trong giai đoạn đột biến lỗi so với đường cơ sở trên các chiều", - "dashboardDescLatency": "So sánh độ trễ phân vị của các trace đã chọn (thời lượng {start}-{end}µs) so với đường cơ sở trên các chiều", - "dashboardDescVolume": "So sánh phân bố số lượng trace so với đường cơ sở trên các chiều", - "dashboardDescVolumeRate": "So sánh phân bố số lượng trace của các giai đoạn đã chọn (tốc độ {start}-{end} trace) so với đường cơ sở trên các chiều", + "dashboardDescError": "So sánh tỷ lệ lỗi của trace trong giai đoạn lỗi tăng đột biến so với đường cơ sở trên các thứ nguyên.", + "dashboardDescLatency": "So sánh độ trễ phần trăm của các trace đã chọn (thời lượng {start}-{end}µs) so với đường cơ sở trên các thứ nguyên.", + "dashboardDescVolume": "So sánh phân bố số lượng trace so với đường cơ sở trên các thứ nguyên.", + "dashboardDescVolumeRate": "So sánh phân bố số lượng trace của các giai đoạn đã chọn (tốc độ {start}-{end} trace) so với đường cơ sở trên các thứ nguyên.", "dashboardTitleError": "Thông tin chi tiết về lỗi", "dashboardTitleLatency": "Thông tin chi tiết về độ trễ", "dashboardTitleVolume": "Thông tin chi tiết về lưu lượng", @@ -3303,8 +3303,8 @@ "durationLabel": "Thời lượng:", "failedToLoad": "Không tải được phân tích", "panelDescErrorComparison": "So sánh tỷ lệ lỗi cho chiều: {dimension}. Các thanh Đã chọn cao hơn cho thấy giá trị chiều này có nhiều lỗi hơn trong giai đoạn đột biến lỗi.", - "panelDescLatencyComparison": "So sánh độ trễ phân vị cho chiều: {dimension}. Các thanh Đã chọn cao hơn cho thấy giá trị chiều này tương quan với các trace chậm hơn.", - "panelDescVolumeComparison": "So sánh số lượng trace cho chiều: {dimension}. Các thanh Đã chọn cao hơn cho thấy giá trị chiều này xuất hiện thường xuyên hơn trong các giai đoạn có lưu lượng cao.", + "panelDescLatencyComparison": "So sánh độ trễ phần trăm cho thứ nguyên: {dimension}. Các thanh Đã chọn cao hơn cho thấy giá trị thứ nguyên này tương quan với các trace chậm hơn.", + "panelDescVolumeComparison": "So sánh số lượng trace cho thứ nguyên: {dimension}. Các thanh Đã chọn cao hơn cho thấy giá trị thứ nguyên này xuất hiện thường xuyên hơn trong các giai đoạn có lượng lớn.", "panelDescVolumeTopValues": "Các giá trị hàng đầu theo số lượng cho chiều: {dimension}.", "refreshTooltip": "Làm mới phân tích với phân vị đã cập nhật", "retryButton": "Thử lại", @@ -3315,7 +3315,7 @@ "title": "Thông tin chi tiết", "tabLabel": "Tỷ lệ", "analyzeTooltipLogs": "Xem thông tin chi tiết cho khoảng thời gian hiện tại", - "analyzeTooltipTraces": "Phân tích các thứ nguyên trace cho các mẫu tỷ lệ, độ trễ và lỗi", + "analyzeTooltipTraces": "Phân tích các thứ nguyên trace để phát hiện các mẫu tốc độ, độ trễ và lỗi.", "rateLabel": "Tỷ lệ:", "searchInspectionsLabel": "Xem chi tiết thực thi công việc tìm kiếm", "inspectBtnLabel": "Kiểm tra", @@ -3418,7 +3418,7 @@ "singleTargetTitle": "Đích ghi từ xa đơn", "fanoutTitle": "Phân tán đến nhiều backend", "tipPrefix": "Mẹo: `vmagent` có thể nhân bản các lần ghi bằng cách lặp lại", - "tipSuffix": "cờ, để bạn có thể giữ lại đích VictoriaMetrics hiện có đồng thời chuyển tiếp số liệu đến OpenObserve.", + "tipSuffix": "cờ, để bạn có thể giữ điểm đến VictoriaMetrics hiện có trong khi vẫn chuyển tiếp chỉ số đến OpenObserve.", "docLinkText": "để tìm hiểu thêm về việc cấu hình các đích ghi từ xa của vmagent." }, "ai": { @@ -3441,7 +3441,7 @@ "customLabel": "Tùy chỉnh", "logsLabel": "Nhật ký", "metricsLabel": "Chỉ số", - "tracesLabel": "Dấu vết", + "tracesLabel": "Truy vết", "redirectionIngestionMsg": "Lưu ý: Để truy cập các trang khác ngoài IAM, việc đưa dữ liệu vào phải được khởi tạo trong tổ chức hiện tại.", "databaseLabel": "Cơ sở dữ liệu", "securityLabel": "Bảo mật", @@ -3466,7 +3466,7 @@ "dotnettracing": ".Net Tracing", "dotnetlogs": ".Net Logs", "macos": "macOS", - "tracesotlp": "Trace ({product})", + "tracesotlp": "Truy vết ({product})", "rum": "Giám sát người dùng thực", "openvpn": "OpenVPN", "nginx": "Nginx", @@ -3491,7 +3491,7 @@ "diagnosticSettingsPath": "Cài đặt chẩn đoán → + Thêm cài đặt chẩn đoán", "enterNameCheckCategories": "Nhập tên, chọn các danh mục nhật ký bạn muốn bật", "underPrefix": "Trong", - "destinationDetails": "Chi tiết đích", + "destinationDetails": "Chi tiết điểm đến", "chooseSuffix": ", chọn", "streamToEventHub": "Truyền phát tới một event hub", "selectEventHubPrefix": "Chọn không gian tên Event Hub và Event Hub đã tạo ở Bước 1 (tiền tố:", @@ -3629,8 +3629,8 @@ "anyWindowsHostNote": "Bất kỳ máy chủ hoặc máy ảo Windows nào.", "arrow": "→", "askOnSlack": "Hỏi trên Slack", - "autoInstrumentTracesDesc": "Tùy chọn. Bộ điều hành OpenTelemetry chèn công cụ đo lường vào các workload được chú thích, nhờ đó bạn có được **truy vết phân tán mà không cần chạm vào mã ứng dụng hoặc xây dựng lại hình ảnh**. Chọn một ngôn ngữ, sau đó chú thích namespace mà nó chạy.", - "autoInstrumentTracesTitle": "Tự động Instrument Ứng dụng của bạn để Truy vết", + "autoInstrumentTracesDesc": "Tùy chọn. Toán tử OpenTelemetry chèn bộ đo lường vào các workload được chú thích, để bạn nhận được **truy vết phân tán mà không cần chạm vào mã ứng dụng hoặc xây dựng lại image**. Chọn một ngôn ngữ, sau đó chú thích namespace nơi nó chạy.", + "autoInstrumentTracesTitle": "Tự động chèn bộ đo lường cho ứng dụng của bạn để thu thập truy vết", "cassandraJmxNote": "Bật truy cập từ xa JMX trên Cassandra để bộ thu có thể kết nối.", "cassandraTagline": "Thu thập số liệu Cassandra qua bộ thu JMX của OpenTelemetry Collector và gửi chúng đến OpenObserve.", "checking": "Đang kiểm tra…", @@ -3643,7 +3643,7 @@ "chipMetrics": "Chỉ số", "chipRun": "Chạy", "chipTerminal": "Terminal", - "chipTraces": "Traces", + "chipTraces": "Truy vết", "clusterNameHelp": "Xác định cụm này trong nhật ký, số liệu và bảng điều khiển của bạn.", "clusterNameLabel": "Tên Cụm", "collectorInstallDesc": "Bộ thu chỉ có trong bản Contrib — hãy chọn nền tảng của bạn.", @@ -3654,14 +3654,14 @@ "configureCollectorTitle": "Cấu hình OpenTelemetry Collector", "connectedLogsHeadline": "Đã kết nối — Nhật ký đang được truyền", "connectedMetricsHeadline": "Đã kết nối — Chỉ số đang được truyền", - "connectedTracesHeadline": "Đã kết nối — Trace đang được truyền", + "connectedTracesHeadline": "Đã kết nối — Truy vết đang truyền về", "countLogs": "{count} nhật ký | {count} nhật ký", "countMetricStreams": "{count} luồng số liệu | {count} luồng số liệu", "countSpans": "{count} span | {count} span", "downloadEnvTooltip": "Tải xuống .env", "downloadJmxJarDesc": "Trình thu JMX chạy jar trợ giúp này (yêu cầu Java trên máy chủ thu thập).", "downloadJmxJarTitle": "Tải xuống Jar số liệu JMX", - "dynamodbFirehoseEndpointDesc": "Sử dụng chúng làm đích **HTTP Endpoint** khi tạo luồng phân phối Kinesis Data Firehose của bạn.", + "dynamodbFirehoseEndpointDesc": "Sử dụng các giá trị này làm điểm đến **HTTP Endpoint** khi tạo luồng phân phối Kinesis Data Firehose.", "dynamodbFirehoseEndpointTitle": "OpenObserve Firehose Endpoint", "dynamodbPipelineDesc": "Bật **DynamoDB Streams** trên bảng của bạn, kết nối nó với một **Kinesis Data Stream**, sau đó trỏ một luồng phân phối **Kinesis Data Firehose** đến HTTP endpoint ở trên.", "dynamodbPipelineTitle": "Phát trực tiếp DynamoDB → Firehose", @@ -3675,7 +3675,7 @@ "gcpFixBody": "GCP báo cáo lỗi gửi trên chính subscription. Nếu sink đang xuất bản nhưng không có gì đến đây, điểm cuối push thường đang từ chối yêu cầu:", "gcpFixTitle": "Kiểm tra Push Subscription", "gcpPushUrlNote": "Giữ bí mật URL này — nó chứa khóa tiếp nhận. Nếu bị lộ, hãy xoay vòng từ phần đầu trang này.", - "gcpSinkDesc": "Trong bảng điều khiển GCP, hãy tạo một **Log Router sink** (Logging → Log Router → Create sink) với Pub/Sub làm đích đến, và để nó tạo topic. Bộ lọc bao gồm của sink quyết định log nào đến OpenObserve.", + "gcpSinkDesc": "Trong bảng điều khiển GCP, tạo một **sink Log Router** (Nhật ký → Bộ định tuyến nhật ký → Tạo sink) với Pub/Sub làm điểm đến và để nó tạo topic. Bộ lọc đưa vào của sink quyết định nhật ký nào đến được OpenObserve.", "gcpSinkTitle": "Chuyển hướng Logs đến một Pub/Sub Topic", "gcpSinkWriterNote": "Cấp cho danh tính ghi của sink vai trò Pub/Sub Publisher trên topic, nếu không nó sẽ âm thầm không xuất bản gì.", "gcpStreamHelp": "Được dùng trong URL đẩy ở trên và được theo dõi bởi kiểm tra bên dưới. Một luồng chuyên dụng giữ nhật ký GCP riêng biệt.", @@ -3714,7 +3714,7 @@ "k8sInstallerNote": "Thao tác này tự động cài đặt cert-manager, operator OpenTelemetry và collector OpenObserve.", "k8sInternalEndpointNote": "Sử dụng tùy chọn này khi OpenObserve chạy trong chính cụm này — lưu lượng không bao giờ rời khỏi cụm.", "k8sTroubleAnnotationA": "Việc tiêm xảy ra khi tạo pod, vì vậy các pod hiện tại không bị ảnh hưởng cho đến khi chúng khởi động lại — chạy `kubectl rollout restart deployment -n my-namespace`. Xác nhận chú thích đã được áp dụng bằng `kubectl get ns my-namespace -o yaml`, và kiểm tra giá trị khớp với `openobserve-collector/openobserve-`. Đối với Go, `otel-go-auto-target-exe` phải là đường dẫn của tệp nhị phân **bên trong** container.", - "k8sTroubleAnnotationQ": "Tôi đã chú thích một namespace nhưng không thấy trace nào xuất hiện", + "k8sTroubleAnnotationQ": "Tôi đã chú thích một namespace nhưng không có truy vết nào xuất hiện", "k8sTroubleEndpointA": "Chỉ sử dụng **In-Cluster** khi OpenObserve chạy trong chính cụm này; lưu lượng khi đó sẽ ở bên trong và không bao giờ qua mạng. URL là `http://-openobserve-router..svc.cluster.local:5080` — mặc định giả định release `o2` trong namespace `openobserve`, vì vậy hãy chỉnh sửa nếu của bạn khác. Tất cả những người khác sử dụng điểm cuối bên ngoài.", "k8sTroubleEndpointQ": "Tôi nên dùng điểm cuối nào — bên ngoài hay trong cụm?", "k8sTroubleExampleA": "Có — **HOT commerce** là một ứng dụng mẫu được kết nối từ đầu đến cuối, và tài liệu **OpenTelemetry Operator** chứa tham chiếu chú thích đầy đủ. Cả hai được liên kết ở cuối trang này.", @@ -3757,16 +3757,16 @@ "oracleTagline": "Thu thập các chỉ số Oracle DB với OpenTelemetry Collector và gửi chúng tới OpenObserve.", "otlpFixBody": "Việc định nghĩa exporter là chưa đủ — nó phải được liệt kê trong pipeline. Đây là lý do phổ biến nhất khiến một cấu hình trông có vẻ đúng nhưng lại không gửi dữ liệu:", "otlpFixTitle": "Kiểm tra exporter đã thực sự được nối vào pipeline", - "otlpGrpcNote": "Chi phí thấp hơn HTTP cho khối lượng span lớn. Cổng 5081 phải truy cập được từ collector.", + "otlpGrpcNote": "Ít chi phí hơn HTTP cho khối lượng span lớn. Cổng 5081 phải truy cập được từ collector.", "otlpHttpNote": "Mặc định cho OpenTelemetry Collector — hoạt động ở mọi nơi, kể cả sau proxy và bộ cân bằng tải.", "otlpSdkEnvNote": "Các biến môi trường OTEL_* tiêu chuẩn — mọi OpenTelemetry SDK đều đọc các biến này, nên không cần thay đổi mã.", "otlpTracesStreamHelp": "Được ghi vào cấu hình ở trên dưới dạng `stream-name`, và được theo dõi bởi kiểm tra bên dưới.", "otlpTrouble401A": "Tiêu đề `Authorization` phải là `Basic ` sử dụng token ingestion của tổ chức này — giá trị ở trên đã đúng. Nếu nó đã được xoay vòng, hãy sao chép lại từ trang này.", "otlpTrouble401Q": "Collector ghi nhận lỗi 401 hoặc 403", - "otlpTroubleHttpGrpcA": "HTTP là lựa chọn mặc định an toàn và đi qua proxy cùng bộ cân bằng tải một cách trơn tru. gRPC có chi phí thấp hơn ở khối lượng span lớn nhưng cần cổng 5081 kết nối được từ đầu đến cuối.", + "otlpTroubleHttpGrpcA": "HTTP là lựa chọn mặc định an toàn và đi qua proxy và bộ cân bằng tải một cách dễ dàng. gRPC có chi phí thấp hơn ở khối lượng span cao nhưng cần cổng 5081 truy cập được từ đầu đến cuối.", "otlpTroubleHttpGrpcQ": "Tôi nên dùng HTTP hay gRPC?", "otlpTroubleStreamA": "Tiêu đề `stream-name` quyết định stream. Đặt nó trùng với tên trường ở trên, nếu không thì kiểm tra bên dưới sẽ theo dõi một stream không có gì được ghi vào.", - "otlpTroubleStreamQ": "Các span đến nhưng lại vào sai stream", + "otlpTroubleStreamQ": "Span đến nhưng rơi vào stream sai", "otlpTroubleTlsA": "Cờ `tls.insecure` phải khớp với scheme của endpoint — nó được đặt thành `{insecure}` ở trên dựa trên URL của bản triển khai này. Endpoint HTTP thuần túy cần `insecure: true`; endpoint HTTPS cần `false`.", "otlpTroubleTlsQ": "Kết nối gRPC thất bại với lỗi TLS", "pillActiveBackends": "Backend đang hoạt động", @@ -3824,7 +3824,7 @@ "pillServiceMap": "Bản đồ dịch vụ", "pillSessions": "Phiên", "pillSetup": "Thiết lập", - "pillSpans": "Spans", + "pillSpans": "Span", "pillSqlCompilationRate": "Tỷ lệ biên dịch SQL", "pillStorageBytes": "Dung lượng lưu trữ (byte)", "pillSystem": "Hệ thống", @@ -3856,7 +3856,7 @@ "preparePostgresqlTitle": "Chuẩn bị PostgreSQL", "prepareSqlServerDesc": "Tạo tài khoản đăng nhập giám sát — chạy trong một SQL client, **không phải** shell của bạn.", "prepareSqlServerTitle": "Chuẩn bị SQL Server", - "providerNameOtlpTraces": "Dấu vết (OpenTelemetry)", + "providerNameOtlpTraces": "Truy vết (OpenTelemetry)", "providerNameRum": "Giám sát người dùng thực", "quickInstallDesc": "Cài đặt collector OpenObserve bằng **một lệnh duy nhất** — chỉ cần đặt tên cụm của bạn và chạy. Tên này gắn thẻ mọi bản ghi, vì vậy bạn có thể phân biệt các cụm khi có nhiều cụm đang báo cáo.", "quickInstallTitle": "Cài đặt Nhanh (Được khuyến nghị)", @@ -3969,19 +3969,19 @@ "sqlServerTagline": "Thu thập các chỉ số SQL Server với OpenTelemetry Collector và gửi chúng tới OpenObserve.", "startIngestingTestForLogs": "bắt đầu thu thập, sau đó kiểm tra logs", "startIngestingTestForMetrics": "bắt đầu thu thập, sau đó kiểm tra metrics", - "startIngestingTestForSpans": "bắt đầu thu thập, sau đó kiểm tra spans", + "startIngestingTestForSpans": "bắt đầu tiếp nhận dữ liệu, sau đó kiểm tra span", "streamNameError": "Chỉ sử dụng chữ cái, số và _.", "streamNameLabel": "Tên Stream", "stuck": "Bị kẹt?", "taglineDatabricks": "Gửi log notebook Databricks đến OpenObserve qua logs API.", "taglineGcp": "Truyền log Google Cloud vào OpenObserve bằng subscription push Pub/Sub — không cần chạy agent hoặc collector.", - "taglineKubernetes": "Triển khai collector OpenObserve vào cụm của bạn — log container, sự kiện Kubernetes và số liệu cụm, cùng với traces không cần viết mã cho workloads của bạn.", + "taglineKubernetes": "Triển khai collector OpenObserve vào cụm của bạn — nhật ký container, sự kiện Kubernetes và chỉ số cụm, cùng với truy vết không cần mã cho các workload của bạn.", "taglineLinux": "Cài đặt agent OpenObserve trên bất kỳ máy chủ Linux nào — log hệ thống và journald cùng với số liệu CPU, bộ nhớ, ổ đĩa và mạng.", "taglineMacos": "Cài đặt agent OpenObserve trên bất kỳ Mac nào — log hợp nhất và các tệp log chuẩn cùng với số liệu CPU, bộ nhớ, ổ đĩa và mạng.", "taglineOtlpTraces": "Trỏ bất kỳ exporter OpenTelemetry nào đến OpenObserve — collector hoặc SDK, HTTP hoặc gRPC. Endpoint và token của bạn đã được điền bên dưới.", "taglineWindows": "Cài đặt agent OpenObserve trên bất kỳ máy chủ Windows nào — Event Log, bộ đếm hiệu suất và số liệu máy chủ.", "testAgain": "Kiểm tra lại", - "tracesStreamNameLabel": "Tên Stream Traces", + "tracesStreamNameLabel": "Tên stream truy vết", "trackScreensDesc": "Nếu bạn sử dụng React Navigation, hãy đưa cho SDK tham chiếu navigation của bạn và mọi thay đổi tuyến đường đều được ghi lại dưới dạng chế độ xem RUM — không cần mã cho từng màn hình.", "trackScreensTitle": "Theo dõi Màn hình Tự động (Tùy chọn)", "troubleshooting": "Xử lý sự cố", @@ -4012,7 +4012,7 @@ "verifyZookeeperMetricsDesc": "Nhấn Test bên dưới, hoặc kiểm tra Streams để xem các chỉ số `zookeeper_*`.", "viewLogs": "Xem Logs", "viewStreams": "Xem Streams", - "viewTraces": "Xem Traces", + "viewTraces": "Xem Truy Vết", "whatTheInstallerDoes": "Trình cài đặt làm gì", "windowsAgentFixBody": "Trình cài đặt đăng ký agent như một dịch vụ Windows. Nếu không có gì đến, hãy xác nhận nó đang chạy và đọc các mục gần nhất từ log của nó:", "windowsTroubleScriptA": "PowerShell chặn các tập lệnh chưa ký theo mặc định. Chạy console **với quyền Quản trị viên** và, nếu cần, cho phép tập lệnh cho phiên đó bằng `Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass`.", @@ -4036,11 +4036,11 @@ "verifyAndroidRumDesc": "Chạy ứng dụng trên trình giả lập hoặc thiết bị, di chuyển qua một vài màn hình, sau đó nhấn Kiểm tra — các sự kiện Android gốc sẽ được ghi vào luồng `_rumdata`.", "verifyIosRumDesc": "Chạy ứng dụng trên trình mô phỏng hoặc thiết bị, di chuyển qua một vài màn hình, sau đó nhấn Kiểm tra — các sự kiện iOS gốc sẽ được ghi vào luồng `_rumdata`.", "dbmPreparePostgresTitle": "Giám sát cơ sở dữ liệu · Cấp quyền truy cập (tùy chọn)", - "dbmPreparePostgresDesc": "**Mọi thứ ở trên tự nó đã hoàn chỉnh** — thời gian truy vấn đã đến được Databases từ trace của ứng dụng bạn, mà không cần thiết lập gì ở đây. Các bước cuối cùng này bổ sung những gì trace không bao giờ thấy được: deadlock và các truy vấn bị chặn, thứ mà chỉ cơ sở dữ liệu tự ghi lại. Cấp quyền `pg_monitor` để collector có thể đọc các truy vấn của phiên khác — chạy trong SQL client, **không phải** shell của bạn.", + "dbmPreparePostgresDesc": "**Mọi thứ ở trên tự hoàn thiện** — thời gian truy vấn đã đến được Cơ sở dữ liệu từ truy vết ứng dụng của bạn mà không cần cài đặt gì ở đây. Các bước cuối này bổ sung những gì truy vết không bao giờ thấy được: deadlock và truy vấn bị chặn, mà chỉ có cơ sở dữ liệu tự ghi lại. Cấp quyền `pg_monitor` để collector có thể đọc truy vấn của các phiên khác — chạy nó trong một SQL client, **không phải** shell của bạn.", "dbmPrepareMysqlTitle": "Giám sát cơ sở dữ liệu · Giữ lịch sử deadlock (tùy chọn)", "dbmPrepareMariadbTitle": "Giám sát cơ sở dữ liệu · Giữ lịch sử deadlock (tùy chọn)", - "dbmPrepareMysqlDesc": "**Mọi thứ ở trên tự nó đã hoàn chỉnh** — thời gian truy vấn đã đến được Databases từ trace của ứng dụng bạn, mà không cần thiết lập gì ở đây. Các bước cuối cùng này bổ sung những gì trace không bao giờ thấy được: deadlock và các truy vấn bị chặn, thứ mà chỉ cơ sở dữ liệu tự ghi lại. Bật lịch sử deadlock đầy đủ — chạy trong SQL client, **không phải** shell của bạn.", - "dbmPrepareMariadbDesc": "**Mọi thứ ở trên tự nó đã hoàn chỉnh** — thời gian truy vấn đã đến được Databases từ trace của ứng dụng bạn, mà không cần thiết lập gì ở đây. Các bước cuối cùng này bổ sung những gì trace không bao giờ thấy được: deadlock và các truy vấn bị chặn, thứ mà chỉ cơ sở dữ liệu tự ghi lại. Bật lịch sử deadlock đầy đủ — chạy trong SQL client, **không phải** shell của bạn.", + "dbmPrepareMysqlDesc": "**Mọi thứ ở trên tự hoàn thiện** — thời gian truy vấn đã đến được Cơ sở dữ liệu từ truy vết ứng dụng của bạn mà không cần cài đặt gì ở đây. Các bước cuối này bổ sung những gì truy vết không bao giờ thấy được: deadlock và truy vấn bị chặn, mà chỉ có cơ sở dữ liệu tự ghi lại. Bật lịch sử deadlock đầy đủ — chạy nó trong một SQL client, **không phải** shell của bạn.", + "dbmPrepareMariadbDesc": "**Mọi thứ ở trên tự hoàn thiện** — thời gian truy vấn đã đến được Cơ sở dữ liệu từ truy vết ứng dụng của bạn mà không cần cài đặt gì ở đây. Các bước cuối này bổ sung những gì truy vết không bao giờ thấy được: deadlock và truy vấn bị chặn, mà chỉ có cơ sở dữ liệu tự ghi lại. Bật lịch sử deadlock đầy đủ — chạy nó trong một SQL client, **không phải** shell của bạn.", "dbmPgLoggingTitle": "Giám sát cơ sở dữ liệu · Cho Postgres ghi lại deadlock (tùy chọn)", "dbmPgLoggingDesc": "Deadlock chỉ được ghi vào nhật ký Postgres, và chỉ khi các cài đặt bên dưới được bật — vì vậy bước này là thứ làm cho tab Deadlocks có dữ liệu. Dòng tiền tố phải khớp chính xác: collector đọc nó để tìm ai đã liên quan, và tiền tố khác có nghĩa là nó không tìm thấy gì trong khi vẫn báo cáo khỏe mạnh.", "dbmPgLoggingVerifyTitle": "Giám sát cơ sở dữ liệu · Kiểm tra các cài đặt đã có hiệu lực (tùy chọn)", @@ -4066,7 +4066,7 @@ "dbmMysqlLogPathHelp": "Collector phải có thể đọc tệp này. Tìm nó bằng: SHOW VARIABLES LIKE 'log_error';", "dbmMariadbLogPathHelp": "Collector phải có thể đọc tệp này. Tìm nó bằng: SHOW VARIABLES LIKE 'log_error';", "dbmPrepareMssqlTitle": "Giám sát cơ sở dữ liệu · Cấp quyền truy cập (tùy chọn)", - "dbmPrepareMssqlDesc": "**Mọi thứ ở trên tự nó đã hoàn chỉnh** — thời gian truy vấn đã đến được mục Databases từ trace của ứng dụng của bạn, không cần cấu hình gì ở đây. Nhóm cuối này bổ sung thứ mà trace không bao giờ thấy được: deadlock và truy vấn bị chặn, chỉ có cơ sở dữ liệu tự ghi lại. Cần cả hai quyền — một quyền cho phép bộ thu đọc các phiên khác, quyền kia cho phép nó đọc lịch sử deadlock. Hãy chạy chúng trong SQL client, **không phải** shell của bạn.", + "dbmPrepareMssqlDesc": "**Mọi thứ ở trên tự hoàn thiện** — thời gian truy vấn đã đến được Cơ sở dữ liệu từ truy vết ứng dụng của bạn mà không cần cài đặt gì ở đây. Nhóm cuối này bổ sung những gì truy vết không bao giờ thấy được: deadlock và truy vấn bị chặn, mà chỉ có cơ sở dữ liệu tự ghi lại. Cả hai quyền đều cần thiết — một quyền cho collector đọc các phiên khác, quyền còn lại cho nó đọc lịch sử deadlock. Chạy chúng trong một SQL client, **không phải** shell của bạn.", "dbmConfigureMssqlDesc": "Ghi `dbm-config.yaml` — đặt cơ sở dữ liệu muốn kết nối bên dưới. SQL Server sẽ nhận được deadlock, truy vấn bị chặn, mẫu hoạt động, truy vấn hàng đầu và kế hoạch thực thi ở đây. Bộ thu sqlserver đọc trên toàn bộ instance, vì vậy hoạt động và truy vấn hàng đầu không bị giới hạn trong cơ sở dữ liệu bạn nêu ở trên.", "dbmRunMssqlDesc": "Chạy cả hai cấu hình cùng nhau. Sử dụng cùng tên đăng nhập và mật khẩu bạn đã tạo ở bước 1.", "dbmVerifyBlockingDesc": "Mở **Infra → Databases → Blocked queries**. Các phiên đang chờ khóa sẽ xuất hiện ngay khi có phiên được lấy mẫu — một tab trống ở đó cho bạn biết liệu không có gì bị chặn hay không có gì đang được thu thập.", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "Mở **Infra → Databases** và chọn một tab bên dưới. Deadlock và truy vấn bị chặn xuất hiện ngay khi cơ sở dữ liệu của bạn báo cáo — một tab trống ở đó cho bạn biết liệu không có gì xảy ra hay không có gì đang được thu thập. Sức khỏe bảng được điền sau khi chụp nhanh 60 giây đầu tiên." }, "instrumentBeforeImportTitle": "Cài đặt công cụ đo lường trước khi nhập client", - "instrumentBeforeImportBody": "Nếu ứng dụng của bạn chạy nhưng không có span nào đến, có thể instrumentation đã được tải sau khi client được nhập. Hãy sắp xếp lại để quá trình khởi tạo chạy trước:", + "instrumentBeforeImportBody": "Nếu ứng dụng của bạn chạy nhưng không có span nào đến, có thể bộ đo lường đã được tải sau khi client được import. Sắp xếp lại để phần khởi tạo chạy trước:", "launchCloudFormationStack": "Khởi chạy Stack CloudFormation", "openStackSetsConsole": "Mở bảng điều khiển StackSets", "integrations": { @@ -4239,7 +4239,7 @@ "streamOverview": "Tổng quan {stream}" }, "selectField": "Trường", - "selectIndex": "Luồng", + "selectIndex": "Stream", "selectStreamType": "Loại luồng", "toggleFunctionEditor": "Chuyển đổi trình chỉnh sửa hàm", "useSavedFunction": "Sử dụng hàm đã lưu", @@ -4486,7 +4486,7 @@ "unsavedMessage": "Bạn có thay đổi chưa lưu. Bạn có chắc muốn rời đi?", "currentFolderLabel": "Thư mục hiện tại", "selectFolderLabel": "Chọn thư mục", - "selectFolderPlaceholder": "Chọn thư mục đích", + "selectFolderPlaceholder": "Chọn một thư mục đích", "selectDashboardLabel": "Chọn Bảng điều khiển", "selectTabLabel": "Chọn Tab", "layerType": "Loại lớp", @@ -5562,7 +5562,7 @@ "panelDuplicationFailed": "Nhân bản Panel thất bại", "firstColumn": "Cột đầu tiên", "zAxis": "Trục Z", - "breakdown": "Phân tích chi tiết", + "breakdown": "Phân tách", "pivotField": "Trường Pivot", "pivotFieldTooltip": "Kéo một trường thứ nguyên vào đây. Các giá trị riêng biệt của nó trở thành tiêu đề cột trong bảng pivot. Cho phép tối đa 3 trường để pivot nhiều cấp.", "breakdownTooltipHBar": "Sử dụng các trường này để chia dữ liệu thành các phần khác nhau trên trục Y để có cái nhìn rõ ràng hơn.", @@ -5657,7 +5657,7 @@ "home": { "alertsOverviewSection": "Phần tổng quan cảnh báo", "pipelinesOverviewSection": "Phần tổng quan quy trình xử lý", - "streams": "Luồng", + "streams": "Streams", "totalDataIngested": "Kích thước đã nhập", "totalDataCompressed": "Kích thước nén", "viewButton": "Xem", @@ -5669,7 +5669,7 @@ "description": "Tổ chức này chưa nhận được dữ liệu nào, vì vậy không có gì để biểu đồ. Khi các sự kiện bắt đầu truyền vào, khối lượng nhập, lưu trữ và sử dụng truy vấn của bạn sẽ tự động xuất hiện ở đây.", "logs": "Gửi nhật ký", "logsDesc": "{product1}, {product2}, {product3}, {product4} và nhiều hơn nữa", - "traces": "Gửi dấu vết", + "traces": "Gửi truy vết", "tracesDesc": "Tracing phân tán cho {product1} / {product2} / {product3}", "metrics": "Gửi số liệu", "metricsDesc": "{product1}, {product2}, {product3} và hơn thế nữa", @@ -5717,8 +5717,8 @@ "emptyActionAlertsDesc": "Xem lại các cảnh báo và ngưỡng đã cấu hình", "emptyActionLogs": "Khám phá nhật ký", "emptyActionLogsDesc": "Tìm kiếm và lọc các luồng log của bạn", - "emptyActionTraces": "Khám phá traces", - "emptyActionTracesDesc": "Kiểm tra traces phân tán và độ trễ dịch vụ", + "emptyActionTraces": "Khám phá truy vết", + "emptyActionTracesDesc": "Kiểm tra truy vết phân tán và độ trễ dịch vụ", "anomalyDetectedTitle": "Đã phát hiện bất thường — {name}", "anomalyDetectedDescription": "Luồng: {stream} · {count} điểm bất thường", "secondsAgo": "{count} giây trước", @@ -5767,7 +5767,7 @@ "stderr": "Stderr", "truncatedLabel": "đã cắt ngắn", "copyQuery": "Sao chép truy vấn", - "stream": "Luồng", + "stream": "Stream", "start": "Bắt đầu", "end": "Kết thúc", "from": "Từ", @@ -5806,7 +5806,7 @@ "taglineTail": ". Tôi có thể viết", "taglineSql": "SQL", "taglineVrl": "VRL", - "taglineAnd": "và hướng dẫn bạn qua các log, traces, metrics và sự cố.", + "taglineAnd": "và hướng dẫn bạn qua nhật ký, truy vết, chỉ số và sự cố của bạn.", "signedInAs": "Đã đăng nhập với tên", "role": "Vai trò", "tryOneOfThese": "Hoặc thử một trong những" @@ -5814,12 +5814,12 @@ "capabilities": { "query": { "title": "Viết truy vấn", - "description": "SQL cho logs, traces, RUM, hoặc PromQL cho metrics.", + "description": "SQL cho nhật ký, truy vết, RUM, hoặc PromQL cho chỉ số.", "prompt": "Giúp tôi viết một truy vấn" }, "incident": { "title": "Điều tra sự cố", - "description": "Nguyên nhân gốc rễ qua logs, traces, cảnh báo — ví dụ: \"Tại sao gateway-5xx kích hoạt?\"", + "description": "Truy nguyên nguyên nhân gốc trên nhật ký, trace, cảnh báo — ví dụ: \"Tại sao gateway-5xx kích hoạt?\"", "prompt": "Giúp tôi điều tra một sự cố" }, "dashboard": { @@ -5918,7 +5918,7 @@ "pipeline": "đường ống", "report": "báo cáo", "function": "hàm", - "stream": "luồng", + "stream": "stream", "folder": "thư mục", "panel": "bảng", "user": "người dùng", @@ -5962,7 +5962,7 @@ "features": "TÍNH NĂNG", "included": "Bao gồm những gì?", "proPlanSubtitle": "Giải pháp tùy chỉnh cho các nhóm nhỏ", - "unlimitedNote": "Người dùng, log, metrics, traces không giới hạn và hơn thế nữa.", + "unlimitedNote": "Không giới hạn người dùng, nhật ký, chỉ số, trace và hơn thế nữa.", "paymentNote": "Thanh toán được tính theo mức sử dụng vào cuối chu kỳ thanh toán hàng tháng.", "proPlanLabel": "Trả theo mức sử dụng", "contactLabel": "Liên hệ bộ phận bán hàng", @@ -6145,13 +6145,13 @@ "anomalyImportFailed": "Phát hiện bất thường - {index}: nhập \"{name}\" thất bại — {reason}", "nameRequired": "Cảnh báo - {index}: Tên là bắt buộc và phải là chuỗi hợp lệ.", "orgIdInvalid": "Cảnh báo - {index}: ID tổ chức là bắt buộc, phải tồn tại trong danh sách tổ chức và phải bằng {orgId}.", - "streamTypeInvalid": "Cảnh báo - {index}: Loại luồng là bắt buộc và phải là một trong: 'logs', 'metrics', 'traces'.", + "streamTypeInvalid": "Cảnh báo - {index}: Loại Stream là bắt buộc và phải là một trong: 'logs', 'metrics', 'traces'.", "streamNameInvalid": "Cảnh báo - {index}: Tên luồng là bắt buộc, phải tồn tại trong danh sách luồng và phải là chuỗi hợp lệ.", - "destinationsRequired": "Cảnh báo - {index}: Điểm đến là bắt buộc và phải là một mảng.", + "destinationsRequired": "Cảnh báo - {index}: Đích đến là bắt buộc và phải là một mảng.", "enabledBoolean": "Cảnh báo - {index}: Enabled phải là Boolean.", "tzOffsetNumber": "Cảnh báo - {index}: Múi giờ bù phải là một số.", "timezoneRequiredForCron": "Cảnh báo - {index}: Múi giờ là bắt buộc khi loại tần suất là 'cron'.", - "destinationNotExist": "Cảnh báo - {index}: Đích \"{destination}\" không tồn tại", + "destinationNotExist": "Cảnh báo - {index}: Đích đến \"{destination}\" không tồn tại", "createSuccess": "Cảnh báo - {index}: \"{name}\" được tạo thành công \nLưu ý: vui lòng xóa đối tượng cảnh báo {name} đã tạo khỏi tệp json", "createFailed": "Cảnh báo - {index}: Tạo \"{name}\" thất bại --> \n Lý do: {reason}", "unknownError": "Lỗi không xác định", @@ -6288,7 +6288,7 @@ "exportDialogSubtitle": "Xem lại định nghĩa, sau đó tải xuống dưới dạng JSON hoặc Terraform cho nhà cung cấp OpenObserve.", "jsonFilesOnlyHint": "Chỉ chấp nhận tệp .json", "outputMessages": "Thông báo đầu ra", - "destinationsRequiredLabel": "Điểm đến *", + "destinationsRequiredLabel": "Đích đến *", "timezoneRequiredLabel": "Múi giờ *", "organizationIdLabel": "Mã tổ chức", "alertCreationTitle": "Tạo cảnh báo", @@ -6328,13 +6328,13 @@ "guidelinesLabel": "Hướng dẫn:", "selectStreamGuideline": "Chọn một luồng hiện có từ danh sách hoặc nhập tên để tạo luồng mới", "enrichmentTablesTerm": "Enrichment_tables", - "enrichmentTablesDestinationNote": "vì luồng đích chỉ khả dụng cho các đường ống đã lên lịch", + "enrichmentTablesDestinationNote": "vì stream đích chỉ khả dụng cho pipeline theo lịch trình", "useCurlyBracesNote": "Sử dụng dấu ngoặc nhọn", "configureStreamNameDynamicNote": "để cấu hình tên stream một cách động. ví dụ.", "staticTextBeforeAfterNote": ". Văn bản tĩnh trước/sau", "isOptionalNote": "là tùy chọn", "noTriggersLoaded": "Không có trigger nào được tải", - "externalDestinationTitle": "Đích bên ngoài", + "externalDestinationTitle": "Đích đến bên ngoài", "serviceGraphLegendTitle": "Chú giải biểu đồ", "serviceGraphRootCause": "Đỏ = Nguyên nhân gốc tiềm ẩn", "serviceGraphHighFrequency": "Cam = Tần suất cao", @@ -6381,7 +6381,7 @@ "duration": "Thời lượng", "retries": "Số lần thử lại", "dedup": "Dedup", - "noDestinations": "Không có đích nào khả dụng", + "noDestinations": "Không có đích đến khả dụng", "validation": { "streamTypeRequired": "Loại luồng là bắt buộc.", "streamNameRequired": "Tên luồng là bắt buộc.", @@ -6392,7 +6392,7 @@ "validEmails": "Thêm email hợp lệ!", "silenceNonNegative": "Thông báo im lặng phải lớn hơn hoặc bằng 0", "periodPositive": "Khoảng thời gian phải lớn hơn 0", - "destinationRequired": "Cần ít nhất một điểm đến.", + "destinationRequired": "Cần ít nhất một đích đến.", "thresholdPositive": "Ngưỡng phải lớn hơn 0", "frequencyPositive": "Tần suất phải lớn hơn 0", "aggregationColumnRequired": "Cột là bắt buộc khi sử dụng hàm tổng hợp.", @@ -6403,7 +6403,7 @@ "minimumFrequency": "Tần suất tối thiểu phải là {minutes} phút", "nameMandatoryString": "Tên là bắt buộc và phải là một chuỗi hợp lệ", "orgIdMismatch": "ID tổ chức phải bằng {orgId}", - "streamTypeMandatory": "Loại luồng là bắt buộc và phải là một trong: logs, metrics, traces", + "streamTypeMandatory": "Loại Stream là bắt buộc và phải là một trong: logs, metrics, traces", "streamNameMandatoryString": "Tên luồng là bắt buộc và phải là một chuỗi hợp lệ", "streamNotInList": "Luồng \"{streamName}\" không tồn tại trong danh sách luồng", "isRealTimeMandatoryBoolean": "Is Real-Time là bắt buộc và phải là giá trị boolean", @@ -6435,10 +6435,10 @@ "cronRequiredForCronType": "Biểu thức cron là bắt buộc khi loại tần suất là cron", "timezoneRequiredForCronType": "Múi giờ là bắt buộc khi loại tần suất là cron", "triggerConditionRequired": "Điều kiện kích hoạt là bắt buộc", - "destinationsArray": "Các điểm đến phải là một mảng", - "destinationRequiredPlain": "Cần ít nhất một điểm đến", - "noDestinationsInSystem": "Không tìm thấy điểm đến khả dụng trong hệ thống", - "invalidDestinations": "Điểm đến không hợp lệ: {destinations} - phải từ danh sách điểm đến khả dụng", + "destinationsArray": "Đích đến phải là một mảng", + "destinationRequiredPlain": "Cần ít nhất một đích đến", + "noDestinationsInSystem": "Không tìm thấy đích đến khả dụng trong hệ thống", + "invalidDestinations": "Đích đến không hợp lệ: {destinations} - phải thuộc danh sách đích đến khả dụng", "enabledFlagBoolean": "Cờ kích hoạt phải là boolean", "silenceNotificationRequired": "Thông báo im lặng không được để trống", "thresholdNotEmpty": "Ngưỡng không được để trống", @@ -6459,8 +6459,8 @@ "searchAllFolders": "Tất cả thư mục", "streamConfig": "Cấu hình luồng", "alertRules": "Quy tắc cảnh báo", - "noTemplatesMsg": "Để tạo cảnh báo, bạn cần ít nhất một mẫu và một điểm đến. Mẫu xác định định dạng của thông báo — hãy bắt đầu bằng cách tạo một mẫu.", - "noDestinationsMsg": "Để tạo cảnh báo, bạn cần ít nhất một điểm đến và một mẫu. Điểm đến xác định nơi gửi thông báo — hãy bắt đầu bằng cách tạo một điểm đến.", + "noTemplatesMsg": "Để tạo cảnh báo, bạn cần ít nhất một mẫu và một đích đến. Mẫu xác định định dạng của thông báo — hãy bắt đầu bằng việc tạo một mẫu.", + "noDestinationsMsg": "Để tạo cảnh báo, bạn cần ít nhất một đích đến và một mẫu. Đích đến xác định nơi thông báo được gửi đến — hãy bắt đầu bằng việc tạo một đích đến.", "add": "Cảnh báo mới", "edit": "Chỉnh sửa", "clone": "Nhân bản cảnh báo", @@ -6512,21 +6512,21 @@ "threshold": "Cảnh báo nếu ", "silenceNotification": "Thời gian hồi chiêu", "destination": "Đích đến", - "destinationOrWorkflowRequired": "Thêm ít nhất một điểm đến hoặc quy trình làm việc.", + "destinationOrWorkflowRequired": "Thêm ít nhất một đích đến hoặc quy trình làm việc.", "customDestination": "Đích đến tùy chỉnh", - "customDestinationDescription": "Cấu hình điểm cuối HTTP tùy chỉnh hoặc đích đến email", - "testIdleMessage": "Nhấp 'Kiểm tra' để xác minh cấu hình đích đến của bạn", + "customDestinationDescription": "Cấu hình điểm cuối HTTP hoặc đích đến email tùy chỉnh", + "testIdleMessage": "Nhấp 'Test' để xác minh cấu hình đích đến của bạn", "destinationPreview": "Xem trước đích đến", "template": "Ghi đè mẫu", "additionalVariables": "Biến bổ sung", - "testSuccessMessage": "Kiểm tra thành công! Đích đến của bạn được cấu hình đúng.", + "testSuccessMessage": "Kiểm tra thành công! Đích đến của bạn đã được cấu hình chính xác.", "testFailedMessage": "Kiểm tra thất bại. Vui lòng kiểm tra lại cấu hình và thử lại.", "testFailedWithReason": "Kiểm tra thất bại: {reason}", "testInProgress": "Đang kiểm tra đích đến...", "sendingNotification": "Đang gửi thông báo kiểm tra để xác minh kết nối", "testErrorDNS": "Phân giải DNS thất bại. Vui lòng kiểm tra URL webhook hoặc tên máy chủ.", "testErrorConnection": "Kết nối bị từ chối. Vui lòng xác minh URL và đảm bảo dịch vụ có thể truy cập.", - "testErrorTimeout": "Yêu cầu hết thời gian chờ. Dịch vụ đích đến có thể chậm hoặc không thể truy cập.", + "testErrorTimeout": "Yêu cầu hết thời gian. Dịch vụ đích đến có thể chậm hoặc không truy cập được.", "testErrorSSL": "Lỗi chứng chỉ SSL/TLS. Vui lòng xác minh chứng chỉ hoặc tắt xác minh SSL.", "testErrorClientError": "Lỗi máy khách (4xx). Vui lòng kiểm tra thông tin đăng nhập và cấu hình của bạn.", "testErrorServerError": "Lỗi máy chủ (5xx). Dịch vụ đích đến đang gặp sự cố.", @@ -6536,7 +6536,7 @@ "responseBody": "Nội dung phản hồi", "retry": "Thử lại", "suggestCheckUrl": "Vui lòng xác minh URL webhook là chính xác và có thể truy cập.", - "suggestCheckFirewall": "Kiểm tra cài đặt tường lửa của bạn và đảm bảo dịch vụ đích đến có thể truy cập.", + "suggestCheckFirewall": "Kiểm tra cài đặt tường lửa và đảm bảo dịch vụ đích đến có thể truy cập được.", "suggestCheckCredentials": "Vui lòng xác minh thông tin đăng nhập API của bạn là chính xác.", "suggestCheckPermissions": "Kiểm tra rằng thông tin đăng nhập của bạn có các quyền cần thiết.", "suggestCheckEndpoint": "Vui lòng xác minh URL điểm cuối là chính xác.", @@ -6601,7 +6601,7 @@ "notEqualTo": "không bằng", "eventsDetected": "sự kiện được phát hiện", "sendsTo": "Gửi tới", - "noDestination": "Không có đích", + "noDestination": "Không có đích đến", "notSetupYet": "(chưa thiết lập)", "cooldown": "Thời gian chờ", "betweenAlerts": "giữa các cảnh báo", @@ -6732,7 +6732,7 @@ "ifPrefix": "nếu", "noConditionsDefined": "Chưa xác định điều kiện", "loadingCorrelatedMetrics": "Đang tải số liệu tương quan...", - "loadingCorrelatedTraces": "Đang tải trace tương quan...", + "loadingCorrelatedTraces": "Đang tải các trace tương quan...", "disambiguationChangedMessage": "Cấu hình khám phá dịch vụ (các trường phân biệt) đã được thay đổi sau khi sự cố này được tạo.", "noActivityYet": "Chưa có hoạt động nào", "eventsAndCommentsAppearHere": "Sự kiện và bình luận sẽ xuất hiện tại đây", @@ -6844,7 +6844,7 @@ "noAlertDetailsAvailable": "Không có chi tiết cảnh báo", "clickOnTriggerToViewDetails": "Nhấp vào một trình kích hoạt trong bảng để xem chi tiết", "refreshCorrelatedData": "Làm mới dữ liệu tương quan", - "showingCorrelatedTraces": "Hiển thị dấu vết tương quan từ khung thời gian sự cố", + "showingCorrelatedTraces": "Hiển thị các trace tương quan trong khung thời gian sự cố", "incidentTitleUpdatedSuccess": "Tiêu đề sự cố đã được cập nhật thành công", "markAsAcknowledgedTooltip": "Đánh dấu sự cố là đã xác nhận và đang được xử lý", "markAsResolvedTooltip": "Đánh dấu sự cố là đã giải quyết và đóng nó", @@ -6964,16 +6964,16 @@ "helpLegendLiveExample": "CPU cao", "helpLegendSampleExample": "42", "sectionTitle": "Cài đặt", - "noDestinationsAvailable": "Không có điểm đến khả dụng", - "noTargetsAvailable": "Không có điểm đến hoặc quy trình làm việc nào khả dụng", - "targetsDestinationsGroup": "Điểm đến", + "noDestinationsAvailable": "Không có đích đến khả dụng", + "noTargetsAvailable": "Không có đích đến hoặc quy trình làm việc khả dụng", + "targetsDestinationsGroup": "Đích đến", "targetsWorkflowsGroup": "Quy trình làm việc", - "refreshDestinations": "Làm mới điểm đến mới nhất", - "addNewDestination": "Thêm điểm đến", + "refreshDestinations": "Làm mới đích đến mới nhất", + "addNewDestination": "Thêm đích đến", "cooldownTooltip": "Nếu cảnh báo được kích hoạt, nó sẽ đợi bao lâu trước khi gửi thông báo khác. Ví dụ: nếu cảnh báo được kích hoạt lúc 4:00 PM và thời gian tạm dừng thông báo được đặt là 10 phút, thì nó sẽ không gửi thông báo khác cho đến 4:10 PM ngay cả khi cảnh báo vẫn còn sau 1 phút. Điều này để tránh làm phiền người dùng bằng các thông báo.", "periodTooltip": "Khoảng thời gian mà truy vấn sẽ chạy. Ví dụ: 10 phút có nghĩa là bất cứ khi nào truy vấn chạy, nó sẽ sử dụng dữ liệu 10 phút cuối cùng.", "timezoneWarning": "Cảnh báo: Múi giờ hiển thị chỉ là xấp xỉ. Hãy xác minh và chọn múi giờ chính xác theo cách thủ công.", - "destinationsTooltip": "Chọn một hoặc nhiều điểm đến để gửi thông báo cảnh báo.", + "destinationsTooltip": "Chọn một hoặc nhiều đích đến để gửi thông báo cảnh báo.", "createsIncident": "Tạo sự cố", "createsIncidentTooltip": "Nếu cảnh báo có thể tạo sự cố, nó sẽ không gửi thông báo riêng. Thay vào đó, thông báo về sự cố được gửi khi sự cố mới được tạo hoặc loại cảnh báo mới tham gia vào sự cố hiện có.", "helpTemplateTitle": "Ghi đè mẫu", @@ -6985,11 +6985,11 @@ "helpLegendLive": "các giá trị thực tế của cảnh báo của bạn", "helpLegendSample": "một mẫu — giá trị thực được đặt khi cảnh báo được kích hoạt", "helpLegendOpaque": "được thêm tự động khi cảnh báo được kích hoạt", - "helpTemplateExplain": "Mẫu là thông báo được gửi đi — văn bản cộng với các biến như {'{'}alert_name{'}'}. Chọn một mẫu ở đây sẽ ghi đè mẫu riêng của từng điểm đến, chỉ cho cảnh báo này.", + "helpTemplateExplain": "Mẫu là thông báo được gửi đi — văn bản cộng với các biến như {'{'}alert_name{'}'}. Chọn một mẫu ở đây sẽ ghi đè mẫu riêng của từng đích đến, chỉ cho cảnh báo này.", "helpCurrentHeading": "Cảnh báo này gửi gì bây giờ", - "helpCurrentNoOverride": "Không có ghi đè — mỗi điểm đến sử dụng mẫu riêng:", - "helpCurrentNoDestinations": "Chưa chọn điểm đến nào. Mỗi điểm đến sẽ sử dụng mẫu đã cấu hình riêng.", - "helpCurrentOverrideHeading": "Tất cả điểm đến sử dụng mẫu này:", + "helpCurrentNoOverride": "Không có ghi đè — mỗi đích đến sử dụng mẫu riêng của nó:", + "helpCurrentNoDestinations": "Chưa chọn đích đến nào. Mỗi đích đến sẽ sử dụng mẫu đã cấu hình riêng của nó.", + "helpCurrentOverrideHeading": "Tất cả đích đến sử dụng mẫu này:", "helpPreviewHeading": "Xem trước mẫu", "helpPreviewSelectPlaceholder": "Chọn mẫu để xem trước", "helpApplyToAlert": "Áp dụng cho cảnh báo", @@ -7001,7 +7001,7 @@ "helpYourVariablesEmpty": "Bạn chưa thêm biến nào.", "helpRowTemplateExplain": "Một cảnh báo có thể khớp với nhiều dòng. Mẫu dòng quyết định cách một dòng đơn hiển thị. Sau đó {'{'}rows{'}'} trong mẫu chính của bạn sẽ đưa vào mỗi dòng khớp, đã được định dạng.", "helpRowTemplateTypeHeading": "Chuỗi so với JSON", - "helpRowTemplateTypeExplain": "Chuỗi tạo ra văn bản thuần cho mỗi dòng. JSON tạo ra đối tượng JSON cho mỗi dòng, phù hợp với các điểm đến có cấu trúc.", + "helpRowTemplateTypeExplain": "Chuỗi (String) tạo ra văn bản thuần cho mỗi hàng. JSON tạo ra một đối tượng JSON cho mỗi hàng, phù hợp cho các đích đến có cấu trúc.", "helpRowTemplateTypeCurrent": "Đã chọn hiện tại:", "helpPreviewHeadingShort": "Xem trước", "helpWhyHeading": "Tại sao sử dụng biến?", @@ -7014,7 +7014,7 @@ "helpVariablesExampleCaption": "Thêm mức độ nghiêm trọng và nhóm làm biến, sau đó sử dụng chúng ở bất kỳ đâu trong mẫu:", "helpExampleResultLabel": "Nội dung được gửi", "helpTemplateWhenHeading": "Khi nào tôi nên ghi đè?", - "helpTemplateWhenDesc": "Để trống mục này và mỗi đích sẽ sử dụng mẫu riêng của nó. Đặt ghi đè khi bạn muốn cảnh báo này gửi cùng một thông điệp nhất quán đến mọi đích — mà không cần chỉnh sửa mẫu của từng đích.", + "helpTemplateWhenDesc": "Để trống mục này và mỗi đích sẽ dùng mẫu riêng của nó. Đặt ghi đè khi bạn muốn cảnh báo này gửi cùng một thông điệp nhất quán đến mọi đích — mà không cần chỉnh sửa mẫu của từng đích.", "helpRowTemplateWhyHeading": "Tại sao cần mẫu hàng?", "helpRowTemplateWhyDesc": "Một cảnh báo có thể khớp với nhiều bản ghi. Mẫu hàng định dạng một bản ghi; {'{'}rows{'}'} sau đó đưa mọi bản ghi đã định dạng vào mẫu chính — vì vậy bạn liệt kê tất cả các kết quả khớp mà không cần viết vòng lặp.", "helpRowTemplateExampleCaption": "Mỗi hàng khớp được định dạng bởi mẫu hàng, sau đó {'{'}rows{'}'} đưa tất cả chúng vào mẫu chính:", @@ -7026,7 +7026,7 @@ "helpDestinationNoTemplate": "Sử dụng định dạng mặc định của đích này.", "builtInVars": { "orgName": "Tên tổ chức của bạn", - "streamType": "Loại stream (logs, metrics, traces)", + "streamType": "Loại luồng (nhật ký, chỉ số, truy vết)", "streamName": "Tên stream mà cảnh báo theo dõi", "alertName": "Tên của cảnh báo", "alertType": "Loại cảnh báo (ví dụ: theo lịch, thời gian thực)", @@ -7048,7 +7048,7 @@ }, "advanced": { "addVariable": "Thêm biến", - "variablesTooltip": "Biến được sử dụng để truyền dữ liệu từ cảnh báo đến đích.", + "variablesTooltip": "Biến được dùng để truyền dữ liệu từ cảnh báo đến đích.", "templateType": "Loại mẫu:", "noTemplatesAvailable": "Không có mẫu nào khả dụng", "refreshTemplates": "Làm mới các mẫu mới nhất", @@ -7156,7 +7156,7 @@ "noDestinationsFound": "Không tìm thấy đích nào", "noFieldsFound": "Không tìm thấy trường nào", "notifications": "Thông báo", - "notificationsTooltip": "Khi được bật, thông báo sẽ được gửi đến đích đã chọn bất cứ khi nào phát hiện bất thường.", + "notificationsTooltip": "Khi được bật, một thông báo sẽ được gửi đến đích đã chọn mỗi khi phát hiện bất thường.", "retrainEvery": "Huấn luyện lại mỗi", "retrainEveryTooltip": "Tần suất tự động huấn luyện lại mô hình. \"Không bao giờ\" nghĩa là huấn luyện một lần và giữ nguyên mô hình cho đến khi huấn luyện lại thủ công.", "retrainFourteenDays": "14 ngày", @@ -7178,7 +7178,7 @@ "summaryDetectionFunction": "✓ Chức năng phát hiện: {fn}", "summaryDetectionWindow": "✓ Cửa sổ phát hiện: {window} gần nhất", "summaryMonitoring": "Giám sát \"{stream}\" mỗi {schedule} để phát hiện bất thường {fn}, được huấn luyện trên {trainingDays} ngày lịch sử", - "summaryNoDestinationSet": "Chưa đặt đích đến", + "summaryNoDestinationSet": "Chưa đặt đích", "summaryQueryMode": "✓ Chế độ truy vấn: {mode}", "summaryResolution": "✓ Độ phân giải: {resolution}", "summaryRetrain": "✓ Đào tạo lại: {retrain}", @@ -7304,21 +7304,21 @@ "triggerAlertFailed": "Không thể kích hoạt cảnh báo", "triggerRetrainingFailed": "Không thể kích hoạt đào tạo lại", "bulkDeleteAlertsFailed": "Lỗi khi xóa các cảnh báo. Vui lòng thử lại.", - "deleteDestinationFailed": "Lỗi khi xóa đích đến", - "bulkDeleteDestinationsFailed": "Lỗi khi xóa các đích đến. Vui lòng thử lại.", + "deleteDestinationFailed": "Lỗi khi xóa đích", + "bulkDeleteDestinationsFailed": "Lỗi khi xóa các đích. Vui lòng thử lại.", "bulkDeleteTemplatesFailed": "Lỗi khi xóa các mẫu. Vui lòng thử lại." }, "prebuilt": { - "conversionSuccess": "Đích đến đã được chuyển đổi thành công", + "conversionSuccess": "Đã chuyển đổi đích thành công", "validationError": "Lỗi xác thực: {error}", - "invalidDestinationType": "Loại đích đến không hợp lệ", + "invalidDestinationType": "Loại đích không hợp lệ", "invalidTargetType": "Loại mục tiêu không hợp lệ", - "unknownDestinationType": "Loại đích đến không xác định", + "unknownDestinationType": "Loại đích không xác định", "testFailedUnknownError": "Kiểm tra thất bại với lỗi không xác định" }, "confirmDeleteAlerts": "Bạn có chắc chắn muốn xóa {count} cảnh báo không? | Bạn có chắc chắn muốn xóa {count} cảnh báo không?", - "confirmDeleteDestinations": "Bạn có chắc chắn muốn xóa {count} đích không? | Bạn có chắc chắn muốn xóa {count} đích không?", - "prebuiltDestination": "Đích {type} được tạo sẵn", + "confirmDeleteDestinations": "Bạn có chắc chắn muốn xóa {count} đích? | Bạn có chắc chắn muốn xóa {count} đích?", + "prebuiltDestination": "Đích {type} dựng sẵn", "errorValidations": "Lỗi xác thực", "outputMessagesLabel": "Thông báo đầu ra", "incidentSingular": "Sự cố", @@ -7523,20 +7523,20 @@ "actionOpen": "Mở", "actionDelete": "Xóa", "deleteTitle": "Xóa {name}?", - "deleteMessage": "Thao tác này sẽ xóa vĩnh viễn. Việc xóa sẽ bị chặn nếu cảnh báo hoặc đích đến vẫn còn sử dụng nó.", + "deleteMessage": "Thao tác này xóa vĩnh viễn. Việc xóa bị chặn nếu một cảnh báo hoặc đích vẫn còn sử dụng nó.", "deletedToast": "{name} đã được xóa", "deleteFailedToast": "Không thể xóa {name}", "loading": "Đang xây dựng biểu đồ phụ thuộc…", "failedToLoad": "Không thể tải các phụ thuộc: {error}", "usedBy": "{count} cảnh báo | {count} cảnh báo", - "countDestinations": "{count} đích đến | {count} đích đến", + "countDestinations": "{count} đích | {count} đích", "usedByColumn": "Được sử dụng bởi", "searchPlaceholder": "Tìm kiếm", "noDependencies": "Không có phụ thuộc nào.", "noMatches": "Không có kết quả khớp nào.", "laneEmpty": "Không có cảnh báo", "directOverrides": "Sử dụng mẫu này trực tiếp", - "sectionDestinations": "Đích đến", + "sectionDestinations": "Các đích", "sectionAlerts": "Cảnh báo", "orphanTag": "Không sử dụng", "missingTag": "Thiếu", @@ -7587,7 +7587,7 @@ "noDescription": "Không có mô tả trong thư viện.", "needsDataCallout": "Cảnh báo này truy vấn {stream}, mà tổ chức này không tiếp nhận. Cài đặt ngay bây giờ sẽ tạo một cảnh báo không bao giờ kích hoạt.", "query": "Truy vấn", - "stream": "Stream", + "stream": "Luồng", "streamType": "Loại stream", "metricCondition": "Điều kiện metric", "matchCount": "Số hàng khớp yêu cầu", @@ -7609,18 +7609,18 @@ "install": { "title": "Cài đặt từ thư viện", "subtitle": "Chọn nơi cảnh báo thông báo, chọn cảnh báo để cài đặt và nơi chúng được lưu trữ.", - "stepDestination": "Điểm đến", + "stepDestination": "Đích", "stepAlerts": "Cảnh báo", "stepFolder": "Thư mục", "stepTune": "Tinh chỉnh", "stepInstall": "Cài đặt", - "destinationIntro": "Mọi cảnh báo trong đợt này thông báo đến điểm đến bạn chọn ở đây. Các tệp thư viện đặt tên điểm đến của tổ chức mà chúng được xuất ra, vốn không tồn tại trong tổ chức của bạn.", - "destinationLabel": "Điểm đến", - "destinationPlaceholder": "Chọn điểm đến", - "destinationsLoadFailed": "Không thể tải các điểm đến hiện có của bạn.", + "destinationIntro": "Mọi cảnh báo trong lô này sẽ thông báo đến đích bạn chọn tại đây. Các tệp thư viện đặt tên cho các đích của tổ chức mà chúng được xuất ra, vốn không tồn tại trong tổ chức của bạn.", + "destinationLabel": "Đích", + "destinationPlaceholder": "Chọn một đích", + "destinationsLoadFailed": "Không thể tải các đích hiện có của bạn.", "retry": "Thử lại", - "destinationsNoneBody": "Tổ chức này chưa có điểm đến cảnh báo nào, vì vậy không có nơi để các cảnh báo này thông báo. Hãy tạo một điểm đến trên trang Điểm đến, sau đó quay lại và chọn nó ở đây.", - "openDestinations": "Mở Điểm đến", + "destinationsNoneBody": "Tổ chức này chưa có đích cảnh báo nào, vì vậy không có nơi nào để các cảnh báo này gửi thông báo. Hãy tạo một đích trên trang Đích, sau đó quay lại và chọn nó tại đây.", + "openDestinations": "Mở Đích", "selectAll": "Chọn tất cả", "clear": "Xóa", "selectedCount": "Đã chọn {count} trong {total}", @@ -7735,7 +7735,7 @@ "chartPreviewPlaceholder": "Biểu đồ xuất hiện ở đây trong thông báo thực tế — nó được vẽ từ lịch sử đánh giá của chính cảnh báo, điều mà bản xem trước không có.", "channelTitlesDescription": "Sử dụng tiêu đề khác trên các kênh cụ thể — ví dụ: dòng chủ đề ngắn hơn cho email.", "namePlaceholder": "ví dụ: Tỷ lệ lỗi cao", - "nameLockedHint": "Cảnh báo và điểm đến tham chiếu mẫu này theo tên, vì vậy không thể đổi tên. Nhân bản mẫu để tạo bản sao với tên mới.", + "nameLockedHint": "Cảnh báo và đích tham chiếu đến mẫu này theo tên, vì vậy không thể đổi tên nó. Nhân bản mẫu để tạo một bản sao với tên mới.", "rawBodyCaption": "Được gửi chính xác như đã viết, với {'{'}variables{'}'} được thay thế. Xem Hướng dẫn Biến để biết mọi thứ có sẵn.", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "ví dụ: Giá trị", @@ -7852,10 +7852,10 @@ "editTitle": "Chỉnh sửa nguồn cảnh báo", "name": "Tên", "nameHint": "Chỉ là nhãn — mọi nguồn đều sử dụng cùng một cấu hình.", - "incidentDestination": "Điểm đến sự cố", + "incidentDestination": "Đích sự cố", "incidentDestinationPlaceholder": "Sử dụng mặc định của tổ chức", "incidentDestinationHint": "Nơi các thông báo được gửi đến khi cảnh báo từ nguồn này tạo hoặc tham gia một sự cố. Để trống để sử dụng mặc định của tổ chức — nếu không thiết lập, các sự cố khớp sẽ kích hoạt âm thầm.", - "noDestinationSet": "Chưa đặt điểm đến sự cố", + "noDestinationSet": "Chưa đặt đích sự cố", "setupStep1Title": "1. Tạo webhook", "setupStep1Body": "Trong Grafana, Alertmanager hoặc bất kỳ công cụ nào có thể POST JSON, hãy tạo một điểm liên hệ / bộ thu webhook.", "setupRemainingStepsHint": "Lưu nguồn này để lấy URL và token, sau đó dán chúng vào cấu hình webhook đó.", @@ -7879,12 +7879,12 @@ "updatedSuccess": "Đã cập nhật nguồn cảnh báo", "error": "Lỗi khi tải nguồn cảnh báo", "senderError": "Lỗi khi tải trạng thái nguồn", - "destinationsLoadError": "Lỗi khi tải điểm đến" + "destinationsLoadError": "Lỗi khi tải các đích" }, "alert_destinations": { - "sectionTab": "Đích đến", + "sectionTab": "Đích", "chooseTypeTitle": "Chọn Loại", - "selectDestinationType": "Chọn Loại Điểm Đến", + "selectDestinationType": "Chọn Loại Đích", "connectionStepTitle": "Kết nối", "connectionDetailsTitle": "Chi tiết Kết nối", "urlHelpText": "URL gốc không có dấu gạch chéo ở cuối (ví dụ: https://your-domain.com)", @@ -7903,10 +7903,10 @@ "datadogHostnameHelpText": "Tên máy chủ cho nhật ký Datadog", "exampleLabel": "Ví dụ:", "subtitle": "Nơi các cảnh báo đã kích hoạt được gửi đến", - "exportDestination": "Điểm đến Xuất", - "deleteDestinationTitle": "Xóa Điểm đến", - "deleteDestinationMessage": "Bạn có chắc chắn muốn xóa điểm đến này không?", - "deleteDestinationsTitle": "Xóa các điểm đến", + "exportDestination": "Xuất Đích", + "deleteDestinationTitle": "Xóa Đích", + "deleteDestinationMessage": "Bạn có chắc chắn muốn xóa đích không?", + "deleteDestinationsTitle": "Xóa Các Đích", "selected": "đã chọn", "organizationLabel": "Tổ chức", "defaultPlaceholder": "ví dụ: default", @@ -7925,20 +7925,20 @@ "ddTagsPlaceholder": "Nhập thẻ (ví dụ: env:prod,version:1.0)", "serviceLabel": "Dịch vụ", "servicePlaceholder": "Nhập tên dịch vụ (ví dụ: api-gateway)", - "header": "Đích đến thông báo", - "add": "Đích đến mới", + "header": "Đích Thông Báo", + "add": "Đích mới", "edit": "Chỉnh sửa", - "search": "Tìm kiếm đích đến", + "search": "Tìm kiếm đích", "filterAll": "Tất cả", "filterPrebuilt": "Dựng sẵn", "filterCustom": "Tùy chỉnh", "templateDefaultBadge": "Mặc định", "name": "Tên", - "destination_type": "Loại đích đến", + "destination_type": "Loại Đích", "template": "Mẫu", "actions": "Hành động", - "addTitle": "Đích đến mới", - "updateTitle": "Cập nhật đích đến", + "addTitle": "Đích mới", + "updateTitle": "Cập nhật đích", "delete": "Xóa", "method": "Phương thức", "url": "URL", @@ -7952,7 +7952,7 @@ "custom_headers": "Tiêu đề tùy chỉnh (Tùy chọn)", "preview": "Xem trước", "test": "Kiểm tra", - "saved": "Đích đến đã được lưu thành công", + "saved": "Đã lưu đích thành công", "customWebhook": "Tùy chỉnh (Webhook)", "customEmail": "Tùy chỉnh (Email)", "customAction": "Tùy chỉnh (Hành động)", @@ -7962,7 +7962,7 @@ "separator_hint": "Chuỗi phân cách dùng giữa các bản ghi (cho phép khoảng trắng)", "templateDefaultOption": "Mặc định ({name})", "templateHelp": "Để mặc định để sử dụng mẫu {type} tiêu chuẩn ({name}), hoặc chọn mẫu tùy chỉnh.", - "loadingData": "Đang tải dữ liệu đích đến...", + "loadingData": "Đang tải dữ liệu đích...", "noEmailTemplates": "Có vẻ như bạn chưa tạo Mẫu Email nào.", "createEmailTemplate": "Tạo Mẫu Email", "headers": "Tiêu đề", @@ -7977,40 +7977,40 @@ "servicenowDescription": "Tạo sự cố trong ServiceNow" }, "import": { - "title": "Nhập Đích đến", + "title": "Nhập đích", "errorValidations": "Xác thực Lỗi", "outputMessages": "Tin nhắn Đầu ra", - "destinationName": "Tên Đích đến", - "destinationUrl": "URL Đích đến", - "destinationMethod": "Phương thức Đích đến", + "destinationName": "Tên đích", + "destinationUrl": "URL đích", + "destinationMethod": "Phương thức đích", "templates": "Mẫu", "emails": "Email (phân cách bằng dấu phẩy)", "actions": "Hành động", - "destinationCreation": "Tạo Đích đến", + "destinationCreation": "Tạo đích", "jsonStringEmpty": "Chuỗi JSON trống", "invalidJsonFormat": "Định dạng JSON không hợp lệ", - "importSuccess": "Đã nhập đích đến thành công", - "importError": "Lỗi khi nhập Đích đến, vui lòng kiểm tra JSON", + "importSuccess": "Đã nhập các đích thành công", + "importError": "Lỗi khi nhập đích, vui lòng kiểm tra JSON", "unknownError": "Lỗi không xác định", - "nameRequired": "Đích đến - {index}: Trường \"name\" là bắt buộc và phải là một chuỗi hợp lệ.", - "nameExists": "Đích đến - {index}: \"{name}\" đã tồn tại", - "typeInvalid": "Đích đến - {index}: Trường \"type\" phải là \"email\", \"http\", hoặc \"action\"", - "actionTypeNotSupported": "Đích đến - {index}: Loại 'action' không được hỗ trợ.", - "actionNotFound": "Đích đến - {index}: Hành động \"{actionId}\" không tồn tại cho loại \"{type}\"", - "urlRequired": "Đích đến - {index}: Trường \"url\" là bắt buộc cho đích đến loại http.", - "methodInvalid": "Đích đến - {index}: Trường \"method\" phải là một trong \"post\", \"get\", hoặc \"put\"", - "templateRequiredHttp": "Đích đến - {index}: Trường \"template\" là bắt buộc cho đích đến loại http.", - "skipTlsVerifyRequired": "Đích đến - {index}: Trường \"skip_tls_verify\" là bắt buộc và phải là giá trị boolean", - "headersMustBeObject": "Đích đến - {index}: 'headers' phải là một đối tượng cho loại http", - "urlNotAllowedEmail": "Đích đến - {index}: 'url' không nên được cung cấp cho loại email", - "headersNotAllowedEmail": "Đích đến - {index}: 'headers' không nên được cung cấp cho loại email", - "emailsRequired": "Đích đến - {index}: Trường \"emails\" là bắt buộc và phải là một mảng cho đích đến loại email.", - "emailsMustBeStrings": "Đích đến - {index}: 'emails' phải là một mảng các chuỗi cho loại email", - "templateRequiredEmail": "Đích đến - {index}: Trường \"template\" là bắt buộc cho đích đến loại email.", - "templateNotFound": "Đích đến - {index}: Mẫu \"{template}\" không tồn tại cho loại \"{type}\"", - "actionIdInvalid": "Đích đến - {index}: Trường \"action_id\" phải là một chuỗi hợp lệ.", - "createSuccess": "Đích đến - {index}: \"{name}\" đã được tạo thành công \nLưu ý: vui lòng xóa đối tượng đích đến đã tạo {name} khỏi tệp json", - "createFailed": "Đích đến - {index}: Tạo \"{name}\" thất bại --> \n Lý do: {reason}" + "nameRequired": "Đích - {index}: Trường \"name\" là bắt buộc và phải là một chuỗi hợp lệ.", + "nameExists": "Đích - {index}: \"{name}\" đã tồn tại", + "typeInvalid": "Đích - {index}: Trường \"type\" phải là \"email\", \"http\" hoặc \"action\".", + "actionTypeNotSupported": "Đích - {index}: Loại 'action' không được hỗ trợ.", + "actionNotFound": "Đích - {index}: action \"{actionId}\" không tồn tại cho loại \"{type}\"", + "urlRequired": "Đích - {index}: Trường \"url\" là bắt buộc cho các đích loại http.", + "methodInvalid": "Đích - {index}: Trường \"method\" phải là một trong \"post\", \"get\" hoặc \"put\".", + "templateRequiredHttp": "Đích - {index}: Trường \"template\" là bắt buộc cho các đích loại http.", + "skipTlsVerifyRequired": "Đích - {index}: Trường \"skip_tls_verify\" là bắt buộc và phải là giá trị boolean.", + "headersMustBeObject": "Đích - {index}: 'headers' phải là một đối tượng cho loại http.", + "urlNotAllowedEmail": "Đích - {index}: Không nên cung cấp 'url' cho loại email.", + "headersNotAllowedEmail": "Đích - {index}: Không nên cung cấp 'headers' cho loại email.", + "emailsRequired": "Đích - {index}: Trường \"emails\" là bắt buộc và phải là một mảng cho các đích loại email.", + "emailsMustBeStrings": "Đích - {index}: 'emails' phải là một mảng các chuỗi cho loại email.", + "templateRequiredEmail": "Đích - {index}: Trường \"template\" là bắt buộc cho các đích loại email.", + "templateNotFound": "Đích - {index}: template \"{template}\" không tồn tại cho loại \"{type}\"", + "actionIdInvalid": "Đích - {index}: Trường \"action_id\" phải là một chuỗi hợp lệ.", + "createSuccess": "Đích - {index}: \"{name}\" đã được tạo thành công \nLưu ý: vui lòng xóa đối tượng đích {name} đã tạo khỏi tệp json ", + "createFailed": "Đích - {index}: Tạo \"{name}\" thất bại --> \n Lý do: {reason}" }, "priorityP1Description": "Cảnh báo ưu tiên cao nhất", "priorityP2Description": "Cảnh báo ưu tiên cao", @@ -8023,8 +8023,8 @@ "severityInfoDescription": "Sự cố thông tin" }, "pipeline_destinations": { - "header": "Đích đến của Pipeline", - "search": "Tìm kiếm đích đến" + "header": "Đích Pipeline", + "search": "Tìm kiếm đích" }, "storage_settings": { "heroBrand": "OpenObserve.", @@ -8234,7 +8234,7 @@ }, "metricCard": { "lastRefreshed": "Làm mới lần cuối:", - "traceId": "ID Trace: {id}", + "traceId": "Trace ID: {id}", "metricLabel": "Chỉ số: {name}", "queryLabel": "Truy vấn: {query}", "errorLabel": "Lỗi: {error}", @@ -8387,8 +8387,8 @@ "customLogoText": "Văn bản logo tùy chỉnh", "orgLabel": "Tham số tổ chức", "logDetails": "Chi tiết nhật ký", - "traceIdFieldName": "Tên trường ID Trace", - "spanIdFieldName": "Tên trường ID Span", + "traceIdFieldName": "Tên trường Trace ID", + "spanIdFieldName": "Tên trường Span ID", "toggleIngestionLogsLabel": "Bật/tắt nhật ký nhập", "usageStreamEnabledLabel": "Bật luồng sử dụng", "claimParserFunction": "Trình phân tích xác nhận SSO", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "Ánh xạ Tác nhân GenAI", "title": "Ánh xạ Tác nhân GenAI", - "description": "Cấu hình các thuộc tính telemetry dự phòng được sử dụng để chuẩn hóa danh tính tác nhân cho các dấu vết và đánh giá LLM.", + "description": "Định cấu hình các thuộc tính telemetry dự phòng được sử dụng để chuẩn hóa danh tính tác nhân cho các trace LLM và đánh giá.", "agentNameFields": "Trường dự phòng tên tác nhân", "agentNameHelp": "Các thuộc tính đến để sử dụng làm dự phòng cho gen_ai.agent.name.", "agentNameInfo": "Chỉ được kiểm tra khi thuộc tính gen_ai.agent.name tiêu chuẩn bị thiếu hoặc trống. Thêm một thuộc tính telemetry đến mỗi dòng.", @@ -8532,7 +8532,7 @@ "resetToEmpty": "Đặt lại về trống", "clearRegistry": "Xóa sổ đăng ký", "clearRegistryTitle": "Xóa sổ đăng ký tác nhân?", - "clearRegistryDescription": "Thao tác này xóa tất cả các hàng sổ đăng ký tác nhân GenAI đã phát hiện cho tổ chức này. Các dấu vết khớp mới sẽ làm đầy lại sổ đăng ký trong quá trình thu thập.", + "clearRegistryDescription": "Thao tác này xóa tất cả các hàng đăng ký tác nhân GenAI đã được phát hiện cho tổ chức này. Các trace khớp mới sẽ điền lại sổ đăng ký trong quá trình tiếp nhận dữ liệu.", "clearRegistryConfirm": "Xóa sổ đăng ký", "saved": "Đã lưu ánh xạ tác nhân GenAI thành công", "clearRegistrySuccess": "Đã xóa đăng ký tác nhân GenAI. Đã xóa {deletedCount} tác nhân được lưu trữ và {bufferCount} quan sát đang xếp hàng.", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "Không thể lưu bí danh trường", "fieldAliasesUnsavedConfirm": "Bạn có thay đổi ánh xạ trường chưa lưu. Hủy bỏ chúng và rời đi?", "discoveredServicesTitle": "Dịch vụ được phát hiện", - "discoveredServicesDescription": "Dịch vụ được tự động phát hiện từ dữ liệu đo từ xa của bạn và được nhóm theo Tên dịch vụ để tương quan. Các dịch vụ có cùng Tên dịch vụ được tương quan với nhau qua logs, traces và metrics.", + "discoveredServicesDescription": "Các dịch vụ được tự động phát hiện từ dữ liệu telemetry của bạn và được nhóm theo Tên dịch vụ để tương quan. Các dịch vụ có cùng Tên dịch vụ được tương quan với nhau qua nhật ký, trace và chỉ số.", "noServicesYet": "Chưa có dịch vụ nào được phát hiện", "noServicesDescription": "Dịch vụ sẽ xuất hiện ở đây khi dữ liệu đo từ xa được nạp với các thuộc tính nhận dạng dịch vụ (như k8s-deployment, tên dịch vụ, v.v.)", "searchServiceName": "Tìm kiếm tên dịch vụ hoặc luồng...", @@ -8560,7 +8560,7 @@ "serviceName": "Tên dịch vụ", "service": "Dịch vụ", "logs": "Nhật ký", - "traces": "Dấu vết", + "traces": "Trace", "metrics": "Số liệu", "lastSeen": "Lần cuối thấy", "retry": "Thử lại", @@ -8608,7 +8608,7 @@ "instancesCount": "({count} phiên bản)", "noDimensions": "không có kích thước", "defaultSetWarningTitle": "Tương quan có thể không đáng tin cậy.", - "defaultSetWarningBody": "Phiên bản này không có phân định — nó được phát hiện mà không có khớp khối lượng công việc nào (không có ngữ cảnh cluster, namespace, hoặc environment). Nhật ký và trace có thể đến từ các triển khai khác nhau của cùng tên dịch vụ.", + "defaultSetWarningBody": "Phiên bản này không có sự phân biệt — nó được phát hiện mà không có bất kỳ khớp khối lượng công việc nào (không có bối cảnh cụm, không gian tên hoặc môi trường). Nhật ký và trace có thể đến từ các triển khai khác nhau của cùng một tên dịch vụ.", "instanceIdentity": "Định danh Phiên bản", "noDimensionsCatchAll": "Không có kích thước — phiên bản bắt tất cả", "streamSources": "Nguồn Luồng", @@ -8728,7 +8728,7 @@ "createFailed": "Mẫu Regex - {index}: tạo \"{name}\" thất bại --> \n Lý do: {error}" }, "index": { - "genAiAgentMappingDesc": "Ánh xạ các khoảng GenAI sang định danh tác nhân" + "genAiAgentMappingDesc": "Ánh xạ các span GenAI sang mã định danh tác nhân" }, "organizationManagementPage": { "setAiCredits": "Thiết lập Tín dụng AI", @@ -8863,8 +8863,8 @@ "noValues": "Không có giá trị", "cardinality": "Số lượng:", "uniqueValues": "{n} giá trị duy nhất", - "streams": "Luồng", - "streamsSubtext": "luồng", + "streams": "Stream", + "streamsSubtext": "stream", "noAdditionalDimensions": "Không phát hiện thêm chiều nào.", "noSampleData": "Không có dữ liệu mẫu khả dụng cho trường này.", "uniqueValuesDetected": "{n} giá trị duy nhất được phát hiện", @@ -8931,7 +8931,7 @@ "cachedReportHint": "Lưu ý: Các báo cáo được lưu vào bộ nhớ đệm để truy cập nhanh vào bảng điều khiển; chia sẻ bị vô hiệu hóa đối với các báo cáo này.", "selectDashboardStep": "Chọn bảng điều khiển", "timeRangeDescription": "Tạo báo cáo với dữ liệu từ khoảng thời gian đã chỉ định", - "pngPageLimitNote": "PNG chỉ chụp trang đầu tiên hiển thị của bảng điều khiển. Sử dụng PDF nếu bảng điều khiển có nhiều trang.", + "pngPageLimitNote": "PNG chỉ chụp trang đầu tiên hiển thị của bảng điều khiển. Hãy dùng PDF nếu bảng điều khiển trải dài trên nhiều trang.", "widthPlaceholder": "ví dụ: 1440", "heightPlaceholder": "ví dụ: 900", "dimensionsDefaultHint": "Để trống để sử dụng mặc định của máy chủ", @@ -9050,7 +9050,7 @@ "totalTimeRange": "Tổng phạm vi truy vấn", "searchType": "Loại tìm kiếm", "querySource": "Nguồn truy vấn", - "traceId": "ID Trace", + "traceId": "Trace ID", "userId": "ID người dùng", "orgId": "ID tổ chức", "streamType": "Loại luồng", @@ -9139,13 +9139,13 @@ "viewLogs": "Xem Nhật ký", "viewLogsUnavailable": "Không thể mở nhật ký cho span này.", "backToLogs": "Quay lại Nhật ký", - "openInTraces": "Mở trong Dấu vết", + "openInTraces": "Mở trong Trace", "loadingStream": "Đang tải Luồng...", "noLogsAvailableForService": "Không có Nhật ký nào cho dịch vụ này", - "noCorrelatedLogsFound": "Không tìm thấy nhật ký liên quan cho span này", + "noCorrelatedLogsFound": "Không tìm thấy nhật ký tương quan nào cho span này", "noData": { - "title": "Bắt đầu gửi trace đến {product}", - "description": "Chưa có luồng dấu vết nào trong tổ chức này. Hãy cài đặt công cụ cho dịch vụ của bạn và dấu vết sẽ tự động xuất hiện ở đây.", + "title": "Bắt đầu gửi trace tới {product}", + "description": "Chưa tìm thấy stream trace nào trong tổ chức này. Hãy tích hợp trace vào các dịch vụ của bạn và trace sẽ tự động xuất hiện ở đây.", "otlp": "Gửi trace qua {product}", "otlpDesc": "{product1}, {product2} và bất kỳ SDK tương thích với {product3}", "otelCollectorDesc": "Định tuyến tất cả tín hiệu telemetry qua {product}", @@ -9155,21 +9155,21 @@ "configureFullTextSearch": "để cấu hình trường tìm kiếm văn bản đầy đủ cho luồng.", "collapseFields": "Thu gọn Trường", "openFields": "Mở Trường", - "timeRangeUpdated": "Khoảng thời gian đã chọn không bao gồm dấu vết này. Khoảng thời gian đã được cập nhật để khớp với dấu thời gian của dấu vết.", - "errorRetrievingTraces": "Đã xảy ra lỗi khi truy xuất dấu vết.", - "fetchingTraces": "Đang tải Dấu vết...", + "timeRangeUpdated": "Khoảng thời gian đã chọn không bao gồm trace này. Khoảng thời gian đã được cập nhật để khớp với dấu thời gian của trace.", + "errorRetrievingTraces": "Đã xảy ra lỗi khi truy xuất trace.", + "fetchingTraces": "Đang tải Trace...", "noStream": { "title": "Chọn một luồng để bắt đầu khám phá", - "description": "Chọn một luồng dấu vết, sau đó nhấn Chạy truy vấn. Bạn có thể lọc theo dịch vụ, thời lượng, trạng thái span và nhiều hơn nữa khi kết quả tải.", + "description": "Chọn một stream trace, sau đó nhấn Chạy truy vấn. Bạn có thể lọc theo dịch vụ, thời lượng, trạng thái span, và nhiều hơn nữa khi kết quả được tải.", "selectStream": "Chọn một luồng", - "selectStreamDesc": "Duyệt các luồng dấu vết có sẵn trong tổ chức này", - "queryGuide": "Đọc hướng dẫn về dấu vết", - "queryGuideDesc": "Biểu đồ dịch vụ, lọc span, chỉ số RED và hơn thế nữa", + "selectStreamDesc": "Duyệt các stream trace khả dụng trong tổ chức này", + "queryGuide": "Đọc hướng dẫn về trace", + "queryGuideDesc": "Biểu đồ dịch vụ, lọc span, chỉ số RED và nhiều hơn nữa", "recent": "Gần đây:" }, "noEvents": { - "title": "Không tìm thấy dấu vết", - "descNoFilters": "Không tìm thấy dấu vết nào trong {range}.", + "title": "Không tìm thấy trace nào", + "descNoFilters": "Không tìm thấy trace nào trong {range}.", "descWithFilters": "Không có gì khớp truy vấn này trong cửa sổ đã chọn. Luồng có dữ liệu ở đây — hãy thử nới lỏng một bộ lọc trong thanh truy vấn.", "descOutOfRange": "Khoảng thời gian của bạn không chứa dữ liệu nào từ luồng này. Nhảy đến thời điểm dữ liệu được thấy lần cuối.", "jumpToData": "Nhảy đến dữ liệu mới nhất", @@ -9177,32 +9177,32 @@ "askAi": "Yêu cầu AI sửa truy vấn của tôi", "selectedRange": "khoảng đã chọn" }, - "tracesFound": "Đã tìm thấy Dấu vết", - "spansFound": "Đã tìm thấy Span", - "errorTraces": "Dấu vết Lỗi", - "errorSpans": "Span Lỗi", + "tracesFound": "Số trace tìm thấy", + "spansFound": "Số span tìm thấy", + "errorTraces": "Trace lỗi", + "errorSpans": "Span lỗi", "filterByErrors": "Lọc theo lỗi", "clearErrorFilter": "Xóa bộ lọc lỗi", "error": "LỖI", "errorCount": "{n} LỖI | {n} LỖI", "success": "THÀNH CÔNG", - "applyPendingFilters": "Áp dụng bộ lọc đang chờ và Tìm kiếm Trace", - "backToTraces": "Quay lại Traces", + "applyPendingFilters": "Áp dụng bộ lọc đang chờ và Tìm kiếm trace", + "backToTraces": "Quay lại Trace", "loadingTrace": "Đang tải...", - "traceId": "ID Trace", - "copyTraceId": "Sao chép ID Trace", + "traceId": "Trace ID", + "copyTraceId": "Sao chép Trace ID", "viewFilters": "Xem bộ lọc", - "reviewAndApplyFilters": "Xem xét và áp dụng bộ lọc cho Traces", + "reviewAndApplyFilters": "Xem lại và áp dụng bộ lọc cho Trace", "spansLabel": "span", "errorsLabel": "lỗi", "previousMatch": "Kết quả trước", "nextMatch": "Kết quả tiếp theo", - "searchInSpans": "Tìm kiếm trong spans", - "spansTableView": "Chế độ xem bảng Spans", + "searchInSpans": "Tìm kiếm trong span", + "spansTableView": "Chế độ xem bảng span", "comingSoon": "Sắp ra mắt...", - "fetchingTrace": "Đang lấy trace của bạn.", - "traceFilters": "Bộ lọc Trace", - "showTraces": "Hiển thị Traces", + "fetchingTrace": "Đang tải trace của bạn.", + "traceFilters": "Bộ lọc trace", + "showTraces": "Hiển thị trace", "applyAndSearch": "Áp dụng & Tìm kiếm", "timestamp": "Dấu thời gian", "noErrorPresent": "Không có lỗi nào cho span này", @@ -9222,7 +9222,7 @@ "templateBadge": "mẫu" }, "sessionsList": { - "streamLabel": "Luồng", + "streamLabel": "Stream", "sessions": "phiên", "failedToLoad": "Tải phiên thất bại", "retry": "Thử lại", @@ -9240,7 +9240,7 @@ "cost": "Chi phí", "status": "Trạng thái" }, - "stream": "Luồng", + "stream": "Stream", "agent": "Tác nhân", "noAgentsTitle": "Không có tác nhân nào trong khoảng này", "noAgentsDescription": "Không phát hiện tác nhân GenAI nào trong khoảng thời gian đã chọn. Hãy thử khoảng rộng hơn hoặc chuyển lại chế độ luồng.", @@ -9348,7 +9348,7 @@ "warning": "Cảnh báo", "critical": "Nghiêm trọng" }, - "viewTraces": "Xem dấu vết", + "viewTraces": "Xem trace", "types": { "all": "Tất cả", "service": "Dịch vụ", @@ -9362,20 +9362,20 @@ "title": "Tỷ lệ lỗi" } }, - "spansTab": "Các span", - "tracesTab": "Dấu vết", + "spansTab": "Span", + "tracesTab": "Trace", "serviceGraphTab": "Biểu đồ dịch vụ", "serviceGraphSubtitle": "Xem cách các dịch vụ của bạn gọi nhau — phụ thuộc, thông lượng và tỷ lệ lỗi", - "servicesCatalogSubtitle": "Mọi dịch vụ gửi trace, với độ trễ, thông lượng và tỷ lệ lỗi", + "servicesCatalogSubtitle": "Mọi dịch vụ đang gửi trace, với độ trễ, thông lượng và tỷ lệ lỗi", "treeView": "Chế độ xem cây", "graphView": "Chế độ xem đồ thị", "layoutHorizontal": "Ngang", "layoutVertical": "Dọc", "layoutForce": "Bố cục lực", - "exportTraces": "Xuất dấu vết", + "exportTraces": "Xuất trace", "waterfall": "Thác nước", "flameGraph": "Biểu đồ ngọn lửa", - "traceGraph": "Biểu đồ dấu vết", + "traceGraph": "Biểu đồ trace", "thread": "Luồng", "dbSpanDetails": { "dbSystem": "Hệ thống DB", @@ -9398,13 +9398,13 @@ "changeStreamTitle": "Thay đổi luồng?", "switchStream": "Chuyển luồng", "cancel": "Hủy", - "changeStreamMessage": "Thao tác này cũng sẽ cập nhật luồng trong tab Dấu vết/Span và đặt lại truy vấn hiện tại.", + "changeStreamMessage": "Điều này cũng sẽ cập nhật stream trong tab Trace/Span và đặt lại truy vấn hiện có.", "errorGettingFunctions": "Lỗi khi lấy hàm", "errorPullingIndex": "Lỗi khi kéo chỉ mục cho tổ chức đã chọn{message}", "errorGettingStreams": "Lỗi khi lấy luồng", "errorLoadingStreams": "Lỗi khi tải luồng", "errorConstructingQuery": "Đã xảy ra lỗi khi xây dựng truy vấn tìm kiếm.", - "traceNotFound": "Không tìm thấy dấu vết {traceId}", + "traceNotFound": "Không tìm thấy trace {traceId}", "errorProcessingRequest": "Lỗi khi xử lý yêu cầu", "searchRequestFailed": "Yêu cầu tìm kiếm thất bại" }, @@ -9425,7 +9425,7 @@ "service": "Dịch vụ", "operationName": "Tên thao tác", "duration": "Thời lượng", - "spans": "Spans", + "spans": "Span", "spanKind": "Loại Span", "spanStatus": "Trạng thái Span", "status": "Trạng thái", @@ -9440,10 +9440,10 @@ "time": "Thời gian", "service": "Dịch vụ", "operation": "Thao tác", - "traceId": "ID dấu vết" + "traceId": "Trace ID" }, "lLMInsightsDashboard": { - "stream": "Luồng", + "stream": "Stream", "agent": "Tác nhân", "compareEntry": "So sánh phiên bản", "compareEntryHint": "So sánh hai phiên bản của agent này cạnh nhau", @@ -9454,7 +9454,7 @@ "viewByStream": "Xem theo luồng", "totalCost": "Tổng chi phí", "totalTokens": "Tổng token", - "totalTraces": "Tổng dấu vết", + "totalTraces": "Tổng số Trace", "p95Latency": "Độ trễ P95", "errorRate": "Tỷ lệ lỗi", "timeAxis": "Thời gian", @@ -9466,13 +9466,13 @@ "serviceGraphNodeSidePanel": { "viewRelated": "Xem liên quan", "logs": "Nhật ký", - "traces": "Dấu vết", + "traces": "Trace", "databases": "Cơ sở dữ liệu", - "viewTraces": "Xem dấu vết", + "viewTraces": "Xem Trace", "operations": "Thao tác", "metrics": "Chỉ số", "noOperationsFound": "Không tìm thấy thao tác nào", - "viewInTraces": "Xem trong dấu vết", + "viewInTraces": "Xem trong Trace", "noResourceDataFound": "Không tìm thấy dữ liệu {resource}", "retry": "Thử lại", "noMetricsAvailable": "Không có chỉ số nào cho dịch vụ này.", @@ -9496,13 +9496,13 @@ "tabHosts": "Máy chủ", "tabDatabases": "Cơ sở dữ liệu", "tabQueries": "Truy vấn", - "tabDestinations": "Đích đến", + "tabDestinations": "Điểm đích", "tabRpcServices": "Dịch vụ RPC", "tabUrls": "URL", "colHost": "Máy chủ", "colDatabase": "Cơ sở dữ liệu", "colDbOperation": "Thao tác DB", - "colDestination": "Đích", + "colDestination": "Điểm đích", "colRpcService": "Dịch vụ RPC", "colUrl": "URL", "envHost": "Máy chủ", @@ -9518,7 +9518,7 @@ "processExitCode": "Mã thoát tiến trình" }, "traceLatencyCell": { - "spansAcrossServices": "{spans} spans trên {services} dịch vụ" + "spansAcrossServices": "{spans} span trên {services} dịch vụ" }, "threadToolCalls": { "toolCall": "gọi công cụ", @@ -9538,10 +9538,10 @@ "cost": "Chi phí", "model": "Mô hình", "errors": "Lỗi", - "noSpansLoaded": "Không có span nào được tải cho dấu vết này.", - "noLlmTurns": "Không phát hiện lượt LLM nào. Dấu vết không chứa span có", + "noSpansLoaded": "Không có span nào được tải cho trace này.", + "noLlmTurns": "Không phát hiện lượt LLM nào. Trace không chứa span nào có", "system": "Hệ thống", - "historicalMessage": "{count} tin nhắn trước đó từ phiên này — được xử lý trong các trace trước. | {count} tin nhắn trước đó từ phiên này — được xử lý trong các trace trước.", + "historicalMessage": "{count} tin nhắn trước đó từ phiên này — đã xử lý trong các trace trước. | {count} tin nhắn trước đó từ phiên này — đã xử lý trong các trace trước.", "user": "Người dùng", "startedAt": "Bắt đầu lúc {time}", "unknown": "không xác định", @@ -9566,7 +9566,7 @@ "start": "Bắt đầu", "requestResent": "Đã gửi lại yêu cầu {count} lần | Đã gửi lại yêu cầu {count} lần", "resends": "Số lần gửi lại", - "spanIdTitle": "ID Span: {id}", + "spanIdTitle": "Span ID: {id}", "inputTokens": "Token đầu vào", "in": "Vào", "outputTokens": "Token đầu ra", @@ -9587,8 +9587,8 @@ "value": "Giá trị", "timestamp": "Dấu thời gian", "enterpriseLicenseRequired": "Tính năng tương quan yêu cầu giấy phép doanh nghiệp", - "missingSpanOrStream": "Thiếu tên span hoặc luồng", - "spanIdCopied": "ID span đã sao chép vào bảng nháp", + "missingSpanOrStream": "Thiếu tên span hoặc stream", + "spanIdCopied": "Đã sao chép Span ID vào clipboard", "attributesCopied": "Thuộc tính đã sao chép vào bảng nháp", "copiedToClipboard": "{type} đã sao chép vào bảng nháp", "failedToCopyClipboard": "Không thể sao chép vào bảng nháp", @@ -9605,7 +9605,7 @@ "spanNotFound": "Không tìm thấy span {spanId} trong trace", "unknownOperation": "Thao tác không xác định", "unknownService": "Dịch vụ không xác định", - "traceIdCopied": "ID trace đã sao chép vào bảng nháp", + "traceIdCopied": "Đã sao chép Trace ID vào clipboard", "sessionIdCopied": "ID phiên đã sao chép vào bảng nháp" }, "traceTree": { @@ -9630,7 +9630,7 @@ "flameGraphView": { "spans": "span", "depth": "độ sâu", - "noSpansToDisplay": "Không có span để hiển thị", + "noSpansToDisplay": "Không có span nào để hiển thị", "service": "Dịch vụ:", "duration": "Thời lượng:", "percentOfTrace": "% của trace:", @@ -9640,24 +9640,24 @@ "lastData": "Dữ liệu cuối: {formatted} ({zone})" }, "correlation": { - "distributedTrace": "Truy vết phân tán", + "distributedTrace": "Trace phân tán", "loadingTraceData": "Đang tải dữ liệu trace...", - "noTraceInfoAvailable": "Không có thông tin trace cho sự kiện này", + "noTraceInfoAvailable": "Không có thông tin trace nào cho sự kiện này", "traceIdLabel": "Trace ID:", "copyTraceId": "Sao chép Trace ID", "spanIdLabel": "Span ID:", - "spanHierarchy": "Hệ thống phân cấp Span:", + "spanHierarchy": "Phân cấp Span:", "applicationSpan": "Span ứng dụng", "browserSdkSpanPrefix": "Span SDK trình duyệt (", "closingParen": ")", - "backendSpansPrefix": "Các Span backend (", + "backendSpansPrefix": "Span backend (", "performanceBreakdown": "Phân tích hiệu suất:", "totalDuration": "Tổng thời gian:", "browserLabel": "Trình duyệt:", "networkLabel": "Mạng:", "backendLabel": "Backend:", "viewTraceDetails": "Xem chi tiết trace", - "backendTraceNotAvailable": "Dữ liệu trace backend chưa khả dụng. Dữ liệu trace có thể mất đến 30 giây để được tiếp nhận." + "backendTraceNotAvailable": "Dữ liệu trace backend chưa khả dụng. Dữ liệu trace có thể mất tối đa 30 giây để được tiếp nhận." }, "failedToAnalyzeDimensions": "Không thể phân tích các thứ nguyên", "failedToFetchCorrelatedLogs": "Không thể tải nhật ký tương quan", @@ -9696,7 +9696,7 @@ "requestsLabel": "Yêu cầu:", "errorsLabel": "Lỗi:", "errorRateLabel": "Tỷ lệ lỗi:", - "spansLabel": "Spans:", + "spansLabel": "Span:", "callsLabel": "Lời gọi:", "averageLabel": "Trung bình:", "minimumLabel": "Tối thiểu:", @@ -9708,7 +9708,7 @@ "averageOfTrace": "{avg}ms ({percent}% của trace)", "requestCount": "{count} yêu cầu" }, - "spanEventTimeline": "Dòng thời gian sự kiện Span", + "spanEventTimeline": "Dòng thời gian sự kiện span", "eventClusterTooltip": "{count} sự kiện", "spanEventCount": "{count} sự kiện", "spanEventCountPlural": "{count} sự kiện", @@ -10017,11 +10017,11 @@ "selectMetrics": "Chọn Luồng Chỉ số", "correlatedLogs": "Nhật ký", "correlatedMetrics": "Chỉ số", - "correlatedTraces": "Dấu vết", + "correlatedTraces": "Trace", "loadingCorrelation": "Đang tải dữ liệu tương quan...", "clickToLoadLogs": "Nhấp để tải nhật ký tương quan", "clickToLoadMetrics": "Nhấp để tải chỉ số tương quan", - "clickToLoadTraces": "Nhấp để tải dấu vết tương quan", + "clickToLoadTraces": "Nhấp để tải các trace tương quan", "logs": { "filtersLabel": "Bộ lọc", "allValues": "Tất cả giá trị", @@ -10040,19 +10040,19 @@ "noLogsFound": "Không tìm thấy nhật ký", "noDataFound": "Không tìm thấy dữ liệu", "noLogsDescription": "Không tìm thấy nhật ký cho tương quan này trong phạm vi thời gian đã chọn.", - "correlatedTracesFor": "Dấu vết tương quan cho dịch vụ: {service}", + "correlatedTracesFor": "Các trace tương quan cho dịch vụ: {service}", "all": "Tất cả", - "loadingTraces": "Đang tải dấu vết...", - "tracesError": "Không thể tải dấu vết", - "tracesErrorDetails": "Đã xảy ra lỗi khi lấy dữ liệu dấu vết. Vui lòng thử lại.", + "loadingTraces": "Đang tải trace...", + "tracesError": "Không thể tải trace", + "tracesErrorDetails": "Đã xảy ra lỗi khi lấy dữ liệu trace. Vui lòng thử lại.", "metricsError": "Không thể tải chỉ số", "metricsErrorDetails": "Đã xảy ra lỗi khi lấy dữ liệu chỉ số. Vui lòng thử lại.", "noMetricsDescription": "Chọn chỉ số từ thanh bên để xem biểu đồ.", "dimensionBasedCorrelation": "Tương quan dựa trên Kích thước", - "tracesFromService": "Dấu vết từ dịch vụ: {service}", - "noTracesFound": "Không tìm thấy dấu vết", - "noTracesDescription": "Không tìm thấy dấu vết cho tương quan này trong phạm vi thời gian đã chọn.", - "viewInTraces": "Xem trong Dấu vết", + "tracesFromService": "Trace từ dịch vụ: {service}", + "noTracesFound": "Không tìm thấy trace nào", + "noTracesDescription": "Không tìm thấy trace nào cho tương quan này trong khoảng thời gian đã chọn.", + "viewInTraces": "Xem trong Trace", "filters": "Bộ lọc", "semanticFieldGroupsCaption": "Ánh xạ tên trường đo từ xa của bạn thành các nhóm chung để OpenObserve có thể tương quan chúng qua các luồng.", "exportToJson": "Xuất ra JSON", @@ -10185,7 +10185,7 @@ "editCrossLink": "Chỉnh sửa liên kết chéo", "name": "Tên", "nameRequired": "Yêu cầu nhập tên", - "namePlaceholder": "ví dụ: Xem chi tiết trace", + "namePlaceholder": "ví dụ: Xem chi tiết Trace", "urlTemplate": "Mẫu URL", "urlRequired": "Yêu cầu nhập URL", "urlPlaceholder": "ví dụ: https://example.com/trace/{'${field.__value}'}?from={'${start_time}'}&to={'${end_time}'}", @@ -10281,7 +10281,7 @@ "colPattern": "Mẫu", "colPricingSimple": "Giá", "testMatchTitle": "Kiểm tra khớp mô hình", - "testMatchSubtitle": "Mô phỏng cách tên mô hình từ các span của bạn sẽ khớp với các quy tắc giá.", + "testMatchSubtitle": "Mô phỏng cách tên mô hình từ các span của bạn khớp với các quy tắc định giá.", "modelNameInput": "Tên mô hình", "modelNameHint": "Tên mô hình trên các thế hệ của bạn.", "enterModelName": "Nhập tên mô hình để kiểm tra việc khớp", @@ -10445,11 +10445,11 @@ "sessions": "Duyệt và kiểm tra các phiên tác nhân theo từng lượt", "agentGraph": "Xem tác nhân của bạn tương tác với gì — công cụ, mô hình, dịch vụ và kho dữ liệu", "agentBehavior": "Phát hiện các agent bị kẹt trong vòng lặp và lỗi khiến chúng thất bại", - "discovery": "Tìm các trace bất ổn đáng xem xét", + "discovery": "Tìm các trace có vấn đề cần xem xét", "queues": "Danh sách việc cần làm để đánh giá có trạng thái", - "datasets": "Quản lý các tập dữ liệu vàng từ các trace và đánh giá đã chú thích", + "datasets": "Tuyển chọn các bộ dữ liệu vàng từ các trace được chú thích và đánh giá", "experiments": "Xem trước và tạo các lần chạy đánh giá ngoại tuyến bất biến", - "quality": "Theo dõi chất lượng điểm số qua các đánh giá span, trace và session", + "quality": "Theo dõi chất lượng điểm số trên các đánh giá span, trace và phiên", "evalJobs": "Chạy và giám sát các công việc đánh giá trên các phiên của bạn", "scorers": "Tạo và quản lý các bộ chấm điểm đánh giá đầu ra LLM", "scoreConfigs": "Cấu hình các tiêu chí chấm điểm được sử dụng bởi các đánh giá của bạn" @@ -10493,7 +10493,7 @@ "dataset": { "button": "Thêm vào bộ dữ liệu", "title": "Thêm vào bộ dữ liệu", - "hint": "Biến {ref} thành một golden. Đầu vào được đọc lại từ trace — bạn viết đầu ra mong đợi.", + "hint": "Chuyển {ref} thành một golden. Đầu vào được đọc lại từ trace — bạn viết đầu ra mong đợi.", "errors": { "dataset": "Chọn một bộ dữ liệu", "expectedOutput": "Viết đầu ra mong đợi" @@ -10516,13 +10516,13 @@ "searchPlaceholder": "Tìm kiếm Dịch vụ, Đầu vào, Chất lượng...", "searchFooter": "{matched} trong {loaded} trên trang này khớp", "scope": { - "span": "Spans", - "trace": "Traces", + "span": "Span", + "trace": "Trace", "session": "Phiên" }, "scopeNoun": { - "span": "spans", - "trace": "traces", + "span": "span", + "trace": "trace", "session": "phiên" }, "inQueueFilter": { @@ -10641,7 +10641,7 @@ "inTrace": "Trong Trace {traceId}", "reviewAgain": "Xem xét lại", "emptyTitle": "Không có gì để xem xét", - "emptyBody": "Thêm trace, span hoặc session vào hàng đợi này từ Discovery hoặc chế độ xem trace.", + "emptyBody": "Thêm trace, span hoặc phiên vào hàng đợi này từ Khám phá hoặc chế độ xem trace.", "columns": { "refType": "Tham chiếu", "refId": "Tham chiếu", @@ -10661,7 +10661,7 @@ "collapseNav": "Thu gọn danh sách mục", "expandNav": "Mở rộng danh sách mục", "openTrace": "Mở toàn bộ trace", - "openTraceSoon": "Chế độ xem toàn bộ trace sẽ có trong bản cập nhật tiếp theo.", + "openTraceSoon": "Chế độ xem toàn bộ trace sẽ có trong bản cập nhật tới.", "input": "Đầu vào", "output": "Đầu ra", "retrievedContext": "Ngữ cảnh đã truy xuất", @@ -10692,7 +10692,7 @@ "distill": { "title": "Chắt lọc vào bộ dữ liệu", "action": "Bộ dữ liệu", - "hint": "Viết câu trả lời mà mục này LẼ RA phải tạo ra. Nó trở thành đầu ra vàng; đầu vào được lấy từ trace đã đánh giá.", + "hint": "Viết câu trả lời mà mục này LẼ RA phải tạo ra. Nó trở thành đầu ra golden; đầu vào được lấy từ trace đã xem xét.", "datasetLabel": "Bộ dữ liệu", "datasetPlaceholder": "Chọn bộ dữ liệu...", "noDatasets": "Chưa có bộ dữ liệu nào — hãy tạo một bộ từ trang Bộ dữ liệu trước.", @@ -10704,7 +10704,7 @@ "updated": "Đã cập nhật đầu ra vàng — mục này đã có trong bộ dữ liệu đó.", "openDataset": "Mở tập dữ liệu", "needsReview": "Hoàn thành đánh giá trước — một golden cần có phán quyết thẩm định", - "sessionUnsupported": "Các mục phiên không thể được chưng cất — chỉ có trace và span", + "sessionUnsupported": "Các mục phiên không thể được chưng cất — chỉ trace và span", "loadError": "Không thể tải tập dữ liệu", "error": "Không thể thêm mục này vào tập dữ liệu" }, @@ -10730,12 +10730,12 @@ "trial": "thử nghiệm {index}", "summary": "Bộ dữ liệu v{version} · {trials} thử nghiệm · {scorers} bộ chấm điểm", "previewCounts": "{rows} hàng × {trials} thử nghiệm = {slots} ô", - "viewTrace": "Xem dấu vết thực thi", + "viewTrace": "Xem trace thực thi", "scoresTitle": "Điểm", "taskProgress": "Tác vụ: {completed}/{total} hoàn thành · {skipped} bỏ qua", "scoringProgress": "Điểm: {completed}/{total} hoàn thành · {skipped} bỏ qua", "skipTiers": "Hàng bị bỏ qua: {full} hoàn toàn · {partial} một phần", - "scoreEvidence": "{scorer} · v{version}: {samples} mẫu, {noReference} không tham chiếu, {noTrace} không có dấu vết", + "scoreEvidence": "{scorer} · v{version}: {samples} mẫu, {noReference} không tham chiếu, {noTrace} không trace", "scorerApplicability": "{scorer} · v{version}: {eligible} ô hợp lệ, {noReference} không tham chiếu", "loadError": "Không thể tải thử nghiệm", "previewError": "Không thể xem trước các ô thử nghiệm", @@ -10912,7 +10912,7 @@ "trials": "Lần thử", "trial": "Lần thử {index}", "retryFailedSlot": "Thử lại ô thất bại", - "viewTrace": "Xem trace", + "viewTrace": "Xem Trace", "scores": "Điểm số", "dimension": "Chiều", "unknownDimension": "Chiều không xác định", @@ -11097,10 +11097,10 @@ "version": "Phiên bản" }, "agentGraph": { - "stream": "Luồng", + "stream": "Stream", "agent": "Tác nhân", "noAgentsTitle": "Không tìm thấy tác nhân nào", - "noAgentsDescription": "Không có tác nhân nào được phát hiện trong khoảng thời gian này. Hãy thử mở rộng khoảng thời gian hoặc kiểm tra xem dấu vết của bạn có bao gồm các thuộc tính tác nhân gen_ai không.", + "noAgentsDescription": "Không phát hiện agent nào trong khoảng thời gian này. Hãy thử mở rộng khoảng thời gian hoặc kiểm tra rằng trace của bạn bao gồm các thuộc tính agent gen_ai.", "versionAgnosticHint": "Cấu trúc liên kết giống nhau giữa các phiên bản — biểu đồ phạm vi theo môi trường, không phải phiên bản. Sử dụng so sánh phiên bản để so sánh các phiên bản." }, "panels": { @@ -11113,8 +11113,8 @@ "subtitle": "token theo mô hình" }, "spanTrend": { - "title": "Xu hướng span", - "subtitle": "số lượng span theo loại" + "title": "Xu hướng Span", + "subtitle": "số span theo loại" }, "latencyByModel": { "title": "Độ trễ theo mô hình", @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "Lỗi gần đây", - "subtitle": "10 span thất bại gần nhất" + "subtitle": "10 span lỗi gần nhất" } }, "behavior": { @@ -11148,7 +11148,7 @@ "disabled": "Tín hiệu hành vi agent đã tắt cho lần triển khai này" }, "loopsTitle": "Agent bị lặp", - "loopsHint": "Agent chạy lại cùng một công cụ nhiều lần mỗi trace", + "loopsHint": "Agent chạy lại cùng một công cụ nhiều lần trong mỗi trace", "summaryLoops": "Các agent lặp", "summaryFailures": "Phân loại sự cố", "summaryAgents": "Các agent bị ảnh hưởng", @@ -11163,9 +11163,9 @@ "unknownAgent": "(agent không xác định)", "colAgent": "Agent", "colTool": "Công cụ", - "colRatio": "Cuộc gọi / trace", + "colRatio": "Số lần gọi / trace", "colCalls": "Cuộc gọi", - "colTraces": "Traces", + "colTraces": "Trace", "colFailClass": "Lớp lỗi", "colCount": "Số lượng", "colCost": "Chi phí ($)", @@ -11173,32 +11173,32 @@ "colErrors": "Lỗi", "detail": { "title": "Chi tiết tín hiệu", - "tracesTitle": "Dấu vết", - "tracesHint": "Nhấp vào một dấu vết để mở", - "worstLoopTraces": "Dấu vết tệ nhất (nhiều lần lặp nhất trước)", - "topCostTraces": "Dấu vết tốn kém nhất", - "noTraces": "Không tìm thấy dấu vết nào cho tín hiệu này", + "tracesTitle": "Trace", + "tracesHint": "Nhấp vào một trace để mở", + "worstLoopTraces": "Các trace tệ nhất (lặp nhiều nhất trước)", + "topCostTraces": "Các trace đắt nhất", + "noTraces": "Không tìm thấy trace nào cho tín hiệu này", "errorsTitle": "Lỗi nói gì", - "noErrors": "Không có thông báo lỗi nào được ghi lại — mở một dấu vết để kiểm tra", - "colTraceId": "Dấu vết", - "colSpans": "Span", + "noErrors": "Không có thông báo lỗi nào được ghi lại — hãy mở một trace để kiểm tra", + "colTraceId": "Trace", + "colSpans": "Spans", "colRepeats": "Số lần lặp", - "openInNewTab": "Mở dấu vết trong tab mới", + "openInNewTab": "Mở trace trong tab mới", "showFull": "Hiện đầy đủ lỗi", "showLess": "Thu gọn", "colError": "Thông báo lỗi", "colOccurrences": "Số lần", - "loopHeadline": "{agent} đã gọi {tool} {ratio}× mỗi dấu vết trung bình ({calls} cuộc gọi trên {traces} dấu vết).", + "loopHeadline": "{agent} đã gọi {tool} {ratio}× cho mỗi trace trung bình ({calls} lần gọi trên {traces} trace).", "failHeadline": "{agent} gặp {count} lỗi “{cls}”.", "costHeadline": "{agent}: chi tiêu ${cost} · {tokens} token · {errors} lỗi.", - "loopExplain": "Tỷ lệ lặp cao thường có nghĩa là agent không lưu cache kết quả hoặc đang thử lại. Mở các dấu vết tệ nhất bên dưới để xem các cuộc gọi lặp.", - "failExplain": "Đây là các thông báo lỗi thực tế đằng sau lớp lỗi này — đọc chúng để tìm cách khắc phục, hoặc mở một dấu vết để xem nó xảy ra ở đâu.", - "costExplain": "Các dấu vết này đã làm tăng chi tiêu của agent này. Mở các dấu vết tốn kém nhất để xem những gì đã chạy." + "loopExplain": "Tỷ lệ lặp lại cao thường có nghĩa là agent không lưu cache kết quả hoặc đang thử lại. Mở các trace tệ nhất bên dưới để xem các lần gọi lặp lại.", + "failExplain": "Đây là những thông báo lỗi thực tế đằng sau lớp lỗi này — hãy đọc chúng để tìm cách khắc phục, hoặc mở một trace để xem nó xảy ra ở đâu.", + "costExplain": "Các trace này đã làm tăng chi phí của agent. Mở những trace đắt nhất để xem thứ gì đã chạy." } }, "versionCompare": { "datePickerDisabled": "Các cửa sổ là theo từng phiên bản trong chế độ này", - "sampledNote": "Các khoảng độ trễ & chi phí được tính toán từ tối đa {cap} trace được lấy mẫu ngẫu nhiên cho mỗi phiên bản.", + "sampledNote": "Độ trễ & chi phí được tính toán dựa trên tối đa {cap} trace lấy mẫu ngẫu nhiên cho mỗi phiên bản.", "bar": { "versionA": "Phiên bản A", "versionB": "Phiên bản B", @@ -11284,8 +11284,8 @@ "session": "Đánh giá session" }, "targetLabels": { - "span": "Span ID", - "trace": "Trace ID", + "span": "ID span", + "trace": "ID trace", "session": "Session ID" }, "scopes": { @@ -11297,7 +11297,7 @@ "jobLabel": "Eval Job", "jobPlaceholder": "Chọn một Eval Job", "jobRequired": "Chọn một Eval Job", - "noCompatibleJobs": "Không có Eval Job {scope} nào sử dụng luồng trace {stream}.", + "noCompatibleJobs": "Không có Eval Job {scope} nào sử dụng trace stream {stream}.", "loadJobsError": "Không thể tải các Eval Job.", "run": "Chạy đánh giá", "queued": "Đã xếp hàng {count} tác vụ đánh giá. | Đã xếp hàng {count} tác vụ đánh giá.", @@ -11393,7 +11393,7 @@ }, "runs": { "title": "Điểm đánh giá", - "hint": "Điểm số và lý luận đến từ _llm_scores. Chọn một lần chạy để mở dấu vết đánh giá của nó để điều tra thêm.", + "hint": "Điểm số và lý giải đến từ _llm_scores. Chọn một lần chạy để mở trace đánh giá của nó nhằm điều tra thêm.", "filterLabel": "Lọc điểm đánh giá", "footerTitle": "Điểm đánh giá", "noThresholdHint": "Đặt ngưỡng lành mạnh trên cấu hình điểm số này để phân loại và làm nổi bật các điểm không lành mạnh.", @@ -11588,7 +11588,7 @@ "booleanInfo": "Cấu hình Boolean chấp nhận giá trị {trueLabel} / {falseLabel}. Không cần cấu hình bổ sung.", "healthyThresholdTitle": "Ngưỡng lành mạnh", "optional": "Tùy chọn", - "healthyThresholdIntro": "Xác định khi nào điểm trên chiều này được coi là lành mạnh. Điểm ngoài phạm vi này sẽ kích hoạt các vấn đề chất lượng trong danh sách trace, phiên và các chế độ xem khác.", + "healthyThresholdIntro": "Xác định khi nào điểm số trên khía cạnh này được coi là lành mạnh. Điểm số ngoài phạm vi này sẽ gây ra các vấn đề chất lượng trong danh sách trace, phiên, và các chế độ xem khác.", "healthyWhenValueIs": "Lành mạnh khi giá trị là:", "healthyCategories": "Danh mục lành mạnh:", "healthyCategoriesHint": "Chọn tất cả giá trị được coi là lành mạnh.", @@ -11667,8 +11667,8 @@ "col": { "time": "Thời gian", "job": "Công việc", - "spanId": "Span ID", - "traceId": "Trace ID", + "spanId": "ID span", + "traceId": "ID trace", "score": "Điểm", "latency": "Độ trễ", "status": "Trạng thái" @@ -11854,13 +11854,13 @@ "eyebrow": "Công việc đánh giá", "refresh": "Làm mới", "targetSection": "Mục tiêu Đánh giá", - "streamLabel": "Luồng", + "streamLabel": "Stream", "streamTypeLabel": "Loại luồng", "targetScopeLabel": "Đánh giá Mỗi", "idleWindowLabel": "Cửa sổ Nhàn rỗi", "maxAgeLabel": "Tuổi tối đa", "filterLabel": "Bộ lọc", - "filterEmpty": "Không bộ lọc — mọi span đều được đánh giá", + "filterEmpty": "Không có bộ lọc — mọi span đều được đánh giá", "scorersSection": "Bộ chấm điểm", "scorersEmpty": "Chưa có bộ chấm điểm nào được gắn vào tác vụ này.", "scorerUnknown": "(đã xóa bộ chấm điểm)", @@ -11918,7 +11918,7 @@ "columns": { "name": "Tên", "status": "Trạng thái", - "stream": "Luồng", + "stream": "Stream", "targetScope": "Phạm vi", "scorers": "Bộ chấm điểm", "created": "Đã tạo", @@ -11944,7 +11944,7 @@ "scorersSection": "Bộ chấm điểm và ánh xạ", "nameLabel": "Tên", "namePlaceholder": "Production Faithfulness Monitor", - "streamLabel": "Luồng", + "streamLabel": "Stream", "streamPlaceholder": "Chọn Luồng", "targetScopeLabel": "Đánh giá Mỗi", "targetScopes": { @@ -11955,7 +11955,7 @@ "targetScopeHelp": { "span": "Đánh giá từng span khớp một cách độc lập.", "trace": "Đánh giá toàn bộ trace sau khi cửa sổ hoàn tất đóng lại.", - "session": "Đánh giá một phiên qua nhiều trace sau khi cửa sổ hoàn tất đóng lại." + "session": "Đánh giá một phiên qua các trace sau khi cửa sổ hoàn tất đóng lại." }, "completionSection": "Tiêu chí hoàn tất", "completionHelp": { @@ -11963,11 +11963,11 @@ "session": "Phiên được đánh giá ngay khi điều kiện đầu tiên trong số này được đáp ứng." }, "idleWindowLabel": "Cửa sổ không hoạt động (giây)", - "idleWindowHelp": "Được đánh giá sau {duration} không có span mới.", - "idleWindowHelpEmpty": "Được đánh giá khi không có span mới đến.", + "idleWindowHelp": "Được đánh giá sau {duration} mà không có span mới.", + "idleWindowHelpEmpty": "Được đánh giá khi không còn span mới đến.", "maxAgeLabel": "Tuổi tối đa (giây)", "maxAgeHelp": "Được đánh giá {duration} sau span đầu tiên.", - "maxAgeHelpEmpty": "Được đánh giá ở một tuổi cố định, ngay cả khi spans vẫn đang đến.", + "maxAgeHelpEmpty": "Được đánh giá sau một khoảng thời gian cố định, ngay cả khi các span vẫn đang đến.", "descriptionLabel": "Mô tả", "samplingModeLabel": "Chế độ lấy mẫu", "samplingValueLabel": "Tỷ lệ lấy mẫu", @@ -11978,8 +11978,8 @@ "scorerPicker": { "title": "Bộ chấm điểm", "hint": { - "span": "Chọn một hoặc nhiều bộ chấm điểm để chạy cho mỗi span khớp.", - "trace": "Chọn một hoặc nhiều bộ chấm điểm để chạy cho mỗi trace đủ điều kiện.", + "span": "Chọn một hoặc nhiều bộ chấm điểm để chạy cho mọi span khớp.", + "trace": "Chọn một hoặc nhiều bộ chấm điểm để chạy cho mọi trace đủ điều kiện.", "session": "Chọn một hoặc nhiều bộ chấm điểm để chạy cho mỗi phiên đủ điều kiện." }, "meta": "{type} · v{version}", @@ -11990,13 +11990,13 @@ "filter": { "title": "Điều kiện lọc", "hint": { - "span": "Chỉ các span khớp với điều kiện này mới được đưa vào lấy mẫu và chấm điểm.", - "trace": "Một trace được đưa vào lấy mẫu và chấm điểm nếu bất kỳ span nào của nó khớp với điều kiện này.", - "session": "Một phiên được đưa vào lấy mẫu và chấm điểm nếu bất kỳ span nào của nó khớp với điều kiện này." + "span": "Chỉ những span khớp điều kiện này mới được đưa vào lấy mẫu và chấm điểm.", + "trace": "Một trace sẽ được đưa vào lấy mẫu và chấm điểm nếu bất kỳ span nào của nó khớp với điều kiện này.", + "session": "Một session sẽ được đưa vào lấy mẫu và chấm điểm nếu bất kỳ span nào của nó khớp với điều kiện này." } }, "selector": { - "title": "Span nào (Tùy chọn)", + "title": "Lựa chọn Span (Tùy chọn)", "hint": { "trace": "Để trống để bao gồm mọi span trong trace." } @@ -12004,16 +12004,16 @@ "endSignal": { "title": "Tín hiệu kết thúc (tùy chọn)", "hint": { - "trace": "Xác định điều kiện span đóng trace ngay lập tức khi bất kỳ span nào khớp.", - "session": "Xác định điều kiện span đóng phiên ngay lập tức khi bất kỳ span nào khớp." + "trace": "Xác định điều kiện span để đóng trace ngay khi bất kỳ span nào khớp với điều kiện đó.", + "session": "Xác định điều kiện span để đóng session ngay khi bất kỳ span nào khớp với điều kiện đó." } }, "inputMapping": { "title": "Biến prompt", "hint": { - "span": "Ánh xạ mỗi biến tới một thuộc tính span.", - "trace": "Ánh xạ mỗi biến tới một giá trị do hệ thống cung cấp hoặc thuộc tính span.", - "session": "Ánh xạ mỗi biến tới một giá trị do hệ thống cung cấp hoặc thuộc tính span." + "span": "Ánh xạ từng biến tới một thuộc tính span.", + "trace": "Ánh xạ từng biến tới giá trị do hệ thống cung cấp hoặc thuộc tính span.", + "session": "Ánh xạ từng biến tới giá trị do hệ thống cung cấp hoặc thuộc tính span." }, "placeholder": "Chọn một giá trị", "searchPlaceholder": "Tìm kiếm giá trị hệ thống và thuộc tính span…", @@ -12029,7 +12029,7 @@ "title": "Giá trị hệ thống của {scope}", "description": "OpenObserve xây dựng các giá trị này riêng biệt cho mỗi {scope} mà công việc này đánh giá. Sử dụng chúng làm nguồn khi ánh xạ các biến prompt của bộ chấm điểm.", "badge": "Hệ thống cung cấp", - "selectorRequired": "Cần có Span Selector", + "selectorRequired": "Span Selector là bắt buộc.", "columns": { "variable": "Giá trị", "source": "Nguồn", @@ -12043,22 +12043,22 @@ "trace": "Đầu ra từ span gốc của trace." }, "statistics": { - "trace": "Số liệu trace: số lượng span, thời lượng, lệnh gọi LLM và công cụ, lỗi, token và chi phí.", - "session": "Số liệu phiên: số lượng trace và lượt, thời lượng và lỗi." + "trace": "Số liệu trace: số span, thời lượng, số lần gọi LLM và công cụ, lỗi, token và chi phí.", + "session": "Số liệu session: số lượng trace và lượt, thời lượng và lỗi." }, "spans": { - "trace": "Một tập con đã lọc của các span, được chọn bởi Span Selector của công việc." + "trace": "Một tập con span đã lọc, được chọn bởi Span Selector của công việc." }, "steps": { - "trace": "Các span theo thứ tự thời gian; phần giữa được gấp lại khi trace rất dài.", - "session": "Các trace theo thứ tự thời gian, được biểu diễn như các lượt hội thoại." + "trace": "Các span theo thứ tự thời gian; phần giữa được thu gọn khi trace rất dài.", + "session": "Các trace theo thứ tự thời gian, được biểu diễn dưới dạng các lượt hội thoại." } } } }, "spanSelector": { "select": "Chọn Span Selector", - "bindingHelp": "Trace có thể có hàng trăm span. Chọn những span mà bộ chấm điểm này nên xem xét.", + "bindingHelp": "Một trace có thể có hàng trăm span. Hãy chọn những span mà bộ chấm điểm này cần xem xét.", "createForScorer": "Tạo cho bộ chấm điểm", "createForScorerTitle": "Tạo Span Selector cho bộ chấm điểm này", "editorTitle": "Span Selector", @@ -12066,34 +12066,34 @@ "schemaMode": "Trường cần đọc", "defaultSchema": "Trường GenAI Chuẩn", "customSchema": "Trường Tùy chỉnh", - "defaultSchemaHelp": "Tám trường này được đọc từ mọi span khớp. Bất kỳ trường nào thiếu sẽ được để trống.", + "defaultSchemaHelp": "Tám trường này được đọc từ mọi span khớp. Trường nào thiếu sẽ có giá trị rỗng.", "fields": "Trường", "fieldsHelp": "Chỉ các trường này được đọc — không có gì khác được gửi đến bộ chấm điểm.", - "maximumSpans": "Số Span Tối đa", - "budget": "Giới hạn số lượng span được chọn từ trace.", + "maximumSpans": "Số Span tối đa", + "budget": "Giới hạn số span được chọn từ trace.", "validation": { "name": "Nhập tên bộ chọn.", "duplicateName": "Tên bộ chọn phải là duy nhất trong công việc này.", "filter": "Hoàn thành hoặc xóa điều kiện lọc chưa hoàn thành.", "fields": "Chọn ít nhất một trường cho schema tùy chỉnh.", "maximumSpans": "Số span tối đa phải là một số nguyên dương.", - "budget": "Quá nhiều span cho các trường đã chọn. Hãy giảm số lượng span hoặc đọc ít trường hơn.", - "binding": "Chọn Trình chọn Span cho mỗi bộ chấm điểm sử dụng span trace." + "budget": "Quá nhiều span cho các trường đã chọn. Hãy giảm số span hoặc đọc ít trường hơn.", + "binding": "Chọn một Span Selector cho mỗi bộ chấm điểm sử dụng span của trace." } }, "preview": { "scopes": { "span": { - "title": "Các Span Khớp", - "hint": "Khi bạn đã chọn một luồng và bộ lọc, bảng này sẽ hiển thị số lượng span mà công việc của bạn sẽ khớp.", - "matchedSuffix": "span khớp · 1h qua", - "matchedLoading": "Đang đếm các span khớp…" + "title": "Các span khớp", + "hint": "Khi bạn đã chọn stream và bộ lọc, bảng này sẽ hiển thị số span mà công việc của bạn sẽ khớp.", + "matchedSuffix": "span khớp · 1 giờ qua", + "matchedLoading": "Đang đếm span khớp…" }, "trace": { - "title": "Các Trace Khớp", - "hint": "Khi bạn đã chọn một luồng và bộ lọc, bảng này sẽ hiển thị số lượng trace mà công việc của bạn sẽ khớp.", - "matchedSuffix": "trace khớp · 1h qua", - "matchedLoading": "Đang đếm các trace khớp…" + "title": "Các trace khớp", + "hint": "Khi bạn đã chọn stream và bộ lọc, bảng này sẽ hiển thị số trace mà công việc của bạn sẽ khớp.", + "matchedSuffix": "trace khớp · 1 giờ qua", + "matchedLoading": "Đang đếm trace khớp…" }, "session": { "title": "Các Phiên Khớp", @@ -12122,9 +12122,9 @@ "nameRequired": "Tên công việc là bắt buộc", "streamRequired": "Một luồng là bắt buộc", "idleWindowMinimum": "Cửa sổ không hoạt động phải ít nhất 1 giây", - "idleWindowMaximumTrace": "Cửa sổ chờ của trace không được vượt quá 30 phút", + "idleWindowMaximumTrace": "Cửa sổ không hoạt động của trace không được vượt quá 30 phút.", "idleWindowMaximumSession": "Cửa sổ chờ của phiên không được vượt quá 4 giờ", - "maxAgeMaximumTrace": "Tuổi tối đa của trace không được vượt quá 2 giờ", + "maxAgeMaximumTrace": "Tuổi tối đa của trace không được vượt quá 2 giờ.", "maxAgeMaximumSession": "Tuổi tối đa của phiên không được vượt quá 24 giờ", "samplingValueRequired": "Một giá trị lấy mẫu là bắt buộc" } @@ -12187,7 +12187,7 @@ "curlDesc": "Cách nhanh nhất — dán một lệnh và nhật ký bắt đầu chảy", "shippers": "Sử dụng trình gửi nhật ký", "shippersDesc": "{product1}, {product2}, {product3}, {product4}, {product5} và nhiều hơn nữa", - "otelDesc": "Tiếp nhận OTLP trung lập với nhà cung cấp cho nhật ký, dấu vết và số liệu", + "otelDesc": "Tiếp nhận OTLP không phụ thuộc nhà cung cấp cho nhật ký, trace và chỉ số.", "or": "Hoặc:", "aws": "AWS / CloudWatch", "askAi": "Hỏi AI thiết lập tiếp nhận" @@ -12196,7 +12196,7 @@ "title": "Chọn một luồng để bắt đầu khám phá", "description": "Chọn một luồng, sau đó nhấn Chạy truy vấn. Bạn có thể tinh chỉnh với bộ lọc, hàm VRL và phạm vi thời gian tùy chỉnh khi có kết quả.", "selectStream": "Chọn một luồng", - "selectStreamDesc": "Duyệt nhật ký, dấu vết, số liệu & luồng RUM", + "selectStreamDesc": "Duyệt các stream nhật ký, trace, chỉ số và RUM", "queryGuide": "Đọc hướng dẫn truy vấn", "queryGuideDesc": "Bộ lọc, chế độ SQL, VRL & chế độ xem đã lưu", "recent": "Gần đây:" @@ -12293,13 +12293,13 @@ "scannedEventsForQuery": "Sự kiện đã quét cho truy vấn này", "timeTaken": "Thời gian thực hiện", "noData": "Không có dữ liệu", - "traceId": "ID Trace", + "traceId": "Trace ID", "viewQuery": "Xem truy vấn", "sqlQuery": "Truy vấn SQL", "copied": "Đã sao chép!", "sql": "SQL", "noSqlAvailable": "Không có truy vấn SQL", - "fullTraceId": "ID Trace đầy đủ", + "fullTraceId": "Trace ID đầy đủ", "columnDuration": "Thời lượng", "columnNodeName": "Tên nút", "columnRole": "Vai trò", @@ -12312,7 +12312,7 @@ "goodResponse": "Phản hồi tốt", "moderateResponse": "Phản hồi trung bình", "slowResponse": "Phản hồi chậm", - "failedToCopyTraceId": "Không thể sao chép ID Trace vào clipboard", + "failedToCopyTraceId": "Không thể sao chép Trace ID vào bộ nhớ tạm", "failedToCopySql": "Không thể sao chép SQL vào clipboard" }, "searchResult": { @@ -12332,7 +12332,7 @@ "noMetricStreams": "Không tìm thấy luồng chỉ số nào cho dịch vụ \"{service}\"", "correlationError": "Lỗi tương quan: {error}", "contentCopied": "Đã sao chép nội dung thành công!", - "noTraceIdForInspection": "Không có ID Trace nào để kiểm tra" + "noTraceIdForInspection": "Không có Trace ID để kiểm tra" }, "searchBar": { "customRangeAlt": "Phạm vi tùy chỉnh", @@ -12496,7 +12496,7 @@ "expandRangeDesc": "Dữ liệu có thể truy cập nằm trong một khung thời gian khác", "copyError": "Sao chép chi tiết lỗi", "copied": "Đã sao chép!", - "traceId": "ID truy vết:", + "traceId": "Trace ID:", "askAi": "Yêu cầu AI sửa truy vấn của tôi", "showDetail": "Hiển thị chi tiết", "hideDetail": "Ẩn chi tiết" @@ -13354,7 +13354,7 @@ "errorPatternsWindowDesc": "Chuẩn hóa qua {window} · nhấp vào một hàng để lọc các lần chạy" }, "scheduleAlert": { - "addNewDestination": "Thêm đích mới", + "addNewDestination": "Thêm điểm đến mới", "alertedIfFails": "Cảnh báo nếu kiểm tra thất bại", "alertedIfFailsSuffix": "lần.", "alerts": "Cảnh báo", @@ -13370,8 +13370,8 @@ "weeks": "Tuần" }, "customIntervalValue": "Lặp lại mỗi", - "destinationRequired": "Cần ít nhất một đích", - "destinations": "Các đích", + "destinationRequired": "Cần ít nhất một điểm đến.", + "destinations": "Điểm đến", "frequency": "Tần suất", "frequencyOptions": { "15min": "15 phút", @@ -13383,8 +13383,8 @@ "custom": "Tùy chỉnh" }, "minutes": "phút", - "noDestinations": "Không có đích khả dụng", - "refreshDestinations": "Làm mới các đích", + "noDestinations": "Không có điểm đến nào khả dụng", + "refreshDestinations": "Làm mới điểm đến", "retries": "Số lần thử lại", "retriesOnFailure": "Số lần thử lại khi thất bại", "retriesOnFailureSuffix": "lần.", @@ -13644,7 +13644,7 @@ "metrics": "Chỉ số", "traces": "Dấu vết", "alerts": "Cảnh báo", - "streams": "Luồng", + "streams": "Streams", "pipelines": "Đường ống", "functions": "Hàm", "reports": "Báo cáo", @@ -13664,7 +13664,7 @@ "metrics": "Chỉ số", "traces": "Dấu vết", "alerts": "Cảnh báo", - "streams": "Luồng", + "streams": "Streams", "pipelines": "Đường ống", "functions": "Hàm", "reports": "Báo cáo", @@ -13672,7 +13672,7 @@ "iamRoles": "IAM — Vai trò", "iamGroups": "IAM — Nhóm", "iamServiceAccounts": "IAM — Tài khoản dịch vụ", - "alertDestinations": "Cảnh báo — Đích đến", + "alertDestinations": "Cảnh báo — Điểm đến", "alertSources": "Cảnh báo — Nguồn bên ngoài", "alertTemplates": "Cảnh báo — Mẫu", "panelEditor": "Trình chỉnh sửa bảng", @@ -13681,7 +13681,7 @@ "ingestionTokens": "IAM — Mã thông báo thu thập", "syntheticsTokens": "IAM — Token tổng hợp", "alertIncidents": "Cảnh báo — Sự cố", - "pipelineDestinations": "Đường ống — Đích đến", + "pipelineDestinations": "Pipeline — Điểm đến", "enrichmentTables": "Bảng làm giàu", "iamInvitations": "IAM — Lời mời", "iamOrganizations": "IAM — Tổ chức", @@ -13757,7 +13757,7 @@ "iamGroupsRefresh": "Làm mới danh sách", "iamServiceAccountsAdd": "Thêm tài khoản dịch vụ mới", "iamServiceAccountsRefresh": "Làm mới danh sách", - "alertDestinationsAdd": "Thêm đích đến mới", + "alertDestinationsAdd": "Thêm điểm đến mới", "alertDestinationsRefresh": "Làm mới danh sách", "alertSourcesAdd": "Thêm nguồn cảnh báo mới", "alertSourcesRefresh": "Làm mới danh sách", @@ -13769,7 +13769,7 @@ "panelEditorSave": "Lưu bảng", "panelEditorBack": "Hủy và quay lại", "traceNextSpan": "Span tiếp theo", - "tracePrevSpan": "Span trước", + "tracePrevSpan": "Span trước đó", "runningQueriesRefresh": "Làm mới danh sách truy vấn", "ingestionTokensAdd": "Tạo token mới", "ingestionTokensRefresh": "Làm mới danh sách token", @@ -13780,7 +13780,7 @@ "aiChatExpand": "Mở rộng/thu gọn trò chuyện AI", "logsSaveView": "Lưu dưới dạng chế độ xem đã lưu", "logsExport": "Xuất kết quả dưới dạng CSV", - "tracesCopyUrl": "Sao chép URL chia sẻ trace", + "tracesCopyUrl": "Sao chép URL chia sẻ dấu vết", "alertIncidentsRefresh": "Làm mới danh sách", "pipelineDestinationsRefresh": "Làm mới danh sách", "enrichmentTablesRefresh": "Làm mới danh sách", @@ -14078,7 +14078,7 @@ "error": "Lỗi" }, "crossLinkSource": { - "stream": "Luồng", + "stream": "Stream", "global": "Toàn cục" }, "themeApplied": { @@ -14160,7 +14160,7 @@ "pending": "Đang chờ" }, "logLevel": { - "trace": "Truy vết", + "trace": "Trace", "debug": "Gỡ lỗi", "info": "Thông tin", "warn": "CẢNH BÁO", @@ -14309,18 +14309,18 @@ "pleaseSelectStreamType": "Vui lòng chọn loại luồng ", "anomalyDetectionClonedSuccessfully": "Đã nhân bản phát hiện bất thường thành công", "errorWhileFetchingTemplates": "Lỗi khi tải các mẫu.", - "errorWhileFetchingDestinations": "Lỗi khi tải các điểm đến.", + "errorWhileFetchingDestinations": "Lỗi khi tải điểm đến.", "failedToLoadAlertForEditing": "Không thể tải cảnh báo để chỉnh sửa", "pleaseWaitWhileLoadingAlert": "Vui lòng đợi trong khi tải cảnh báo...", "errorWhilePullingAlerts": "Lỗi khi lấy cảnh báo.", "pleaseWaitWhileLoadingAlerts": "Vui lòng đợi trong khi tải cảnh báo...", - "destinationsDeletedSuccessfully": "Đã xóa thành công {count} điểm đến | Đã xóa thành công {count} điểm đến", + "destinationsDeletedSuccessfully": "{count} điểm đến đã được xóa thành công | {count} điểm đến đã được xóa thành công", "failedToDeleteDestinations": "Không thể xóa {count} điểm đến | Không thể xóa {count} điểm đến", - "destinationsDeletedWithFailures": "Đã xóa thành công {count} điểm đến, {failed} lỗi | Đã xóa thành công {count} điểm đến, {failed} lỗi", + "destinationsDeletedWithFailures": "Đã xóa thành công {count} điểm đến, {failed} điểm thất bại | Đã xóa thành công {count} điểm đến, {failed} điểm thất bại", "noDestinationsSelectedForDeletion": "Chưa chọn điểm đến nào để xóa", "deletingDestinations": "Đang xóa điểm đến...", - "destinationDeletedSuccessfully": "Đã xóa điểm đến {name} thành công", - "errorWhilePullingDestinations": "Lỗi khi lấy điểm đến.", + "destinationDeletedSuccessfully": "Điểm đến {name} đã được xóa thành công", + "errorWhilePullingDestinations": "Lỗi khi tải điểm đến.", "pleaseWaitWhileLoadingDestinations": "Vui lòng đợi trong khi tải điểm đến...", "errorWhileLoadingActions": "Lỗi khi tải hành động.", "pleaseWaitWhileLoadingAlertDestination": "Vui lòng đợi trong khi tải điểm đến cảnh báo...", @@ -14342,8 +14342,8 @@ "incidentsRefreshed": "Đã làm mới sự cố", "failedToPostComment": "Không thể đăng bình luận", "commentPostedSuccessfully": "Đã đăng bình luận thành công", - "destinationUpdatedSuccessfully": "Đích \"{name}\" đã được cập nhật thành công.", - "destinationCreatedSuccessfully": "Đích \"{name}\" đã được tạo thành công.", + "destinationUpdatedSuccessfully": "Điểm đến \"{name}\" đã được cập nhật thành công.", + "destinationCreatedSuccessfully": "Điểm đến \"{name}\" đã được tạo thành công.", "failedToDeleteTemplates": "Không thể xóa {count} mẫu | Không thể xóa {count} mẫu", "templatesDeletedWithFailures": "Đã xóa {count} mẫu, nhưng {failed} mẫu không thành công | Đã xóa {count} mẫu, nhưng {failed} mẫu không thành công", "successfullyDeletedTemplates": "Đã xóa thành công {count} mẫu | Đã xóa thành công {count} mẫu", @@ -14393,14 +14393,14 @@ "resources": { "dashboards": "Bảng điều khiển", "alerts": "Cảnh báo", - "streams": "Luồng dữ liệu", + "streams": "Streams", "functions": "Hàm", "savedviews": "Chế độ xem đã lưu", "users": "Người dùng", "roles": "Vai trò", "organizations": "Tổ chức", "pipelines": "Đường ống", - "destinations": "Đích đến", + "destinations": "Điểm đến", "templates": "Mẫu", "reports": "Báo cáo", "llmModelPricing": "Giá mô hình LLM" @@ -14564,8 +14564,8 @@ "errorWhileUpdating": "Lỗi khi cập nhật báo cáo." }, "correlation": { - "refreshingTraceData": "Đang làm mới dữ liệu trace...", - "traceDetailViewComingSoon": "Chế độ xem chi tiết trace sắp ra mắt", + "refreshingTraceData": "Đang làm mới dữ liệu dấu vết...", + "traceDetailViewComingSoon": "Chế độ xem chi tiết dấu vết sắp ra mắt", "columnIsAlreadyVisible": "Cột \"{name}\" đã hiển thị", "columnAddedToTable": "Cột \"{name}\" đã được thêm vào bảng" }, @@ -14605,7 +14605,7 @@ "isNotASupportedFileType": "\"{fileName}\" không phải là loại tệp được hỗ trợ. Chỉ cho phép các tệp {allowed}." }, "workflows": { - "thisBranchAlreadyEndsInA": "Nhánh này đã kết thúc tại một Đích đến.", + "thisBranchAlreadyEndsInA": "Nhánh này đã kết thúc tại một điểm đến.", "chooseATriggerNodeToStart": "Chọn nút kích hoạt để bắt đầu quy trình làm việc của bạn", "thisConnectionWouldCreateALoop": "Kết nối này sẽ tạo ra một vòng lặp", "onlyOneIncomingConnectionToA": "Chỉ cho phép một kết nối đến cho mỗi bước" @@ -14613,8 +14613,8 @@ "views": { "youAreNotAuthorizedToManage": "Bạn không có quyền quản lý giấy phép.", "copiedToClipboard": "Đã sao chép vào bộ nhớ tạm", - "noDestinationsFoundPleaseCreateA": "Không tìm thấy đích đến. Vui lòng tạo đích đến trước.", - "errorWhilePullingDestinations": "Lỗi khi tải danh sách đích đến.", + "noDestinationsFoundPleaseCreateA": "Không tìm thấy điểm đến nào. Vui lòng tạo điểm đến trước.", + "errorWhilePullingDestinations": "Lỗi khi tải điểm đến.", "rumTokenUpdatedSuccessfully": "Đã cập nhật mã thông báo RUM thành công.", "rumTokenGeneratedSuccessfully": "Đã tạo mã thông báo RUM thành công.", "tokenResetSuccessfully": "Đã đặt lại mã thông báo thành công.", @@ -14631,7 +14631,7 @@ "pleaseWaitWhileLoadingStreams": "Vui lòng đợi trong khi tải danh sách luồng...", "errorWhilePullingSummary": "Lỗi khi tải tóm tắt.", "pleaseWaitWhileLoadingSummary": "Vui lòng đợi trong khi tải tóm tắt...", - "noDestinationsCreateOneBeforeSaving": "Không tìm thấy đích đến. Vui lòng tạo một đích đến trước khi lưu cảnh báo này.", + "noDestinationsCreateOneBeforeSaving": "Không tìm thấy điểm đến nào. Hãy tạo một điểm đến trước khi lưu cảnh báo này.", "errorWhileLoadingAlert": "Lỗi khi tải cảnh báo." }, "RUM": { @@ -14760,7 +14760,7 @@ "tags": "Thẻ", "tagsPlaceholder": "Thêm thẻ và nhấn Enter", "streamType": "Loại luồng", - "stream": "Luồng", + "stream": "Stream", "queryLanguage": "Ngôn ngữ truy vấn", "scope": "Phạm vi", "scopeHint": "Bộ lọc tùy chọn áp dụng cho mẫu số. Để trống để áp dụng cho tất cả các hàng.", @@ -15360,20 +15360,20 @@ "failed": "Thất bại" }, "columnHints": { - "calls": "Số lần truy vấn này chạy. Số đếm của cơ sở dữ liệu của bạn nếu nó báo cáo — bao gồm mọi máy khách, không chỉ các phần của hệ thống gửi trace. Các hàng được đánh dấu là quan sát từ máy khách được đếm từ trace thay vào đó, vì cơ sở dữ liệu của bạn không báo cáo chúng.", + "calls": "Số lần truy vấn này được thực thi. Số đếm của cơ sở dữ liệu của bạn ở nơi nó báo cáo — bao gồm mọi máy khách, không chỉ các phần của hệ thống gửi trace. Các hàng được đánh dấu client-observed được đếm từ trace, vì cơ sở dữ liệu của bạn không báo cáo chúng.", "p50": "Một nửa số cuộc gọi hoàn thành nhanh hơn mức này. Chỉ đếm các cuộc gọi đã hoàn thành — truy vấn vẫn đang chạy hoặc không bao giờ quay lại không được đo ở đây.", "p95": "Đuôi chậm — 1 trong 20 cuộc gọi mất ít nhất khoảng thời gian này. Chỉ đếm các cuộc gọi đã hoàn thành — truy vấn vẫn đang chạy hoặc không bao giờ quay lại không được đo ở đây.", "p99": "1% cuộc gọi tệ nhất mất ít nhất khoảng thời gian này. Chỉ đếm các cuộc gọi đã hoàn thành — truy vấn vẫn đang chạy hoặc không bao giờ quay lại không được đo ở đây.", "max": "Cuộc gọi chậm nhất duy nhất trong cửa sổ này — một cuộc gọi thực sự, không phải trung bình.", "errors": "Có bao nhiêu cuộc gọi trong số này trả về lỗi.", "perTrace": "Số lần điều này chạy bên trong một yêu cầu. Số cao thường có nghĩa là một vòng lặp.", - "load": "Tổng thời gian truy vấn này dành trong cơ sở dữ liệu. Con số của cơ sở dữ liệu của bạn nếu nó báo cáo: thời gian thực thi trên Postgres, nhưng thời gian CHỜ trên MySQL và MariaDB — mỗi hàng cho biết loại nào. Các hàng được đánh dấu là quan sát từ máy khách được đo từ trace, vì vậy chúng bao gồm khứ hồi mạng." + "load": "Tổng thời gian truy vấn này dành cho cơ sở dữ liệu. Số liệu của chính cơ sở dữ liệu của bạn ở nơi nó báo cáo: thời gian thực thi trên Postgres, nhưng thời gian CHỜ trên MySQL và MariaDB — mỗi hàng cho biết loại nào. Các hàng được đánh dấu client-observed được đo từ trace, vì vậy chúng bao gồm cả thời gian khứ hồi mạng." }, "errorsNone": "không có", "errorsAll": "tất cả", "actions": { "open": "Mở chi tiết", - "traces": "Xem trace ví dụ", + "traces": "Xem các trace mẫu", "copy": "Sao chép truy vấn", "copied": "Đã sao chép truy vấn", "copyFailed": "Không thể sao chép truy vấn.", @@ -15405,7 +15405,7 @@ "n-plus-one": { "title": "Chạy ít nhất {multiplier}× mỗi yêu cầu", "body": "{share} thời gian cơ sở dữ liệu · {service}", - "rule": "Hiển thị vì truy vấn này chạy ít nhất {ratio} lần trong một yêu cầu, trên ít nhất {traces} yêu cầu. Đây là giới hạn dưới, nên con số thực tế có thể cao hơn. Công việc xử lý hàng loạt hợp lệ có thể trông giống vậy." + "rule": "Hiển thị vì truy vấn này chạy ít nhất {ratio} lần trong một yêu cầu duy nhất, trên ít nhất {traces} yêu cầu. Đây là giới hạn dưới, vì vậy con số thực tế có thể cao hơn. Công việc xử lý theo lô hợp lệ cũng có thể trông giống như vậy." }, "volume-shift": { "title": "Bận hơn, không chậm hơn", @@ -15479,7 +15479,7 @@ "subtitleCounts": "{pass} đạt, {fail} không. | {pass} đạt, {fail} không.", "checklistTitle": "Những gì chúng tôi đã kiểm tra", "showMeHow": "Chỉ cho tôi cách thêm đo lường", - "checkTrace": "Kiểm tra một trong các trace của tôi", + "checkTrace": "Kiểm tra một trace của tôi", "checks": { "enabled": { "ok": "Tính năng theo dõi cơ sở dữ liệu đã được bật", @@ -15488,16 +15488,16 @@ "noDetail": "Quản trị viên có thể bật nó cho tổ chức này, sau đó khởi động lại bộ thu thập." }, "traces": { - "ok": "Các trace của bạn đang được gửi về", + "ok": "Các trace của bạn đang đến", "okDetail": "{count} bản ghi trong khoảng thời gian này", "no": "Chưa có trace nào được gửi đến", - "noDetail": "Tính năng theo dõi cơ sở dữ liệu được xây dựng từ các trace và tổ chức này chưa gửi bất kỳ trace nào." + "noDetail": "Giám sát cơ sở dữ liệu được xây dựng từ trace, và tổ chức này chưa gửi bất kỳ trace nào." }, "permission": { "ok": "Bạn có quyền truy cập dữ liệu này", "okDetail": "bạn là quản trị viên của {org}", "no": "Bạn không có quyền truy cập dữ liệu này", - "noDetail": "Tính năng theo dõi cơ sở dữ liệu đọc các trace của bạn và vai trò của bạn không bao gồm chúng. Hãy yêu cầu quản trị viên cấp quyền đọc." + "noDetail": "Giám sát cơ sở dữ liệu đọc các trace của bạn, và vai trò của bạn không có quyền truy cập chúng. Hãy yêu cầu quản trị viên cấp quyền đọc." }, "dbSpans": { "ok": "Các trace của bạn đề cập đến một cơ sở dữ liệu", @@ -15533,7 +15533,7 @@ "plans": "Kế hoạch thực thi truy vấn", "plansHint": "Các bước cơ sở dữ liệu của bạn đã thực hiện để chạy truy vấn này. Bắt đầu từ đây để tìm hiểu tại sao nó chậm.", "callers": "Bên gọi và ví dụ", - "callersHint": "Những phần nào của ứng dụng đã chạy truy vấn này và các lần chạy chậm riêng lẻ bạn có thể mở dưới dạng trace.", + "callersHint": "Những phần nào của ứng dụng của bạn đã chạy truy vấn này, và các lần chạy chậm riêng lẻ bạn có thể mở dưới dạng một trace.", "callersLocked": "Các lần chạy riêng lẻ có được từ việc theo dõi. Không có trace nào ghi nhận truy vấn này trong khoảng thời gian này." }, "notFound": { @@ -15559,10 +15559,10 @@ "noSamples": "Không có lần thực thi riêng lẻ nào được tải cho khoảng thời gian này.", "noSeries": "Không có lịch sử cho truy vấn này trong khoảng thời gian bạn đã chọn.", "liveSeries": "Các điểm gần đây nhất vẫn đang được tính và có thể thay đổi.", - "noStream": "Chúng tôi không thể xác định luồng trace nào mang truy vấn này, vì vậy không thể tải các nơi gọi và các ví dụ của nó.", - "ambiguousStream": "Tổ chức này có nhiều hơn một luồng trace và chúng tôi không thể biết truy vấn này chạy trên luồng nào. Hãy chọn một luồng để tải các nơi gọi và các trace mẫu.", + "noStream": "Chúng tôi không thể xác định luồng trace nào chứa truy vấn này, vì vậy không thể tải caller và ví dụ của nó.", + "ambiguousStream": "Tổ chức này có nhiều hơn một luồng trace, và chúng tôi không thể biết truy vấn này chạy trên luồng nào. Hãy chọn một luồng để tải caller và trace mẫu.", "pickStream": "Chọn một luồng trace", - "invalidStream": "Tên luồng trace đó không phải là tên chúng tôi nhận ra, vì vậy chúng tôi đã không chạy tìm kiếm.", + "invalidStream": "Tên luồng trace đó không được chúng tôi nhận diện, nên chúng tôi đã không chạy tìm kiếm.", "firstSeen": "LẦN ĐẦU XUẤT HIỆN TRONG DANH SÁCH NÀY LÚC {time}", "firstSeenHint": "Điểm sớm nhất trong khoảng thời gian này mà truy vấn này đủ nặng để theo dõi riêng.", "lastSeen": "LẦN CUỐI XUẤT HIỆN LÚC {time}", @@ -15593,7 +15593,7 @@ "sampleOk": "OK", "sampleError": "Thất bại", "viewTrace": "Xem yêu cầu →", - "viewTraces": "Xem các trace ví dụ", + "viewTraces": "Xem các trace mẫu", "copySummary": "Sao chép", "copySummaryHint": "Mọi con số ở đây đã có trên trang này — thao tác này chỉ viết câu văn, vì vậy phút thứ 13 của một sự cố sẽ tạo ra thông báo thay vì không có gì.", "summaryCopied": "Đã sao chép tóm tắt", @@ -15686,7 +15686,7 @@ "tracedCalls": "{calls} cuộc gọi được truy vết", "coverage": "{count} dịch vụ xuất hiện trong {traced} trên tổng số {executions} lần thực thi ở trên. Phần còn lại đến từ các bên gọi chưa được truy vết.", "coverageUnknown": "{count} dịch vụ xuất hiện trong {traced} cuộc gọi được truy vết. Cơ sở dữ liệu của bạn không báo cáo tổng cho câu lệnh này, vì vậy không có tỷ lệ nào để hiển thị.", - "noneNamed": "{traced} cuộc gọi đã được truy vết, nhưng không cuộc gọi nào trong số đó có thể liên kết ngược với một dịch vụ — dấu vết của chúng bắt đầu ngoài khoảng thời gian này." + "noneNamed": "{traced} cuộc gọi đã được trace, nhưng không cuộc gọi nào có thể liên kết với một dịch vụ — trace của chúng bắt đầu ngoài khoảng thời gian này." }, "callersEmpty": { "title": "Chưa có cuộc gọi được truy vết nào cho truy vấn này", @@ -15754,7 +15754,7 @@ "scatterOk": "Hoàn thành", "partial": "Một số dữ liệu trace của bạn không thể đọc được, vì vậy các cuộc gọi có thể bị thiếu trong danh sách này.", "disclosureShort": "Mỗi hàng là một cuộc gọi đã hoàn thành thực tế", - "disclosureDetail": "Được đo bởi ứng dụng thực hiện cuộc gọi, từ các trace bạn gửi. Chỉ những cuộc gọi đã hoàn thành ở đây — một truy vấn đang chạy hoặc bị treo và không bao giờ quay lại sẽ không tạo ra phép đo nào.", + "disclosureDetail": "Được đo bởi ứng dụng thực hiện cuộc gọi, từ các trace bạn gửi. Chỉ những cuộc gọi đã hoàn thành có ở đây — một truy vấn đang chạy, hoặc một truy vấn bị treo và không bao giờ trở lại, không tạo ra phép đo nào.", "counts": { "complete": "Hiển thị tất cả {count} cuộc gọi cơ sở dữ liệu trong cửa sổ này, chậm nhất trước.", "truncated": "{count} cuộc gọi chậm nhất trong cửa sổ này — có nhiều cuộc gọi hơn số hiển thị ở đây.", @@ -15959,8 +15959,8 @@ "blocking": "Đang chặn" }, "coverage": { - "summary": "Thời gian chờ lâu nhất là {longest}. Mọi sự chờ đợi đều truy về {roots} đang giữ khóa mở.", - "summaryCapped": "Có nhiều phiên đang chờ hơn mức chúng tôi có thể đọc cùng lúc. Trong số các phiên chúng tôi có, thời gian chờ lâu nhất là {longest} và chúng truy về {roots} đang giữ khóa mở.", + "summary": "Thời gian chờ dài nhất là {longest}. Mỗi lần chờ đều bắt nguồn từ {roots} đang giữ khóa mở.", + "summaryCapped": "Có nhiều phiên đang chờ hơn mức chúng tôi có thể đọc cùng lúc. Trong số các phiên chúng tôi có, thời gian chờ dài nhất là {longest} và chúng bắt nguồn từ {roots} đang giữ khóa mở.", "summaryOneRoot": "một phiên", "summaryManyRoots": "{count} phiên", "checked": "Kiểm tra mỗi {interval} giây; lần kiểm tra cuối {time}.", diff --git a/web/src/locales/languages/zh-CN.json b/web/src/locales/languages/zh-CN.json index 8e77e2605d..7dbb835ff5 100644 --- a/web/src/locales/languages/zh-CN.json +++ b/web/src/locales/languages/zh-CN.json @@ -124,7 +124,7 @@ }, "noIngestionTokens": { "title": "还没有写入令牌", - "description": "在发送日志、指标和跟踪时,摄取令牌对数据源进行身份验证。", + "description": "数据摄取令牌在发送日志、指标和追踪时对数据源进行身份验证。", "action": "新令牌", "actionDesc": "生成摄取令牌" }, @@ -133,11 +133,11 @@ "description": "组织将您的用户和数据分组在一起。创建一个即可开始使用。" }, "noAlertDestinations": { - "title": "还没有目的地", - "description": "目的地定义警报通知的发送地点——Slack、电子邮件、网络挂钩等。", - "action": "新目的地", + "title": "暂无目标", + "description": "目标定义告警通知的发送位置 — Slack、电子邮件、Webhook 等。", + "action": "新建目标", "actionDesc": "连接通知频道", - "import": "导入目的地", + "import": "导入目标", "importDesc": "从 JSON 文件导入" }, "noAlertSources": { @@ -147,14 +147,14 @@ "actionDesc": "创建 Webhook URL 和令牌" }, "noPipelineDestinations": { - "title": "还没有目的地", - "description": "管道输出的外部目标 — HTTP 端点和远程写入目标。", - "action": "新目的地", - "actionDesc": "连接管道目的地" + "title": "暂无目标", + "description": "流水线输出的外部目标 — HTTP 端点和远程写入目标。", + "action": "新建目标", + "actionDesc": "连接流水线目标" }, "noAlertTemplates": { "title": "还没有模板", - "description": "模板定义警报通知消息的格式。", + "description": "模板定义告警通知消息的格式。", "action": "新模板", "actionDesc": "创建通知模板", "import": "导入模板", @@ -192,7 +192,7 @@ }, "noDiscoveredServices": { "title": "未发现任何服务", - "description": "一旦跟踪开始到达,服务将自动出现在此处。" + "description": "一旦开始接收追踪,服务将自动显示在此处。" }, "noNodes": { "title": "没有可用的节点", @@ -206,7 +206,7 @@ }, "noBackfillJobs": { "title": "没有回填作业", - "description": "回填任务通过管道重新处理历史数据。运行一个即可开始。" + "description": "回填任务通过流水线重新处理历史数据。运行一个以开始。" }, "noRegexPatterns": { "title": "还没有正则表达式模式", @@ -229,16 +229,16 @@ "actionDesc": "为模型定义自定义的每令牌定价" }, "noPipelineHistory": { - "title": "尚无管道历史记录", - "description": "管道运行后,管道执行历史记录将显示在此处。" + "title": "暂无流水线历史", + "description": "流水线运行后,执行历史将显示在此处。" }, "noPipelines": { - "title": "创建你的第一个管道", - "description": "管道会在数据到达时对其进行转换和路由。设置一个即可开始塑造您的数据流。", - "action": "新管道", + "title": "创建您的第一个流水线", + "description": "流水线在数据到达时对其进行转换和路由。设置一个以开始塑造您的数据流。", + "action": "新建流水线", "actionDesc": "从头开始构建流程", - "import": "导入管道", - "importDesc": "上传管道定义" + "import": "导入流水线", + "importDesc": "上传流水线定义" }, "noQueues": { "title": "创建你的第一个队列", @@ -274,8 +274,8 @@ }, "noAlerts": { "title": "创建您的第一个提醒", - "description": "当您的数据超过阈值时,警报会通知您。定义一个开始监控。", - "action": "新警报", + "description": "告警在数据跨越阈值时立即通知您。定义一个以开始监控。", + "action": "新建告警", "actionDesc": "定义要监控的条件" }, "noMonitors": { @@ -284,7 +284,7 @@ }, "noIncidents": { "title": "没有活跃事件", - "description": "事件是在警报触发时产生的,尚未触发任何警报。警报到位后,任何触发的事件都将显示在此处。" + "description": "事件在告警触发时创建 — 目前尚无触发。一旦您配置好告警,任何触发的事件都会显示在此处。" }, "noLLMInsights": { "title": "还没有 LLM 活动", @@ -296,7 +296,7 @@ "title": "还没有 LLM 会话", "description": "会话按 gen_ai_conversation_id 分组。对您的服务进行检测,以便每个对话都标记其追踪,会话将显示在此处。", "action": "使用 OpenTelemetry 检测", - "actionDesc": "使用 gen_ai_conversation_id 标记跨度" + "actionDesc": "使用 gen_ai_conversation_id 标记 Span" }, "noScorers": { "title": "还没有评分器", @@ -346,7 +346,7 @@ }, "noServiceGraph": { "title": "没有服务图数据", - "description": "尝试查询更长的时间范围,或者确保您的服务发布跨度指标。" + "description": "尝试查询更长的时间范围,或确保您的服务正在发出 Span 指标。" }, "noServicesCatalog": { "title": "未找到任何服务", @@ -403,11 +403,11 @@ "logs": "Logs", "patterns": "模式", "dashboards": "仪表板", - "pipelines": "管道", + "pipelines": "流水线", "workflows": "工作流", "functions": "函数", - "streams": "流", - "alerts": "警报", + "streams": "数据流", + "alerts": "告警", "incidents": "事件", "traces": "追踪", "discoveryItems": "不健康项", @@ -415,7 +415,7 @@ "searches": "搜索", "searchJobs": "搜索作业", "users": "用户", - "reports": "报告", + "reports": "报表", "queries": "查询", "serviceAccounts": "服务账号", "invitations": "邀请函", @@ -440,7 +440,7 @@ "scorers": "评分器", "evalJobs": "评估任务", "scoreConfigs": "评分配置", - "pipelineHistory": "管道历史记录", + "pipelineHistory": "流水线历史", "regexPatterns": "正则表达式模式", "monitors": "监控器", "modelPricing": "模型定价定义", @@ -473,7 +473,7 @@ "noIncidents": "无事件(全部已处理)", "noInvitations": "无邀请", "noLogs": "范围内无日志", - "noPipelines": "无管道(首次运行)", + "noPipelines": "暂无流水线(首次运行)", "noQueries": "无运行中的查询", "noReports": "无报告", "noSearchHistory": "无搜索历史", @@ -770,7 +770,7 @@ "toggleColumn": "切换 {name} 列", "copyOrganizationId": "复制组织 ID {id}", "applyTheme": "应用 {name} 主题", - "pipelinesAssociatedWith": "与 {name} 关联的管道", + "pipelinesAssociatedWith": "与 {name} 关联的流水线", "removeField": "移除 {name}", "dialog": "对话框", "drawer": "抽屉", @@ -845,9 +845,9 @@ "loadError": "无法读取已保存的条件,已重置。立即保存将覆盖它。" }, "destination": { - "createNew": "创建新目的地", - "select": "目的地", - "loadError": "拉取目的地时出错。" + "createNew": "创建新目标", + "select": "目标", + "loadError": "获取目标时出错。" }, "function": { "createNew": "创建新函数", @@ -878,7 +878,7 @@ "includeModeHint": "包含模式 (=)", "excludeModeHint": "排除模式 (≠)", "fetchingValues": "正在获取值...", - "noDataInRangeHint": "范围内无数据 — 值来自活动筛选器", + "noDataInRangeHint": "范围内无数据 — 值来自活动过滤器", "viewMoreValues": "查看更多值", "aiIconAlt": "AI", "aiModeIconAlt": "AI 模式", @@ -1147,7 +1147,7 @@ "confirmFunctionUpdateTitle": "确认更新", "confirmFunctionUpdateMsg": "你确定要更新函数 {name} 吗?", "traceIdLabel": "追踪编号:", - "enterTraceIdPlaceholder": "输入跟踪 ID", + "enterTraceIdPlaceholder": "输入追踪 ID", "changeQueryModeTitle": "更改查询模式", "changeQueryModeConfirm": "您确定要更改查询模式吗?为 X 轴、Y 轴和过滤器保存的数据将被擦除。", "patternExampleLog": "示例日志", @@ -1394,11 +1394,11 @@ "discoverSessionMessage": "Session Replay 捕获并重放您的网站或应用程序上的用户互动。这使您可以直观地查看用户的导航方式、点击的位置、键入的内容以及他们如何与您的内容互动", "loadingErrorDetails": "等一下,我们正在获取错误细节。", "eventID": "事件 ID", - "noCorrelatedTraces": "未找到此会话的相关跟踪。", - "span": "跨度", - "spans": "跨度", + "noCorrelatedTraces": "未找到此会话的关联追踪。", + "span": "Span", + "spans": "Span", "errorTraces": "错误追踪", - "failedToFetchTraces": "无法获取跟踪数据。请重试。", + "failedToFetchTraces": "获取追踪数据失败。请重试。", "seekToMoment": "跳转到会话中的此时刻", "route": "路由", "duration": "持续时间", @@ -1485,7 +1485,7 @@ "frustrationErrorClick": "点击触发了 JavaScript 错误", "frustrationRageTap": "用户快速轻点多次(3 次以上)- 表明用户感到沮丧", "frustrationErrorTap": "轻点触发了 JavaScript 错误", - "fetchTraceMetadataFailed": "获取跟踪元数据失败", + "fetchTraceMetadataFailed": "获取追踪元数据失败", "frustrationEventTooltip": "⚠️ 挫败:{types}\n{name}", "errorEventTooltip": "⛔ 错误:{name}", "frustrationSignalType": "挫败信号:{type}" @@ -1538,9 +1538,9 @@ "feature_logs": "日志", "feature_metrics": "指标", "feature_traces": "追踪", - "feature_alerts": "警报", + "feature_alerts": "告警", "feature_dashboards": "仪表板", - "feature_reports": "报告", + "feature_reports": "报表", "feature_vrl_functions": "VRL 函数", "feature_pipelines": "流水线", "feature_high_availability": "高可用性", @@ -1663,22 +1663,22 @@ }, "core_features": { "logs_metrics_traces": { - "name": "日志、指标、跟踪", + "name": "日志、指标、追踪", "note": "全面的可观测性数据写入和分析" }, "rum": { "note": "对前端性能进行真实用户监控" }, "alerts": { - "name": "警报", - "note": "实时警报和通知" + "name": "告警", + "note": "实时告警和通知" }, "dashboards": { "name": "仪表板", "note": "自定义的可视化仪表板" }, "reports": { - "name": "报告", + "name": "报表", "note": "定期报告和按需报告" }, "vrl_functions": { @@ -1780,7 +1780,7 @@ "note": "优化的分布式联接操作" }, "logs_metrics_traces_correlation": { - "name": "日志、指标和跟踪的关联", + "name": "日志、指标与追踪关联", "note": "自动检测和关联" }, "service_maps": { @@ -2454,7 +2454,7 @@ "associateFunction": "关联函数", "noFunctionsFound": "未找到函数", "streamsUnit": "{count} 个 Stream | {count} 个 Stream", - "deleteAssociatedAlertsPipelinesBatch": "删除与所选流关联的所有管道和警报", + "deleteAssociatedAlertsPipelinesBatch": "删除所选数据流关联的所有流水线和告警", "allFieldsCount": "所有字段({count})", "performanceFieldsDialog": { "title": "检测到索引字段", @@ -2488,7 +2488,7 @@ "confirmBatchDeleteHead": "删除数据流", "confirmDeleteMsg": "你确定要删除这个数据流吗?", "confirmBatchDeleteMsg": "您确定要删除选定的数据流吗?", - "deleteAssociatedAlertsPipelines": "删除与该数据流相关的所有管道和警报", + "deleteAssociatedAlertsPipelines": "删除与该数据流关联的所有流水线和告警", "cancel": "取消", "ok": "确定", "docsCount": "数据量", @@ -2546,7 +2546,7 @@ }, "workflow": { "header": "工作流", - "subtitle": "使用触发器、逻辑和目的地自动化操作", + "subtitle": "使用触发器、逻辑和目标实现操作自动化", "create": "新建工作流", "createSuccess": "工作流创建成功", "name": "工作流名称", @@ -2626,15 +2626,15 @@ } }, "triggerMeta": { - "orgId": "警报所属的组织 ID。", - "streamType": "流类型 — 日志、指标或跟踪。", - "streamName": "警报监控的流。", - "alertName": "触发的警报名称。", - "alertType": "警报类型 — 实时或定时。", + "orgId": "告警所属的组织 ID。", + "streamType": "数据流类型 — 日志、指标或追踪。", + "streamName": "告警监控的数据流。", + "alertName": "已触发的告警名称。", + "alertType": "告警类型 — 实时或定时。", "alertPeriod": "评估窗口(分钟)。", - "alertOperator": "警报条件使用的比较运算符(例如 >=)。", - "alertThreshold": "警报评估条件的阈值。", - "alertCount": "匹配并触发警报的记录数。", + "alertOperator": "告警条件使用的比较运算符(例如 >=)。", + "alertThreshold": "告警评估条件所依据的阈值。", + "alertCount": "匹配并触发告警的记录数。", "alertStartTime": "匹配记录中的最早时间戳。", "alertEndTime": "匹配记录中的最新时间戳。" }, @@ -2724,7 +2724,7 @@ "functionDesc": "使用函数重塑数据负载", "destinationDesc": "发送到目标", "triggerBody": "当关联的告警触发时运行", - "triggerDataExampleNote": "仅示例——实际列来自警报的查询。", + "triggerDataExampleNote": "仅示例 — 实际列来自您的告警查询。", "incidentEventTypeLabel": "事件类型", "incidentCommonTitle": "公共字段(每个事件)", "incidentSpecificTitle": "事件特定字段", @@ -2793,7 +2793,7 @@ "nodeInvalidStreamType": "节点 {id} 的 stream_type '{streamType}' 无效。必须是以下之一:{types}", "nodeMissingOrgId": "节点 {id} 缺少必需的 'org_id' 字段", "nodeMismatchedOrgId": "节点 {id} 的 org_id 不匹配。期望 '{expected}',实际为 '{actual}'", - "inputStreamAlreadyUsed": "节点 {id} 中的输入流 \"{stream}\" 已被其他实时管道使用", + "inputStreamAlreadyUsed": "节点 {id} 中的输入数据流 \"{stream}\" 已被其他实时流水线使用", "queryNodeMissingQueryCondition": "查询节点 {id} 缺少 query_condition", "queryNodeEmptyQueryType": "查询节点 {id} 的查询类型为空。必须是 'sql' 或 'promql'", "queryNodeInvalidQueryType": "查询节点 {id} 的查询类型 '{type}' 无效。必须是 'sql' 或 'promql'", @@ -2816,7 +2816,7 @@ "functionNodeInvalidName": "函数节点 {id} 的函数名称 \"{name}\" 无效。必须是可用函数之一。", "outputStreamNodeEmptyName": "输出流节点 {id} 的流名称为空", "remoteStreamNodeEmptyDestination": "远程流节点 {id} 的目标名称为空", - "remoteStreamNodeInvalidDestination": "远程流节点 {id} 的目标 \"{destination}\" 无效。必须是可用的管道目标之一。", + "remoteStreamNodeInvalidDestination": "远程数据流节点 {id} 的目标 \"{destination}\" 无效。必须是可用的流水线目标之一。", "edgeMissingSourceNode": "边 {id} 引用了不存在的源节点 {source}", "edgeMissingTargetNode": "边 {id} 引用了不存在的目标节点 {target}", "inputNodeHasIncomingEdges": "输入节点 {id} 不应有入边。发现 {count} 条入边。", @@ -2824,29 +2824,29 @@ "functionNodeNeedsIncomingEdge": "函数/条件节点 {id} 应至少有一条入边。", "functionNodeNeedsOutgoingEdge": "函数/条件节点 {id} 应至少有一条出边。" }, - "importPipelineTitle": "导入管道", + "importPipelineTitle": "导入流水线", "errorValidations": "错误验证", "outputMessages": "输出消息", - "editPipeline": "编辑管道", + "editPipeline": "编辑流水线", "importErrors": { "unknownError": "未知错误", - "nameRequired": "管道 - {index}:名称是必填项", - "streamTypeInvalid": "管道 - {index}:流类型是必填项,且应为以下之一:'logs'、'metrics'、'traces'。", - "sourceStreamNameRequired": "管道 - {index}:源流名称为必填项 ", - "sqlQueryRequired": "管道 - {index}:SQL 查询是必填的", - "timezoneRequired": "管道 - {index}:时区是必填的", - "orgIdInvalid": "管道 - {index}:组织 ID 是必填的,应存在于组织列表中,并且应等于 {orgId} ", - "functionNameRequired": "管道 - {index},函数-{counter}:函数名称是必填的,并且应存在于现有函数列表中", - "conditionRequired": "管道 - {index},节点 {nodeIndex}:条件为必填项", - "v2GroupConditionsArray": "管道 - {index},节点 {nodeIndex}:V2 组必须有一个 conditions 数组。", - "v2ConditionFields": "管道 - {index},节点 {nodeIndex}:V2 条件必须包含列、运算符和值。", - "v1ConditionsArray": "管道 - {index},节点 {nodeIndex}:V1 的 'and'/'or' 条件必须是数组。", - "v0ConditionFields": "管道 - {index},节点 {nodeIndex}:V0 格式 - 每个条件必须包含列、运算符和值。", - "v1ConditionInvalid": "管道 - {index},节点 {nodeIndex}:无效的 V1 条件格式。", - "conditionFormatUnrecognized": "管道 - {index},节点 {nodeIndex}:无法识别的条件格式。", - "remoteDestinationRequired": "管道 - {index}:远程目标是必填的", - "createSuccess": "管道 - {index}:\"{name}\" 创建成功 \n注意:请从 json 文件中删除已创建的管道对象 {name}", - "createFailed": "管道 - {index}:\"{name}\" 创建失败 --> \n 原因:{reason}", + "nameRequired": "流水线 - {index}:名称必填", + "streamTypeInvalid": "流水线 - {index}:数据流类型为必填项,且应为以下之一:'logs'、'metrics'、'traces'。", + "sourceStreamNameRequired": "流水线 - {index}:源数据流名称必填 ", + "sqlQueryRequired": "流水线 - {index}:SQL 查询必填", + "timezoneRequired": "流水线 - {index}:时区必填", + "orgIdInvalid": "流水线 - {index}:组织 ID 为必填项,应存在于组织列表中,且应等于 {orgId} ", + "functionNameRequired": "流水线 - {index},函数-{counter}:函数名必填,且应存在于现有函数列表中", + "conditionRequired": "流水线 - {index},节点 {nodeIndex}:条件必填", + "v2GroupConditionsArray": "流水线 - {index},节点 {nodeIndex}:V2 组必须包含条件数组。", + "v2ConditionFields": "流水线 - {index},节点 {nodeIndex}:V2 条件必须包含列、运算符和值。", + "v1ConditionsArray": "流水线 - {index},节点 {nodeIndex}:V1 'and'/'or' 条件必须为数组。", + "v0ConditionFields": "流水线 - {index},节点 {nodeIndex}:V0 格式 - 每个条件必须包含列、运算符和值。", + "v1ConditionInvalid": "流水线 - {index},节点 {nodeIndex}:V1 条件格式无效。", + "conditionFormatUnrecognized": "流水线 - {index},节点 {nodeIndex}:无法识别的条件格式。", + "remoteDestinationRequired": "流水线 - {index}:远程目标必填", + "createSuccess": "流水线 - {index}:\"{name}\" 创建成功 \n注意:请从 json 文件中删除已创建的流水线对象 {name}", + "createFailed": "流水线 - {index}:\"{name}\" 创建失败 --> \n 原因:{reason}", "sqlQueryMismatch": "Pipeline - {index}: SQL 查询应在所有节点中保持一致,并尽量匹配节点中的查询 \n\n input.sql_query: {sqlQuery} \n\n input.source.query_condition.sql: {sourceSql} \n", "frequencyPositive": "Pipeline - {index}: 频率应大于 0", "periodPositive": "Pipeline - {index}: 周期应大于 0", @@ -2857,10 +2857,10 @@ "minutesFrequencyTypeMismatch": "Pipeline - {index}: 频率类型应为分钟,并且应在源和节点中匹配,请检查所有节点中的频率类型", "frequencyMismatch": "Pipeline - {index}: 频率应与源中相同,并且应在所有节点中匹配,请检查所有节点中的频率" }, - "pipelineCreation": "管道创建", - "noPipelinesFound": "未找到管道", - "executionDetailsTitle": "管道执行详情", - "pipelineNameLabel": "管道名称", + "pipelineCreation": "创建流水线", + "noPipelinesFound": "未找到流水线", + "executionDetailsTitle": "流水线执行详情", + "pipelineNameLabel": "流水线名称", "timestampLabel": "时间戳", "silencedLabel": "已静默", "evaluationTimeLabel": "评估时间", @@ -2874,10 +2874,10 @@ "errorDetailsLabel": "错误详情", "responseLabel": "响应", "errorSummaryLabel": "错误摘要", - "triggerConditionInfoLine1": "基于触发条件,管道将被触发。", - "triggerConditionInfoLine2": "例如,如果触发值 >100,且查询返回值为 101,则管道将触发。", - "thresholdInfoLine1": "警报触发的阈值(高于/低于)。", - "thresholdInfoLine2": "例如,如果阈值 >100,且查询返回值为 101,则警报将触发。", + "triggerConditionInfoLine1": "根据触发条件,流水线将触发", + "triggerConditionInfoLine2": "例如,如果触发值 >100 且查询返回值为 101,则流水线将触发。", + "thresholdInfoLine1": "高于/低于该阈值时告警将触发。", + "thresholdInfoLine2": "例如,如果阈值为 >100 且查询返回值为 101,则告警将触发。", "cronToggleInfo": "配置该选项以启用 cron 表达式。", "frequencyMinutesInfoLine1": "任务应该多久执行一次。", "frequencyMinutesInfoLine2": "例如,2 分钟意味着任务将每 2 分钟运行一次,并根据提供的其他参数进行处理。", @@ -2888,8 +2888,8 @@ "periodInfoLine1": "查询应运行的时间段。", "periodInfoLine2": "例如,10 分钟表示每当查询运行时,它将使用最近 10 分钟的数据。如果查询在下午 4:00 运行,则将使用下午 3:50 到 4:00 的数据。", "periodShouldMatchFrequency": "注意:时间段应与频率相同。", - "delayInfoLine1": "管道计划运行的延迟时间。", - "delayInfoLine2": "例如,10 分钟的延迟意味着管道将在计划时间后 10 分钟运行。", + "delayInfoLine1": "流水线计划运行的延迟时间。", + "delayInfoLine2": "例如,延迟 10 分钟意味着流水线将在计划时间后 10 分钟运行。", "closeDrawer": "关闭抽屉", "conditionValueGuidelines": "条件值指南:", "emptyValueGuideline": "要检查空值,请使用", @@ -2908,7 +2908,7 @@ "cancelBackfillJobConfirm": "确定要取消此回填作业吗?", "jobInformation": "作业信息", "jobId": "作业 ID", - "pipelineLabel": "管道", + "pipelineLabel": "流水线", "timeRange": "时间范围", "created": "创建时间", "lastTriggered": "上次触发", @@ -2975,7 +2975,7 @@ "editBackfillDeleteConfirmMessage": "您已选择在回填前删除现有数据。这将永久删除目标流中指定时间范围内的所有数据。一旦作业更新,此操作无法撤销或取消。您确定要继续吗?", "actionCannotBeUndone": "一旦作业创建,此操作无法撤销或取消。", "areYouSureProceed": "您确定要继续吗?", - "clearFilters": "清除筛选器", + "clearFilters": "清除过滤器", "backfillJobLabel": "{count} 个回填作业 | {count} 个回填作业", "chunksUnit": "分块", "never": "从不", @@ -2994,7 +2994,7 @@ "organizationId": "组织 ID", "functionName": "函数名称", "remoteDestination": "远程目标", - "failedToLoadPipeline": "加载管道失败", + "failedToLoadPipeline": "加载流水线失败", "header": "流水线", "subtitle": "在飞行中转换、丰富和路由数据", "deleteNode": "删除", @@ -3003,7 +3003,7 @@ "search": "搜索流水线", "associateFunction": "关联函数", "pipelineName": "输入流水线名称", - "renameHint": "点击重命名此管道", + "renameHint": "点击重命名此流水线", "streamTitle": "关联数据流", "conditionTitle": "关联条件", "query": "关联查询", @@ -3021,7 +3021,7 @@ "trigger": "触发器", "aggregation": "聚合", "selectColumn": "选择列", - "value": "价值", + "value": "值", "fieldRequired": "字段为必填字段!", "sqlQuery": "Sql 查询", "promqlQuery": "PromQL 查询", @@ -3166,10 +3166,10 @@ "percentileMax": "最大值", "invalidStartTime": "所选的开始时间无效。请选择有效时间。", "invalidEndTime": "所选的结束时间无效。请选择有效时间。", - "updatePipelineStateError": "更新管道状态时出错", - "deletePipelineConfirm": "确定要删除此管道吗?", - "deletePipelineError": "删除管道时出错", - "bulkDeletePipelinesError": "删除管道时出错。请重试。", + "updatePipelineStateError": "更新流水线状态时出错", + "deletePipelineConfirm": "确定要删除此流水线吗?", + "deletePipelineError": "删除流水线时出错", + "bulkDeletePipelinesError": "删除流水线时出错。请重试。", "backfillingData": "正在回填数据", "cancelBackfillJobFailed": "取消回填作业失败", "backfillJobTitle": "回填作业", @@ -3181,9 +3181,9 @@ "createBackfillJobFailed": "创建回填作业失败", "noJobSelected": "未选择作业", "updateBackfillJobFailed": "更新回填作业失败", - "fetchPipelineHistoryFailed": "获取管道历史失败", + "fetchPipelineHistoryFailed": "获取流水线历史失败", "defaultDestinationNodeWarning": "移除默认目标节点将停止数据摄入其中。源流将仅路由到新添加的目标流。未路由到任何目标流的数据将被丢弃。", - "confirmBulkDeleteMsg": "你确定要删除 {count} 个管道吗?", + "confirmBulkDeleteMsg": "确定要删除 {count} 个流水线吗?", "confirmPauseBackfillJob": "你确定要暂停 \"{name}\" 的回填作业吗?你可以稍后恢复它。", "confirmResumeBackfillJob": "你确定要恢复 \"{name}\" 的回填作业吗?", "confirmDeleteBackfillJob": "你确定要删除 \"{name}\" 的回填作业吗?这将从列表中移除该作业,但不会影响已回填的数据。", @@ -3211,7 +3211,7 @@ "deleteTransformDialogTitle": "删除转换", "deleteTransformConfirmMessage": "您确定要删除转换吗?", "deleteFunctionsDialogTitle": "删除函数", - "noPipelinesAssociated": "没有与此函数关联的管道", + "noPipelinesAssociated": "此函数没有关联的流水线", "statusAllCompleted": "状态:全部完成", "urlJobsCompleted": "{count} 个 URL 任务已完成 | {count} 个 URL 任务已完成", "clickUrlToSeeDetails": "单击 \"Url\" 查看详细信息", @@ -3234,7 +3234,7 @@ "errorLabel": "错误:", "noUrlJobsFound": "未找到 URL 作业", "tipLabel": "提示:", - "associatedPipelines": "关联的管道", + "associatedPipelines": "关联的流水线", "csvFileRequired": "CSV 文件为必填项!", "urlRequired": "URL 为必填项!", "urlMustStartWithHttp": "URL 必须以 http:// 或 https:// 开头", @@ -3243,7 +3243,7 @@ "order": "执行顺序", "applyBeforeFlattening": "在扁平化之前应用", "header": "函数", - "subtitle": "应用于管道的可重复使用的 VRL 函数", + "subtitle": "在流水线中应用的可复用 VRL 函数", "clickTestFunctionHint": "请单击“测试函数”查看事件", "add": "添加函数", "search": "搜索函数", @@ -3315,7 +3315,7 @@ "title": "标题", "tabLabel": "费率", "analyzeTooltipLogs": "分析当前时间范围内的维度分布", - "analyzeTooltipTraces": "分析跟踪维度的速率、延迟和错误模式", + "analyzeTooltipTraces": "分析追踪维度,了解速率、延迟和错误模式", "rateLabel": "频率:", "searchInspectionsLabel": "检查搜索任务执行详情", "inspectBtnLabel": "检查", @@ -3629,14 +3629,14 @@ "anyWindowsHostNote": "任何 Windows 服务器或虚拟机。", "arrow": "→", "askOnSlack": "在 Slack 上提问", - "autoInstrumentTracesDesc": "可选。OpenTelemetry 操作器会将插桩注入到带注解的工作负载中,因此您可以获得**分布式跟踪,而无需修改应用程序代码或重建镜像**。选择一种语言,然后为其运行的命名空间添加注解。", + "autoInstrumentTracesDesc": "可选。OpenTelemetry Operator 会将插桩注入到已标注的工作负载中,因此您无需修改应用程序代码或重建镜像即可获得**分布式追踪**。选择一种语言,然后标注其运行的命名空间。", "autoInstrumentTracesTitle": "自动为您的应用程序注入追踪", "cassandraJmxNote": "在 Cassandra 上启用 JMX 远程访问,以便接收器连接。", "cassandraTagline": "通过 OpenTelemetry Collector 的 JMX 接收器采集 Cassandra 指标并将其发送到 OpenObserve。", "checking": "正在检查…", "checkingForLogs": "正在检查日志…", "checkingForMetrics": "正在检查指标…", - "checkingForSpans": "正在检查跨度…", + "checkingForSpans": "正在检查 Span…", "chipEditor": "编辑器", "chipInstall": "安装", "chipLogs": "日志", @@ -3657,7 +3657,7 @@ "connectedTracesHeadline": "已连接 — 追踪正在流动", "countLogs": "{count} 个日志 | {count} 个日志", "countMetricStreams": "{count} 个指标流 | {count} 个指标流", - "countSpans": "{count} 个跨度 | {count} 个跨度", + "countSpans": "{count} 个 Span | {count} 个 Span", "downloadEnvTooltip": "下载 .env", "downloadJmxJarDesc": "JMX 接收器运行此辅助 jar(在收集器主机上需要 Java)。", "downloadJmxJarTitle": "下载 JMX 指标 Jar", @@ -3766,7 +3766,7 @@ "otlpTroubleHttpGrpcA": "HTTP 是安全的默认设置,可干净地穿越代理和负载均衡器。gRPC 在高 span 量时开销较低,但需要端到端可达端口 5081。", "otlpTroubleHttpGrpcQ": "我应该使用 HTTP 还是 gRPC?", "otlpTroubleStreamA": "`stream-name` 标头决定流. 将其设置为与上面字段相同的名称, 否则下面的检查将监视一个没有任何内容写入的流.", - "otlpTroubleStreamQ": "跨度到达但进入了错误的流", + "otlpTroubleStreamQ": "Span 已到达,但进入了错误的数据流", "otlpTroubleTlsA": "`tls.insecure` 标志必须与端点的协议匹配 — 它基于此部署的 URL 在上方设置为 `{insecure}`. 纯 HTTP 端点需要 `insecure: true`; HTTPS 端点需要 `false`.", "otlpTroubleTlsQ": "gRPC 连接失败并出现 TLS 错误", "pillActiveBackends": "活动后端", @@ -3824,7 +3824,7 @@ "pillServiceMap": "服务地图", "pillSessions": "会话", "pillSetup": "设置", - "pillSpans": "跨度", + "pillSpans": "Span", "pillSqlCompilationRate": "SQL 编译速率", "pillStorageBytes": "存储字节", "pillSystem": "系统", @@ -3969,7 +3969,7 @@ "sqlServerTagline": "使用 OpenTelemetry Collector 收集 SQL Server 指标并将其发送到 OpenObserve。", "startIngestingTestForLogs": "开始采集,然后测试日志", "startIngestingTestForMetrics": "开始采集,然后测试指标", - "startIngestingTestForSpans": "开始采集,然后测试跨度", + "startIngestingTestForSpans": "开始摄取,然后测试 Span", "streamNameError": "仅使用字母、数字和下划线。", "streamNameLabel": "流名称", "stuck": "卡住了?", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "打开 **基础设施 → 数据库**,然后选择下面的标签页。一旦数据库报告死锁和被阻止的查询,它们就会立即出现 — 那里的空标签页告诉你是什么都没有发生,还是没有收集到任何内容。表健康度在第一次 60 秒快照后填充。" }, "instrumentBeforeImportTitle": "在导入客户端之前插桩", - "instrumentBeforeImportBody": "如果您的应用运行但没有任何跨度到达,则插桩可能是在导入客户端之后加载的。请调整顺序,让初始化先运行:", + "instrumentBeforeImportBody": "如果您的应用运行正常但没有 Span 到达,则插桩很可能是在客户端导入之后才加载的。请重新排序,让初始化先运行:", "launchCloudFormationStack": "启动 CloudFormation 堆栈", "openStackSetsConsole": "打开 StackSets 控制台", "integrations": { @@ -4223,8 +4223,8 @@ "hundredPlaceholder": "100", "last": "最后", "alertContextMenu": { - "thresholdAbove": "创建阈值高于 {value} 的警报", - "thresholdBelow": "创建阈值低于 {value} 的警报" + "thresholdAbove": "创建阈值高于 {value} 的告警", + "thresholdBelow": "创建阈值低于 {value} 的告警" }, "dashboardErrors": { "errorsCount": "错误 ({count})" @@ -4423,7 +4423,7 @@ "alignRight": "Right", "sectionStyling": "造型", "sectionConditionalStyling": "条件样式", - "conditionThreshold": "价值", + "conditionThreshold": "值", "conditionAddRule": "+ 添加规则", "conditionNoRules": "还没有规则。", "conditionIfValue": "如果值为", @@ -4724,11 +4724,11 @@ "update": "更新", "edgeSource": "边缘来源", "edgeTarget": "边缘目标", - "edgeValue": "边缘价值", + "edgeValue": "边缘值", "nodeName": "节点名称", "nodeValue": "节点值", "seriesName": "系列名称", - "seriesValue": "系列价值", + "seriesValue": "系列值", "axisValue": "轴值", "expandAllSections": "展开所有部分", "collapseAllSections": "折叠所有部分", @@ -4742,13 +4742,13 @@ "configSectionLineStyle": "线条风格", "configSectionTable": "表格", "configSectionPivotTable": "数据透视表", - "configSectionValueTransformations": "价值转换", + "configSectionValueTransformations": "值转换", "configSectionValueTransformationsTooltip": "将值映射到自定义显示文本、文本颜色和背景颜色 — 包括范围、阈值和正则表达式 — 以获得更清晰、更易读的结果。", "addValueMapping": "增值映射", "editValueMapping": "编辑值映射", "valueMappingsTitle": "值映射", "valueMappingType": "类型", - "valueMappingValue": "价值", + "valueMappingValue": "值", "valueMappingRegex": "正则表达式", "valueMappingFrom": "来自", "valueMappingTo": "至", @@ -5251,7 +5251,7 @@ }, "queryTypeSelector": { "changeQueryMode": "更改查询模式", - "changeQueryModeConfirm": "确定要更改查询模式吗?X轴、Y轴和筛选器保存的数据将被清除。", + "changeQueryModeConfirm": "确定要更改查询模式吗?为 X 轴、Y 轴和过滤器保存的数据将被清除。", "switchToBuilderConfirm": "确定要切换到构建器模式吗?自定义PromQL查询将被清除。" }, "customChartConfirmDialog": { @@ -5562,7 +5562,7 @@ "panelDuplicationFailed": "面板复制失败", "firstColumn": "第一列", "zAxis": "Z 轴", - "breakdown": "分解", + "breakdown": "拆分", "pivotField": "枢轴字段", "pivotFieldTooltip": "将维度字段拖到此处。它的不同值成为数据透视表中的列标题。最多允许 3 个字段进行多级旋转。", "breakdownTooltipHBar": "使用这些字段在 Y 轴上将数据拆分为不同的部分,以获得更清晰的视图。", @@ -5570,7 +5570,7 @@ "otherColumn": "其他列", "metric": "指标", "filters": "筛选", - "labelFilters": "标签筛选器", + "labelFilters": "标签过滤器", "operations": "操作", "joins": "连接", "xAxisShort": "X轴", @@ -5656,7 +5656,7 @@ }, "home": { "alertsOverviewSection": "告警概览部分", - "pipelinesOverviewSection": "管道概览部分", + "pipelinesOverviewSection": "流水线概览部分", "streams": "数据流", "totalDataIngested": "采集的数据总量", "totalDataCompressed": "压缩后大小", @@ -5713,12 +5713,12 @@ "untitledIncident": "无题事件", "allClear": "全部清除", "allClearDesc": "在所选时间窗口内没有活跃的异常、事件或降级的服务。", - "emptyActionAlerts": "查看警报规则", - "emptyActionAlertsDesc": "查看已配置的警报和阈值", + "emptyActionAlerts": "查看告警规则", + "emptyActionAlertsDesc": "查看已配置的告警和阈值", "emptyActionLogs": "浏览日志", "emptyActionLogsDesc": "搜索和筛选您的日志流", "emptyActionTraces": "探索追踪", - "emptyActionTracesDesc": "检查分布式跟踪和服务延迟", + "emptyActionTracesDesc": "检查分布式追踪和服务延迟", "anomalyDetectedTitle": "检测到异常 — {name}", "anomalyDetectedDescription": "流:{stream} · {count} 个异常点", "secondsAgo": "{count} 秒前", @@ -5767,7 +5767,7 @@ "stderr": "标准错误", "truncatedLabel": "已截断", "copyQuery": "复制查询", - "stream": "流", + "stream": "数据流", "start": "开始", "end": "结束", "from": "从", @@ -5806,7 +5806,7 @@ "taglineTail": "。我可以写你的", "taglineSql": "SQL", "taglineVrl": "VRL", - "taglineAnd": "并引导您浏览日志、跟踪、指标和事件。", + "taglineAnd": "并引导您查看日志、追踪、指标和事件。", "signedInAs": "登录身份", "role": "角色", "tryOneOfThese": "或者试试其中一个" @@ -5814,12 +5814,12 @@ "capabilities": { "query": { "title": "写一个查询", - "description": "SQL 用于日志、跟踪,RUM,或用于衡量指标的 PromQL。", + "description": "用于日志、追踪和 RUM 的 SQL,或用于指标的 PromQL。", "prompt": "帮我写一个查询" }, "incident": { "title": "调查事件", - "description": "日志、跟踪、警报的根本原因,例如 “Gateway-5xx 为什么会触发?”", + "description": "跨日志、追踪和告警进行根因分析 — 例如:\"为什么 gateway-5xx 会触发?\"", "prompt": "帮我调查一个事件" }, "dashboard": { @@ -5828,9 +5828,9 @@ "prompt": "帮我构建一个仪表板或面板" }, "alert": { - "title": "创建警报", - "description": "阈值或预设警报,以及采集时间 VRL 流水线。", - "prompt": "帮我创建一个警报或流水线" + "title": "创建告警", + "description": "阈值或定时告警,以及摄取时的 VRL 流水线。", + "prompt": "帮我创建告警或流水线" } }, "suggestions": { @@ -5839,7 +5839,7 @@ "mapStreamSchema": "映射我的 “默认” 数据流架构", "promqlCpu": "使用 > 80% 的 CPU 为 pod 编写 PromQL", "datadogToO2": "将此 Datadog 查询转换为 OpenObserve SQL", - "lastAlertFired": "为什么我最后一次警报被触发?" + "lastAlertFired": "为什么我上一个告警会触发?" }, "placeholderRotation": { "one": "让我看看过去一小时的错误...", @@ -5915,10 +5915,10 @@ "entity": { "alert": "告警", "dashboard": "仪表盘", - "pipeline": "管道", - "report": "报告", + "pipeline": "流水线", + "report": "报表", "function": "函数", - "stream": "流", + "stream": "数据流", "folder": "文件夹", "panel": "面板", "user": "用户", @@ -5962,7 +5962,7 @@ "features": "功能", "included": "包括什么?", "proPlanSubtitle": "适用于小型团队的定制解决方案", - "unlimitedNote": "无限的用户、日志、指标、跟踪等。", + "unlimitedNote": "无限用户、日志、指标、追踪及更多。", "paymentNote": "付款按每月计费周期结束时的使用量计算。", "proPlanLabel": "即用即付", "contactLabel": "联系销售人员", @@ -6084,14 +6084,14 @@ "failedToLinkAzureSubscription": "关联 Azure 订阅失败", "last15Minutes": "最近 15 分钟", "licenseHasExpired": "您的许可证已过期", - "numberOfPipelines": "管道数量", + "numberOfPipelines": "流水线数量", "oneDayUntilLicenseExpires": "您的许可证还有 1 天到期", "pleaseWaitProcessingRequest": "请稍候,我们正在处理您的请求...", - "pipelines": "管道", + "pipelines": "流水线", "pipelineStatusHealthy": "健康", "pipelineStatusFailed": "失败", "pipelineStatusWarning": "警告", - "remotePipelines": "远程管道", + "remotePipelines": "远程流水线", "search": "搜索", "successAlerts": "成功的告警", "time": "时间", @@ -6138,7 +6138,7 @@ "SearchSQLCancelled": "错误:搜索 SQL 已取消。" }, "alerts": { - "allAlerts": "所有警报", + "allAlerts": "所有告警", "compositeAlert": "复合", "import": { "anomalyImportSuccess": "异常检测 - {index}: \"{name}\" 导入成功", @@ -6234,41 +6234,41 @@ "warningPolicy": "警告行为", "warningCountsAsFiring": "警告计为触发", "warningDoesNotCount": "警告不计为触发", - "stalePolicy": "子警报过期策略", + "stalePolicy": "过期子级策略", "useLastState": "使用最后状态", - "useLastStateHelp": "当新鲜度过期时,使用子警报最后计算的状态。", + "useLastStateHelp": "当新鲜度过期时,使用子级最后计算的状态。", "treatStaleFalse": "将过期视为未触发", - "treatStaleFalseHelp": "当新鲜度过期时,将子警报视为未触发。", + "treatStaleFalseHelp": "当新鲜度过期时,将子级视为未触发。", "treatStaleTrue": "将过期视为触发", - "treatStaleTrueHelp": "当新鲜度过期时,将子警报视为触发。", + "treatStaleTrueHelp": "当新鲜度过期时,将子级视为触发中。", "expression": "表达式", - "missingJobWarning": "此已启用的复合警报没有调度任务。请编辑并保存,或禁用后重新启用,以修复评估。", + "missingJobWarning": "此已启用的复合告警没有调度任务。请编辑并保存,或禁用后重新启用,以修复评估。", "disabledNeverEvaluated": "已禁用;{state}", "levelOutcomeEnabled": "{level};{outcome};已启用", - "openChild": "打开子警报 {name}", - "referencedByCount": "被 {count} 个复合警报引用", + "openChild": "打开子告警 {name}", + "referencedByCount": "被 {count} 个复合告警引用", "openReferences": "打开 {count} 个复合引用", "referencesTitle": "复合引用", "closeReferences": "关闭复合引用", "deleteBlocked": "删除被复合引用阻止", - "openParent": "打开父复合警报 {name}", + "openParent": "打开父级复合告警 {name}", "hiddenReferenceCount": "另有 {count} 个引用被隐藏", "expressionEmpty": "输入表达式", "expressionPlaceholder": "例如:A && B", "insert": "插入:", - "addAlert": "添加警报", - "removeChild": "移除子警报 {name}", - "noChildren": "尚无子警报。请至少添加两个。", + "addAlert": "添加告警", + "removeChild": "移除子告警 {name}", + "noChildren": "尚无子告警。至少添加两个。", "wouldTrigger": "会触发", "wouldNotTrigger": "不会触发", "firing": "触发中", "normal": "正常", "stepByStep": "逐步", "result": "结果", - "subAlerts": "子警报", + "subAlerts": "子告警", "triggerExpression": "触发表达式", "settings": "设置", - "banner": "复合警报使用布尔逻辑组合现有警报的当前状态。它运行自己的通知和冷却设置,并且从不重新查询底层数据。", + "banner": "复合告警使用布尔逻辑组合现有告警的当前状态。它运行自己的通知和冷却设置,并且从不重新查询底层数据。", "name": "名称", "type": "类型", "yes": "是", @@ -6277,7 +6277,7 @@ "levelWhenFiringValue": "严重", "currentEvaluation": "当前评估", "statusTimeline": "状态时间线", - "timelineHint": "每个子警报和复合结果的级别历史", + "timelineHint": "每个子告警及复合结果的级别历史", "timelineLoading": "正在加载时间线…", "timelineEmpty": "暂无时间线数据", "legendWarning": "警告", @@ -6328,7 +6328,7 @@ "guidelinesLabel": "指南:", "selectStreamGuideline": "从列表中选择现有流,或输入名称以创建新流", "enrichmentTablesTerm": "Enrichment_tables", - "enrichmentTablesDestinationNote": "作为目标流仅适用于定时管道", + "enrichmentTablesDestinationNote": "作为目标数据流仅适用于定时流水线", "useCurlyBracesNote": "使用花括号", "configureStreamNameDynamicNote": "用于动态配置流名称。例如。", "staticTextBeforeAfterNote": ". 静态文本前/后", @@ -6448,19 +6448,19 @@ "invalidSqlQuery": "SQL 查询无效", "errorFetchingStreams": "获取流时出错", "sqlValidationError": "SQL 验证错误:{error}", - "nameUnsupportedChars": "警报名称不能包含空格或 : # ? ' \" % & /", + "nameUnsupportedChars": "告警名称不能包含空格或 : # ? ' \\\" % & /", "linkUrlUnsupportedScheme": "不支持的 URL 协议 \"{scheme}\"。请使用 http、https 或 mailto — 相对路径或 {'{'}变量{'}'} 也可以。", "linkUrlInvalid": "链接 \"{label}\":{reason}", "linkUrlNotAUrl": "请输入有效的 URL — 例如 https://example.com/runbook、类似 /web/logs 的路径,或 {'{'}变量{'}'}。" }, "header": "告警", - "subtitle": "警报规则和通知渠道", + "subtitle": "告警规则和通知渠道", "searchThisFolder": "这个文件夹", "searchAllFolders": "所有文件夹", "streamConfig": "数据流配置", - "alertRules": "警报规则", - "noTemplatesMsg": "要创建警报,您至少需要一个模板和一个目的地。模板定义通知消息的格式——首先创建一个。", - "noDestinationsMsg": "要创建警报,你需要至少一个目的地和一个模板。目的地定义通知的发送位置——首先创建通知。", + "alertRules": "告警规则", + "noTemplatesMsg": "要创建告警,您至少需要一个模板和一个目标。模板定义通知消息的格式——请先创建一个。", + "noDestinationsMsg": "要创建告警,您至少需要一个目标和一个模板。目标定义通知的发送位置——请先创建一个。", "add": "添加告警", "edit": "编辑", "clone": "克隆告警", @@ -6474,9 +6474,9 @@ "matchingTypeFound": "找到匹配的 {type}", "matchingMetricsFound": "已找到匹配指标", "metricsValueFieldTooltip": "默认情况下,指标流将其测量结果存储在 “值” 字段中", - "howOftenCheckTooltip": "多久检查一次此警报状态", - "alertIfNoOfEvents": "事件数量时发出警报", - "alertIfValueIs": "如果值为,则发出警报", + "howOftenCheckTooltip": "多久检查一次此告警条件", + "alertIfNoOfEvents": "按事件数量告警", + "alertIfValueIs": "按值告警", "havingSeries": "有系列", "clearMultiWindowsTitle": "清除多窗口?", "vrlEditor": "VRL 编辑器", @@ -6497,7 +6497,7 @@ "scheduled": "轮询", "anomalyDetection": "异常检测", "anomalyDetectionConfig": "检测配置", - "alerting": "警报", + "alerting": "告警", "saveAndTrain": "保存并训练", "anomalyCreated": "异常检测配置已创建。培训将很快开始。", "trainingWindow": "训练窗口", @@ -6511,8 +6511,8 @@ "frequency": "频率", "threshold": "阈值", "silenceNotification": "通知后静默", - "destination": "告警目标", - "destinationOrWorkflowRequired": "至少添加一个目的地或工作流。", + "destination": "目标", + "destinationOrWorkflowRequired": "请至少添加一个目标或工作流。", "customDestination": "自定义目标", "customDestinationDescription": "配置自定义 HTTP 端点或电子邮件目标", "testIdleMessage": "单击 “测试” 以验证您的目标配置", @@ -6649,7 +6649,7 @@ }, "placeholders": { "typeSomething": "输入一些东西", - "value": "价值", + "value": "值", "selectColumn": "选择列", "savedFunctions": "保存的函数", "autoUsesCheckInterval": "自动(使用检查间隔)", @@ -6661,11 +6661,11 @@ "advanced": "高级" }, "stepCaptions": { - "alertSetup": "为您的警报做好准备", - "conditions": "什么应该触发警报", + "alertSetup": "为您的告警做好准备", + "conditions": "什么条件触发告警", "compareWithPast": "将当前结果与其他时间段的数据进行比较", - "alertSettings": "设置警报规则并选择您希望以何种方式收到通知。", - "deduplication": "通过将相似的警报分组在一起,避免多次发送相同的警报。", + "alertSettings": "设置您的告警规则,并选择您希望如何收到通知。", + "deduplication": "通过将相似告警分组,避免重复发送相同告警。", "advanced": "上下文变量、描述和行模板" }, "failedToFetchHistory": "无法获取告警历史记录", @@ -6779,7 +6779,7 @@ "acknowledge": "确认", "resolve": "解决", "reopen": "重新打开", - "statusOpen": "打开", + "statusOpen": "未解决", "statusAcknowledged": "已确认", "statusResolved": "已解决", "correlationServiceDiscovery": "服务发现", @@ -6912,7 +6912,7 @@ "conditions": "条件", "copy": "复制", "noCondition": "无条件", - "noHistoryAvailable": "此警报没有评估历史记录", + "noHistoryAvailable": "此告警没有可用的评估历史", "tryExpandingTimeRange": "尝试扩大时间范围", "results": "结果", "ifCondition": "如果 {condition}" @@ -6940,7 +6940,7 @@ "maxDepthReachedTooltip": "已达到最大嵌套深度" }, "compareWithPast": { - "alertSetFor": "警报设置为", + "alertSetFor": "告警设置为", "currentWindow": "当前窗口", "cycle": "周期", "cycleTooltip": "将结果与上一个周期的相同时间进行比较。", @@ -6965,15 +6965,15 @@ "helpLegendSampleExample": "42", "sectionTitle": "设置", "noDestinationsAvailable": "无可用目标", - "noTargetsAvailable": "没有可用的目的地或工作流", - "targetsDestinationsGroup": "目的地", + "noTargetsAvailable": "没有可用的目标或工作流", + "targetsDestinationsGroup": "目标", "targetsWorkflowsGroup": "工作流", "refreshDestinations": "刷新最新目标", "addNewDestination": "添加新目标", - "cooldownTooltip": "如果警报触发,则应等待多长时间才能发送另一条通知。例如,如果警报在下午 4:00 触发,静音通知设置为 10 分钟,则即使警报在 1 分钟后仍然存在,它也要等到下午 4:10 才会发送其他通知。这是为了避免向用户发送垃圾通知。", + "cooldownTooltip": "如果告警触发,需等待多长时间才会发送另一条通知。例如,告警在下午 4:00 触发,若静默通知设置为 10 分钟,则在下午 4:10 之前不会发送另一条通知,即使 1 分钟后告警仍然存在。这是为了避免向用户频繁发送通知。", "periodTooltip": "查询应运行的时间段。例如 10 分钟意味着无论何时运行查询,都将使用最后 10 分钟的数据。", "timezoneWarning": "警告:显示的时区是近似值。手动验证并选择正确的时区。", - "destinationsTooltip": "选择一个或多个目标发送警报通知。", + "destinationsTooltip": "选择一个或多个目标来发送告警通知。", "createsIncident": "创建事件", "createsIncidentTooltip": "如果告警可以创建事件,则不会发送专门的通知。相反,当创建新事件或新告警类型加入现有事件时,会发送有关该事件的通知。", "helpTemplateTitle": "模板覆盖", @@ -6982,17 +6982,17 @@ "helpLearnMore": "了解更多", "helpWhatThisDoes": "这是做什么用的", "helpLegendTitle": "如何阅读预览", - "helpLegendLive": "您的警报的实际值", - "helpLegendSample": "样本 — 实际值是在警报触发时设置的", - "helpLegendOpaque": "警报触发时自动添加", + "helpLegendLive": "您的告警的真实值", + "helpLegendSample": "示例——真实值在告警触发时设置", + "helpLegendOpaque": "在告警触发时自动添加", "helpTemplateExplain": "模板是发送的通知消息,由文本和 {'{'}alert_name{'}'} 等变量组成。在此处选择模板会覆盖每个目标自己的模板,但仅对当前告警生效。", - "helpCurrentHeading": "此警报现在发送的内容", - "helpCurrentNoOverride": "未设置覆盖——每个目的地都使用自己的模板:", - "helpCurrentNoDestinations": "尚未选择任何目的地。每个目的地都将使用自己的配置模板。", - "helpCurrentOverrideHeading": "所有目的地都使用此模板:", + "helpCurrentHeading": "此告警当前发送的内容", + "helpCurrentNoOverride": "未设置覆盖——每个目标使用自己的模板:", + "helpCurrentNoDestinations": "尚未选择目标。每个目标将使用其已配置的模板。", + "helpCurrentOverrideHeading": "所有目标均使用此模板:", "helpPreviewHeading": "预览模板", "helpPreviewSelectPlaceholder": "选择要预览的模板", - "helpApplyToAlert": "申请警报", + "helpApplyToAlert": "应用于告警", "helpVariablesExplain": "变量是可插入通知消息的自定义值。在此处为每个变量指定名称和值,然后在模板任意位置写入 {'{'}your_name{'}'},告警触发时会自动填充。", "helpBuiltInHeading": "浏览内置变量", "helpBuiltInIntro": "{product} 会自动填写这些内容 — 点击一个即可复制。", @@ -7001,20 +7001,20 @@ "helpYourVariablesEmpty": "你还没有添加任何变量。", "helpRowTemplateExplain": "告警可匹配多行。行模板决定单行格式,主模板中的 {'{'}rows{'}'} 会插入所有已格式化的匹配行。", "helpRowTemplateTypeHeading": "字符串与 JSON", - "helpRowTemplateTypeExplain": "字符串每行生成纯文本。JSON 每行生成一个 JSON 对象,适用于结构化目的地。", + "helpRowTemplateTypeExplain": "String 模式每行生成纯文本。JSON 模式每行生成 JSON 对象,适用于结构化目标。", "helpRowTemplateTypeCurrent": "当前已选择:", "helpPreviewHeadingShort": "预览", "helpWhyHeading": "为什么要使用变量?", - "helpWhyIntro": "变量可以让一个模板适应每个警报。与其将值写入模板,不如引用它——每个警报都会自己填充。", + "helpWhyIntro": "变量让一个模板适配每个告警。您无需将值写入模板,而是引用它——每个告警会填入自己的值。", "helpWhyWithoutLabel": "没有变量", "helpWhyWithoutDesc": "您可以对值进行硬编码,因此需要为每个团队或严重程度使用单独的模板。", "helpWhyWithLabel": "使用变量", - "helpWhyWithDesc": "一个共享模板引用该变量;每个警报在此处设置自己的值。", + "helpWhyWithDesc": "一个共享模板引用该变量;每个告警在此设置自己的值。", "helpExampleHeading": "示例", "helpVariablesExampleCaption": "将严重程度和团队添加为变量,然后在模板中的任何位置使用它们:", "helpExampleResultLabel": "发送了什么", "helpTemplateWhenHeading": "我应该什么时候重写?", - "helpTemplateWhenDesc": "将其留空,每个目的地都使用自己的模板。当你希望这个警报向每个目的地发送相同的、一致的消息时,可以设置替代选项,而无需编辑每个目的地的模板。", + "helpTemplateWhenDesc": "留空此项时,每个目标使用自己的模板。当您希望此告警向每个目标发送相同、一致的消息时,可设置覆盖——无需编辑每个目标的模板。", "helpRowTemplateWhyHeading": "为什么是行模板?", "helpRowTemplateWhyDesc": "告警可匹配多条记录。行模板格式化单条记录,{'{'}rows{'}'} 会将所有已格式化的记录插入主模板,因此无需编写循环即可列出全部匹配项。", "helpRowTemplateExampleCaption": "每个匹配行都由行模板格式化,然后 {'{'}rows{'}'} 将它们全部插入主模板:", @@ -7023,7 +7023,7 @@ "helpRowTemplatePreviewEmpty": "尚无行模板——在 “其他设置” 选项卡上键入一个即可在此处预览。", "helpPreviewSelectEmpty": "在上方选择一个模板来预览它将发送的消息。", "helpCurrentBodyEmpty": "此模板没有正文可供预览。", - "helpDestinationNoTemplate": "使用此目的地的默认格式。", + "helpDestinationNoTemplate": "使用此目标的默认格式。", "builtInVars": { "orgName": "您的组织名称", "streamType": "流类型(日志、指标、追踪)", @@ -7034,12 +7034,12 @@ "alertOperator": "阈值比较运算符(>, <, =)", "alertThreshold": "已配置的阈值", "alertCount": "匹配记录数", - "alertAggValue": "触发组的评估聚合值(当警报没有聚合值时为空)。", - "alertDescription": "警报的描述文本", + "alertAggValue": "触发组的已评估聚合值(当告警没有聚合值时为空)。", + "alertDescription": "告警的描述文本", "alertStartTime": "窗口开始时间(ISO 8601)", "alertEndTime": "窗口结束时间(ISO 8601)", "alertUrl": "返回 OpenObserve 调查的链接", - "alertTriggerTime": "警报触发时间(ISO 8601)", + "alertTriggerTime": "告警触发时间(ISO 8601)", "alertTriggerTimeMillis": "触发时间(epoch 毫秒)", "alertTriggerTimeSeconds": "触发时间(epoch 秒)", "alertTriggerTimeStr": "人类可读的触发时间", @@ -7048,7 +7048,7 @@ }, "advanced": { "addVariable": "添加变量", - "variablesTooltip": "变量用于将数据从警报传递到目标。", + "variablesTooltip": "变量用于将数据从告警传递到目标。", "templateType": "模板类型:", "noTemplatesAvailable": "无可用模板", "refreshTemplates": "刷新最新模板", @@ -7056,19 +7056,19 @@ "templateTypeString": "字符串", "templateTypeJson": "JSON", "rowTemplatePlaceholderJson": "例如 - {'{'}\"user\": \"{'{'}name{'}'}\", \"timestamp\": \"{'{'}timestamp{'}'}\"{'}'}", - "rowTemplatePlaceholderString": "例如 - 警报在 {'{'}timestamp{'}'} 触发" + "rowTemplatePlaceholderString": "例如 - 告警在 {'{'}timestamp{'}'} 时触发" }, - "editJson": "编辑警报 JSON", + "editJson": "编辑告警 JSON", "additional_settings": "其他设置", - "alertNamePlaceholder": "警报名称", + "alertNamePlaceholder": "告警名称", "renameHint": "点击重命名此告警", "modeInFolder": "{mode} 中", "addAlertMode": "添加告警", "editAlertMode": "编辑告警", "addAnomalyMode": "添加异常检测", "editAnomalyMode": "编辑异常检测", - "nameRequired": "警报名称不能为空。", - "nameNoSpecialChars": "警报名称不能包含 ':'、'#'、'?'、'&'、'%'、引号或空格字符,请使用下划线 (_) 代替。", + "nameRequired": "告警名称必填。", + "nameNoSpecialChars": "告警名称不能包含 ':', '#', '?', '&', '%'、引号或空格字符。请改用下划线 (_)。", "anomalyNamePlaceholder": "异常名称", "anomalyName": "异常名称", "anomalyNameRequired": "异常名称是必填项。", @@ -7078,9 +7078,9 @@ "queryConfig": { "sectionTitle": "条件", "openFullEditor": "打开完整版编辑器", - "groupByTooltip": "按这些字段对结果进行分组——每个唯一组合的警报触发器", + "groupByTooltip": "按这些字段对结果分组 — 告警按每个唯一组合触发", "havingGroups": "有群组", - "havingGroupsTooltip": "必须满足上述条件才能触发警报的最小组数。", + "havingGroupsTooltip": "触发告警所需满足上述条件的最少组数。", "addGroupByField": "按字段添加分组", "noFunctions": "没有函数", "writeQueryHint": "写一个查询开始吧", @@ -7090,12 +7090,12 @@ "timezonePlaceholder": "时区", "onThese": "在这些上", "filters": "过滤器", - "viewAlertQuery": "查看警报查询", + "viewAlertQuery": "查看告警查询", "vrlEditor": "VRL 编辑器", "showVrlEditor": "显示 VRL 编辑器", "hideVrlEditor": "隐藏 VRL 编辑器", - "alertIfValueIsTooltip": "当 PromQL 表达式对时间序列评估为此条件时触发警报。例如:>= 100 在结果为 100 或更多时触发。", - "havingSeriesTooltip": "触发警报必须满足上述条件的最少时间序列数。", + "alertIfValueIsTooltip": "当 PromQL 表达式对某个时间序列的计算结果满足此条件时触发告警。例如:>= 100 表示结果大于等于 100 时触发。", + "havingSeriesTooltip": "触发告警所需满足上述条件的最少时间序列数量。", "clearMultiWindowsMessage": "已配置多个窗口。要启用 {mode} 模式,我们需要清除它们。是否继续?", "cron": "Cron", "cronExpressionTimezoneRequired": "Cron 表达式和时区是必填项", @@ -7142,7 +7142,7 @@ "detectionResolution": "探测分辨率", "detectionResolutionTooltip": "每个数据点的粒度如何。例如,“5m” 表示以 5 分钟的分辨率检测到异常。", "disabled": "已禁用", - "disabledNotificationsInfo": "异常检测仍将运行并将结果写入 _anomalies 流。启用通知以在检测到异常时接收警报。", + "disabledNotificationsInfo": "异常检测仍会运行并将结果写入 _anomalies 数据流。启用通知以便在检测到异常时收到告警。", "enabled": "已启用", "enterSqlFirst": "先输入 SQL 查询", "fieldPlaceholder": "字段", @@ -7167,7 +7167,7 @@ "seasonalityWeekly": "一小时 + 一周中的某一天", "selectStreamFirst": "先选择一个数据流", "selectStreamFirstTooltip": "先选择一个数据流", - "sensitivityTooltip": "调整异常分数范围以控制灵敏度。分数超出此范围的分数不会触发警报。使用图表可视化历史数据并进行相应调整。", + "sensitivityTooltip": "调整异常分数范围以控制灵敏度。分数超出此范围的点不会触发告警。使用图表查看历史数据并进行相应调整。", "sqlColumnsHint": "查询必须返回两列:{timeBucket} 和 {valueColumn}。", "sqlRequired": "自定义 SQL 模式下需要 SQL", "summaryAlerting": "✓ 告警:{status}", @@ -7237,7 +7237,7 @@ "opsgenieApiKeyHelp": "从 Opsgenie 集成设置获取您的 API 密钥", "opsgenieApiKeyLength": "Opsgenie API 密钥应长于 30 个字符", "opsgeniePriority": "默认优先级", - "opsgeniePriorityHelp": "选择 Opsgenie 警报的默认优先级", + "opsgeniePriorityHelp": "选择 Opsgenie 告警的默认优先级", "opsgenieEuRegion": "欧盟地区", "opsgenieEuRegionHelp": "为基于欧盟的 Opsgenie 实例启用", "priorityP1": "P1(严重)", @@ -7300,10 +7300,10 @@ "alertUpdated": "告警更新成功。", "alertSaved": "告警保存成功。", "cloneAnomalyFailed": "克隆异常检测失败", - "deleteAlertFailed": "删除警报时出错。", - "triggerAlertFailed": "触发警报失败", + "deleteAlertFailed": "删除告警时出错。", + "triggerAlertFailed": "触发告警失败", "triggerRetrainingFailed": "触发重新训练失败", - "bulkDeleteAlertsFailed": "删除警报出错。请重试。", + "bulkDeleteAlertsFailed": "删除告警时出错,请重试。", "deleteDestinationFailed": "删除目标时出错", "bulkDeleteDestinationsFailed": "删除目标出错。请重试。", "bulkDeleteTemplatesFailed": "删除模板出错。请重试。" @@ -7317,8 +7317,8 @@ "testFailedUnknownError": "测试因未知错误失败" }, "confirmDeleteAlerts": "确定要删除 {count} 个告警吗? | 确定要删除 {count} 个告警吗?", - "confirmDeleteDestinations": "确定要删除 {count} 个目的地吗? | 确定要删除 {count} 个目的地吗?", - "prebuiltDestination": "预置 {type} 目的地", + "confirmDeleteDestinations": "确定要删除 {count} 个目标吗? | 确定要删除 {count} 个目标吗?", + "prebuiltDestination": "预置 {type} 目标", "errorValidations": "错误校验", "outputMessagesLabel": "输出消息", "incidentSingular": "事件", @@ -7395,17 +7395,17 @@ "evaluationsView": "评估", "levelChangesView": "级别变化", "noEvaluationsTitle": "此时间窗口内没有评估", - "noEvaluationsDescription": "此警报的每次运行都会显示在这里。请尝试更宽的时间范围,并检查警报是否已启用。", + "noEvaluationsDescription": "此告警的每次运行都会显示在此处。请尝试更宽的时间范围,并检查告警是否已启用。", "firingCount": "{count} 个触发中", "ofNGroups": "共 {count} 组", "evaluation": "评估", "range1h": "1小时", "range6h": "6小时", "range24h": "24小时", - "chartUnavailable": "此警报的查询没有可用的图表。", + "chartUnavailable": "此告警的查询没有可用图表。", "eventCount": "事件", - "notFoundTitle": "未找到警报", - "notFoundDescription": "此警报不再存在,或者您无权访问它。它可能已被删除。" + "notFoundTitle": "未找到告警", + "notFoundDescription": "此告警已不存在,或者您没有访问权限。它可能已被删除。" }, "timeLabel": "时间", "unknownHttpStatus": "未知", @@ -7434,10 +7434,10 @@ "theLastDay": "最近一天 | 最近 {count} 天", "prefill": { "dialog": { - "title": "创建警报", - "continue": "继续前往警报", + "title": "创建告警", + "continue": "继续到告警", "streamLabel": "数据流", - "thresholdLabel": "警报对象", + "thresholdLabel": "告警条件", "thresholdMatchingRows": "匹配行", "thresholdCount": "行数", "windowLabel": "时间窗口", @@ -7449,28 +7449,28 @@ "patternsIncludeAll": "包含全部", "patternsExcludeAll": "排除全部", "patternsScopeAll": "使用全部 {total} 个提取的模式。", - "patternsScopeFiltered": "使用 {total} 个模式中的 {visible} 个 — 严重性筛选器应用于列表,警报会遵循它。" + "patternsScopeFiltered": "使用 {visible} 个(共 {total} 个)模式 — 严重性过滤器已应用于列表,告警将遵循该过滤器。" }, "sources": { "default": { - "label": "创建警报", - "toast": "查询已导入到警报表单中" + "label": "创建告警", + "toast": "查询已导入到告警表单" }, "logs": { - "label": "创建警报", + "label": "创建告警", "toast": "查询已从您的日志搜索中导入" }, "patterns": { - "label": "创建警报", + "label": "创建告警", "toast": "查询已从所选模式中导入" }, "panel": { - "label": "创建警报", + "label": "创建告警", "toast": "查询已从仪表板面板导入:\"{sourceLabel}\"" }, "library": { "label": "在编辑器中自定义", - "toast": "来自警报库:{sourceLabel}" + "toast": "来自告警库:{sourceLabel}" }, "dbm": { "label": "提醒我", @@ -7482,17 +7482,17 @@ } }, "warnings": { - "absoluteToRolling": "您的绝对时间范围变为 {minutes} 分钟的滚动窗口 — 警报始终评估最近的时间窗口。", - "periodClamped": "时间范围已缩短为 {minutes} 分钟;警报无法评估这么长的时间窗口。", - "limitStripped": "已移除 LIMIT — 警报会评估窗口中的每一匹配行。", - "orderByStripped": "已移除 ORDER BY — 排序对警报评估没有影响。", - "histogramNotSupported": "此查询按时间对结果进行分桶,警报无法评估。请改为从仪表板面板创建警报。", - "convertedToSql": "您的筛选器已转换为 SQL,因为它使用了条件构建器无法表示的表达式。", - "actionsDropped": "所选操作未沿用 — 警报仅支持 VRL 函数。", - "joinSingleStream": "此查询读取多个数据流;警报将附加到 \"{stream}\"。", - "broadMatch": "此警报匹配数据流中的每条记录。除非您确实想要这样,否则请添加筛选器。", - "noResults": "您的查询未返回结果 — 警报只会在出现匹配数据时触发。", - "savedFunctionCopied": "函数体已复制到警报中。之后对已保存函数所做的编辑将不会应用于该警报。", + "absoluteToRolling": "您的绝对时间范围变为 {minutes} 分钟的滚动窗口 — 告警始终评估最近的时间窗口。", + "periodClamped": "时间范围已缩短至 {minutes} 分钟;告警无法评估这么长的窗口。", + "limitStripped": "LIMIT 已被移除 — 告警会评估窗口内每一行匹配的数据。", + "orderByStripped": "ORDER BY 已被移除 — 排序对告警评估没有影响。", + "histogramNotSupported": "此查询按时间对结果进行分桶,告警无法评估。请改为从仪表盘面板创建告警。", + "convertedToSql": "您的过滤器已转换为 SQL,因为它使用了条件构建器无法表示的表达式。", + "actionsDropped": "所选操作未被沿用 — 告警仅支持 VRL 函数。", + "joinSingleStream": "此查询读取多个数据流;告警将附加到 \"{stream}\"。", + "broadMatch": "此告警匹配数据流中的每条记录。请添加过滤器,除非这正是您想要的。", + "noResults": "您的查询未返回结果 — 告警仅会在出现匹配数据时触发。", + "savedFunctionCopied": "函数体已复制到告警中。之后对已保存函数所做的编辑将不会应用到该告警。", "unsupportedPanelType": "“{type}”面板类型没有可供告警的行数;保存前请检查查询。", "unresolvedQuery": "查询无法解析为可运行的告警。", "noStream": "未选择流,因此没有可告警的对象。", @@ -7501,23 +7501,23 @@ "noConstants": "所选的模式没有可匹配的独特文本。", "sqlModeFilterDropped": "您的 SQL 查询未被保留——告警仅匹配所选模式。", "patternsUnusable": "此页面上的模式均没有可匹配的独特文本,因此告警仅使用您的搜索。", - "dbmRollupLag": "数据库数字每 {minutes} 分钟聚合一次,因此此警报只能以该频率触发 — 它不是实时页面。", - "dbmFingerprintVersion": "此警报固定为某个查询的确切形状。如果查询分组方式发生变化,警报可能无法匹配,应重新创建。", - "dbmNoFingerprint": "此查询没有稳定的标识符,因此警报改为监视整个数据库。", - "dbmServerVantage": "这衡量的是数据库服务器本身报告的锁信息,而不是你的应用程序等待的时间。不要将其与查询延迟警报进行比较。", - "dbmLockSampling": "锁活动按间隔采样,因此两次采样之间发生并清除的争用永远不会被记录。警报保持安静并不证明没有阻塞。", - "dbmNoInstance": "未识别出单个数据库实例,因此此警报监视此引擎的每个实例。" + "dbmRollupLag": "数据库指标每 {minutes} 分钟聚合一次,因此此告警只能按该频率触发 — 它不是实时页面。", + "dbmFingerprintVersion": "此告警固定到单个查询的确切形状。如果查询的分组方式发生变化,告警可能不再匹配,应重新创建。", + "dbmNoFingerprint": "此查询没有稳定的标识符,因此告警将改为监控整个数据库。", + "dbmServerVantage": "这衡量的是数据库服务器本身报告的锁情况,而不是应用程序等待的时间。请勿将其与查询延迟告警进行比较。", + "dbmLockSampling": "锁活动按时间间隔采样,因此两次采样之间发生并解除的争用不会被记录。没有触发告警并不证明没有阻塞。", + "dbmNoInstance": "未识别到单个数据库实例,因此此告警会监控此引擎的每个实例。" } }, - "saveFailed": "无法保存警报。", - "loadFailed": "无法加载警报。", - "sloAlertUnplaceable": "此 SLO 警报缺少其 SLO 引用,因此无法在此处编辑。", + "saveFailed": "无法保存告警。", + "loadFailed": "无法加载告警。", + "sloAlertUnplaceable": "此 SLO 告警缺少其 SLO 引用,无法在此处编辑。", "sloBadge": "SLO", "sloColumn": "SLO", "sloKind": "条件类型", "sloLongWindow": "长窗口", "sloShortWindow": "短窗口", - "sloCloneDisabled": "SLO 警报是在其 SLO 页面上创建的,因此无法从此处克隆。" + "sloCloneDisabled": "SLO 告警是在其 SLO 页面上创建的,因此无法从此处克隆。" }, "alert_dependencies": { "actionOpen": "打开", @@ -7546,18 +7546,18 @@ "impactDestination": "被 {alerts} 使用" }, "alert_library": { - "header": "警报库", - "subtitle": "精心策划、可直接安装的警报,与你已摄取的数据匹配", + "header": "告警库", + "subtitle": "精选的、可直接安装的告警,与您已摄取的数据相匹配", "sectionTab": "库", "contribute": "在 GitHub 上贡献", "searchPlaceholder": "按名称、描述或流搜索", - "searchLabel": "搜索警报库", + "searchLabel": "搜索告警库", "categories": "类别", "searchCategories": "搜索类别", - "searchCategoriesAria": "搜索类别筛选器", + "searchCategoriesAria": "搜索类别过滤器", "noCategoryMatch": "没有匹配的类别。", "selectedCount": "已选择 {count} 项", - "facetAria": "{label},{count} 个警报", + "facetAria": "{label},{count} 个告警", "severity": "严重程度", "severityAll": "全部", "severityCritical": "严重", @@ -7567,17 +7567,17 @@ "statNeedsData": "未摄取", "statAll": "全部", "notIngested": "未摄取:{stream}", - "notIngestedHint": "此组织未接收 {stream},因此此警报永远不会触发。还是安装它吧,一旦数据到达,它就会开始工作。", - "alertCount": "{count} 个警报 | {count} 个警报", + "notIngestedHint": "此组织未接收 {stream},因此该告警永远不会触发。无论如何安装它,数据到达后它就会开始工作。", + "alertCount": "{count} 个告警 | {count} 个告警", "noCollectorTitle": "这里还没有与你的数据匹配的内容", - "noCollectorDescription": "这些 {count} 个警报都没有查询此组织正在接收的流。向 OpenObserve 发送 {group} 遥测数据,它们就会在此处出现。", + "noCollectorDescription": "这些 {count} 个告警都没有查询此组织正在接收的数据流。将 {group} 遥测数据发送到 OpenObserve,它们就会在这里亮起。", "setupGuide": "摄取指南", - "emptyLibraryTitle": "警报库为空", - "emptyLibraryDescription": "目录已加载,但不包含任何警报。这是发布问题,而非筛选问题——请稍后重试。", - "noMatchesTitle": "没有警报匹配这些筛选条件", + "emptyLibraryTitle": "告警库为空", + "emptyLibraryDescription": "目录已加载,但不包含任何告警。这是发布问题,不是过滤器——请稍后重试。", + "noMatchesTitle": "没有与这些过滤器匹配的告警", "noMatchesDescription": "请尝试其他类别、严重级别或搜索词。", "clearFilters": "清除筛选条件", - "loadFailedTitle": "无法加载警报库", + "loadFailedTitle": "无法加载告警库", "retry": "重试", "openDetails": "打开 {title}", "drawer": { @@ -7585,59 +7585,59 @@ "streamNotFound": "未找到流", "detects": "它检测什么", "noDescription": "库中没有描述。", - "needsDataCallout": "此警报查询的 {stream} 是该组织未接收的流。现在安装它将创建一个永远不会触发的警报。", + "needsDataCallout": "此告警查询 {stream},而此组织未接收该数据流。现在安装它会创建一个永远不会触发的告警。", "query": "查询", - "stream": "流", + "stream": "数据流", "streamType": "流类型", "metricCondition": "指标条件", "matchCount": "需要匹配的行数", "previewBlocked": "{stream} 不是此组织中的流,因此没有可评估的内容。", "wouldTrigger": "会触发", "wouldNotTrigger": "不会触发", - "loading": "正在从库中加载此警报", - "loadFailed": "无法从库中加载此警报。", + "loading": "正在从库中加载此告警", + "loadFailed": "无法从库中加载此告警。", "customize": "在编辑器中自定义", - "customizeHint": "打开已预填此警报的标准警报编辑器。", - "customizeFailed": "无法在编辑器中打开此警报。", + "customizeHint": "打开标准告警编辑器,并预填此告警。", + "customizeFailed": "无法在编辑器中打开此告警。", "install": "安装", "neverIngested": "尚无数据", - "neverIngestedCallout": "{stream} 存在但从未接收过数据,因此此警报没有任何可触发的内容。", + "neverIngestedCallout": "{stream} 存在但从未接收过数据,因此此告警没有可触发的内容。", "lastData": "最后数据 {when}", - "staleCallout": "{stream} 最后接收数据的时间是 {when}。在数据摄入恢复之前,此警报将保持静默。", + "staleCallout": "{stream} 上次接收数据是在 {when}。在数据摄取恢复之前,此告警将保持静默。", "unknownTime": "在未知时间" }, "install": { "title": "从库中安装", - "subtitle": "选择警报通知的位置、要安装的警报以及归档位置。", + "subtitle": "选择告警通知的位置、要安装的告警以及它们的归档位置。", "stepDestination": "目标", - "stepAlerts": "警报", + "stepAlerts": "告警", "stepFolder": "文件夹", "stepTune": "调整", "stepInstall": "安装", - "destinationIntro": "此批次中的每个警报都会通知您在此处选择的目标。库文件命名的是其导出组织中的目标,而这些目标在您的组织中不存在。", + "destinationIntro": "此批次中的每个告警都会通知您在此处选择的目标。库文件命名的是它们导出时所属组织的目标,这些目标在您的组织中不存在。", "destinationLabel": "目标", "destinationPlaceholder": "选择目标", "destinationsLoadFailed": "无法加载您现有的目标。", "retry": "重试", - "destinationsNoneBody": "此组织尚无警报目标,因此这些警报无处通知。请在“目标”页面创建一个,然后返回此处选择它。", + "destinationsNoneBody": "此组织还没有告警目标,因此这些告警无处通知。请在“目标”页面上创建一个,然后返回此处选择它。", "openDestinations": "打开目标", "selectAll": "全选", "clear": "清除", "selectedCount": "已选择 {count} / {total}", - "folderIntro": "已安装的警报归档在此处。如果此批次需要单独的文件夹,请使用 + 按钮创建。", - "tuneToggle": "为此批次中的每个警报设置这些", - "tuneHint": "只有这两个可以安全地用于整个批次。阈值保持每个警报独立——要更改某个阈值,请打开该警报并单独安装。", + "folderIntro": "已安装的告警归档在此处。如果此批次值得单独存放,可通过 + 按钮创建文件夹。", + "tuneToggle": "为此批次中的每个告警设置这些", + "tuneHint": "只有这两个可以安全地应用于整个批次。阈值保持每条告警独立——如需更改,请打开该告警并单独安装它。", "frequency": "运行间隔", "silence": "静默时长", "minutes": "分", "summaryTuningNone": "库默认值", "summaryTuningOverride": "每 {frequency} 分钟,静默 {silence} 分钟", - "run": "安装 {count} 个警报 | 安装 {count} 个警报", + "run": "安装 {count} 个告警 | 安装 {count} 个告警", "retryFailed": "重试 {count} 个失败 | 重试 {count} 个失败", - "allInstalled": "{count} 个警报已安装 | {count} 个警报已安装", + "allInstalled": "已安装 {count} 个告警 | 已安装 {count} 个告警", "someFailed": "已安装 {installed},失败 {failed}", - "unknownError": "无法创建警报。", - "unreadableConditions": "此警报的筛选条件格式是此版本无法读取的。安装它将创建一个没有筛选器的警报,因此已跳过。", + "unknownError": "无法创建告警。", + "unreadableConditions": "此告警的过滤器条件采用此版本无法读取的格式。安装它会导致创建没有过滤器的告警,因此已跳过。", "back": "返回", "next": "下一步", "cancel": "取消", @@ -7727,15 +7727,15 @@ "addToTemplate": "添加到此模板", "addToTemplateCaption": "字段、链接、匹配行、频道标题、图表", "fieldsSectionDescription": "消息旁显示的关键事实 — 值、阈值,以及任何一目了然的重要内容。", - "linksSectionDescription": "操作链接。警报 URL 始终自动附加。", - "rowsSectionDescription": "触发警报的日志行。", + "linksSectionDescription": "操作链接。告警 URL 始终自动追加。", + "rowsSectionDescription": "触发告警的日志行。", "chartSection": "图表", - "chartSectionDescription": "警报之前指标的图片 — 随时间变化的值,并标出您的阈值。随通知作为图像发送。", + "chartSectionDescription": "告警前的指标图片——随时间变化的值,并标出您的阈值。随通知以图片形式发送。", "chartEnabled": "包含图表图像", - "chartPreviewPlaceholder": "在真实通知中,图表会显示在这里 — 它来自警报自身的评估历史,而预览没有这些数据。", + "chartPreviewPlaceholder": "图表在实际通知中显示在此处——它来自告警自身的评估历史,而预览没有这些数据。", "channelTitlesDescription": "在特定频道上使用不同的标题 — 例如,为电子邮件设置更短的主题行。", "namePlaceholder": "例如:高错误率", - "nameLockedHint": "警报和目的地通过名称引用此模板,因此无法重命名。克隆模板以在新名称下创建副本。", + "nameLockedHint": "告警和目标按名称引用此模板,因此无法重命名。克隆模板即可在新名称下创建副本。", "rawBodyCaption": "完全按编写内容发送,并替换 {'{'}variables{'}'}。有关所有可用变量,请参阅变量指南。", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "例如:值", @@ -7852,10 +7852,10 @@ "editTitle": "编辑告警源", "name": "名称", "nameHint": "只是一个标签——所有源都使用相同的设置。", - "incidentDestination": "事件目的地", + "incidentDestination": "事件目标", "incidentDestinationPlaceholder": "使用组织默认", "incidentDestinationHint": "当此源的告警创建或加入事件时,通知发送到哪里。留空以使用组织默认——如果两者都未设置,匹配的事件将静默触发。", - "noDestinationSet": "未设置事件目的地", + "noDestinationSet": "未设置事件目标", "setupStep1Title": "1. 创建 webhook", "setupStep1Body": "在 Grafana、Alertmanager 或任何可以 POST JSON 的工具中,创建一个 webhook 联系点/接收器。", "setupRemainingStepsHint": "保存此源以获取其 URL 和令牌,然后将它们粘贴到该 webhook 配置中。", @@ -7925,7 +7925,7 @@ "ddTagsPlaceholder": "输入标签(例如:env:prod,version:1.0)", "serviceLabel": "服务", "servicePlaceholder": "输入服务名称(例如:api-gateway)", - "header": "告警目标", + "header": "通知目标", "add": "添加目标", "edit": "编辑", "search": "搜索目标", @@ -8368,7 +8368,7 @@ "cipherKeysDesc": "用于敏感字段的加密密钥", "regexPatternsDesc": "用于脱敏的可重用 regex 模式", "domainManagementDesc": "限制仅允许的 SSO 域登录", - "pipelineDestinationsDesc": "管道输出的外部目标", + "pipelineDestinationsDesc": "流水线输出的外部目标", "templatesDesc": "可重用的告警消息模板", "storageSettingsDesc": "按组织划分的存储配置", "modelPricingDesc": "LLM 模型成本配置", @@ -8493,8 +8493,8 @@ "deleteFactEverythingDetail": "所有仪表板、数据流和已采集的数据", "deleteFactMembers": "影响 {n} 位成员 | 影响 {n} 位成员", "deleteFactMembersDetail": "立即撤销所有访问权限", - "deleteOrganizationConfirm": "此操作会将“{name}”及其所有数据流、仪表板、告警、管道、用户和设置安排删除。", - "deleteOrganizationWarning": "该组织将立即不可用,并对所有使用它的人隐藏。数据采集将被阻止,计划的告警、管道和报表将停止运行,因此在安排删除期间不会发送任何通知。", + "deleteOrganizationConfirm": "这将安排删除“{name}”及其所有数据流、仪表盘、告警、流水线、用户和设置。", + "deleteOrganizationWarning": "该组织将立即变为不可用,并对所有使用者隐藏。数据摄取被阻止,定时告警、流水线和报表停止运行,因此在计划删除期间不会发送任何通知。", "deleteOrganizationRecoverable": "在恢复窗口期间,它仍然可以恢复,但您无法恢复 — 删除一开始您就会失去对此组织的访问权限,只有 OpenObserve 支持人员才能恢复它。窗口关闭后,其数据将被永久删除,任何人都无法恢复。", "deleteOrganizationTypeToConfirm": "如需确认,请在下方输入 {name}:", "deleteOrganizationInitiated": "组织已计划删除。它现在已隐藏;请在恢复窗口关闭前联系支持人员以恢复它。", @@ -8514,7 +8514,7 @@ "genAiAgentMapping": { "tabLabel": "GenAI 智能体映射", "title": "GenAI 智能体映射", - "description": "配置备用遥测属性,用于对 LLM 跟踪和评估的智能体身份进行标准化。", + "description": "配置用于规范化 LLM 追踪和评估的代理身份的回退遥测属性。", "agentNameFields": "智能体名称备用字段", "agentNameHelp": "传入的属性用作 gen_ai.agent.name 的备用属性。", "agentNameInfo": "仅在标准的 gen_ai.agent.name 属性缺失或为空时才选中。每行添加一个传入遥测属性。", @@ -8532,7 +8532,7 @@ "resetToEmpty": "重置为空", "clearRegistry": "清除注册表", "clearRegistryTitle": "清除代理注册表?", - "clearRegistryDescription": "这将删除该组织的所有已发现的 GenAI 智能体注册表行。新的匹配跟踪将在摄取期间重新填充注册表。", + "clearRegistryDescription": "这将删除此组织已发现的所有 GenAI 代理注册表行。新的匹配追踪将在数据摄取期间重新填充注册表。", "clearRegistryConfirm": "清除注册表", "saved": "GenAI 代理映射已成功保存", "clearRegistrySuccess": "GenAI 智能体注册表已清除。删除了 {deletedCount} 个已存储的智能体和 {bufferCount} 队列中的观测值。", @@ -8552,7 +8552,7 @@ "fieldAliasesSaveError": "保存字段别名失败", "fieldAliasesUnsavedConfirm": "您有未保存的字段映射更改。是否放弃并离开?", "discoveredServicesTitle": "已发现的服务", - "discoveredServicesDescription": "服务会自动从您的遥测数据中发现,并按服务名称进行分组以进行关联。共享相同服务名称的服务在日志、跟踪和指标中相互关联。", + "discoveredServicesDescription": "服务会自动从您的遥测数据中发现,并按服务名称分组以进行关联。共享相同服务名称的服务会在日志、追踪和指标之间相互关联。", "noServicesYet": "尚未发现任何服务", "noServicesDescription": "当遥测数据中包含服务标识属性(如 k8s-部署、服务名称等)时,服务将显示在此处", "searchServiceName": "搜索服务或流名称...", @@ -8728,7 +8728,7 @@ "createFailed": "正则表达式模式 - {index}: \"{name}\" 创建失败 --> \n 原因:{error}" }, "index": { - "genAiAgentMappingDesc": "将 GenAI 跨度映射到智能体标识符" + "genAiAgentMappingDesc": "将 GenAI Span 映射到代理标识符" }, "organizationManagementPage": { "setAiCredits": "设置 AI 积分", @@ -8863,7 +8863,7 @@ "noValues": "无值", "cardinality": "基数:", "uniqueValues": "{n} 个唯一值", - "streams": "流", + "streams": "数据流", "streamsSubtext": "数据流", "noAdditionalDimensions": "未检测到额外维度。", "noSampleData": "此字段无样本数据。", @@ -9137,7 +9137,7 @@ }, "openInFullView": "以全视图打开", "viewLogs": "查看日志", - "viewLogsUnavailable": "无法打开此跨度的日志。", + "viewLogsUnavailable": "无法打开此 Span 的日志。", "backToLogs": "返回日志", "openInTraces": "在追踪中打开", "loadingStream": "正在加载数据流...", @@ -9145,7 +9145,7 @@ "noCorrelatedLogsFound": "未找到此 span 的相关日志", "noData": { "title": "开始向 {product} 发送追踪数据", - "description": "该组织中尚未找到任何追踪流。仪器您的服务和跟踪将自动显示在此处。", + "description": "此组织中尚未找到追踪数据流。对服务进行插桩后,追踪将自动显示在此处。", "otlp": "通过 {product} 发送追踪", "otlpDesc": "{product1}、{product2} 及任何与 {product3} 兼容的 SDK", "otelCollectorDesc": "通过 {product} 路由所有遥测信号", @@ -9155,16 +9155,16 @@ "configureFullTextSearch": "为数据流配置全文搜索字段。", "collapseFields": "折叠字段", "openFields": "打开字段", - "timeRangeUpdated": "所选时间范围不包括此跟踪。时间范围已更新,以匹配跟踪的时间戳。", - "errorRetrievingTraces": "检索跟踪时出错。", + "timeRangeUpdated": "所选时间范围未包含此追踪。时间范围已更新以匹配该追踪的时间戳。", + "errorRetrievingTraces": "检索追踪时发生错误。", "fetchingTraces": "正在加载追踪...", "noStream": { "title": "选择数据流开始探索", - "description": "选择跟踪流,然后按运行查询。加载结果后,您可以按服务、持续时间、跨度状态等进行筛选。", + "description": "选择追踪数据流,然后点击 运行查询。加载结果后,您可以按服务、持续时间、Span 状态等进行过滤。", "selectStream": "选择一个数据流", "selectStreamDesc": "浏览该组织中可用的追踪流", "queryGuide": "阅读追踪指南", - "queryGuideDesc": "服务图、跨度过滤、RED 指标等", + "queryGuideDesc": "服务图、Span 过滤、RED 指标及更多", "recent": "最近:" }, "noEvents": { @@ -9178,36 +9178,36 @@ "selectedRange": "所选范围" }, "tracesFound": "发现了追踪", - "spansFound": "已找到跨度", - "errorTraces": "错误跟踪", - "errorSpans": "错误跨度", + "spansFound": "找到的 Span", + "errorTraces": "错误追踪", + "errorSpans": "错误 Span", "filterByErrors": "按错误筛选", "clearErrorFilter": "清除错误过滤器", "error": "错误", "errorCount": "{n} 个错误 | {n} 个错误", "success": "成功", - "applyPendingFilters": "应用待处理的筛选条件和搜索跟踪", + "applyPendingFilters": "应用待处理过滤器并搜索追踪", "backToTraces": "返回追踪", "loadingTrace": "加载中...", "traceId": "追踪编号", - "copyTraceId": "复制跟踪 ID", + "copyTraceId": "复制追踪 ID", "viewFilters": "查看过滤器", "reviewAndApplyFilters": "查看筛选条件并将其应用于 Traces", - "spansLabel": "跨度", + "spansLabel": "Span", "errorsLabel": "错误", "previousMatch": "上一个匹配项", "nextMatch": "下一个匹配项", - "searchInSpans": "在跨度内搜索", - "spansTableView": "跨度表格视图", + "searchInSpans": "在 Span 中搜索", + "spansTableView": "Span 表格视图", "comingSoon": "即将推出...", "fetchingTrace": "正在获取您的追踪。", "traceFilters": "追踪过滤器", "showTraces": "显示追踪", "applyAndSearch": "应用并搜索", "timestamp": "时间戳", - "noErrorPresent": "此跨度没有错误", - "noEventsPresent": "此跨度没有事件", - "noLinksPresent": "此跨度没有链接", + "noErrorPresent": "此 Span 无错误", + "noEventsPresent": "此 Span 没有事件", + "noLinksPresent": "此 Span 没有链接", "loadingTraceDag": "正在加载追踪 DAG...", "exceptionsWithCount": "异常 ({count})", "typeLabel": "类型:", @@ -9222,7 +9222,7 @@ "templateBadge": "模板" }, "sessionsList": { - "streamLabel": "流", + "streamLabel": "数据流", "sessions": "会话", "failedToLoad": "加载会话失败", "retry": "重试", @@ -9240,7 +9240,7 @@ "cost": "成本", "status": "状态" }, - "stream": "流", + "stream": "数据流", "agent": "智能体", "noAgentsTitle": "此范围内无智能体", "noAgentsDescription": "在选定的时间窗口内未检测到 GenAI 智能体。尝试更宽的范围或切换回流视图。", @@ -9254,7 +9254,7 @@ "failedToLoad": "加载会话失败", "retry": "重试", "sessionNotFound": "未找到会话", - "noSpansFound": "在当前时间范围内未找到 {id} 的跨度。", + "noSpansFound": "在当前时间范围内未找到 {id} 的 Span。", "searchPlaceholder": "在此会话中搜索追踪...", "turn": "转", "turns": "转弯", @@ -9362,7 +9362,7 @@ "title": "错误率" } }, - "spansTab": "跨度", + "spansTab": "Span", "tracesTab": "追踪", "serviceGraphTab": "服务图", "serviceGraphSubtitle": "查看您的服务如何相互调用 — 依赖关系、吞吐量和错误率", @@ -9372,7 +9372,7 @@ "layoutHorizontal": "水平", "layoutVertical": "垂直", "layoutForce": "原力布局", - "exportTraces": "导出跟踪", + "exportTraces": "导出追踪", "waterfall": "瀑布", "flameGraph": "火焰图", "traceGraph": "追踪图", @@ -9385,7 +9385,7 @@ "host": "主机", "user": "用户", "storedProcedure": "存储过程", - "noQueryText": "未记录此跨度的查询文本。", + "noQueryText": "此 Span 未记录查询文本。", "performance": "性能", "rowsReturned": "返回行数", "batchSize": "批大小", @@ -9443,7 +9443,7 @@ "traceId": "追踪ID" }, "lLMInsightsDashboard": { - "stream": "流", + "stream": "数据流", "agent": "智能体", "compareEntry": "比较版本", "compareEntryHint": "并排比较此智能体的两个版本", @@ -9518,13 +9518,13 @@ "processExitCode": "进程退出码" }, "traceLatencyCell": { - "spansAcrossServices": "{spans}个跨度跨越{services}个服务" + "spansAcrossServices": "{spans} 个 Span,跨 {services} 个服务" }, "threadToolCalls": { "toolCall": "工具调用", "toolCalls": "工具调用", "showCalls": "显示调用", - "openSpanDetails": "打开跨度详情", + "openSpanDetails": "打开 Span 详情", "arguments": "参数", "result": "结果", "empty": "(空)" @@ -9538,7 +9538,7 @@ "cost": "成本", "model": "模型", "errors": "错误", - "noSpansLoaded": "此追踪未加载跨度。", + "noSpansLoaded": "此追踪未加载任何 Span。", "noLlmTurns": "未检测到LLM轮次。追踪不包含带有", "system": "系统", "historicalMessage": "{count} 条来自此会话的较早消息 — 已在之前的追踪中处理。 | {count} 条来自此会话的较早消息 — 已在之前的追踪中处理。", @@ -9548,7 +9548,7 @@ "tokens": "令牌", "tokensSuffix": "令牌", "error": "错误", - "viewSpan": "查看跨度" + "viewSpan": "查看 Span" }, "traceHeader": { "operationName": "操作名称" @@ -9566,7 +9566,7 @@ "start": "开始", "requestResent": "请求已重发 {count} 次 | 请求已重发 {count} 次", "resends": "重发", - "spanIdTitle": "跨度ID:{id}", + "spanIdTitle": "Span ID: {id}", "inputTokens": "输入令牌", "in": "入", "outputTokens": "输出令牌", @@ -9587,8 +9587,8 @@ "value": "值", "timestamp": "时间戳", "enterpriseLicenseRequired": "关联功能需要企业许可证", - "missingSpanOrStream": "缺少跨度或流名称", - "spanIdCopied": "跨度ID已复制到剪贴板", + "missingSpanOrStream": "缺少 Span 或数据流名称", + "spanIdCopied": "Span ID 已复制到剪贴板", "attributesCopied": "属性已复制到剪贴板", "copiedToClipboard": "{type} 已复制到剪贴板", "failedToCopyClipboard": "复制到剪贴板失败", @@ -9601,17 +9601,17 @@ "filterAdded": "已添加筛选:{field} {operator} '{value}'", "timeline": "时间轴", "serviceMap": "服务图", - "traceNotFound": "未找到跟踪 {traceId}", - "spanNotFound": "跟踪中未找到跨度 {spanId}", + "traceNotFound": "未找到追踪 {traceId}", + "spanNotFound": "在追踪中未找到 Span {spanId}", "unknownOperation": "未知操作", "unknownService": "未知服务", - "traceIdCopied": "跟踪ID已复制到剪贴板", + "traceIdCopied": "追踪 ID 已复制到剪贴板", "sessionIdCopied": "会话ID已复制到剪贴板" }, "traceTree": { "clickToExpand": "点击展开", "clickToCollapse": "点击折叠", - "errorSpan": "错误跨度", + "errorSpan": "错误 Span", "httpStatus": "HTTP {status}", "spanEvent": "{count} 个 span 事件 | {count} 个 span 事件" }, @@ -9620,7 +9620,7 @@ "selected": "已选:", "dimensions": "维度", "collapseDimensions": "折叠维度", - "tracesPerInterval": "跟踪/间隔" + "tracesPerInterval": "追踪/间隔" }, "sessionDetails": { "missingSessionInfo": "URL中缺少会话ID或流", @@ -9628,12 +9628,12 @@ "copied": "已复制" }, "flameGraphView": { - "spans": "跨度", + "spans": "Span", "depth": "深度", - "noSpansToDisplay": "无跨度可显示", + "noSpansToDisplay": "没有可显示的 Span", "service": "服务:", "duration": "持续时间:", - "percentOfTrace": "跟踪百分比:", + "percentOfTrace": "追踪占比:", "hasErrors": "⚠ 有错误" }, "tracesNoEventsState": { @@ -9696,7 +9696,7 @@ "requestsLabel": "请求数:", "errorsLabel": "错误数:", "errorRateLabel": "错误率:", - "spansLabel": "跨度:", + "spansLabel": "Span:", "callsLabel": "调用数:", "averageLabel": "平均值:", "minimumLabel": "最小值:", @@ -9794,7 +9794,7 @@ "requiresConfirmation": "执行前需要确认", "envVars": "环境变量", "envKey": "变量名", - "envValue": "价值", + "envValue": "值", "addEnvVar": "添加变量", "credentialFiles": "凭证文件", "credEnvVar": "环境变量名称", @@ -10017,13 +10017,13 @@ "selectMetrics": "选择指标流", "correlatedLogs": "关联日志", "correlatedMetrics": "相关指标", - "correlatedTraces": "相关追踪", + "correlatedTraces": "追踪", "loadingCorrelation": "正在加载关联数据...", "clickToLoadLogs": "点击加载相关日志", "clickToLoadMetrics": "点击加载相关指标", - "clickToLoadTraces": "点击加载相关跟踪", + "clickToLoadTraces": "点击加载关联追踪", "logs": { - "filtersLabel": "筛选器", + "filtersLabel": "过滤器", "allValues": "所有值", "loading": "正在加载相关日志...", "errorDetails": "获取日志数据时发生错误。请重试。", @@ -10040,16 +10040,16 @@ "noLogsFound": "未找到相关的日志", "noDataFound": "未找到任何数据", "noLogsDescription": "在所选时间范围内未找到此关联的日志。", - "correlatedTracesFor": "服务的相关跟踪:{service}", + "correlatedTracesFor": "服务 {service} 的关联追踪", "all": "全部", - "loadingTraces": "正在加载相关的跟踪...", + "loadingTraces": "正在加载追踪...", "tracesError": "加载追踪失败", - "tracesErrorDetails": "获取跟踪数据时出错。请重试。", + "tracesErrorDetails": "获取追踪数据时发生错误。请重试。", "metricsError": "无法加载指标", "metricsErrorDetails": "获取指标数据时出错。请再试一次。", "noMetricsDescription": "在所选时间范围内未找到此关联的指标。", "dimensionBasedCorrelation": "基于维度的关联", - "tracesFromService": "来自服务的跟踪:{service}", + "tracesFromService": "来自服务 {service} 的追踪", "noTracesFound": "未找到相关的追踪", "noTracesDescription": "在所选时间范围内未找到与此关联匹配的追踪。", "viewInTraces": "在轨迹中查看", @@ -10068,7 +10068,7 @@ "showingGroups": "显示 {localGroupLength} 组总数中的 {filterGroupLength}", "deduplicateFields": "重复数据删除字段", "deduplicateFieldTooltip": "选择使用哪些字段映射进行重复数据删除指纹识别", - "alertDeduplicationMessage": "将对这些字段具有相同值的警报进行重复数据消除(例如,相同的指纹 = 相同的字段值)", + "alertDeduplicationMessage": "这些字段值相同的告警将被去重(例如,相同指纹 = 相同字段值)", "atLeastOneDeduplicationField": "重复数据删除至少需要一个字段映射", "noSemanticGroupsInCategory": "类别中没有语义组:{category}", "searchGroupsPlaceholder": "按名称或字段搜索分组", @@ -10170,7 +10170,7 @@ "run_pipeline": "运行流水线" }, "alert_list": { - "alert_history": "警报历史" + "alert_history": "历史" }, "nlMode": { "toggle": "自然语言模式", @@ -10281,7 +10281,7 @@ "colPattern": "模式", "colPricingSimple": "定价", "testMatchTitle": "测试模型匹配", - "testMatchSubtitle": "模拟跨度中的模型名称如何与定价规则匹配。", + "testMatchSubtitle": "模拟您 Span 中的模型名称如何与定价规则匹配。", "modelNameInput": "模型名称", "modelNameHint": "你们世代的模特名称。", "enterModelName": "输入模型名称进行匹配测试", @@ -10449,7 +10449,7 @@ "queues": "有状态的审核待办清单", "datasets": "从带注释的追踪和审核中整理黄金数据集", "experiments": "预览并创建不可变的离线评估运行", - "quality": "跨 span、trace 和 session 评估跟踪评分质量", + "quality": "跟踪 Span、追踪和会话评估中的评分质量", "evalJobs": "在会话中运行和监控评估任务", "scorers": "创建和管理用于评判 LLM 输出的评分器", "scoreConfigs": "配置评估时使用的评分标准" @@ -10516,12 +10516,12 @@ "searchPlaceholder": "搜索服务、输入、质量...", "searchFooter": "此页 {loaded} 项中 {matched} 项匹配", "scope": { - "span": "跨度", + "span": "Span", "trace": "追踪", "session": "会话" }, "scopeNoun": { - "span": "跨度", + "span": "Span", "trace": "追踪", "session": "会话" }, @@ -10538,7 +10538,7 @@ "started": "开始时间", "type": "类型", "kind": "种类", - "span": "跨度", + "span": "Span", "session": "会话", "topic": "主题", "traces": "追踪", @@ -11030,7 +11030,7 @@ "loadError": "加载数据集失败", "footerTitle": "条目", "tabs": { - "items": "项目", + "items": "条目", "experiments": "实验" }, "searchPlaceholder": "搜索条目...", @@ -11056,7 +11056,7 @@ "versionPill": "v{version} · {count} 个版本 | v{version} · {count} 个版本", "sourceSection": "来源", "sourceTrace": "追踪", - "sourceSpan": "跨度", + "sourceSpan": "Span", "sourceReview": "审查提交", "sourceImport": "导入自", "inputSection": "输入", @@ -11097,7 +11097,7 @@ "version": "版本" }, "agentGraph": { - "stream": "流", + "stream": "数据流", "agent": "智能体", "noAgentsTitle": "未找到智能体", "noAgentsDescription": "在此时间范围内未发现任何智能体。请尝试扩大时间范围,或检查您的追踪是否包含 gen_ai 智能体属性。", @@ -11113,8 +11113,8 @@ "subtitle": "按模型统计的 Token" }, "spanTrend": { - "title": "跨度趋势", - "subtitle": "按种类划分的跨度数" + "title": "Span 趋势", + "subtitle": "按类型统计的 Span 数量" }, "latencyByModel": { "title": "按模型统计的延迟", @@ -11129,7 +11129,7 @@ "subtitle": "错误数" }, "spansByModel": { - "title": "按模型统计的跨度", + "title": "按模型统计的 Span", "subtitle": "每个模型的调用次数" }, "tokensByModel": { @@ -11138,7 +11138,7 @@ }, "recentErrors": { "title": "最近的错误", - "subtitle": "最近 10 次失败的跨度" + "subtitle": "最近 10 个失败的 Span" } }, "behavior": { @@ -11181,7 +11181,7 @@ "errorsTitle": "错误信息说明", "noErrors": "未捕获到错误消息 — 打开追踪进行检查", "colTraceId": "追踪", - "colSpans": "跨度", + "colSpans": "Span", "colRepeats": "重复", "openInNewTab": "在新标签页中打开追踪", "showFull": "显示完整错误", @@ -11393,7 +11393,7 @@ }, "runs": { "title": "评估评分", - "hint": "评分和推理来自 _llm_scores。选择一次运行以打开其评估器跟踪进行进一步调查。", + "hint": "评分和推理来自 _llm_scores。选择一次运行以打开其评估器追踪进行进一步调查。", "filterLabel": "筛选评估评分", "footerTitle": "评估评分", "noThresholdHint": "在此评分配置上设置健康阈值,以分类和突出显示不健康的评分。", @@ -11640,7 +11640,7 @@ "requestTemplateSection": "请求模板", "variablesSuffix": "变量", "outputSchemaSection": "输出架构", - "usedByIntro": "在其管道中引用此评分器的任务。", + "usedByIntro": "在其流水线中引用此评分器的任务。", "usedByEmpty": "尚无任务引用此评分器。", "versionsIntro": "版本是评分器配置的不可变快照。活动版本是任务当前运行的版本。", "lastUpdated": "最后更新", @@ -11667,7 +11667,7 @@ "col": { "time": "时间", "job": "任务", - "spanId": "跨度 ID", + "spanId": "Span ID", "traceId": "追踪编号", "score": "评分", "latency": "延迟", @@ -11854,13 +11854,13 @@ "eyebrow": "评估任务", "refresh": "刷新", "targetSection": "评估目标", - "streamLabel": "流", + "streamLabel": "数据流", "streamTypeLabel": "流类型", "targetScopeLabel": "评估每个", "idleWindowLabel": "空闲窗口", "maxAgeLabel": "最大时长", - "filterLabel": "筛选器", - "filterEmpty": "无筛选器 — 评估每个 span", + "filterLabel": "过滤器", + "filterEmpty": "无过滤器 — 每个 Span 都会被评估", "scorersSection": "评分器", "scorersEmpty": "尚无评分器附加到此任务。", "scorerUnknown": "(已移除的评分器)", @@ -11876,7 +11876,7 @@ "samplingCount": "前 N 个匹配项", "metadataSection": "元数据", "versionLabel": "版本", - "pipelineLabel": "管道 ID", + "pipelineLabel": "流水线 ID", "createdLabel": "创建于", "updatedLabel": "更新于", "tabs": { @@ -11896,7 +11896,7 @@ "col": { "time": "时间", "scorer": "评分器", - "spanId": "跨度 ID", + "spanId": "Span ID", "traceId": "追踪编号", "score": "评分", "latency": "延迟", @@ -11918,7 +11918,7 @@ "columns": { "name": "名称", "status": "状态", - "stream": "流", + "stream": "数据流", "targetScope": "范围", "scorers": "评分器", "created": "创建于", @@ -11944,30 +11944,30 @@ "scorersSection": "评分器和制图", "nameLabel": "名称", "namePlaceholder": "任务名称", - "streamLabel": "流", + "streamLabel": "数据流", "streamPlaceholder": "选择流", "targetScopeLabel": "评估每个", "targetScopes": { - "span": "跨度", - "trace": "跟踪", + "span": "Span", + "trace": "追踪", "session": "会话" }, "targetScopeHelp": { - "span": "独立评估每个匹配的跨度。", - "trace": "在完成窗口关闭后评估整个跟踪。", - "session": "在完成窗口关闭后评估跨跟踪的会话。" + "span": "独立评估每个匹配的 Span。", + "trace": "在完成窗口关闭后评估整个追踪。", + "session": "在完成窗口关闭后评估跨追踪的会话。" }, "completionSection": "完成条件", "completionHelp": { - "trace": "只要满足这些条件中的第一个,就会评估跟踪。", + "trace": "追踪将在满足以下任一条件时立即进行评估。", "session": "只要满足这些条件中的第一个,就会评估会话。" }, "idleWindowLabel": "空闲窗口(秒)", - "idleWindowHelp": "在 {duration} 没有新跨度后评估。", - "idleWindowHelpEmpty": "一旦没有新跨度到达,就会评估。", + "idleWindowHelp": "在 {duration} 内没有新的 Span 后进行评估。", + "idleWindowHelpEmpty": "一旦没有新的 Span 到达即进行评估。", "maxAgeLabel": "最大时长(秒)", - "maxAgeHelp": "在第一个跨度后等待 {duration} 后评估。", - "maxAgeHelpEmpty": "在固定时长后评估,即使跨度仍在到达。", + "maxAgeHelp": "在第一个 Span 之后 {duration} 进行评估。", + "maxAgeHelpEmpty": "在固定的时间点进行评估,即使仍有 Span 到达。", "descriptionLabel": "描述", "samplingModeLabel": "采样模式", "samplingValueLabel": "采样率", @@ -11978,8 +11978,8 @@ "scorerPicker": { "title": "评分器", "hint": { - "span": "选择要为每个匹配跨度运行的一个或多个评分器。", - "trace": "选择要为每个符合条件的跟踪运行的一个或多个评分器。", + "span": "选择一个或多个评分器,为每个匹配的 Span 运行。", + "trace": "选择一个或多个评分器,为每个符合条件的追踪运行。", "session": "选择要为每个符合条件的会话运行的一个或多个评分器。" }, "meta": "{type} · v{version}", @@ -11990,36 +11990,36 @@ "filter": { "title": "过滤条件", "hint": { - "span": "只有匹配此条件的跨度才会进入采样和评分环节。", - "trace": "如果跟踪中的任何跨度匹配此条件,则跟踪进入采样和评分环节。", - "session": "如果会话中的任何跨度匹配此条件,则会话进入采样和评分环节。" + "span": "只有匹配此条件的 Span 才会进入采样和评分。", + "trace": "如果追踪中的任一 Span 匹配此条件,该追踪将进入采样和评分。", + "session": "如果会话中的任一 Span 匹配此条件,该会话将进入采样和评分。" } }, "selector": { - "title": "哪些跨度(可选)", + "title": "哪些 Span(可选)", "hint": { - "trace": "留空以包括跟踪中的每个跨度。" + "trace": "留空以包含追踪中的每个 Span。" } }, "endSignal": { "title": "结束信号(可选)", "hint": { - "trace": "定义一个跨度条件,当任何跨度匹配时立即关闭跟踪。", - "session": "定义一个跨度条件,当任何跨度匹配时立即关闭会话。" + "trace": "定义一个 Span 条件,当任何 Span 匹配时立即关闭该追踪。", + "session": "定义一个 Span 条件,当任何 Span 匹配时立即关闭该会话。" } }, "inputMapping": { "title": "提示变量", "hint": { - "span": "将每个变量映射到跨度属性。", - "trace": "将每个变量映射到系统提供的值或跨度属性。", - "session": "将每个变量映射到系统提供的值或跨度属性。" + "span": "将每个变量映射到一个 Span 属性。", + "trace": "将每个变量映射到系统提供的值或 Span 属性。", + "session": "将每个变量映射到系统提供的值或 Span 属性。" }, "placeholder": "选择一个值", - "searchPlaceholder": "搜索系统值和跨度属性…", + "searchPlaceholder": "搜索系统值和 Span 属性…", "groups": { "systemProvided": "系统提供的值 · 对于此任务评估的每个 {scope}", - "spanAttributes": "跨度属性" + "spanAttributes": "Span 属性" }, "selectScorers": "选择评分器来配置他们的映射。", "noVariables": "此评分器没有模板变量可供映射。", @@ -12029,7 +12029,7 @@ "title": "{scope} 系统值", "description": "OpenObserve 会为此任务评估的每个 {scope} 分别构建这些值。在映射评分器提示变量时,将它们用作源。", "badge": "系统提供", - "selectorRequired": "需要跨度选择器", + "selectorRequired": "Span 选择器必填", "columns": { "variable": "值", "source": "来源", @@ -12037,63 +12037,63 @@ }, "variables": { "input": { - "trace": "来自跟踪根跨度的输入。" + "trace": "来自追踪根 Span 的输入。" }, "output": { - "trace": "来自跟踪根跨度的输出。" + "trace": "来自追踪根 Span 的输出。" }, "statistics": { - "trace": "跟踪指标:跨度计数、持续时间、LLM 和工具调用、错误、令牌和成本。", - "session": "会话指标:跟踪和轮次计数、持续时间和错误。" + "trace": "追踪指标:Span 数量、时长、LLM 与工具调用、错误、Token 数和成本。", + "session": "会话指标:追踪数和轮次数、时长和错误。" }, "spans": { - "trace": "由任务的跨度选择器选择的跨度的过滤子集。" + "trace": "由任务的 Span 选择器筛选出的 Span 子集。" }, "steps": { - "trace": "按时间顺序排列的跨度;当跟踪很长时,中间部分会被折叠。", - "session": "按时间顺序排列的跟踪,表示为对话轮次。" + "trace": "按时间顺序排列的 Span;当追踪很长时,中间部分会被折叠。", + "session": "按时间顺序排列的追踪,以对话轮次表示。" } } } }, "spanSelector": { - "select": "选择跨度选择器", - "bindingHelp": "跟踪可能有数百个跨度。选择此评分器应关注的那些。", + "select": "选择 Span 选择器", + "bindingHelp": "追踪可能包含数百个 Span。请选择此评分器应查看的 Span。", "createForScorer": "为评分器创建", - "createForScorerTitle": "为此评分器创建跨度选择器", - "editorTitle": "跨度选择器", + "createForScorerTitle": "为此评分器创建 Span 选择器", + "editorTitle": "Span 选择器", "name": "选择器名称", "schemaMode": "读取字段", "defaultSchema": "标准 GenAI 字段", "customSchema": "自定义字段", - "defaultSchemaHelp": "这些八个字段从每个匹配的跨度中读取。缺失的任何内容将作为空值传输。", + "defaultSchemaHelp": "这八个字段会从每个匹配的 Span 中读取。任何缺失的内容都会以空值形式传入。", "fields": "字段", "fieldsHelp": "仅读取这些字段——其他内容不会发送给评分器。", - "maximumSpans": "最大跨度数", - "budget": "限制从跟踪中选择的跨度数量。", + "maximumSpans": "最大 Span 数", + "budget": "限制从追踪中选择多少个 Span。", "validation": { "name": "输入选择器名称。", "duplicateName": "在此任务中,选择器名称必须唯一。", "filter": "完成或删除未完成的过滤条件。", "fields": "为自定义架构至少选择一个字段。", - "maximumSpans": "最大跨度数必须为正整数。", - "budget": "所选字段的跨度过多。减少跨度数量,或读取更少的字段。", - "binding": "为每个使用跟踪跨度的评分器选择一个跨度选择器。" + "maximumSpans": "最大 Span 数必须为正整数。", + "budget": "所选字段的 Span 数量过多。请减少 Span 数量,或读取更少的字段。", + "binding": "为每个使用追踪 Span 的评分器选择一个 Span 选择器。" } }, "preview": { "scopes": { "span": { - "title": "匹配的跨度数", - "hint": "一旦您选择了流和过滤器,此面板将显示您的任务将匹配多少个跨度。", - "matchedSuffix": "匹配的跨度 · 最近 1 小时", - "matchedLoading": "正在计算匹配的跨度数…" + "title": "匹配的 Span", + "hint": "选择数据流和过滤器后,此面板将显示任务会匹配多少个 Span。", + "matchedSuffix": "匹配的 Span · 最近 1 小时", + "matchedLoading": "正在统计匹配的 Span…" }, "trace": { - "title": "匹配的跟踪数", + "title": "匹配的追踪", "hint": "一旦您选择了流和过滤器,此面板将显示您的任务将匹配多少个追踪。", "matchedSuffix": "匹配的追踪 · 最近 1 小时", - "matchedLoading": "正在计算匹配的跟踪数…" + "matchedLoading": "正在统计匹配的追踪…" }, "session": { "title": "匹配的会话数", @@ -12196,13 +12196,13 @@ "title": "选择数据流开始探索", "description": "选择一个数据流,然后按运行查询。结果出来后,您可以使用过滤器、VRL 函数和自定义时间范围进行优化。", "selectStream": "选择一个数据流", - "selectStreamDesc": "浏览日志、跟踪、指标和 RUM 流", + "selectStreamDesc": "浏览日志、追踪、指标和 RUM 数据流", "queryGuide": "阅读查询指南", "queryGuideDesc": "过滤器、SQL 模式、VRL 和保存的视图", "recent": "最近:" }, "noEvents": { - "title": "未找到任何事件", + "title": "未找到事件", "descNoFilters": "在 {range} 中未找到任何事件。尝试扩大加载结果的时间范围。", "descWithFilters": "在所选窗口中,没有与该查询相匹配的内容。尝试扩大时间范围、放松筛选条件或重置查询。", "descOutOfRange": "您的时间窗口不包含来自此流的任何数据。跳转到最后出现数据的时间。", @@ -12646,8 +12646,8 @@ "createBrowserTest": { "buildManually": "手动构建", "continue": "继续", - "gateDescription": "告诉我们从哪里开始——接下来您将录制流程。其他所有内容(计划、警报、RUM)稍后设置。", - "gateFooter": "这是开始所需的一切。录制后您可以在此重放,然后保存以配置计划、警报等。", + "gateDescription": "告诉我们从哪里开始——接下来您将录制旅程。其他所有内容(计划、告警、RUM)都将在之后进行设置。", + "gateFooter": "这就是开始所需的全部内容。录制后,您可以在此处重放,然后保存以配置计划、告警等。", "loadFailed": "加载检查配置失败。", "loadFailedTitle": "加载失败", "loading": "正在加载检查…", @@ -12891,8 +12891,8 @@ "recordBeforeNeedsNewerExtension": "更新录制器扩展程序,以便从特定步骤开始录制。", "insertStepBelow": "在下方插入步骤", "noSteps": "暂无步骤", - "filterClearedForErrors": "已清除筛选器,以便需要修复的步骤可见。", - "filterClearedForNewStep": "已清除筛选器,以便新步骤可见。", + "filterClearedForErrors": "已清除过滤器,以便显示需要修复的步骤。", + "filterClearedForNewStep": "已清除过滤器,以便显示新步骤。", "preflightDescription": "录制器扩展在运行第一步之前已停止。其报告如下。", "preflightTitle": "无法开始回放", "replayInProgressDescription": "录制器扩展中仍有另一个回放在运行。请等待其完成,或重新加载扩展,然后重试。", @@ -13113,7 +13113,7 @@ }, "timeoutMs": "超时(毫秒)", "tls": { - "minDays": "在到期前(天)发出警报", + "minDays": "在(天)内到期时告警", "title": "TLS证书", "verifyChain": "验证证书链", "verifyHostname": "验证主机名" @@ -13354,10 +13354,10 @@ "errorPatternsWindowDesc": "跨 {window} 归一化 · 点击行筛选运行" }, "scheduleAlert": { - "addNewDestination": "添加新目的地", - "alertedIfFails": "测试失败时发出警报", + "addNewDestination": "添加新目标", + "alertedIfFails": "测试失败时告警", "alertedIfFailsSuffix": "倍。", - "alerts": "警报", + "alerts": "告警", "browserTime": "浏览器时间 ({tz})", "cooldownPeriod": "冷却时间", "cronExpression": "Cron 表达式", @@ -13370,8 +13370,8 @@ "weeks": "周" }, "customIntervalValue": "每", - "destinationRequired": "至少需要一个目的地", - "destinations": "目的地", + "destinationRequired": "至少需要一个目标", + "destinations": "目标", "frequency": "频率", "frequencyOptions": { "15min": "15 分钟", @@ -13383,8 +13383,8 @@ "custom": "自定义" }, "minutes": "分钟", - "noDestinations": "没有可用的目的地", - "refreshDestinations": "刷新目的地", + "noDestinations": "没有可用的目标", + "refreshDestinations": "刷新目标", "retries": "重试", "retriesOnFailure": "失败时重试", "retriesOnFailureSuffix": "倍。", @@ -13643,11 +13643,11 @@ "dashboards": "仪表板", "metrics": "指标", "traces": "追踪", - "alerts": "警报", + "alerts": "告警", "streams": "数据流", - "pipelines": "管道", + "pipelines": "流水线", "functions": "函数", - "reports": "报告", + "reports": "报表", "iam": "IAM", "settings": "设置", "onlineEvals": "在线评估", @@ -13663,25 +13663,25 @@ "dashboardsPanel": "仪表板-面板(将鼠标悬停在面板上)", "metrics": "指标", "traces": "追踪", - "alerts": "警报", + "alerts": "告警", "streams": "数据流", - "pipelines": "管道", + "pipelines": "流水线", "functions": "函数", - "reports": "报告", + "reports": "报表", "iamUsers": "IAM — 用户", "iamRoles": "IAM — 角色", "iamGroups": "IAM — 群组", "iamServiceAccounts": "IAM — 服务账户", - "alertDestinations": "警报-目的地", + "alertDestinations": "告警 — 目标", "alertSources": "告警 — 外部来源", - "alertTemplates": "警报-模板", + "alertTemplates": "告警 — 模板", "panelEditor": "面板编辑器", "traceDetail": "追踪详情", "runningQueries": "运行中的查询", "ingestionTokens": "IAM — 摄取令牌", "syntheticsTokens": "IAM — 合成监控令牌", - "alertIncidents": "警报-事件", - "pipelineDestinations": "管道—目的地", + "alertIncidents": "告警 — 事件", + "pipelineDestinations": "流水线 — 目标", "enrichmentTables": "富化表", "iamInvitations": "IAM — 邀请", "iamOrganizations": "IAM — 组织", @@ -13738,12 +13738,12 @@ "metricsCopyUrl": "复制共享链接", "tracesSearch": "运行查询", "tracesRefresh": "刷新", - "alertsCreate": "创建新警报", - "alertsRefresh": "刷新警报列表", + "alertsCreate": "新建告警", + "alertsRefresh": "刷新告警列表", "streamsAdd": "添加新数据流", "streamsRefresh": "刷新清单", - "pipelinesAdd": "创建新管道", - "pipelinesImport": "导入管道", + "pipelinesAdd": "创建新流水线", + "pipelinesImport": "导入流水线", "pipelinesRefresh": "刷新清单", "functionsAdd": "添加新函数", "functionsRefresh": "刷新清单", @@ -13757,19 +13757,19 @@ "iamGroupsRefresh": "刷新清单", "iamServiceAccountsAdd": "添加新的服务账号", "iamServiceAccountsRefresh": "刷新清单", - "alertDestinationsAdd": "添加新目的地", + "alertDestinationsAdd": "添加新目标", "alertDestinationsRefresh": "刷新清单", "alertSourcesAdd": "添加新告警源", "alertSourcesRefresh": "刷新列表", "alertTemplatesAdd": "添加新模板", "alertTemplatesRefresh": "刷新清单", "logsSearchHistory": "打开搜索记录", - "alertsImport": "导入警报", + "alertsImport": "导入告警", "panelEditorRun": "运行/应用查询", "panelEditorSave": "保存面板", "panelEditorBack": "丢弃然后回去", - "traceNextSpan": "下一个跨度", - "tracePrevSpan": "之前的跨度", + "traceNextSpan": "下一个 Span", + "tracePrevSpan": "上一个 Span", "runningQueriesRefresh": "刷新查询列表", "ingestionTokensAdd": "创建新令牌", "ingestionTokensRefresh": "刷新令牌列表", @@ -13780,7 +13780,7 @@ "aiChatExpand": "展开/折叠 AI 聊天", "logsSaveView": "另存为已保存视图", "logsExport": "将结果导出为 CSV", - "tracesCopyUrl": "复制跟踪共享网址", + "tracesCopyUrl": "复制追踪分享链接", "alertIncidentsRefresh": "刷新清单", "pipelineDestinationsRefresh": "刷新清单", "enrichmentTablesRefresh": "刷新清单", @@ -13952,7 +13952,7 @@ "user": "用户" }, "destinationType": { - "remotepipeline": "远程管道", + "remotepipeline": "远程流水线", "email": "邮箱", "webhook": "Webhook" }, @@ -14047,7 +14047,7 @@ "alertState": { "ok": "确定", "normal": "正常", - "firing": "触发", + "firing": "触发中", "notifyfailed": "通知失败", "flapping": "抖动", "anomaly": "异常", @@ -14078,7 +14078,7 @@ "error": "错误" }, "crossLinkSource": { - "stream": "流", + "stream": "数据流", "global": "全局" }, "themeApplied": { @@ -14160,7 +14160,7 @@ "pending": "待处理" }, "logLevel": { - "trace": "跟踪", + "trace": "追踪", "debug": "调试", "info": "信息", "warn": "警告", @@ -14393,16 +14393,16 @@ "resources": { "dashboards": "仪表盘", "alerts": "告警", - "streams": "流", + "streams": "数据流", "functions": "函数", "savedviews": "已保存视图", "users": "用户", "roles": "角色", "organizations": "组织", - "pipelines": "管道", + "pipelines": "流水线", "destinations": "目标", "templates": "模板", - "reports": "报告", + "reports": "报表", "llmModelPricing": "LLM 模型定价" }, "noPermissionToChangeFavorites": "您没有权限更改收藏", @@ -14432,7 +14432,7 @@ "enrichmentReloadStarted": "富化表重新加载已启动。正在后台处理...", "enrichmentJobStarted": "富化表任务已启动。正在后台处理...", "enrichmentCreationFailed": "富化表创建失败", - "functionDeletionAssociatedPipelines": "函数删除失败,因为它与管道关联。点击查看按钮可获取关联的管道。" + "functionDeletionAssociatedPipelines": "函数删除失败,因为它与流水线关联。点击查看按钮以获取关联的流水线。" }, "recommended": { "failedToImportDashboard": "导入仪表盘失败:{error}", @@ -14492,26 +14492,26 @@ "themeResetToDefault": "主题已重置为默认颜色!" }, "pipeline": { - "errorImportingPipelinePleaseCheck": "导入管道时出错。请检查 JSON。", - "pipelinesImportedSuccessfully": "已成功导入 {count} 个管道 | 已成功导入 {count} 个管道", - "pipelinesDeletedSuccessfully": "已成功删除 {count} 个管道 | 已成功删除 {count} 个管道", - "failedToDeletePipelines": "删除 {count} 个管道失败 | 删除 {count} 个管道失败", - "pipelinesDeletedWithFailures": "已成功删除 {count} 个管道,{failed} 个失败 | 已成功删除 {count} 个管道,{failed} 个失败", - "noPipelinesSelectedForDeletion": "未选择要删除的管道", - "deletingPipelines": "正在删除管道...", - "errorResumingPipelines": "恢复管道时出错。请重试。", - "errorPausingPipelines": "暂停管道时出错。请重试。", - "pipelinesResumedSuccessfully": "管道已成功恢复", - "pipelinesPausedSuccessfully": "管道已成功暂停", - "noPipelinesToResume": "没有要恢复的管道", - "noPipelinesToPause": "没有要暂停的管道", - "resumingPipelines": "正在恢复管道...", - "pausingPipelines": "正在暂停管道...", - "pipelinesExportedSuccessfully": "已成功导出 {count} 个管道 | 已成功导出 {count} 个管道", - "pipelineDeletedSuccessfully": "管道删除成功", - "deletingPipeline": "正在删除管道...", - "pipelineCreatedSuccessfully": "管道创建成功", - "savingPipeline": "正在保存管道...", + "errorImportingPipelinePleaseCheck": "导入流水线时出错。请检查 JSON。", + "pipelinesImportedSuccessfully": "{count} 条流水线导入成功 | {count} 条流水线导入成功", + "pipelinesDeletedSuccessfully": "{count} 条流水线删除成功 | {count} 条流水线删除成功", + "failedToDeletePipelines": "删除 {count} 条流水线失败 | 删除 {count} 条流水线失败", + "pipelinesDeletedWithFailures": "{count} 条流水线删除成功,{failed} 条失败 | {count} 条流水线删除成功,{failed} 条失败", + "noPipelinesSelectedForDeletion": "未选择要删除的流水线", + "deletingPipelines": "正在删除流水线...", + "errorResumingPipelines": "恢复流水线时出错。请重试。", + "errorPausingPipelines": "暂停流水线时出错。请重试。", + "pipelinesResumedSuccessfully": "流水线已成功恢复", + "pipelinesPausedSuccessfully": "流水线已成功暂停", + "noPipelinesToResume": "没有要恢复的流水线", + "noPipelinesToPause": "没有要暂停的流水线", + "resumingPipelines": "正在恢复流水线...", + "pausingPipelines": "正在暂停流水线...", + "pipelinesExportedSuccessfully": "{count} 条流水线导出成功 | {count} 条流水线导出成功", + "pipelineDeletedSuccessfully": "流水线删除成功", + "deletingPipeline": "正在删除流水线...", + "pipelineCreatedSuccessfully": "流水线创建成功", + "savingPipeline": "正在保存流水线...", "stateResumed": "{name} 状态已成功恢复", "statePaused": "{name} 状态已成功暂停" }, @@ -14532,7 +14532,7 @@ "failedToLoadBackfillJobs": "加载回填任务失败", "backfillJobCreatedSuccessfully": "回填任务已成功创建", "backfillJobUpdatedSuccessfully": "回填任务已成功更新", - "addingThisEdgeWillCreateA": "添加此边将在管道中形成循环", + "addingThisEdgeWillCreateA": "添加此边将在流水线中形成环路", "onlyOneIncomingEdgeToThe": "节点仅允许一个传入边", "sameTypeOfEdgesNodesCannot": "相同类型的边/节点无法连接", "only1SourceNodeIsAllowed": "仅允许 1 个源节点" @@ -14650,7 +14650,7 @@ "title": "SLO", "notFound": "未找到 SLO", "notFoundDescription": "此 SLO 不再存在,或者您无权访问它。它可能已被删除。", - "subtitle": "服务级别目标:目标、错误预算、燃烧率警报", + "subtitle": "服务级别目标:目标、错误预算、消耗率告警", "new": "新建 SLO", "newTitle": "新建 SLO", "editTitle": "编辑 SLO", @@ -14677,16 +14677,16 @@ "deleteFailed": "无法删除 SLO", "deleteConfirmTitle": "删除此 SLO?", "deleteConfirmBody": "“{name}”及其测量历史将被移除。", - "deleteAlertsChecking": "正在检查关联的警报…", - "deleteAlertsNote": "删除此 SLO 也会删除关联的警报。 | 删除此 SLO 也会删除关联的 {count} 个警报。", - "deleteAlertsUnknown": "无法检查关联的警报。删除此 SLO 将删除所有关联警报。", + "deleteAlertsChecking": "正在检查关联的告警…", + "deleteAlertsNote": "删除此 SLO 也会删除关联的告警。 | 删除此 SLO 也会删除与之关联的 {count} 条告警。", + "deleteAlertsUnknown": "无法检查关联了哪些告警。删除此 SLO 将删除所有关联告警。", "deleteBudgetNote": "已写入的切片将保留在磁盘上直至过期,因此此 SLO 的预留行将在那时释放,而不是现在。", "groupedSliceNote": "分组 SLO 使用 5 分钟切片。", "sliceNote": { "count": "切片宽度不会改变此 SLO 的数值。无论哪种方式,所计事件相同。5 分钟切片存储的历史数据量仅为原来的五分之一。", "perSlice": "每个切片整体评分好或坏,因此宽度是一次失败可能消耗的最小预算量。在 7 天内 99.9% 的情况下,一个 5 分钟的不良切片大约消耗一半预算。对于短窗口内的严格目标,请选择 1 分钟。" }, - "backfillNote": "保存时进行回填:分块,最新历史优先。在覆盖率超过下限之前,警报保持冻结。", + "backfillNote": "回填在保存时运行:分块进行,最新历史优先。告警保持冻结,直到覆盖率超过下限。", "budgetHint": "错误预算 = {budget}", "budgetDays": "{n} 天", "budgetHours": "{n} 小时", @@ -14760,7 +14760,7 @@ "tags": "标签", "tagsPlaceholder": "添加标签并按回车", "streamType": "流类型", - "stream": "流", + "stream": "数据流", "queryLanguage": "查询语言", "scope": "范围", "scopeHint": "应用于分母的可选过滤器。留空表示所有行。", @@ -14795,7 +14795,7 @@ }, "empty": { "title": "暂无 SLO", - "description": "SLO 衡量请求或时间的多大比例达到了目标,并为警报提供可消耗的错误预算。" + "description": "SLO 衡量请求或时间达到目标的比例,并为告警提供可消耗的错误预算。" }, "groups": { "emptyTitle": "尚未测量任何分组", @@ -14804,30 +14804,30 @@ "frozen": { "title": "冻结:覆盖率不足", "body": "此窗口仅测量了 {coverage},低于 {floor} 下限。SLO 读取为无数据,其告警既不会触发也不会解除,因此未测量的时间永远不会报告为正常运行时间。", - "alertGapsBody": "此窗口仅测量了 {coverage},低于 {floor} 下限:源警报在其余时间未评估,无论是暂停、静默还是失败。SLO 显示为无数据,其警报既不会触发也不会解决,因此未测量的时间永远不会被报告为正常运行时间。", - "alertStaleTitle": "冻结:源警报停止评估", - "alertStaleBody": "源警报自 {since} 以来未评估,因此测量被冻结:窗口保持原样,SLO 的警报既不会触发也不会解决。以下数字是最后一次真实测量,而不是当前状态。", + "alertGapsBody": "此窗口仅测量了 {coverage},低于 {floor} 下限:在其余时间内,源告警未进行评估,无论是因为暂停、静默还是故障。SLO 显示为无数据,其告警既不会触发也不会解决,因此未测量的时间永远不会被报告为正常运行时间。", + "alertStaleTitle": "已冻结:源告警已停止评估", + "alertStaleBody": "自 {since} 起源告警未进行评估,因此测量已冻结:窗口停留在原处,SLO 的告警既不会触发也不会解决。下图是最后一次真实测量,而不是当前状态。", "measuringSinceTitle": "自 {since} 起测量", - "measuringSinceBody": "此 SLO 拥有 {measured}/{window} 天的历史记录:在 {since} 之前没有其源警报的可用记录。下面的每个数字都描述实际测量的天数,而不是整个窗口,窗口会随着时间的推移而填满。" + "measuringSinceBody": "此 SLO 已拥有 {window} 天历史中的 {measured} 天:在 {since} 之前没有其源告警的可用记录。下图描述的是实际测量的天数,而非完整窗口,并且窗口会随着时间的推移逐渐填满。" }, "regenerate": { "title": "此编辑将重新开始测量", "body": "您更改了切片的意义,因此新的一代开始,当前窗口的测量将被丢弃。仅更改目标不会导致这种情况;目标在读取 SLO 时应用。" }, "alertSli": { - "source": "源警报", - "sourcePlaceholder": "选择警报", - "sourceHint": "正常运行时间是此警报未触发的时间占测量时间的比例。未评估的时间(暂停、静默或失败)是未测量的,永远不会计为正常运行时间。", - "loadFailed": "无法加载符合条件的警报", - "noneEligible": "此组织中还没有警报可用作源。", + "source": "源告警", + "sourcePlaceholder": "选择告警", + "sourceHint": "正常运行时间是指此告警未触发的那部分已测量时间所占的比例。它未评估的时间——暂停、静默或失败——属于未测量时间,不计入正常运行时间。", + "loadFailed": "无法加载符合条件的告警", + "noneEligible": "此组织中还没有可用作源的告警。", "ineligibleOption": "{name} — {reason}", - "groupingLocked": "基于警报的 SLI 无法分组:可用性账本按警报记录一次运行,而不是按组记录,因此没有可依据的每组覆盖率。", - "sourceLink": "源警报", + "groupingLocked": "基于告警的 SLI 无法分组:可用性账本按告警而非按组记录每次运行,因此没有可依据的按组覆盖率。", + "sourceLink": "源告警", "preview": { "title": "测量到的正常运行时间", "tally": "在窗口的 {coverage} 范围内,{sli}% 良好", - "wouldFreeze": "此窗口测量的部分太少,因此此源上的 SLO 显示为无数据,其警报既不会触发也不会解决。上面的百分比仅基于测量的部分。", - "noHistory": "此警报尚无评估历史。一旦运行,测量即开始。", + "wouldFreeze": "此时间窗口中已测量的部分太少,因此基于此源的 SLO 会显示为无数据,其告警既不会触发也不会恢复。上面的百分比仅基于已测量的部分。", + "noHistory": "此告警还没有评估历史。一旦运行,测量即开始。", "loadFailed": "无法加载评估历史", "legendGood": "正常", "legendBad": "触发中", @@ -15012,10 +15012,10 @@ "sessionDetails": "会话详情", "streamExplorer": "流浏览器", "viewDashboard": "查看仪表板", - "pipelineBackfillJobs": "管道回填任务", + "pipelineBackfillJobs": "流水线回填作业", "sloDetail": "SLO 详情", - "alertDetail": "警报详情", - "editAlert": "编辑警报", + "alertDetail": "告警详情", + "editAlert": "编辑告警", "aiQueueDetail": "队列", "aiQueueReview": "队列审核", "aiDatasetDetail": "数据集", @@ -15232,9 +15232,9 @@ "allNamespaces": "所有模式", "allEnvs": "所有环境", "allServices": "所有服务", - "scope": "筛选器", + "scope": "过滤器", "clearScope": "全部清除", - "removeScope": "移除此筛选器", + "removeScope": "移除此过滤器", "popoverTitle": "缩小范围", "dimension": { "system": "引擎", @@ -15540,7 +15540,7 @@ "title": "此查询不属于此组织", "description": "该地址指向的查询 {org} 在您查看的时间范围内尚未运行。如果您刚刚切换了组织,它属于您离开的那个组织。", "descriptionNoOrg": "该地址指向的查询在此组织您查看的时间范围内尚未运行。如果您刚刚切换了组织,它属于您离开的那个组织。", - "scopeHint": "在此组织、时间范围和范围内没有匹配项。如果该地址来自其他引擎或实例,请清除这些筛选器或返回列表。", + "scopeHint": "在此组织、时间范围和搜索范围内没有匹配项。如果该地址来自其他引擎或实例,请清除这些过滤器或返回列表。", "missingTitle": "未选择查询", "missingDescription": "此页面描述一个查询,但地址未指定具体查询。如果您刚刚切换了组织,您正在阅读的查询属于您离开的那个组织。", "action": "浏览此组织的查询" @@ -15559,10 +15559,10 @@ "noSamples": "此范围未加载单个执行记录。", "noSeries": "在您选择的时间范围内没有此查询的历史记录。", "liveSeries": "最近的点仍在统计中,可能会发生变化。", - "noStream": "我们无法确定哪个跟踪流承载此查询,因此无法加载其调用方和示例。", - "ambiguousStream": "此组织有多个跟踪流,我们无法确定此查询运行在哪个上。选择一个流以加载其调用方和示例跟踪。", - "pickStream": "选择跟踪流", - "invalidStream": "该跟踪流名称无法识别,因此我们未运行搜索。", + "noStream": "我们无法确定哪个追踪数据流承载了这条查询,因此无法加载其调用方和示例。", + "ambiguousStream": "此组织有多个追踪数据流,我们无法确定此查询运行在哪个数据流上。请选择一个数据流以加载其调用方和示例追踪。", + "pickStream": "选择追踪数据流", + "invalidStream": "我们无法识别该追踪数据流名称,因此未执行搜索。", "firstSeen": "首次出现在此列表中于 {time}", "firstSeenHint": "此范围内此查询负载足够高以至于需要单独跟踪的最早点。", "lastSeen": "最后出现于 {time}", @@ -15593,7 +15593,7 @@ "sampleOk": "正常", "sampleError": "失败", "viewTrace": "查看请求 →", - "viewTraces": "查看示例跟踪", + "viewTraces": "查看示例追踪", "copySummary": "复制", "copySummaryHint": "此页面上的每个数字都已存在——这里只是写出句子,因此事件的第13分钟会产生一条消息,而不是什么都没有。", "summaryCopied": "摘要已复制", @@ -15879,8 +15879,8 @@ "title": "我们正在读取您的数据库日志", "detail": "{databases} · 最近读取的行:{age}", "detailNoFleet": "最近读取的行:{age}", - "detailUnknown": "{databases} — 日志管道已连接", - "detailUnknownNoFleet": "日志管道已连接" + "detailUnknown": "{databases} — 日志流水线已连接", + "detailUnknownNoFleet": "日志流水线已连接" }, "reporting": { "title": "死锁报告已开启", @@ -15891,8 +15891,8 @@ }, "traffic": { "title": "我们看到来自这些数据库的其他 {lines} 条日志行", - "detail": "因此管道正在传输流量——死锁也会通过它传来", - "titleUnknown": "日志管道正在传输流量" + "detail": "因此流水线正在承载流量——若存在死锁,应已通过它显现。", + "titleUnknown": "日志流水线正在承载流量" }, "lastEver": { "title": "我们见过的最后一次死锁", @@ -16127,8 +16127,8 @@ }, "pipeline": { "title": "你的数据库正在向我们传送数据", - "detail": "在此窗口内,同一管道传来了 {lines} 行其他数据", - "detailUnknown": "承载此数据的管道正在运行" + "detail": "在此时间窗口内,另有 {lines} 行经过了同一条流水线。", + "detailUnknown": "承载此数据的流水线正在运行。" }, "meaning": { "title": "此选项卡不为空时显示的内容", diff --git a/web/src/locales/languages/zh-TW.json b/web/src/locales/languages/zh-TW.json index f661f778fc..cbcd42a651 100644 --- a/web/src/locales/languages/zh-TW.json +++ b/web/src/locales/languages/zh-TW.json @@ -133,11 +133,11 @@ "description": "組織將您的使用者與資料整合在一起。建立一個以開始使用。" }, "noAlertDestinations": { - "title": "尚無目的地", - "description": "目的地定義警報通知的傳送位置 — Slack、電子郵件、webhook 等。", - "action": "新增目的地", + "title": "尚未建立任何目標", + "description": "目標定義警示通知的傳送位置 — Slack、電子郵件、Webhook 等。", + "action": "新增目標", "actionDesc": "連接通知管道", - "import": "匯入目的地", + "import": "匯入目標", "importDesc": "從 JSON 檔案匯入" }, "noAlertSources": { @@ -147,14 +147,14 @@ "actionDesc": "建立 Webhook URL 和權杖" }, "noPipelineDestinations": { - "title": "尚無目的地", + "title": "尚未建立任何目標", "description": "管線輸出的外部目標 — HTTP 端點與遠端寫入目標。", - "action": "新增目的地", - "actionDesc": "連接管線目的地" + "action": "新增目標", + "actionDesc": "連接管線目標" }, "noAlertTemplates": { "title": "尚無範本", - "description": "範本定義警報通知訊息的格式。", + "description": "範本定義警示通知訊息的格式。", "action": "新增範本", "actionDesc": "建立通知範本", "import": "匯入範本", @@ -273,9 +273,9 @@ "createActionDesc": "手動定義串流架構" }, "noAlerts": { - "title": "建立您的第一個警報", - "description": "當您的資料越過閾值時,警報會立即通知您。定義一個以開始監控。", - "action": "新增警報", + "title": "建立您的第一個警示", + "description": "警示會在您的數據超過閾值時立即通知您。建立一個以開始監控。", + "action": "新增警示", "actionDesc": "定義要監控的條件" }, "noMonitors": { @@ -407,7 +407,7 @@ "workflows": "工作流程", "functions": "函式", "streams": "串流", - "alerts": "警報", + "alerts": "警示", "incidents": "事件", "traces": "追蹤", "discoveryItems": "不健康的項目", @@ -426,9 +426,9 @@ "roleLimits": "角色限制", "ingestionTokens": "擷取權杖", "organizations": "組織", - "alertDestinations": "目的地", + "alertDestinations": "目標", "alertSources": "警示來源", - "pipelineDestinations": "目的地", + "pipelineDestinations": "目標", "alertTemplates": "範本", "evalTemplates": "評估範本", "enrichmentTables": "擴充資料表", @@ -744,7 +744,7 @@ "nameIsRequired": "必須填寫名稱", "streamTypeIsRequired": "必須填寫資料流類型", "functionNameIsRequired": "必須填寫函數名稱", - "remoteDestinationIsRequired": "必須填寫遠端目的地", + "remoteDestinationIsRequired": "需要遠端目標", "timezoneIsRequired": "必須填寫時區", "idPrefix": "ID:{id}", "unchangedCount": "未變更 ({count})", @@ -845,9 +845,9 @@ "loadError": "無法讀取已儲存的條件,已重設。立即儲存將會覆寫。" }, "destination": { - "createNew": "建立新目的地", - "select": "目的地", - "loadError": "擷取目的地時發生錯誤。" + "createNew": "建立新目標", + "select": "目標", + "loadError": "載入目標時發生錯誤。" }, "function": { "createNew": "建立新函式", @@ -1561,7 +1561,7 @@ "feature_license": "授權", "feature_support": "支援", "feature_cost": "費用", - "feature_pipelines_external": "管線 - 外部目的地", + "feature_pipelines_external": "管線 - 外部目標", "feature_extreme_performance": "極致效能 (許多查詢可提升 100 倍)", "feature_query_optimizer": "查詢最佳化器", "value_license_agpl": "AGPL", @@ -1736,8 +1736,8 @@ "note": "保護個人識別資訊與敏感資料" }, "pipeline_remote_destinations": { - "name": "管線遠端目的地", - "note": "將資料傳送至遠端目的地" + "name": "管線遠端目標", + "note": "傳送數據至遠端目標" }, "query_optimizer": { "name": "查詢最佳化器 / 彙總快取", @@ -2488,7 +2488,7 @@ "confirmBatchDeleteHead": "刪除串流", "confirmDeleteMsg": "確定要刪除此串流嗎?", "confirmBatchDeleteMsg": "確定要刪除已選取的串流嗎?", - "deleteAssociatedAlertsPipelines": "刪除與該串流相關聯的所有管線與警報", + "deleteAssociatedAlertsPipelines": "刪除與此串流關聯的所有管線與警示", "cancel": "取消", "ok": "確定", "docsCount": "文件數", @@ -2546,7 +2546,7 @@ }, "workflow": { "header": "工作流程", - "subtitle": "使用觸發器、邏輯和目的地自動化動作", + "subtitle": "使用觸發器、邏輯與目標自動化動作", "create": "新增工作流程", "createSuccess": "工作流程已成功建立", "name": "工作流程名稱", @@ -2664,8 +2664,8 @@ "input": "輸入", "output": "輸出", "noInput": "此步驟在最後一次執行時未收到任何記錄。", - "sentExternally": "已傳送至外部目的地", - "destinationNoRecords": "沒有記錄到達此目的地 — 未傳送任何內容。", + "sentExternally": "已傳送至外部目標", + "destinationNoRecords": "沒有記錄送達此目標 — 未傳送任何內容。", "branchFiltered": "0 條記錄 — 沒有內容傳遞到此分支。", "conditionNoMatch": "沒有記錄符合此條件 — 沒有內容繼續傳遞至下游。", "errorHeading": "錯誤", @@ -2714,15 +2714,15 @@ "kindAction": "動作", "condition": "條件", "function": "函數", - "sendToDestination": "目的地", + "sendToDestination": "目標", "configComingSoon": "{node} 設定將在後續步驟中出現", "sectionTransform": "轉換", - "sectionDestination": "目的地", + "sectionDestination": "目標", "stepSearchPlaceholder": "搜尋步驟...", "stepNoMatch": "沒有符合搜尋條件的步驟。", "conditionDesc": "依規則分支", "functionDesc": "使用函數重新調整負載", - "destinationDesc": "傳送至目的地", + "destinationDesc": "傳送至目標", "triggerBody": "當關聯警示觸發時執行", "triggerDataExampleNote": "僅為範例 — 實際欄位來自您的警示查詢。", "incidentEventTypeLabel": "事件類型", @@ -2741,12 +2741,12 @@ "functionCreateNew": "建立新函數", "functionRequired": "必須提供函數", "functionLoadError": "無法載入函數", - "destinationBody": "傳送至目的地", + "destinationBody": "傳送至目標", "destinationBodySet": "傳送至 {name}", - "destinationSelect": "目的地", - "destinationCreateNew": "建立新目的地", - "destinationRequired": "請選擇目的地", - "destinationLoadError": "無法載入目的地", + "destinationSelect": "目標", + "destinationCreateNew": "建立新目標", + "destinationRequired": "請選擇目標", + "destinationLoadError": "無法載入目標", "namePlaceholder": "命名此步驟(選填)", "commentLabel": "備註(選填)", "commentPlaceholder": "新增此步驟的備註...", @@ -2756,8 +2756,8 @@ "disabledBadge": "已停用", "incompleteBadge": "稍後設定", "destinationSetUpLater": "稍後設定", - "destinationSetUpLaterPrompt": "還沒有目的地?開啟此選項以稍後設定 — 您現在可以儲存草稿並進行測試。", - "destinationSetUpLaterActive": "目的地目前會略過 — 名稱和備註仍會儲存。發布前您需要設定目的地。", + "destinationSetUpLaterPrompt": "還沒有目標嗎?開啟此選項以便稍後設定 — 您現在可以儲存草稿並進行測試。", + "destinationSetUpLaterActive": "目前會略過此目標 — 名稱與註解仍會儲存。發布前您需要設定目標。", "functionSetUpLater": "稍後設定", "functionSetUpLaterPrompt": "還沒有函數?開啟此選項以稍後設定 — 您現在可以儲存草稿並進行測試。", "functionSetUpLaterActive": "函數目前會略過 — 名稱和備註仍會儲存。發布前您需要設定函數。" @@ -2815,8 +2815,8 @@ "functionNodeEmptyName": "函數節點 {id} 的函數名稱為空", "functionNodeInvalidName": "函數節點 {id} 的函數名稱 \"{name}\" 無效。必須是可用函數之一。", "outputStreamNodeEmptyName": "輸出串流節點 {id} 的串流名稱為空", - "remoteStreamNodeEmptyDestination": "遠端串流節點 {id} 的目的地名稱為空", - "remoteStreamNodeInvalidDestination": "遠端串流節點 {id} 的目的地 \"{destination}\" 無效。必須是可用管線目的地之一。", + "remoteStreamNodeEmptyDestination": "遠端串流節點 {id} 的目標名稱為空", + "remoteStreamNodeInvalidDestination": "遠端串流節點 {id} 具有無效的目標 \"{destination}\"。必須是可用的管線目標之一。", "edgeMissingSourceNode": "邊 {id} 參照了不存在的來源節點 {source}", "edgeMissingTargetNode": "邊 {id} 參照了不存在的目標節點 {target}", "inputNodeHasIncomingEdges": "輸入節點 {id} 不應有傳入邊。發現 {count} 條傳入邊。", @@ -2844,7 +2844,7 @@ "v0ConditionFields": "管線 - {index},節點 {nodeIndex}:V0 格式 - 每個條件都必須包含欄位、運算子和值。", "v1ConditionInvalid": "管線 - {index},節點 {nodeIndex}:V1 條件格式無效。", "conditionFormatUnrecognized": "管線 - {index},節點 {nodeIndex}:無法識別的條件格式。", - "remoteDestinationRequired": "管線 - {index}:遠端目的地為必填", + "remoteDestinationRequired": "管線 - {index}:需要遠端目標", "createSuccess": "管線 - {index}: \"{name}\" 建立成功 \n注意:請從 JSON 檔案中移除已建立的管線物件 {name}", "createFailed": "管線 - {index}: \"{name}\" 建立失敗 --> \n 原因:{reason}", "sqlQueryMismatch": "管線 - {index}:SQL 查詢在所有節點中應保持一致,並請嘗試比對節點中的查詢 \n\n input.sql_query: {sqlQuery} \n\n input.source.query_condition.sql: {sourceSql} \n", @@ -2945,7 +2945,7 @@ "defaultDelayTooltip": "預設值:5 秒", "deleteDataBeforeBackfill": "回填前刪除現有資料", "irreversibleDeletionWarning": "警告:不可逆的資料刪除", - "deleteBackfillWarningMessage": "這將在執行回填前永久刪除指定時間範圍內目的地串流的所有資料。此操作無法復原。", + "deleteBackfillWarningMessage": "這會在執行回填之前,永久刪除目標串流中指定時間範圍內的所有數據。此動作無法復原。", "timeAlignmentRequirements": "時間對齊要求(UTC):", "logsHourBoundaryNote": "串流:時間必須對齊至 UTC 的整點(例如 10:00:00,而非 10:15:00)", "metricsTracesLabel": "指標/追蹤", @@ -2971,8 +2971,8 @@ "statusUnknown": "未知", "phaseInitializing": "初始化" }, - "deleteBackfillConfirmMessage": "您已選擇在回填前刪除現有資料。這將永久刪除指定時間範圍內目的地串流的所有資料。", - "editBackfillDeleteConfirmMessage": "您已選擇在回填前刪除現有資料。這將永久刪除指定時間範圍內目的地串流的所有資料。一旦任務更新,此操作就無法復原或取消。您確定要繼續嗎?", + "deleteBackfillConfirmMessage": "您已選擇在回填前刪除現有數據。這將永久刪除目標串流中指定時間範圍內的所有數據。", + "editBackfillDeleteConfirmMessage": "您已選擇在回填前刪除現有數據。這將永久刪除目標串流中指定時間範圍內的所有數據。一旦工作更新,此動作將無法復原或取消。您確定要繼續嗎?", "actionCannotBeUndone": "一旦任務建立,此操作就無法復原或取消。", "areYouSureProceed": "您確定要繼續嗎?", "clearFilters": "清除篩選條件", @@ -2993,7 +2993,7 @@ "chunkPeriodDefaultPlaceholder": "60", "organizationId": "組織 ID", "functionName": "函式名稱", - "remoteDestination": "遠端目的地", + "remoteDestination": "遠端目標", "failedToLoadPipeline": "無法載入管線", "header": "管線", "subtitle": "在傳輸過程中轉換、擴充與路由資料", @@ -3036,15 +3036,15 @@ "sourceQueryTooltip": "來源:查詢節點", "functionTooltip": "函式節點", "conditionTooltip": "條件節點", - "destinationStreamTooltip": "目的地:串流節點", - "destinationExternalTooltip": "目的地:外部目的地節點", + "destinationStreamTooltip": "目標:串流節點", + "destinationExternalTooltip": "目標:外部目標節點", "pipelineNotFound": "找不到管線", "pipelineNameRequired": "管線名稱為必填", "sourceNodeRequired": "來源節點為必填", - "destinationNodeRequired": "目的地節點為必填", + "destinationNodeRequired": "需要目標節點", "connectAllNodes": "儲存前請連接所有節點", "connectAllNodesShort": "請連接所有節點", - "enrichmentTablesScheduledOnly": "擴充表作為目的地串流僅適用於排程管線", + "enrichmentTablesScheduledOnly": "以擴充資料表作為目標串流僅適用於排程管線", "savingPipeline": "正在儲存管線...", "pipelineUpdated": "管線更新成功", "pipelineSaved": "管線儲存成功", @@ -3076,7 +3076,7 @@ "functionAlreadyAssociated": "此函式已關聯", "atLeastOneCondition": "請至少新增一個條件", "fillAllConditionFields": "請填寫所有條件欄位(欄、運算子和值均為必填)", - "selectExternalDestination": "請從清單中選擇外部目的地", + "selectExternalDestination": "請從清單中選擇外部目標", "backfillNumericRange": "必須介於 {min} 和 {max} 之間", "selectValidTimeRange": "請選擇有效的時間範圍", "startBeforeEndTime": "開始時間必須早於結束時間", @@ -3096,7 +3096,7 @@ "queryNode": "查詢", "transformNode": "轉換", "functionNode": "函式", - "destinationNode": "目的地", + "destinationNode": "目標", "remoteNode": "遠端", "conditionsNode": "條件", "editorFunctionTooltip": "使用函式重新塑造資料負載", @@ -3156,7 +3156,7 @@ "customStep5": "選擇輸出格式(JSON 或 NDJSON)", "customStep6": "測試連線以確認是否正常運作", "defaultTitle": "連線詳細資料", - "defaultStep1": "選取目的地類型以查看特定指示" + "defaultStep1": "選擇目標類型以查看具體說明" }, "deleteFunctionAssociationConfirm": "您確定要刪除函式關聯嗎?", "deleteStreamRoutingConfirm": "您確定要刪除串流路由嗎?", @@ -3182,7 +3182,7 @@ "noJobSelected": "未選取任何作業", "updateBackfillJobFailed": "更新回填作業失敗", "fetchPipelineHistoryFailed": "取得管線歷史失敗", - "defaultDestinationNodeWarning": "移除預設目的地節點會停止將資料攝入其中。來源串流之後只會路由到新增加的目的地串流。未路由到任何目的地串流的資料將被丟棄。", + "defaultDestinationNodeWarning": "移除預設目標節點會導致資料無法再被擷取至該節點。來源串流屆時將僅路由至新增的目標串流。未路由至任何目標串流的資料將被丟棄。", "confirmBulkDeleteMsg": "您確定要刪除 {count} 個管線嗎?", "confirmPauseBackfillJob": "您確定要暫停「{name}」的回填作業嗎?您可以稍後恢復。", "confirmResumeBackfillJob": "您確定要恢復「{name}」的回填作業嗎?", @@ -3418,7 +3418,7 @@ "singleTargetTitle": "單一遠端寫入目標", "fanoutTitle": "扇出至多個後端", "tipPrefix": "提示:`vmagent` 可以透過重複", - "tipSuffix": "flag,因此您可以保留現有的 VictoriaMetrics 目的地,同時也將指標轉送至 OpenObserve。", + "tipSuffix": "旗標,如此您既能保留現有的 VictoriaMetrics 目標,同時也能將指標轉送至 OpenObserve。", "docLinkText": "深入了解設定 vmagent 遠端寫入目標的相關資訊。" }, "ai": { @@ -3491,7 +3491,7 @@ "diagnosticSettingsPath": "診斷設定 → + 新增診斷設定", "enterNameCheckCategories": "輸入名稱,勾選您要啟用的記錄類別", "underPrefix": "在", - "destinationDetails": "目的地詳細資料", + "destinationDetails": "目標詳細資料", "chooseSuffix": ",選擇", "streamToEventHub": "串流至 Event Hub", "selectEventHubPrefix": "選取在步驟 1 建立的 Event Hub 命名空間與 Event Hub(前置詞:", @@ -3636,7 +3636,7 @@ "checking": "正在檢查…", "checkingForLogs": "正在檢查日誌…", "checkingForMetrics": "正在檢查指標…", - "checkingForSpans": "正在檢查跨度…", + "checkingForSpans": "正在檢查 Span…", "chipEditor": "編輯器", "chipInstall": "安裝", "chipLogs": "日誌", @@ -3657,11 +3657,11 @@ "connectedTracesHeadline": "已連線 — 追蹤正在流入", "countLogs": "{count} 個記錄 | {count} 個記錄", "countMetricStreams": "{count} 個指標串流 | {count} 個指標串流", - "countSpans": "{count} 個跨度 | {count} 個跨度", + "countSpans": "{count} 個 Span | {count} 個 Span", "downloadEnvTooltip": "下載 .env", "downloadJmxJarDesc": "JMX receiver 會執行此 helper jar(collector 主機上需要 Java)。", "downloadJmxJarTitle": "下載 JMX Metrics Jar", - "dynamodbFirehoseEndpointDesc": "在建立 Kinesis Data Firehose 交付串流時,將這些用作 **HTTP Endpoint** 目的地。", + "dynamodbFirehoseEndpointDesc": "在建立 Kinesis Data Firehose 交付串流時,請將這些用作 **HTTP Endpoint** 目標。", "dynamodbFirehoseEndpointTitle": "OpenObserve Firehose 端點", "dynamodbPipelineDesc": "在您的資料表上啟用 **DynamoDB Streams**,將它連接到 **Kinesis Data Stream**,然後將 **Kinesis Data Firehose** 交付串流指向上述 HTTP 端點。", "dynamodbPipelineTitle": "將 DynamoDB 串流至 Firehose", @@ -3675,7 +3675,7 @@ "gcpFixBody": "GCP 會在訂閱本身回報傳遞失敗。如果接收器正在發布,但這裡沒有任何資料,通常是推送端點拒絕了要求:", "gcpFixTitle": "檢查推送訂閱", "gcpPushUrlNote": "請將此 URL 保密 — 它內嵌了擷取金鑰。如果外洩,請從此頁面的標頭輪替它。", - "gcpSinkDesc": "在 GCP 主控台中,建立一個 **Log Router sink**(Logging → Log Router → 建立 sink),以 Pub/Sub 作為目的地,並讓它自動建立主題。sink 的包含篩選器會決定哪些日誌會送到 OpenObserve。", + "gcpSinkDesc": "在 GCP 主控台中,建立一個 **Log Router sink**(Logging → Log Router → Create sink),以 Pub/Sub 作為目標,並讓它建立主題。此 sink 的包含篩選條件決定哪些日誌會到達 OpenObserve。", "gcpSinkTitle": "將日誌路由到 Pub/Sub 主題", "gcpSinkWriterNote": "在主題上授予接收器的寫入者身分 Pub/Sub Publisher 角色,否則它會靜默地不發布任何內容。", "gcpStreamHelp": "用於上方推送 URL,並由下方檢查監看。專用串流可讓 GCP 記錄保持分離。", @@ -3824,7 +3824,7 @@ "pillServiceMap": "服務地圖", "pillSessions": "工作階段", "pillSetup": "設定", - "pillSpans": "跨度", + "pillSpans": "Span", "pillSqlCompilationRate": "SQL 編譯率", "pillStorageBytes": "儲存位元組", "pillSystem": "系統", @@ -3969,7 +3969,7 @@ "sqlServerTagline": "使用 OpenTelemetry Collector 收集 SQL Server 指標,並將它們傳送至 OpenObserve。", "startIngestingTestForLogs": "開始收集,然後測試日誌", "startIngestingTestForMetrics": "開始收集,然後測試指標", - "startIngestingTestForSpans": "開始收集,然後測試跨度", + "startIngestingTestForSpans": "開始擷取,然後測試 Span", "streamNameError": "僅可使用字母、數字和 _。", "streamNameLabel": "串流名稱", "stuck": "卡住了嗎?", @@ -4076,7 +4076,7 @@ "dbmVerifyTableHealthDesc": "開啟 **Infra → Databases** 並選擇下方索引標籤。死結與被封鎖的查詢會在資料庫回報時立即出現 — 該索引標籤空白可讓您判斷是沒有發生任何情況,還是沒有收集任何資料。資料表健康狀態會在首次 60 秒快照後填入。" }, "instrumentBeforeImportTitle": "在匯入用戶端之前先進行儀器化", - "instrumentBeforeImportBody": "如果您的應用程式有執行但沒有收到任何跨度,很可能是儀器化在匯入用戶端之後才載入。請重新排序,讓 init 先執行:", + "instrumentBeforeImportBody": "如果您的應用程式已執行但沒有 Span 抵達,則可能是因為在匯入用戶端之後才載入儀器。請重新排序,讓初始化先執行:", "launchCloudFormationStack": "啟動 CloudFormation Stack", "openStackSetsConsole": "開啟 StackSets 主控台", "integrations": { @@ -4481,7 +4481,7 @@ "unsavedMessage": "有未儲存的變更,確定要離開嗎?", "currentFolderLabel": "目前資料夾", "selectFolderLabel": "選擇資料夾", - "selectFolderPlaceholder": "選擇目的地資料夾", + "selectFolderPlaceholder": "選擇目標資料夾", "selectDashboardLabel": "選擇儀表板", "selectTabLabel": "選擇分頁", "layerType": "圖層類型", @@ -4536,7 +4536,7 @@ "insideBottomLeft": "內部左下", "insideTopRight": "內部右上", "insideBottomRight": "內部右下", - "top": "上方", + "top": "頂部", "left": "左側", "showSymbol": "顯示符號", "yes": "是", @@ -5557,7 +5557,7 @@ "panelDuplicationFailed": "面板複製失敗", "firstColumn": "第一欄", "zAxis": "Z 軸", - "breakdown": "分解", + "breakdown": "拆分", "pivotField": "樞紐欄位", "pivotFieldTooltip": "將維度欄位拖曳至此處。欄位的不重複值將成為樞紐分析表的欄標題。最多允許 3 個欄位進行多層樞紐分析。", "breakdownTooltipHBar": "使用這些欄位將資料分割為 Y 軸上的不同區段,以獲得更清晰的檢視。", @@ -5708,8 +5708,8 @@ "untitledIncident": "未命名事件", "allClear": "一切正常", "allClearDesc": "在選取的時間區段中沒有作用中的異常、事件或降級服務。", - "emptyActionAlerts": "檢視警報規則", - "emptyActionAlertsDesc": "檢閱已設定的警報與閾值", + "emptyActionAlerts": "查看警示規則", + "emptyActionAlertsDesc": "檢視已設定的警示與閾值", "emptyActionLogs": "探索日誌", "emptyActionLogsDesc": "搜尋並篩選您的日誌串流", "emptyActionTraces": "探索追蹤", @@ -5814,7 +5814,7 @@ }, "incident": { "title": "調查事件", - "description": "跨日誌、追蹤、警報進行根本原因分析 — 例如「為何 gateway-5xx 被觸發?」", + "description": "跨日誌、追蹤、警示進行根因分析 — 例如:「為什麼 gateway-5xx 會觸發?」", "prompt": "協助我調查事件" }, "dashboard": { @@ -5823,9 +5823,9 @@ "prompt": "協助我建立儀表板或面板" }, "alert": { - "title": "建立警報", - "description": "閾值或排程警報,以及擷取時的 VRL 管線。", - "prompt": "協助我建立警報或管線" + "title": "建立警示", + "description": "閾值或排程警示,以及擷取階段的 VRL 管線。", + "prompt": "幫我建立警示或管線" } }, "suggestions": { @@ -5834,7 +5834,7 @@ "mapStreamSchema": "對應我的「default」串流結構描述", "promqlCpu": "為 CPU 使用率 > 80% 的 Pod 撰寫 PromQL", "datadogToO2": "將此 Datadog 查詢轉換為 OpenObserve SQL", - "lastAlertFired": "為何我上一個警報被觸發?" + "lastAlertFired": "為什麼我的上一個警示會觸發?" }, "placeholderRotation": { "one": "顯示過去一小時的錯誤…", @@ -6142,11 +6142,11 @@ "orgIdInvalid": "警示 - {index}: 組織 ID 是必填欄位,必須存在於組織清單中,且必須等於 {orgId}。", "streamTypeInvalid": "警示 - {index}: 串流類型是必填欄位,且必須是下列其中一項:'logs'、'metrics'、'traces'。", "streamNameInvalid": "警示 - {index}: 串流名稱是必填欄位,必須存在於串流清單中,且必須是有效的字串。", - "destinationsRequired": "警示 - {index}: 目的地為必填項目,且必須是陣列。", + "destinationsRequired": "警示 - {index}:目標為必填,且應為陣列。", "enabledBoolean": "警示 - {index}: 啟用值應為布林值。", "tzOffsetNumber": "警示 - {index}: 時區偏移量應為數字。", "timezoneRequiredForCron": "Alert - {index}: 當頻率類型為 'cron' 時,需要時區。", - "destinationNotExist": "Alert - {index}: 目的地 \"{destination}\" 不存在", + "destinationNotExist": "警示 - {index}:「{destination}」目標不存在", "createSuccess": "Alert - {index}: \"{name}\" 建立成功\n注意:請從 JSON 檔案中移除已建立的警示物件 {name}", "createFailed": "Alert - {index}: \"{name}\" 建立失敗 --> \n 原因:{reason}", "unknownError": "未知錯誤", @@ -6229,7 +6229,7 @@ "warningPolicy": "警告行為", "warningCountsAsFiring": "警告視為觸發", "warningDoesNotCount": "警告不視為觸發", - "stalePolicy": "過期子警報原則", + "stalePolicy": "過期子警示原則", "useLastState": "使用上次狀態", "useLastStateHelp": "當新鮮度過期時,使用子項上次計算的狀態。", "treatStaleFalse": "將過期視為 false", @@ -6237,33 +6237,33 @@ "treatStaleTrue": "將過期視為 true", "treatStaleTrueHelp": "當新鮮度過期時,將子項視為觸發。", "expression": "運算式", - "missingJobWarning": "此已啟用的複合警報沒有排程工作。請編輯並儲存,或停用後重新啟用,以修復評估。", + "missingJobWarning": "此已啟用的複合警示沒有排程器工作。請編輯並儲存,或停用後重新啟用,以修復評估。", "disabledNeverEvaluated": "已停用;{state}", "levelOutcomeEnabled": "{level};{outcome};已啟用", - "openChild": "開啟子警報 {name}", - "referencedByCount": "被 {count} 個複合警報引用", - "openReferences": "開啟 {count} 個複合警報引用", - "referencesTitle": "複合警報引用", - "closeReferences": "關閉複合警報引用", - "deleteBlocked": "因複合警報引用而無法刪除", - "openParent": "開啟父複合警報 {name}", + "openChild": "開啟子警示 {name}", + "referencedByCount": "被 {count} 個複合警示引用", + "openReferences": "開啟 {count} 個複合警示引用", + "referencesTitle": "複合警示引用", + "closeReferences": "關閉複合警示引用", + "deleteBlocked": "刪除作業遭複合警示引用封鎖", + "openParent": "開啟父系複合警示 {name}", "hiddenReferenceCount": "另有 {count} 個引用已隱藏", "expressionEmpty": "輸入運算式", "expressionPlaceholder": "例如:A && B", "insert": "插入:", - "addAlert": "新增警報", - "removeChild": "移除子警報 {name}", - "noChildren": "尚無子警報。請至少新增兩個。", + "addAlert": "新增警示", + "removeChild": "移除子警示 {name}", + "noChildren": "尚無子警示。請至少新增兩個。", "wouldTrigger": "會觸發", "wouldNotTrigger": "不會觸發", "firing": "觸發中", "normal": "正常", "stepByStep": "逐步", "result": "結果", - "subAlerts": "子警報", + "subAlerts": "子警示", "triggerExpression": "觸發運算式", "settings": "設定", - "banner": "複合警報以布林邏輯結合現有警報的目前狀態。它執行自己的通知與冷卻時間設定,且絕不重新查詢底層資料。", + "banner": "複合警示會以布林邏輯結合現有警示的目前狀態。它會執行自身的通知與冷卻時間設定,且絕不會重新查詢底層資料。", "name": "名稱", "type": "類型", "yes": "是", @@ -6272,7 +6272,7 @@ "levelWhenFiringValue": "嚴重", "currentEvaluation": "目前評估", "statusTimeline": "狀態時間軸", - "timelineHint": "每個子警報及複合結果的層級歷史", + "timelineHint": "每個子警示和複合結果的層級歷史", "timelineLoading": "正在載入時間軸…", "timelineEmpty": "尚無時間軸資料", "legendWarning": "警告", @@ -6283,7 +6283,7 @@ "exportDialogSubtitle": "檢閱定義,然後將其下載為 JSON 或適用於 OpenObserve provider 的 Terraform。", "jsonFilesOnlyHint": "僅限 .json 檔案", "outputMessages": "輸出訊息", - "destinationsRequiredLabel": "目的地 *", + "destinationsRequiredLabel": "目標 *", "timezoneRequiredLabel": "時區 *", "organizationIdLabel": "組織 ID", "alertCreationTitle": "建立警示", @@ -6323,13 +6323,13 @@ "guidelinesLabel": "準則:", "selectStreamGuideline": "從清單中選取現有的串流,或輸入名稱以建立新的串流", "enrichmentTablesTerm": "Enrichment_tables", - "enrichmentTablesDestinationNote": "目的地串流僅適用於排程管線", + "enrichmentTablesDestinationNote": "作為目標串流僅適用於排程管線", "useCurlyBracesNote": "使用大括號", "configureStreamNameDynamicNote": "用於動態設定串流名稱,例如.", "staticTextBeforeAfterNote": ". 前後的靜態文字", "isOptionalNote": "為選用", "noTriggersLoaded": "未載入任何觸發器", - "externalDestinationTitle": "外部目的地", + "externalDestinationTitle": "外部目標", "serviceGraphLegendTitle": "圖例", "serviceGraphRootCause": "紅色 = 潛在根因", "serviceGraphHighFrequency": "橘色 = 高頻率", @@ -6376,7 +6376,7 @@ "duration": "持續時間", "retries": "重試次數", "dedup": "去重", - "noDestinations": "沒有可用的目的地", + "noDestinations": "沒有可用的目標", "validation": { "streamTypeRequired": "Stream 類型為必填項。", "streamNameRequired": "Stream 名稱為必填項。", @@ -6430,10 +6430,10 @@ "cronRequiredForCronType": "當頻率類型為 cron 時,需要 cron 運算式", "timezoneRequiredForCronType": "當頻率類型為 cron 時,需要時區", "triggerConditionRequired": "需要觸發條件", - "destinationsArray": "目的地必須為陣列", - "destinationRequiredPlain": "至少需要一個目的地", - "noDestinationsInSystem": "系統中找不到可用的目的地", - "invalidDestinations": "無效的目的地:{destinations} - 必須來自可用的目的地列表", + "destinationsArray": "目標必須是陣列", + "destinationRequiredPlain": "至少需要一個目標", + "noDestinationsInSystem": "系統中找不到可用的目標", + "invalidDestinations": "無效的目標:{destinations} - 必須來自可用的目標清單", "enabledFlagBoolean": "啟用標記必須為布林值", "silenceNotificationRequired": "靜默通知不應為空", "thresholdNotEmpty": "閾值不應為空", @@ -6449,13 +6449,13 @@ "linkUrlNotAUrl": "請輸入有效的 URL — 例如 https://example.com/runbook、類似 /web/logs 的路徑,或 {'{'}變數{'}'}。" }, "header": "警示", - "subtitle": "警報規則與通知管道", + "subtitle": "警示規則與通知管道", "searchThisFolder": "此資料夾", "searchAllFolders": "所有資料夾", "streamConfig": "串流設定", - "alertRules": "警報規則", - "noTemplatesMsg": "看來您尚未建立任何範本。若要建立警報,您至少需要有一個目的地與一個範本", - "noDestinationsMsg": "看來您尚未建立任何目的地。若要建立警報,您至少需要有一個目的地與一個範本", + "alertRules": "警示規則", + "noTemplatesMsg": "若要建立警示,您至少需要一個範本和一個目標。範本定義通知訊息的格式 — 請先建立一個。", + "noDestinationsMsg": "若要建立警示,您至少需要一個目標和一個範本。目標定義通知的傳送位置 — 請先建立一個。", "add": "新增警示", "edit": "編輯", "clone": "複製警示", @@ -6469,9 +6469,9 @@ "matchingTypeFound": "找到相符的 {type}", "matchingMetricsFound": "找到相符的指標", "metricsValueFieldTooltip": "指標串流預設將其量測值儲存於「value」欄位中", - "howOftenCheckTooltip": "檢查此警報條件的頻率", - "alertIfNoOfEvents": "若事件數量達到下列條件則警報", - "alertIfValueIs": "若值符合下列條件則警報", + "howOftenCheckTooltip": "檢查此警示條件的頻率", + "alertIfNoOfEvents": "事件數符合時警示", + "alertIfValueIs": "當值為", "havingSeries": "具有序列", "clearMultiWindowsTitle": "清除多重視窗?", "vrlEditor": "VRL 編輯器", @@ -6506,37 +6506,37 @@ "frequency": "檢查頻率", "threshold": "觸發條件 ", "silenceNotification": "冷卻期", - "destination": "目的地", - "destinationOrWorkflowRequired": "至少新增一個目的地或工作流程。", - "customDestination": "自訂目的地", - "customDestinationDescription": "設定自訂 HTTP 端點或電子郵件目的地", - "testIdleMessage": "按一下 [測試] 以驗證目的地組態", - "destinationPreview": "目的地預覽", + "destination": "目標", + "destinationOrWorkflowRequired": "請至少新增一個目標或工作流程。", + "customDestination": "自訂目標", + "customDestinationDescription": "設定自訂 HTTP 端點或電子郵件目標", + "testIdleMessage": "按一下「測試」以驗證您的目標設定", + "destinationPreview": "目標預覽", "template": "範本覆寫", "additionalVariables": "額外變數", - "testSuccessMessage": "測試成功!目的地組態正確。", + "testSuccessMessage": "測試成功!您的目標已正確設定。", "testFailedMessage": "測試失敗。請檢查組態後重試。", "testFailedWithReason": "測試失敗:{reason}", - "testInProgress": "正在測試目的地...", + "testInProgress": "正在測試目標...", "sendingNotification": "正在傳送測試通知以驗證連線", "testErrorDNS": "DNS 解析失敗。請檢查 Webhook URL 或主機名稱。", "testErrorConnection": "連線被拒。請確認 URL 並確保服務可連線。", - "testErrorTimeout": "請求逾時。目的地服務可能緩慢或無法連線。", + "testErrorTimeout": "要求逾時。目標服務可能速度較慢或無法連線。", "testErrorSSL": "SSL/TLS 憑證錯誤。請驗證憑證或停用 SSL 驗證。", "testErrorClientError": "用戶端錯誤 (4xx)。請檢查認證資訊和組態。", - "testErrorServerError": "伺服器錯誤 (5xx)。目的地服務發生問題。", + "testErrorServerError": "伺服器錯誤 (5xx)。目標服務發生問題。", "viewDetails": "檢視詳細資訊", "error": "錯誤", "httpStatus": "HTTP 狀態", "responseBody": "回應主體", "retry": "重試", "suggestCheckUrl": "請確認 Webhook URL 正確且可連線。", - "suggestCheckFirewall": "請檢查防火牆設定並確保目的地服務可存取。", + "suggestCheckFirewall": "請檢查您的防火牆設定,並確保目標服務可存取。", "suggestCheckCredentials": "請確認 API 認證資訊正確。", "suggestCheckPermissions": "請確認認證資訊具有必要的權限。", "suggestCheckEndpoint": "請確認端點 URL 正確。", "suggestRateLimit": "已超過速率限制。請稍後再重試。", - "suggestServerIssue": "目的地服務發生問題。請稍後再試。", + "suggestServerIssue": "目標服務發生問題。請稍後再試。", "description": "說明", "stream_name": "串流名稱", "cloneTitle": "複製警示", @@ -6596,7 +6596,7 @@ "notEqualTo": "不等於", "eventsDetected": "偵測到事件", "sendsTo": "傳送至", - "noDestination": "無目的地", + "noDestination": "無目標", "notSetupYet": "(尚未設定)", "cooldown": "冷卻", "betweenAlerts": "警示之間", @@ -6774,7 +6774,7 @@ "acknowledge": "確認", "resolve": "解決", "reopen": "重新開啟", - "statusOpen": "開啟", + "statusOpen": "未解決", "statusAcknowledged": "已確認", "statusResolved": "已解決", "correlationServiceDiscovery": "服務探索", @@ -6959,16 +6959,16 @@ "helpLegendLiveExample": "高 CPU", "helpLegendSampleExample": "42", "sectionTitle": "設定", - "noDestinationsAvailable": "無可用目的地", - "noTargetsAvailable": "無可用目的地或工作流程", - "targetsDestinationsGroup": "目的地", + "noDestinationsAvailable": "沒有可用的目標", + "noTargetsAvailable": "沒有可用的目標或工作流程", + "targetsDestinationsGroup": "目標", "targetsWorkflowsGroup": "工作流程", - "refreshDestinations": "重新整理最新的目的地", - "addNewDestination": "新增目的地", + "refreshDestinations": "重新整理最新目標", + "addNewDestination": "新增目標", "cooldownTooltip": "如果警示觸發,需等待多久才能傳送另一則通知。例如,如果警示在下午 4:00 觸發且靜音通知設定為 10 分鐘,則即使警示在 1 分鐘後仍有效,也不會在下午 4:10 之前傳送另一則通知。這是為了避免通知過多。", "periodTooltip": "查詢應執行的期間。例如 10 分鐘表示每次查詢時使用最近 10 分鐘的資料。", "timezoneWarning": "警告:顯示的時區為近似值。請手動驗證並選擇正確的時區。", - "destinationsTooltip": "選擇一個或多個目的地以傳送警示通知。", + "destinationsTooltip": "選取一或多個目標以傳送警示通知。", "createsIncident": "建立事件", "createsIncidentTooltip": "如果警示可以建立事件,則不會傳送專屬的通知。而是在建立新事件或新的警示類型加入現有事件時,傳送事件通知。", "helpTemplateTitle": "範本覆寫", @@ -6980,11 +6980,11 @@ "helpLegendLive": "您警示的真實值", "helpLegendSample": "一個範例 — 真實值會在警示觸發時設定", "helpLegendOpaque": "在警示觸發時自動新增", - "helpTemplateExplain": "範本是要傳送的通知訊息 — 文字加上變數(如 {'{'}alert_name{'}'})。在此處選擇一個範本會覆寫每個目的地的自有範本,僅適用於此警示。", + "helpTemplateExplain": "範本是傳送的通知訊息 — 包含文字及變數,例如 {'{'}alert_name{'}'}。在此處選取範本會覆寫每個目標自己的範本,僅針對此警示。", "helpCurrentHeading": "此警示目前傳送的內容", - "helpCurrentNoOverride": "未設定覆寫 — 每個目的地使用其自有範本:", - "helpCurrentNoDestinations": "尚未選取任何目的地。每個目的地將使用其已設定的範本。", - "helpCurrentOverrideHeading": "所有目的地都使用此範本:", + "helpCurrentNoOverride": "未設定覆寫 — 每個目標使用自己的範本:", + "helpCurrentNoDestinations": "尚未選取目標。每個目標將使用各自設定的範本。", + "helpCurrentOverrideHeading": "所有目標都使用此範本:", "helpPreviewHeading": "預覽範本", "helpPreviewSelectPlaceholder": "選取要預覽的範本", "helpApplyToAlert": "套用至警示", @@ -6996,7 +6996,7 @@ "helpYourVariablesEmpty": "您尚未新增任何變數。", "helpRowTemplateExplain": "一個警示可以比對多行。列範本決定單一列的呈現方式。然後主範本中的 {'{'}rows{'}'} 會插入每個已格式化的比對列。", "helpRowTemplateTypeHeading": "字串 vs JSON", - "helpRowTemplateTypeExplain": "字串每行產生純文字。JSON 每行產生 JSON 物件,適合結構化目的地。", + "helpRowTemplateTypeExplain": "String 為每列產生純文字。JSON 為每列產生 JSON 物件,適用於結構化目標。", "helpRowTemplateTypeCurrent": "目前已選取:", "helpPreviewHeadingShort": "預覽", "helpWhyHeading": "為什麼使用變數?", @@ -7009,7 +7009,7 @@ "helpVariablesExampleCaption": "將 severity 和 team 新增為變數,然後在範本中任何地方使用它們:", "helpExampleResultLabel": "傳送的內容", "helpTemplateWhenHeading": "何時應覆寫?", - "helpTemplateWhenDesc": "留空則每個目的地使用自己的範本。當您希望此警示向每個目的地發送相同且一致的訊息時,設定覆寫——無需編輯每個目的地的範本。", + "helpTemplateWhenDesc": "留空時每個目標會使用自己的範本。若您希望此警示向每個目標傳送相同且一致的訊息,請設定覆寫 — 無需編輯每個目標的範本。", "helpRowTemplateWhyHeading": "為什麼需要列範本?", "helpRowTemplateWhyDesc": "一個警示可以比對多筆記錄。列範本格式化單一記錄;然後 {'{'}rows{'}'} 將每個格式化的記錄插入主範本——因此無需撰寫迴圈即可列出所有比對結果。", "helpRowTemplateExampleCaption": "每個比對列由列範本格式化,然後 {'{'}rows{'}'} 將它們全部插入主範本:", @@ -7018,7 +7018,7 @@ "helpRowTemplatePreviewEmpty": "尚無列範本 — 在「其他設定」分頁輸入一個,即可在此預覽。", "helpPreviewSelectEmpty": "選取上方的一個範本,預覽其將傳送的訊息。", "helpCurrentBodyEmpty": "此範本沒有可預覽的主體。", - "helpDestinationNoTemplate": "使用此目的地的預設格式。", + "helpDestinationNoTemplate": "使用此目標的預設格式。", "builtInVars": { "orgName": "您的組織名稱", "streamType": "串流類型(日誌、指標、追蹤)", @@ -7043,7 +7043,7 @@ }, "advanced": { "addVariable": "新增變數", - "variablesTooltip": "變數用於將資料從警示傳遞至目的地。", + "variablesTooltip": "變數用於將資料從警示傳遞至目標。", "templateType": "範本類型:", "noTemplatesAvailable": "無可用範本", "refreshTemplates": "重新整理最新的範本", @@ -7128,12 +7128,12 @@ }, "anomaly": { "addFilter": "新增篩選條件", - "addNewDestination": "新增目的地", + "addNewDestination": "新增目標", "anomalyScoreRange": "異常分數範圍:", "checkEvery": "檢查頻率", "checkEveryTooltip": "偵測工作的執行頻率。可以大於取樣週期 (例如每 5 分鐘取樣,每 1 小時執行偵測)。", "clickLoadDataHint": "按一下 [載入資料] 以預覽時間序列", - "destinationRequired": "至少需要一個目的地!", + "destinationRequired": "至少需要一個目標!", "detectionResolution": "偵測解析度", "detectionResolutionTooltip": "每個資料點的精細程度。例如「5m」表示以 5 分鐘的解析度偵測異常。", "disabled": "已停用", @@ -7148,10 +7148,10 @@ "lookBackWindowTooltip": "每次偵測執行查詢的回溯範圍。即使暫停很長時間也會限制視窗。預設為檢查頻率間隔。", "maxThresholdMarkLine": "最大閾值", "minThresholdMarkLine": "最小閾值", - "noDestinationsFound": "找不到目的地", + "noDestinationsFound": "找不到目標", "noFieldsFound": "找不到欄位", "notifications": "通知", - "notificationsTooltip": "啟用後,偵測到異常時會傳送通知至選定的目的地。", + "notificationsTooltip": "啟用後,每當偵測到異常時,就會向選取的目標傳送通知。", "retrainEvery": "重新訓練頻率", "retrainEveryTooltip": "自動重新訓練模型的頻率。「從不」表示訓練一次並保留模型直到手動重新訓練。", "retrainFourteenDays": "14 天", @@ -7173,7 +7173,7 @@ "summaryDetectionFunction": "✓ 偵測函式:{fn}", "summaryDetectionWindow": "✓ 偵測視窗:最近 {window}", "summaryMonitoring": "每 {schedule} 監控「{stream}」的 {fn} 異常,並以 {trainingDays} 天的歷史資料訓練", - "summaryNoDestinationSet": "未設定目的地", + "summaryNoDestinationSet": "未設定目標", "summaryQueryMode": "✓ 查詢模式:{mode}", "summaryResolution": "✓ 解析度:{resolution}", "summaryRetrain": "✓ 重新訓練:{retrain}", @@ -7299,21 +7299,21 @@ "triggerAlertFailed": "觸發警示失敗", "triggerRetrainingFailed": "觸發重新訓練失敗", "bulkDeleteAlertsFailed": "刪除警示時發生錯誤,請重試。", - "deleteDestinationFailed": "刪除目的地時發生錯誤。", - "bulkDeleteDestinationsFailed": "刪除目的地時發生錯誤,請重試。", + "deleteDestinationFailed": "刪除目標時發生錯誤", + "bulkDeleteDestinationsFailed": "刪除目標時發生錯誤。請再試一次。", "bulkDeleteTemplatesFailed": "刪除範本時發生錯誤,請重試。" }, "prebuilt": { - "conversionSuccess": "目的地已成功轉換", + "conversionSuccess": "目標轉換成功", "validationError": "驗證錯誤:{error}", - "invalidDestinationType": "無效的目的地類型", + "invalidDestinationType": "無效的目標類型", "invalidTargetType": "無效的目標類型", - "unknownDestinationType": "未知的目的地類型", + "unknownDestinationType": "未知的目標類型", "testFailedUnknownError": "測試因未知錯誤失敗" }, "confirmDeleteAlerts": "您確定要刪除 {count} 個警示嗎? | 您確定要刪除 {count} 個警示嗎?", - "confirmDeleteDestinations": "您確定要刪除 {count} 個目的地嗎? | 您確定要刪除 {count} 個目的地嗎?", - "prebuiltDestination": "預先建置的 {type} 目的地", + "confirmDeleteDestinations": "您確定要刪除 {count} 個目標嗎? | 您確定要刪除 {count} 個目標嗎?", + "prebuiltDestination": "預建的 {type} 目標", "errorValidations": "錯誤驗證", "outputMessagesLabel": "輸出訊息", "incidentSingular": "事件", @@ -7431,7 +7431,7 @@ "dialog": { "title": "建立警示", "continue": "繼續前往警示", - "streamLabel": "資料流", + "streamLabel": "串流", "thresholdLabel": "警示條件", "thresholdMatchingRows": "符合的資料列", "thresholdCount": "資料列計數", @@ -7518,20 +7518,20 @@ "actionOpen": "開啟", "actionDelete": "刪除", "deleteTitle": "刪除 {name}?", - "deleteMessage": "此操作會永久刪除。若警示或目的地仍在使用,將無法刪除。", + "deleteMessage": "這會永久移除它。若警示或目標仍在使用它,則會封鎖刪除。", "deletedToast": "{name} 已刪除", "deleteFailedToast": "無法刪除 {name}", "loading": "正在建立相依性圖…", "failedToLoad": "載入相依性失敗:{error}", "usedBy": "{count} 個警示 | {count} 個警示", - "countDestinations": "{count} 個目的地 | {count} 個目的地", + "countDestinations": "{count} 個目標 | {count} 個目標", "usedByColumn": "使用於", "searchPlaceholder": "搜尋", "noDependencies": "沒有相依性。", "noMatches": "沒有相符的項目。", "laneEmpty": "沒有警示", "directOverrides": "直接使用此範本", - "sectionDestinations": "目的地", + "sectionDestinations": "目標", "sectionAlerts": "警示", "orphanTag": "未使用", "missingTag": "遺失", @@ -7604,18 +7604,18 @@ "install": { "title": "從程式庫安裝", "subtitle": "選擇警示通知的位置、要安裝的警示,以及歸檔的位置。", - "stepDestination": "目的地", + "stepDestination": "目標", "stepAlerts": "警示", "stepFolder": "資料夾", "stepTune": "調整", "stepInstall": "安裝", - "destinationIntro": "此批次中的每個警示都會通知您在此選擇的目的地。程式庫檔案使用其匯出來源組織的目的地名稱,而這些名稱在您的組織中不存在。", - "destinationLabel": "目的地", - "destinationPlaceholder": "選擇目的地", - "destinationsLoadFailed": "無法載入您現有的目的地。", + "destinationIntro": "此批次中的每個警示都會通知您在此處選擇的目標。程式庫檔案會命名其匯出來源組織的目標,這些目標不存在於您的組織中。", + "destinationLabel": "目標", + "destinationPlaceholder": "選擇目標", + "destinationsLoadFailed": "無法載入您現有的目標。", "retry": "再試一次", - "destinationsNoneBody": "此組織尚無警示目的地,因此這些警示沒有可通知的地方。請在「目的地」頁面建立一個,然後回來在此選擇。", - "openDestinations": "開啟目的地", + "destinationsNoneBody": "此組織尚無任何警示目標,因此這些警示無處通知。請先在「目標」頁面建立一個,然後再回來這裡選擇。", + "openDestinations": "開啟目標", "selectAll": "全選", "clear": "清除", "selectedCount": "已選取 {count} / {total}", @@ -7670,7 +7670,7 @@ "importBodyLabel": "範本內文 *", "importTypeLabel": "範本類型 *", "importTitleLabel": "範本標題 *", - "header": "目的地範本", + "header": "目標範本", "add": "新增範本", "edit": "編輯", "name": "名稱", @@ -7730,7 +7730,7 @@ "chartPreviewPlaceholder": "圖表在實際通知中會顯示於此 — 它取自警示本身的評估歷史,而預覽沒有此資料。", "channelTitlesDescription": "在特定頻道使用不同的標題 — 例如為電子郵件使用較短的主旨行。", "namePlaceholder": "例如:高錯誤率", - "nameLockedHint": "警示與目的地會依名稱參照此範本,因此無法重新命名。請複製範本,以新名稱建立一份複本。", + "nameLockedHint": "警示與目標會依名稱參照此範本,因此無法重新命名。請複製範本,以新名稱建立副本。", "rawBodyCaption": "完全按原樣傳送,並替換 {'{'}variables{'}'}。請參閱「變數指南」以取得所有可用內容。", "contentTitlePlaceholder": "{'{'}alert_name{'}'} · {'{'}stream_name{'}'}", "fieldLabelPlaceholder": "例如:數值", @@ -7804,16 +7804,16 @@ "channelSns": "SNS", "testSendGroupLabel": "傳送真實測試訊息", "testSend": "傳送測試", - "testSendDestinationLabel": "目的地", + "testSendDestinationLabel": "目標", "testSendConfirmTitle": "傳送真實測試訊息?", "testSendConfirm": "這會將真實訊息發佈到所選頻道,並標記為 [TEST]。", "testSendSuccess": "測試訊息已傳送", "testSendRateLimited": "傳送測試次數過多——請稍候片刻再試", - "testSendNoDestination": "請先選擇目的地" + "testSendNoDestination": "請先選擇目標" }, "alert_sources": { - "header": "外部警報來源", - "subtitle": "從 Grafana、Prometheus Alertmanager 或任何可呼叫 Webhook 的工具傳送警報——它們會顯示在此處,並自動關聯到事件中。", + "header": "外部警示來源", + "subtitle": "從 Grafana、Prometheus Alertmanager 或任何可呼叫 Webhook 的工具傳送警示 — 它們會顯示在此處,並自動關聯至事件。", "acceptsAnyFormat": "接受任何 Webhook 格式", "revealToken": "顯示完整 URL", "hideToken": "隱藏完整 URL", @@ -7847,10 +7847,10 @@ "editTitle": "編輯警示來源", "name": "名稱", "nameHint": "只是一個標籤 — 每個來源都使用相同的設定。", - "incidentDestination": "事件目的地", + "incidentDestination": "事件目標", "incidentDestinationPlaceholder": "使用組織預設值", "incidentDestinationHint": "當此來源的警示建立或加入事件時,通知會傳送到哪裡。留空以使用組織預設 — 若兩者皆未設定,符合的事件會靜默觸發。", - "noDestinationSet": "未設定事件目的地", + "noDestinationSet": "未設定事件目標", "setupStep1Title": "1. 建立 Webhook", "setupStep1Body": "在 Grafana、Alertmanager 或任何可以 POST JSON 的工具中,建立 Webhook 聯絡點 / 接收器。", "setupRemainingStepsHint": "儲存此來源以取得其 URL 和 Token,然後將它們貼到該 Webhook 設定中。", @@ -7874,12 +7874,12 @@ "updatedSuccess": "已更新警示來源", "error": "載入警示來源時發生錯誤", "senderError": "載入來源狀態時發生錯誤", - "destinationsLoadError": "載入目的地時發生錯誤" + "destinationsLoadError": "載入目標時發生錯誤" }, "alert_destinations": { - "sectionTab": "目的地", + "sectionTab": "目標", "chooseTypeTitle": "選擇類型", - "selectDestinationType": "選擇目的地類型", + "selectDestinationType": "選擇目標類型", "connectionStepTitle": "連線", "connectionDetailsTitle": "連線詳細資料", "urlHelpText": "Base URL 不含結尾斜線(例如:https://your-domain.com)", @@ -7898,10 +7898,10 @@ "datadogHostnameHelpText": "Datadog 日誌的主機名稱", "exampleLabel": "範例:", "subtitle": "觸發警示的傳送位置", - "exportDestination": "匯出目的地", - "deleteDestinationTitle": "刪除目的地", - "deleteDestinationMessage": "您確定要刪除目的地嗎?", - "deleteDestinationsTitle": "刪除目的地", + "exportDestination": "匯出目標", + "deleteDestinationTitle": "刪除目標", + "deleteDestinationMessage": "確定要刪除此目標嗎?", + "deleteDestinationsTitle": "刪除目標", "selected": "已選取", "organizationLabel": "組織", "defaultPlaceholder": "例如:default", @@ -7920,20 +7920,20 @@ "ddTagsPlaceholder": "輸入標籤(例如:env:prod,version:1.0)", "serviceLabel": "服務", "servicePlaceholder": "輸入服務名稱(例如:api-gateway)", - "header": "通知目的地", - "add": "新增目的地", + "header": "通知目標", + "add": "新目標", "edit": "編輯", - "search": "搜尋目的地", + "search": "搜尋目標", "filterAll": "全部", "filterPrebuilt": "預先建置", "filterCustom": "自訂", "templateDefaultBadge": "預設", "name": "名稱", - "destination_type": "目的地類型", + "destination_type": "目標類型", "template": "範本", "actions": "操作", - "addTitle": "新增目的地", - "updateTitle": "更新目的地", + "addTitle": "新目標", + "updateTitle": "更新目標", "delete": "刪除", "method": "方法", "url": "URL", @@ -7947,7 +7947,7 @@ "custom_headers": "自訂標頭 (選填)", "preview": "預覽", "test": "測試", - "saved": "目的地儲存成功", + "saved": "目標已成功儲存", "customWebhook": "自訂 (Webhook)", "customEmail": "自訂 (電子郵件)", "customAction": "自訂 (動作)", @@ -7957,7 +7957,7 @@ "separator_hint": "記錄之間使用的分隔字串 (允許空格)", "templateDefaultOption": "預設({name})", "templateHelp": "保留為預設以使用標準的 {type} 範本({name}),或選擇自訂範本。", - "loadingData": "正在載入目的地資料...", + "loadingData": "正在載入目標資料...", "noEmailTemplates": "您似乎尚未建立任何電子郵件範本。", "createEmailTemplate": "建立電子郵件範本", "headers": "標頭", @@ -7972,40 +7972,40 @@ "servicenowDescription": "在 ServiceNow 中建立事件" }, "import": { - "title": "匯入目的地", + "title": "匯入目標", "errorValidations": "錯誤驗證", "outputMessages": "輸出訊息", - "destinationName": "目的地名稱", - "destinationUrl": "目的地 URL", - "destinationMethod": "目的地方法", + "destinationName": "目標名稱", + "destinationUrl": "目標 URL", + "destinationMethod": "目標方法", "templates": "範本", "emails": "電子郵件(逗號分隔)", "actions": "動作", - "destinationCreation": "建立目的地", + "destinationCreation": "目標建立", "jsonStringEmpty": "JSON 字串為空", "invalidJsonFormat": "無效的 JSON 格式", - "importSuccess": "已成功匯入目的地", - "importError": "匯入目的地時發生錯誤,請檢查 JSON", + "importSuccess": "成功匯入目標", + "importError": "匯入目標時發生錯誤,請檢查 JSON", "unknownError": "未知錯誤", - "nameRequired": "目的地 - {index}:「名稱」欄位為必填,且必須是有效的字串。", - "nameExists": "目的地 - {index}:「{name}」已存在", - "typeInvalid": "目的地 - {index}:「類型」欄位必須是「email」、「http」或「action」", - "actionTypeNotSupported": "目的地 - {index}:不支援「action」類型。", - "actionNotFound": "目的地 - {index}:類型「{type}」不存在動作「{actionId}」", - "urlRequired": "目的地 - {index}:http 類型的目的地需要「url」欄位。", - "methodInvalid": "目的地 - {index}:「方法」欄位必須是「post」、「get」或「put」之一", - "templateRequiredHttp": "目的地 - {index}:http 類型的目的地需要「範本」欄位。", - "skipTlsVerifyRequired": "目的地 - {index}:「skip_tls_verify」欄位為必填,且必須是布林值", - "headersMustBeObject": "目的地 - {index}:http 類型的「headers」應為物件", - "urlNotAllowedEmail": "目的地 - {index}:email 類型不應提供「url」", - "headersNotAllowedEmail": "目的地 - {index}:email 類型不應提供「headers」", - "emailsRequired": "目的地 - {index}:email 類型的目的地需要「emails」欄位,且應為陣列。", - "emailsMustBeStrings": "目的地 - {index}:email 類型的「emails」應為字串陣列", - "templateRequiredEmail": "目的地 - {index}:email 類型的目的地需要「範本」欄位。", - "templateNotFound": "目的地 - {index}:類型「{type}」不存在範本「{template}」", - "actionIdInvalid": "目的地 - {index}:「action_id」欄位必須是有效的字串。", - "createSuccess": "目的地 - {index}:「{name}」已成功建立\n注意:請從 json 檔案中移除已建立的目的地物件 {name} ", - "createFailed": "目的地 - {index}:「{name}」建立失敗 --> \n 原因:{reason}" + "nameRequired": "目標 - {index}:必須提供「name」欄位,且必須是有效的字串。", + "nameExists": "目標 - {index}:「{name}」已存在", + "typeInvalid": "目標 - {index}:「type」欄位必須是「email」、「http」或「action」其中之一", + "actionTypeNotSupported": "目標 - {index}:不支援「action」類型。", + "actionNotFound": "目標 - {index}:類型「{type}」不存在動作「{actionId}」", + "urlRequired": "目標 - {index}:http 類型目標必須提供「url」欄位。", + "methodInvalid": "目標 - {index}:「method」欄位必須是「post」、「get」或「put」其中之一", + "templateRequiredHttp": "目標 - {index}:http 類型目標必須提供「template」欄位。", + "skipTlsVerifyRequired": "目標 - {index}:必須提供「skip_tls_verify」欄位,且應為布林值", + "headersMustBeObject": "目標 - {index}:「headers」在 http 類型中應為物件", + "urlNotAllowedEmail": "目標 - {index}:email 類型不應提供「url」", + "headersNotAllowedEmail": "目標 - {index}:email 類型不應提供「headers」", + "emailsRequired": "目標 - {index}:email 類型目標必須提供「emails」欄位,且應為陣列。", + "emailsMustBeStrings": "目標 - {index}:「emails」在 email 類型中應為字串陣列", + "templateRequiredEmail": "目標 - {index}:「template」欄位為電子郵件類型目標的必要欄位。", + "templateNotFound": "目標 - {index}:範本「{template}」不存在於類型「{type}」。", + "actionIdInvalid": "目標 - {index}:「action_id」欄位必須是有效的字串。", + "createSuccess": "目標 - {index}:「{name}」已成功建立 \n注意:請從 JSON 檔案中移除已建立的目標物件 {name} ", + "createFailed": "目標 - {index}:「{name}」建立失敗 --> \n 原因:{reason}" }, "priorityP1Description": "最高優先級警示", "priorityP2Description": "高優先級警示", @@ -8018,8 +8018,8 @@ "severityInfoDescription": "資訊事件" }, "pipeline_destinations": { - "header": "管線目的地", - "search": "搜尋目的地" + "header": "管線目標", + "search": "搜尋目標" }, "storage_settings": { "heroBrand": "OpenObserve.", @@ -8353,7 +8353,7 @@ "generalLabel": "一般設定", "groupGeneral": "一般", "groupAccessSecurity": "存取與安全性", - "groupDestinations": "目的地", + "groupDestinations": "目標", "groupDataAI": "資料與 AI", "groupOperations": "營運", "groupSynthetics": "合成監控", @@ -8364,7 +8364,7 @@ "regexPatternsDesc": "用於遮蔽的可重複使用 regex 模式", "domainManagementDesc": "限制僅允許的 SSO 網域登入", "pipelineDestinationsDesc": "管線輸出的外部目標", - "templatesDesc": "可重複使用的警報訊息範本", + "templatesDesc": "可重複使用的警示訊息範本", "storageSettingsDesc": "各組織的儲存設定", "modelPricingDesc": "LLM 模型成本設定", "correlationSettingsDesc": "遙測關聯設定", @@ -8723,7 +8723,7 @@ "createFailed": "正則表達式模式 - {index}: \"{name}\" 建立失敗 --> \n 原因:{error}" }, "index": { - "genAiAgentMappingDesc": "將 GenAI 跨度對應到代理識別碼" + "genAiAgentMappingDesc": "將 GenAI Span 對應至代理程式識別碼" }, "organizationManagementPage": { "setAiCredits": "設定 AI 額度", @@ -8859,7 +8859,7 @@ "cardinality": "基數:", "uniqueValues": "{n} 個唯一值", "streams": "串流", - "streamsSubtext": "資料流", + "streamsSubtext": "串流", "noAdditionalDimensions": "未偵測到其他維度。", "noSampleData": "此欄位無可用樣本資料。", "uniqueValuesDetected": "偵測到 {n} 個唯一值", @@ -9201,8 +9201,8 @@ "applyAndSearch": "套用並搜尋", "timestamp": "時間戳記", "noErrorPresent": "此 span 無錯誤", - "noEventsPresent": "此跨度無事件", - "noLinksPresent": "此跨度無連結", + "noEventsPresent": "此 Span 沒有事件", + "noLinksPresent": "此 Span 沒有連結", "loadingTraceDag": "正在載入追蹤 DAG...", "exceptionsWithCount": "例外狀況 ({count})", "typeLabel": "類型:", @@ -9380,7 +9380,7 @@ "host": "主機", "user": "使用者", "storedProcedure": "預存程序", - "noQueryText": "此跨度未記錄查詢文字。", + "noQueryText": "此 Span 未記錄查詢文字。", "performance": "效能", "rowsReturned": "傳回行數", "batchSize": "批次大小", @@ -9393,7 +9393,7 @@ "changeStreamTitle": "變更串流?", "switchStream": "切換串流", "cancel": "取消", - "changeStreamMessage": "這也會更新追蹤/跨度標籤中的串流,並重設現有查詢。", + "changeStreamMessage": "這也會更新「追蹤/Span」標籤頁中的串流,並重設現有查詢。", "errorGettingFunctions": "取得函式時發生錯誤", "errorPullingIndex": "為選取組織提取索引時發生錯誤{message}", "errorGettingStreams": "取得串流時發生錯誤", @@ -9491,13 +9491,13 @@ "tabHosts": "主機", "tabDatabases": "資料庫", "tabQueries": "查詢", - "tabDestinations": "目的地", + "tabDestinations": "目標", "tabRpcServices": "RPC 服務", "tabUrls": "URL", "colHost": "主機", "colDatabase": "資料庫", "colDbOperation": "資料庫操作", - "colDestination": "目的地", + "colDestination": "目標", "colRpcService": "RPC 服務", "colUrl": "URL", "envHost": "主機", @@ -9513,13 +9513,13 @@ "processExitCode": "程序結束碼" }, "traceLatencyCell": { - "spansAcrossServices": "{spans} 個跨 {services} 個服務的跨度" + "spansAcrossServices": "{spans} 個 Span,跨 {services} 個服務" }, "threadToolCalls": { "toolCall": "工具呼叫", "toolCalls": "工具呼叫", "showCalls": "顯示呼叫", - "openSpanDetails": "開啟跨度詳細資訊", + "openSpanDetails": "開啟 Span 詳細資料", "arguments": "引數", "result": "結果", "empty": "(空)" @@ -9533,7 +9533,7 @@ "cost": "成本", "model": "模型", "errors": "錯誤", - "noSpansLoaded": "此追蹤未載入任何跨度。", + "noSpansLoaded": "此追蹤未載入任何 Span。", "noLlmTurns": "未偵測到 LLM 輪次。此追蹤不包含帶有", "system": "系統", "historicalMessage": "{count} 則來自此工作階段的較早訊息 — 已在先前的追蹤中處理。 | {count} 則來自此工作階段的較早訊息 — 已在先前的追蹤中處理。", @@ -9543,7 +9543,7 @@ "tokens": "令牌", "tokensSuffix": "令牌", "error": "錯誤", - "viewSpan": "檢視跨度" + "viewSpan": "檢視 Span" }, "traceHeader": { "operationName": "操作名稱" @@ -9561,7 +9561,7 @@ "start": "開始", "requestResent": "請求已重新傳送 {count} 次 | 請求已重新傳送 {count} 次", "resends": "重新傳送", - "spanIdTitle": "跨度 ID:{id}", + "spanIdTitle": "Span ID:{id}", "inputTokens": "輸入令牌", "in": "輸入", "outputTokens": "輸出令牌", @@ -9582,8 +9582,8 @@ "value": "值", "timestamp": "時間戳記", "enterpriseLicenseRequired": "關聯功能需要企業版授權", - "missingSpanOrStream": "缺少跨度或串流名稱", - "spanIdCopied": "跨度 ID 已複製到剪貼簿", + "missingSpanOrStream": "缺少 Span 或串流名稱", + "spanIdCopied": "Span ID 已複製到剪貼簿", "attributesCopied": "屬性已複製到剪貼簿", "copiedToClipboard": "{type} 已複製到剪貼簿", "failedToCopyClipboard": "複製到剪貼簿失敗", @@ -9597,7 +9597,7 @@ "timeline": "時間軸", "serviceMap": "服務地圖", "traceNotFound": "找不到追蹤 {traceId}", - "spanNotFound": "在追蹤中找不到跨度 {spanId}", + "spanNotFound": "在追蹤中找不到 Span {spanId}", "unknownOperation": "未知操作", "unknownService": "未知服務", "traceIdCopied": "追蹤 ID 已複製到剪貼簿", @@ -11051,7 +11051,7 @@ "versionPill": "v{version} · {count} 版本 | v{version} · {count} 版本", "sourceSection": "來源", "sourceTrace": "追蹤", - "sourceSpan": "跨度", + "sourceSpan": "Span", "sourceReview": "審查提交", "sourceImport": "匯入自", "inputSection": "輸入", @@ -11176,7 +11176,7 @@ "errorsTitle": "錯誤訊息說明", "noErrors": "未擷取到錯誤訊息 — 請開啟追蹤進行檢查", "colTraceId": "追蹤", - "colSpans": "跨度", + "colSpans": "Span", "colRepeats": "重複", "openInNewTab": "在新分頁中開啟追蹤", "showFull": "顯示完整錯誤", @@ -11943,12 +11943,12 @@ "streamPlaceholder": "選擇串流", "targetScopeLabel": "評估每個", "targetScopes": { - "span": "跨度", + "span": "Span", "trace": "追蹤", "session": "會話" }, "targetScopeHelp": { - "span": "獨立評估每個符合條件的跨度。", + "span": "獨立評估每個符合的 Span。", "trace": "在完成視窗關閉後評估整個追蹤。", "session": "在完成視窗關閉後評估跨追蹤的工作階段。" }, @@ -11958,11 +11958,11 @@ "session": "工作階段在滿足這些條件中的第一個時立即評估。" }, "idleWindowLabel": "閒置視窗(秒)", - "idleWindowHelp": "在 {duration} 沒有新跨度後評估。", - "idleWindowHelpEmpty": "在沒有新跨度到達時評估。", + "idleWindowHelp": "在沒有新 Span 的情況下,於 {duration} 後進行評估。", + "idleWindowHelpEmpty": "一旦沒有新的 Span 到達,即進行評估。", "maxAgeLabel": "最大年齡(秒)", - "maxAgeHelp": "在第一個跨度後 {duration} 評估。", - "maxAgeHelpEmpty": "在固定年齡評估,即使跨度仍在到達。", + "maxAgeHelp": "在第一個 Span 之後的 {duration} 進行評估。", + "maxAgeHelpEmpty": "在固定時間點評估,即使 Span 仍在到達。", "descriptionLabel": "描述", "samplingModeLabel": "取樣模式", "samplingValueLabel": "取樣率", @@ -11973,7 +11973,7 @@ "scorerPicker": { "title": "評分器", "hint": { - "span": "選擇一個或多個評分器,針對每個符合條件的跨度執行。", + "span": "選取一個或多個評分器,為每個符合的 Span 執行。", "trace": "選擇一個或多個評分器,針對每個符合條件的追蹤執行。", "session": "選擇一個或多個評分器,針對每個符合條件的工作階段執行。" }, @@ -11985,22 +11985,22 @@ "filter": { "title": "篩選條件", "hint": { - "span": "只有符合此條件的跨度才會進入取樣和評分。", - "trace": "如果追蹤中的任何跨度符合此條件,則該追蹤進入取樣和評分。", - "session": "如果工作階段中的任何跨度符合此條件,則該工作階段進入取樣和評分。" + "span": "只有符合此條件的 Span 才會進入取樣和評分。", + "trace": "如果追蹤中有任何 Span 符合此條件,該追蹤就會進入取樣和評分。", + "session": "如果工作階段中有任何 Span 符合此條件,該工作階段就會進入取樣和評分。" } }, "selector": { - "title": "哪些跨度(可選)", + "title": "要評估哪些 Span(選填)", "hint": { - "trace": "留空以包含追蹤中的每個跨度。" + "trace": "留空以包含追蹤中的每個 Span。" } }, "endSignal": { "title": "結束訊號(可選)", "hint": { - "trace": "定義一個跨度條件,當任何跨度符合時立即關閉追蹤。", - "session": "定義一個跨度條件,當任何跨度符合時立即關閉工作階段。" + "trace": "定義當任何 Span 符合時立即關閉追蹤的 Span 條件。", + "session": "定義當任何 Span 符合時立即關閉工作階段的 Span 條件。" } }, "inputMapping": { @@ -12024,7 +12024,7 @@ "title": "{scope} 系統值", "description": "OpenObserve 會針對此作業評估的每個 {scope} 分別建立這些值。在對應評分器的提示變數時,可將它們用作來源。", "badge": "系統提供", - "selectorRequired": "需要跨度選擇器", + "selectorRequired": "需要 Span 選擇器", "columns": { "variable": "值", "source": "來源", @@ -12032,31 +12032,31 @@ }, "variables": { "input": { - "trace": "來自追蹤根跨度的輸入。" + "trace": "來自追蹤根 Span 的輸入。" }, "output": { - "trace": "來自追蹤根跨度的輸出。" + "trace": "來自追蹤根 Span 的輸出。" }, "statistics": { - "trace": "追蹤指標:跨度數量、持續時間、LLM 和工具呼叫、錯誤、令牌和成本。", + "trace": "追蹤指標:Span 計數、持續時間、LLM 與工具呼叫、錯誤、Token 和成本。", "session": "工作階段指標:追蹤和輪次數量、持續時間和錯誤。" }, "spans": { - "trace": "由工作的跨度選擇器選出的跨度過濾子集。" + "trace": "由任務的 Span 選擇器選取的 Span 篩選子集。" }, "steps": { - "trace": "按時間順序排列的跨度;當追蹤很長時,中間部分折疊。", + "trace": "Span 依時間順序排列;當追蹤很長時,中間部分會被摺疊。", "session": "按時間順序排列的追蹤,表示為對話輪次。" } } } }, "spanSelector": { - "select": "選擇跨度選擇器", - "bindingHelp": "追蹤可能有數百個跨度。挑選此評分器應查看的跨度。", + "select": "選取 Span 選擇器", + "bindingHelp": "追蹤可能包含數百個 Span。請挑選此評分者應檢視的 Span。", "createForScorer": "為評分器建立", - "createForScorerTitle": "為此評分器建立一個跨度選擇器", - "editorTitle": "跨度選擇器", + "createForScorerTitle": "為此評分者建立 Span 選擇器", + "editorTitle": "Span 選擇器", "name": "選擇器名稱", "schemaMode": "要讀取的欄位", "defaultSchema": "標準 GenAI 欄位", @@ -12641,8 +12641,8 @@ "createBrowserTest": { "buildManually": "手動建立", "continue": "繼續", - "gateDescription": "告訴我們從哪裡開始——接下來您將錄製旅程。其他所有內容(排程、警報、RUM)將在之後設置。", - "gateFooter": "這是我們開始所需的一切。錄製後,您可以在這裡重播,然後儲存以配置排程、警報等。", + "gateDescription": "告訴我們從哪裡開始 -- 接下來您將錄製歷程。其餘設定(排程、警示、RUM)之後再進行設定。", + "gateFooter": "這就是開始所需的全部。錄製之後,您可以在這裡重播,然後儲存以設定排程、警示及更多內容。", "loadFailed": "無法載入檢查配置。", "loadFailedTitle": "無法載入", "loading": "正在載入檢查…", @@ -13108,7 +13108,7 @@ }, "timeoutMs": "逾時 (毫秒)", "tls": { - "minDays": "當在 (天) 內到期時發出警報", + "minDays": "在(天數)內到期時警示", "title": "TLS 憑證", "verifyChain": "驗證憑證鏈", "verifyHostname": "驗證主機名稱" @@ -13349,7 +13349,7 @@ "errorPatternsWindowDesc": "跨 {window} 標準化 · 點選某行以篩選執行" }, "scheduleAlert": { - "addNewDestination": "新增目的地", + "addNewDestination": "新增目標", "alertedIfFails": "若測試失敗則發出警示", "alertedIfFailsSuffix": "次。", "alerts": "警示", @@ -13365,8 +13365,8 @@ "weeks": "週" }, "customIntervalValue": "每", - "destinationRequired": "至少需要一個目的地", - "destinations": "目的地", + "destinationRequired": "至少需要一個目標", + "destinations": "目標", "frequency": "頻率", "frequencyOptions": { "15min": "15 分鐘", @@ -13378,8 +13378,8 @@ "custom": "自訂" }, "minutes": "分鐘", - "noDestinations": "無可用目的地", - "refreshDestinations": "重新整理目的地", + "noDestinations": "沒有可用的目標", + "refreshDestinations": "重新整理目標", "retries": "重試次數", "retriesOnFailure": "失敗時重試", "retriesOnFailureSuffix": "次。", @@ -13638,11 +13638,11 @@ "dashboards": "儀表板", "metrics": "指標", "traces": "追蹤", - "alerts": "警報", + "alerts": "警示", "streams": "串流", - "pipelines": "管道", + "pipelines": "管線", "functions": "函數", - "reports": "報告", + "reports": "報表", "iam": "IAM", "settings": "設定", "onlineEvals": "線上評估", @@ -13658,25 +13658,25 @@ "dashboardsPanel": "儀表板 — 面板(懸停面板)", "metrics": "指標", "traces": "追蹤", - "alerts": "警報", + "alerts": "警示", "streams": "串流", - "pipelines": "管道", + "pipelines": "管線", "functions": "函數", - "reports": "報告", + "reports": "報表", "iamUsers": "IAM — 使用者", "iamRoles": "IAM — 角色", "iamGroups": "IAM — 群組", "iamServiceAccounts": "IAM — 服務帳戶", - "alertDestinations": "警報 — 目的地", + "alertDestinations": "警示 — 目標", "alertSources": "警示 — 外部來源", - "alertTemplates": "警報 — 範本", + "alertTemplates": "警示 — 範本", "panelEditor": "面板編輯器", "traceDetail": "追蹤詳細資料", "runningQueries": "執行中的查詢", "ingestionTokens": "IAM — 擷取令牌", "syntheticsTokens": "IAM — Synthetics Token", - "alertIncidents": "警報 — 事件", - "pipelineDestinations": "管道 — 目的地", + "alertIncidents": "警示 — 事件", + "pipelineDestinations": "管線 — 目標", "enrichmentTables": "豐富化表格", "iamInvitations": "IAM — 邀請", "iamOrganizations": "IAM — 組織", @@ -13737,8 +13737,8 @@ "alertsRefresh": "重新整理警示清單", "streamsAdd": "新增串流", "streamsRefresh": "重新整理清單", - "pipelinesAdd": "建立新管道", - "pipelinesImport": "匯入管道", + "pipelinesAdd": "建立新管線", + "pipelinesImport": "匯入管線", "pipelinesRefresh": "重新整理清單", "functionsAdd": "新增函數", "functionsRefresh": "重新整理清單", @@ -13752,7 +13752,7 @@ "iamGroupsRefresh": "重新整理清單", "iamServiceAccountsAdd": "新增服務帳戶", "iamServiceAccountsRefresh": "重新整理清單", - "alertDestinationsAdd": "新增目的地", + "alertDestinationsAdd": "新增目標", "alertDestinationsRefresh": "重新整理清單", "alertSourcesAdd": "新增警示來源", "alertSourcesRefresh": "重新整理清單", @@ -13763,8 +13763,8 @@ "panelEditorRun": "執行/套用查詢", "panelEditorSave": "儲存面板", "panelEditorBack": "放棄並返回", - "traceNextSpan": "下一個跨度", - "tracePrevSpan": "上一個跨度", + "traceNextSpan": "下一個 Span", + "tracePrevSpan": "上一個 Span", "runningQueriesRefresh": "重新整理查詢列表", "ingestionTokensAdd": "建立新權杖", "ingestionTokensRefresh": "重新整理權杖列表", @@ -14304,21 +14304,21 @@ "pleaseSelectStreamType": "請選取串流類型 ", "anomalyDetectionClonedSuccessfully": "異常偵測已成功複製", "errorWhileFetchingTemplates": "取得範本時發生錯誤。", - "errorWhileFetchingDestinations": "取得目的地時發生錯誤。", + "errorWhileFetchingDestinations": "取得目標時發生錯誤。", "failedToLoadAlertForEditing": "無法載入警示以進行編輯", "pleaseWaitWhileLoadingAlert": "正在載入警示,請稍候...", "errorWhilePullingAlerts": "擷取警示時發生錯誤。", "pleaseWaitWhileLoadingAlerts": "正在載入警示,請稍候...", - "destinationsDeletedSuccessfully": "{count} 個目的地已成功刪除 | {count} 個目的地已成功刪除", - "failedToDeleteDestinations": "刪除 {count} 個目的地失敗 | 刪除 {count} 個目的地失敗", - "destinationsDeletedWithFailures": "{count} 個目的地已成功刪除,{failed} 個失敗 | {count} 個目的地已成功刪除,{failed} 個失敗", - "noDestinationsSelectedForDeletion": "未選取要刪除的目的地", - "deletingDestinations": "正在刪除目的地...", - "destinationDeletedSuccessfully": "目的地 {name} 已成功刪除", - "errorWhilePullingDestinations": "擷取目的地時發生錯誤。", - "pleaseWaitWhileLoadingDestinations": "正在載入目的地,請稍候...", + "destinationsDeletedSuccessfully": "{count} 個目標已成功刪除 | {count} 個目標已成功刪除", + "failedToDeleteDestinations": "刪除 {count} 個目標失敗 | 刪除 {count} 個目標失敗", + "destinationsDeletedWithFailures": "{count} 個目標已成功刪除,{failed} 個失敗 | {count} 個目標已成功刪除,{failed} 個失敗", + "noDestinationsSelectedForDeletion": "未選取要刪除的目標", + "deletingDestinations": "正在刪除目標...", + "destinationDeletedSuccessfully": "目標 {name} 已成功刪除", + "errorWhilePullingDestinations": "取得目標時發生錯誤。", + "pleaseWaitWhileLoadingDestinations": "載入目標中,請稍候...", "errorWhileLoadingActions": "載入動作時發生錯誤。", - "pleaseWaitWhileLoadingAlertDestination": "正在載入警示目的地,請稍候...", + "pleaseWaitWhileLoadingAlertDestination": "載入警示目標中,請稍候...", "errorImportingAlertPleaseCheck": "匯入警示時發生錯誤。請檢查 JSON。", "alertsImportedSuccessfully": "{count} 個警示已成功匯入 | {count} 個警示已成功匯入", "invalidJson": "無效的 JSON:{error}", @@ -14337,8 +14337,8 @@ "incidentsRefreshed": "事件已重新整理", "failedToPostComment": "張貼留言失敗", "commentPostedSuccessfully": "留言張貼成功", - "destinationUpdatedSuccessfully": "目的地 \"{name}\" 更新成功。", - "destinationCreatedSuccessfully": "目的地 \"{name}\" 建立成功。", + "destinationUpdatedSuccessfully": "目標 \"{name}\" 已成功更新。", + "destinationCreatedSuccessfully": "目標 \"{name}\" 已成功建立。", "failedToDeleteTemplates": "刪除 {count} 個範本失敗 | 刪除 {count} 個範本失敗", "templatesDeletedWithFailures": "已刪除 {count} 個範本,但 {failed} 個失敗 | 已刪除 {count} 個範本,但 {failed} 個失敗", "successfullyDeletedTemplates": "成功刪除 {count} 個範本 | 成功刪除 {count} 個範本", @@ -14394,8 +14394,8 @@ "users": "使用者", "roles": "角色", "organizations": "組織", - "pipelines": "管道", - "destinations": "目的地", + "pipelines": "管線", + "destinations": "目標", "templates": "範本", "reports": "報表", "llmModelPricing": "LLM 模型定價" @@ -14427,7 +14427,7 @@ "enrichmentReloadStarted": "擴充表重新載入已開始。正在背景處理中...", "enrichmentJobStarted": "擴充表作業已開始。正在背景處理中...", "enrichmentCreationFailed": "建立擴充表失敗", - "functionDeletionAssociatedPipelines": "函數刪除失敗,因為它與管道關聯。按一下檢視按鈕以取得關聯的管道。" + "functionDeletionAssociatedPipelines": "函式刪除失敗,因為它與管線相關聯。請按一下檢視按鈕以取得相關聯的管線。" }, "recommended": { "failedToImportDashboard": "匯入儀表板失敗:{error}", @@ -14600,7 +14600,7 @@ "isNotASupportedFileType": "「{fileName}」不是支援的檔案類型。僅允許 {allowed} 檔案。" }, "workflows": { - "thisBranchAlreadyEndsInA": "此分支的終點已是目的地。", + "thisBranchAlreadyEndsInA": "此分支已結束於一個目標。", "chooseATriggerNodeToStart": "選擇觸發節點以開始您的工作流程", "thisConnectionWouldCreateALoop": "此連線會造成迴圈", "onlyOneIncomingConnectionToA": "每個步驟只允許一個傳入連線" @@ -14608,8 +14608,8 @@ "views": { "youAreNotAuthorizedToManage": "您無權管理授權。", "copiedToClipboard": "已複製到剪貼簿。", - "noDestinationsFoundPleaseCreateA": "找不到目的地。請先建立目的地。", - "errorWhilePullingDestinations": "擷取目的地時發生錯誤。", + "noDestinationsFoundPleaseCreateA": "找不到目標。請先建立目標。", + "errorWhilePullingDestinations": "取得目標時發生錯誤。", "rumTokenUpdatedSuccessfully": "RUM Token 已成功更新。", "rumTokenGeneratedSuccessfully": "RUM Token 已成功產生。", "tokenResetSuccessfully": "Token 已成功重設。", @@ -14626,7 +14626,7 @@ "pleaseWaitWhileLoadingStreams": "正在載入串流,請稍候...", "errorWhilePullingSummary": "擷取摘要時發生錯誤。", "pleaseWaitWhileLoadingSummary": "正在載入摘要,請稍候...", - "noDestinationsCreateOneBeforeSaving": "找不到目的地。儲存此警示前,請先建立一個目的地。", + "noDestinationsCreateOneBeforeSaving": "找不到目標。請先建立一個目標,再儲存此警示。", "errorWhileLoadingAlert": "載入警示時發生錯誤。" }, "RUM": { @@ -14681,7 +14681,7 @@ "count": "切片寬度不會改變此 SLO 的數值。無論如何都會計入相同的事件。5 分鐘的切片只會儲存五分之一的歷史記錄。", "perSlice": "每個切片會整體評為良好或不良,因此寬度是單一失敗所能耗用的最小預算量。在 7 天內達到 99.9% 的情況下,單一不良的 5 分鐘切片會耗用約一半的預算。若要在短時間視窗內達成嚴格目標,請選擇 1 分鐘。" }, - "backfillNote": "儲存時執行回溯填補:分塊進行,最新的歷史優先。警報保持凍結,直到涵蓋範圍超過下限。", + "backfillNote": "回填在儲存時執行:分批處理,最新的歷史優先。警示會保持凍結,直到涵蓋率達到下限。", "budgetHint": "錯誤預算 = {budget}", "budgetDays": "{n} 天", "budgetHours": "{n} 小時", @@ -14790,7 +14790,7 @@ }, "empty": { "title": "尚無 SLO", - "description": "SLO 衡量請求或時間中有多少比例達到目標,並為警報提供可消耗的錯誤預算。" + "description": "SLO 衡量請求或時間中達到目標的比例,並賦予警示可消耗的錯誤預算。" }, "groups": { "emptyTitle": "尚未測量任何群組", @@ -14799,30 +14799,30 @@ "frozen": { "title": "凍結:涵蓋範圍不足", "body": "此時間視窗僅測量了 {coverage},低於 {floor} 下限。SLO 會被視為沒有資料,其警示既不會觸發也不會解除,因此未測量的時間永遠不會回報為正常運作時間。", - "alertGapsBody": "此視窗僅測量了 {coverage},低於 {floor} 下限:來源警報在其餘時間未評估,無論是暫停、靜音或失敗。SLO 讀取為無資料,其警報既不會觸發也不會解決,因此未測量的時間永遠不會被報告為正常運作時間。", - "alertStaleTitle": "凍結:來源警報已停止評估", - "alertStaleBody": "來源警報自 {since} 起未評估,因此測量已凍結:視窗保持在原處,SLO 的警報既不會觸發也不會解決。以下數字是最後一次真實測量,而非目前狀態。", + "alertGapsBody": "此視窗僅測量了 {coverage},低於 {floor} 下限:來源警示在其餘時間內未進行評估,無論是暫停、靜音或失敗。SLO 會顯示為無數據,其警示既不會觸發也不會解決,因此未測量的時間絕不會被報告為正常運行時間。", + "alertStaleTitle": "凍結:來源警示已停止評估", + "alertStaleBody": "來源警示自 {since} 起未進行評估,因此測量已凍結:視窗停留在原處,SLO 的警示既不會觸發也不會解決。以下數值是最後一次實際測量,而非目前狀態。", "measuringSinceTitle": "自 {since} 起測量", - "measuringSinceBody": "此 SLO 擁有 {window} 天歷史中的 {measured} 天:在 {since} 之前沒有其來源警報的可用記錄。以下每個數字描述的是實際測量的天數,而非完整視窗,且視窗會隨著時間過去而填滿。" + "measuringSinceBody": "此 SLO 已有 {measured} 天(共 {window} 天)的歷史:在 {since} 之前,其來源警示沒有可用的記錄。以下每個數字都描述實際測量的天數,而非完整視窗,且視窗會隨著時間推移而填滿。" }, "regenerate": { "title": "此編輯會重新開始測量", "body": "您變更了時間片的含義,因此新的世代開始,目前視窗的測量將被丟棄。僅變更目標不會造成這種情況;目標會在讀取 SLO 時套用。" }, "alertSli": { - "source": "來源警報", - "sourcePlaceholder": "選擇警報", - "sourceHint": "正常運作時間是此警報未觸發的測量時間比例。它未評估的時間 — 暫停、靜音或失敗 — 是未測量的,且永遠不計為正常運作時間。", - "loadFailed": "無法載入符合資格的警報", - "noneEligible": "此組織中尚無任何警報可用作來源。", + "source": "來源警示", + "sourcePlaceholder": "選擇警示", + "sourceHint": "正常運行時間是此警示未觸發之測量時間的比例。其未評估的時間(暫停、靜音或失敗)屬未測量,且絕不計入正常運行時間。", + "loadFailed": "無法載入符合條件的警示", + "noneEligible": "此組織中尚無任何警示可用作來源。", "ineligibleOption": "{name} — {reason}", - "groupingLocked": "基於警報的 SLI 無法分組:可用性分類帳記錄每個警報的一次執行,而非每個群組,因此沒有每個群組的涵蓋範圍可依賴。", - "sourceLink": "來源警報", + "groupingLocked": "基於警示的 SLI 無法分組:可用性帳本記錄的是每個警示的執行,而非每個群組,因此沒有可依賴的每群組涵蓋範圍。", + "sourceLink": "來源警示", "preview": { "title": "已測量的正常運作時間", "tally": "在視窗的 {coverage} 中有 {sli}% 良好", - "wouldFreeze": "此視窗測量的部分太少,因此此來源上的 SLO 讀取為無資料,其警報既不會觸發也不會解決。上述百分比僅涵蓋已測量的部分。", - "noHistory": "此警報尚無評估歷史。一旦執行,測量便會開始。", + "wouldFreeze": "此視窗中測量的部分過少,因此以此來源建立的 SLO 會顯示為無數據,且其警示既不會觸發也不會解決。上述百分比僅針對已測量的部分。", + "noHistory": "此警示尚無評估歷史。一旦警示執行,即開始測量。", "loadFailed": "無法載入評估歷史", "legendGood": "正常", "legendBad": "觸發中", @@ -15874,8 +15874,8 @@ "title": "我們正在讀取你的資料庫日誌", "detail": "{databases} · 最近讀取的行 {age}", "detailNoFleet": "最近讀取的行 {age}", - "detailUnknown": "{databases} — 日誌管道已連線", - "detailUnknownNoFleet": "日誌管道已連線" + "detailUnknown": "{databases} — 日誌管線已連接", + "detailUnknownNoFleet": "日誌管線已連接" }, "reporting": { "title": "死鎖回報已開啟", @@ -15886,8 +15886,8 @@ }, "traffic": { "title": "我們從這些資料庫看到了 {lines} 條其他日誌行", - "detail": "因此日誌管道正在傳輸流量——死鎖會經由它傳遞過來", - "titleUnknown": "日誌管道正在傳輸流量" + "detail": "因此管線正在承載流量 — 死鎖應會透過它出現", + "titleUnknown": "日誌管線正在承載流量" }, "lastEver": { "title": "我們最後一次看到的死鎖", @@ -16122,8 +16122,8 @@ }, "pipeline": { "title": "您的資料庫正在與我們連線", - "detail": "此時間範圍內,{lines} 行其他資料透過相同的管道送達", - "detailUnknown": "承載此資料的管道正在執行中" + "detail": "此時間範圍內有 {lines} 行其他資料透過同一管線傳入。", + "detailUnknown": "承載此資料的管線正在執行" }, "meaning": { "title": "此分頁在非空白時顯示的內容",