From 995a2a96f47ca807317bc72b31dc1dddfe5aa84f Mon Sep 17 00:00:00 2001 From: Bhargav Date: Tue, 14 Mar 2023 12:19:05 +0530 Subject: [PATCH] fix: UI issue fix (#278) * fix: issue-266 monaco editor background color * fix: issue-263 numeric value 0 not getting displayed * fix: issue-257 * fix: issue-261 * feat: issue-262 additional languages * fix: issue-277 --- web/src/assets/images/language_flags/de.svg | 1 + web/src/assets/images/language_flags/es.svg | 1 + web/src/assets/images/language_flags/fr.svg | 1 + web/src/assets/images/language_flags/it.svg | 1 + web/src/assets/images/language_flags/ja.svg | 1 + web/src/assets/images/language_flags/ko.svg | 1 + web/src/assets/images/language_flags/nl.svg | 1 + web/src/assets/images/language_flags/pt.svg | 1 + web/src/components/alerts/add.vue | 17 +- web/src/components/dashboards/QueryEditor.vue | 35 +- web/src/components/logBarChart.vue | 2 +- web/src/layouts/MainLayout.vue | 40 +++ web/src/locales/index.ts | 32 ++ web/src/locales/languages/de.json | 309 ++++++++++++++++++ web/src/locales/languages/es.json | 309 ++++++++++++++++++ web/src/locales/languages/fr.json | 309 ++++++++++++++++++ web/src/locales/languages/it.json | 309 ++++++++++++++++++ web/src/locales/languages/ja.json | 309 ++++++++++++++++++ web/src/locales/languages/ko.json | 309 ++++++++++++++++++ web/src/locales/languages/nl.json | 309 ++++++++++++++++++ web/src/locales/languages/pt.json | 309 ++++++++++++++++++ web/src/plugins/logs/DateTime.vue | 2 +- web/src/plugins/logs/Index.vue | 70 ++-- web/src/plugins/logs/IndexList.vue | 25 +- web/src/plugins/logs/QueryEditor.vue | 10 +- web/src/plugins/logs/SearchResult.vue | 2 + web/src/views/LogStream.vue | 10 + 27 files changed, 2667 insertions(+), 58 deletions(-) create mode 100644 web/src/assets/images/language_flags/de.svg create mode 100644 web/src/assets/images/language_flags/es.svg create mode 100644 web/src/assets/images/language_flags/fr.svg create mode 100644 web/src/assets/images/language_flags/it.svg create mode 100644 web/src/assets/images/language_flags/ja.svg create mode 100644 web/src/assets/images/language_flags/ko.svg create mode 100644 web/src/assets/images/language_flags/nl.svg create mode 100644 web/src/assets/images/language_flags/pt.svg create mode 100644 web/src/locales/languages/de.json create mode 100644 web/src/locales/languages/es.json create mode 100644 web/src/locales/languages/fr.json create mode 100644 web/src/locales/languages/it.json create mode 100644 web/src/locales/languages/ja.json create mode 100644 web/src/locales/languages/ko.json create mode 100644 web/src/locales/languages/nl.json create mode 100644 web/src/locales/languages/pt.json diff --git a/web/src/assets/images/language_flags/de.svg b/web/src/assets/images/language_flags/de.svg new file mode 100644 index 0000000000..c62ecc03f9 --- /dev/null +++ b/web/src/assets/images/language_flags/de.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/assets/images/language_flags/es.svg b/web/src/assets/images/language_flags/es.svg new file mode 100644 index 0000000000..5d353e12af --- /dev/null +++ b/web/src/assets/images/language_flags/es.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/assets/images/language_flags/fr.svg b/web/src/assets/images/language_flags/fr.svg new file mode 100644 index 0000000000..0617190537 --- /dev/null +++ b/web/src/assets/images/language_flags/fr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/assets/images/language_flags/it.svg b/web/src/assets/images/language_flags/it.svg new file mode 100644 index 0000000000..850e58782c --- /dev/null +++ b/web/src/assets/images/language_flags/it.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/assets/images/language_flags/ja.svg b/web/src/assets/images/language_flags/ja.svg new file mode 100644 index 0000000000..0376d29859 --- /dev/null +++ b/web/src/assets/images/language_flags/ja.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/assets/images/language_flags/ko.svg b/web/src/assets/images/language_flags/ko.svg new file mode 100644 index 0000000000..80bcba8466 --- /dev/null +++ b/web/src/assets/images/language_flags/ko.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/assets/images/language_flags/nl.svg b/web/src/assets/images/language_flags/nl.svg new file mode 100644 index 0000000000..1dfbb79ba6 --- /dev/null +++ b/web/src/assets/images/language_flags/nl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/assets/images/language_flags/pt.svg b/web/src/assets/images/language_flags/pt.svg new file mode 100644 index 0000000000..c219fb538e --- /dev/null +++ b/web/src/assets/images/language_flags/pt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/components/alerts/add.vue b/web/src/components/alerts/add.vue index 07bc88f5fc..166c15a21b 100644 --- a/web/src/components/alerts/add.vue +++ b/web/src/components/alerts/add.vue @@ -408,13 +408,24 @@ export default defineComponent({ { token: "comment", foreground: "ffa500", + background: "FFFFFF", fontStyle: "italic underline", }, - { token: "comment.js", foreground: "008800", fontStyle: "bold" }, - { token: "comment.css", foreground: "0000ff" }, // will inherit fontStyle from `comment` above + { + token: "comment.js", + foreground: "008800", + fontStyle: "bold", + background: "FFFFFF", + }, + { token: "comment.css", foreground: "0000ff", background: "FFFFFF" }, // will inherit fontStyle from `comment` above ], colors: { "editor.foreground": "#000000", + "editor.background": "#FFFFFF", + "editorCursor.foreground": "#000000", + "editor.lineHighlightBackground": "#FFFFFF", + "editorLineNumber.foreground": "#000000", + "editor.border": "#FFFFFF", }, }); editorobj = monaco.editor.create(editorRef.value, { @@ -532,7 +543,7 @@ export default defineComponent({ this.beingUpdated = true; this.disableColor = "grey-5"; this.formData = this.modelValue; - this.formData.destination = this.modelValue.destination[0] + this.formData.destination = this.modelValue.destination[0]; } streamService diff --git a/web/src/components/dashboards/QueryEditor.vue b/web/src/components/dashboards/QueryEditor.vue index dd99c68f15..e61ea6916e 100644 --- a/web/src/components/dashboards/QueryEditor.vue +++ b/web/src/components/dashboards/QueryEditor.vue @@ -22,8 +22,8 @@ export default defineComponent({ }, readOnly: { type: Boolean, - default: false - } + default: false, + }, }, emits: ["update-query", "run-query", "update:query"], setup(props, { emit }) { @@ -185,11 +185,11 @@ export default defineComponent({ rules: [{ token: "comment", background: "FF0000" }], colors: { "editor.foreground": "#000000", - "editor.background": "#F7F7F7", + "editor.background": "#fafafa", "editorCursor.foreground": "#000000", - "editor.lineHighlightBackground": "#000000", - "editorLineNumber.foreground": "#000000", - "editor.border": "#000000", + "editor.lineHighlightBackground": "#FFFFFF", + "editorLineNumber.foreground": "#ececec", + "editor.border": "#ececec", }, }); @@ -271,7 +271,7 @@ export default defineComponent({ seedSearchStringFromSelection: "never", }, minimap: { enabled: false }, - readOnly: props.readOnly + readOnly: props.readOnly, }); editorObj.onDidChangeModelContent((e: any) => { @@ -287,7 +287,6 @@ export default defineComponent({ }, "ctrlenter" ); - }); const setValue = (value: string) => { @@ -295,16 +294,22 @@ export default defineComponent({ }; // update readonly when prop value changes - watch(() => props.readOnly, () => { - editorObj.updateOptions({ readOnly: props.readOnly }) - }) + watch( + () => props.readOnly, + () => { + editorObj.updateOptions({ readOnly: props.readOnly }); + } + ); // update readonly when prop value changes - watch(() => props.query, () => { - if(props.readOnly) { - editorObj.getModel().setValue(props.query) + watch( + () => props.query, + () => { + if (props.readOnly) { + editorObj.getModel().setValue(props.query); + } } - }) + ); return { editorRef, diff --git a/web/src/components/logBarChart.vue b/web/src/components/logBarChart.vue index b158fd3261..c645a57ce8 100644 --- a/web/src/components/logBarChart.vue +++ b/web/src/components/logBarChart.vue @@ -79,7 +79,7 @@ export default defineComponent({ ) => { trace.x = x; trace.y = y; - layout.title.text = params.title; + layout.title.text = params.title || ""; trace.unparsed_x = params.unparsed_x_data; Plotly.redraw("plotly_chart"); }; diff --git a/web/src/layouts/MainLayout.vue b/web/src/layouts/MainLayout.vue index 32d37de5fc..49983d9f41 100644 --- a/web/src/layouts/MainLayout.vue +++ b/web/src/layouts/MainLayout.vue @@ -323,6 +323,46 @@ export default defineComponent({ code: "zh-cn", icon: "img:" + getImageURL("images/language_flags/zh-cn.svg"), }, + { + label: "French", + code: "fr", + icon: "img:" + getImageURL("images/language_flags/fr.svg"), + }, + { + label: "Spanish", + code: "es", + icon: "img:" + getImageURL("images/language_flags/es.svg"), + }, + { + label: "German", + code: "de", + icon: "img:" + getImageURL("images/language_flags/de.svg"), + }, + { + label: "Italian", + code: "it", + icon: "img:" + getImageURL("images/language_flags/it.svg"), + }, + { + label: "Japanese", + code: "ja", + icon: "img:" + getImageURL("images/language_flags/ja.svg"), + }, + { + label: "Korean", + code: "ko", + icon: "img:" + getImageURL("images/language_flags/ko.svg"), + }, + { + label: "Dutch", + code: "nl", + icon: "img:" + getImageURL("images/language_flags/nl.svg"), + }, + { + label: "Portuguese", + code: "pt", + icon: "img:" + getImageURL("images/language_flags/pt.svg"), + }, ]; const local = ref(getLocale()); diff --git a/web/src/locales/index.ts b/web/src/locales/index.ts index 6c8412282d..deec910a04 100644 --- a/web/src/locales/index.ts +++ b/web/src/locales/index.ts @@ -20,6 +20,14 @@ import { getLanguage } from "../utils/cookies"; import zhLocale from "./languages/zh.json"; import enLocale from "./languages/en.json"; import trLocale from "./languages/tr.json"; +import deLocale from "./languages/de.json"; +import esLocale from "./languages/es.json"; +import frLocale from "./languages/fr.json"; +import itLocale from "./languages/it.json"; +import jaLocale from "./languages/ja.json"; +import koLocale from "./languages/ko.json"; +import nlLocale from "./languages/nl.json"; +import ptLocale from "./languages/pt.json"; const messages = { @@ -32,6 +40,30 @@ const messages = { "tr-turk": { ...trLocale, }, + "de": { + ...deLocale, + }, + "es": { + ...esLocale, + }, + "fr": { + ...frLocale, + }, + "it": { + ...itLocale, + }, + "ja": { + ...jaLocale, + }, + "ko": { + ...koLocale, + }, + "nl": { + ...nlLocale, + }, + "pt": { + ...ptLocale, + }, }; export const getLocale = () => { diff --git a/web/src/locales/languages/de.json b/web/src/locales/languages/de.json new file mode 100644 index 0000000000..76912ef907 --- /dev/null +++ b/web/src/locales/languages/de.json @@ -0,0 +1,309 @@ +{ + "search": { + "selectIndex": "Wähle „Zuerst streamen“", + "typeSearch": "Geben Sie hier Ihre Suchanfrage ein", + "searchField": "Suche nach einem Feld", + "maxRecords": "Max. Anzahl zurückzugekehrter Datensätze", + "searchResult": "Ergebnisse der Suche", + "resultsFound": "Ergebnisse gefunden", + "timestamp": "Zeitstempel", + "source": "_quelle", + "noResult": "Kein Ergebnis", + "syntaxGuide": "Leitfaden zur Syntax", + "recordsPerPage": "Datensätze pro Seite", + "showing": "Zeigt", + "of": "von", + "rowDetail": "Angaben zur Quelle", + "sourceName": "Name", + "sourceValue": "Wert", + "searchStream": "Stream suchen", + "showQueryLabel": "Anfrage", + "showFieldLabel": "Felder", + "showHistogramLabel": "Histogramm", + "sqlModeLabel": "SQL-Modus" + }, + "menu": { + "home": "Zuhause", + "about": "Über", + "user": "Nutzer", + "index": "Streams", + "search": "Logs", + "template": "Vorlage", + "signOut": "Abmelden", + "account": "Konto", + "feedback": "Rückmeldung", + "zincSearch": "Zinksuche", + "documentation": "Dokumente", + "tickets": "Fahrkarte", + "organizations": "Organisationen", + "function": "Funktionen", + "ingestion": "Verschlucken", + "metrics": "Metriken", + "slack": "Hilfe", + "dashboard": "Dashboards", + "alerts": "Warnmeldungen", + "openapi": "OpenAPI", + "docs": "Dokumente" + }, + "about": { + "name": "Zink", + "introduction": "Beobachtbarkeit vereinfacht." + }, + "login": { + "userid": "Benutzer-ID", + "userEmail": "Benutzer-E-Mail", + "signIn": "Loggen Sie sich ein", + "signUp": "Melde dich an", + "password": "Passwort", + "cnfpassword": "Bestätigen Sie das Passwort", + "singnInWithGoogle": "Weiter mit Google" + }, + "user": { + "header": "Mitglied der Organisation", + "id": "Benutzer-ID", + "name": "Nutzername", + "role": "Rolle", + "CREATED": "ERSTELLT", + "UPDATED": "AKTUALISIERT", + "password": "Passwort", + "repassword": "Passwort erneut bestätigen", + "addOrUpdate": "Benutzer hinzufügen/aktualisieren", + "editUser": "Benutzer aktualisieren", + "add": "Nutzer hinzufügen", + "search": "Benutzer suchen", + "createdAt": "Aktualisiert am", + "updatedAt": "Erstellt am", + "status": "Status", + "ID": "id", + "email": "E-Mail", + "cognitoSub": "Cognito_SUB", + "firstName": "Vorname", + "lastName": "Nachname", + "actions": "Aktionen", + "memberCreated": "Mitglied erstellt", + "memberUpdated": "Mitglied aktualisiert", + "updateRole": "Rolle aktualisieren", + "orgMemberId": "Mitglieds-ID der Organisation", + "view": "Ansicht", + "update": "Aktualisieren", + "delete": "Löschen", + "confirmDeleteHead": "Nutzer löschen", + "confirmDeleteMsg": "Möchten Sie diesen Benutzer wirklich löschen?", + "cancel": "Stornieren", + "save": "Speichern", + "ok": "Okay", + "updatenotallowed": "Update für Besitzer nicht erlaubt", + "sendInvite": "Einladung senden", + "inviteByEmail": "Per E-Mail einladen. Mehrere E-Mails, getrennt durch ein Semikolon (;)", + "inviteByEmailHint": "Für das Hinzufügen eines Mitglieds wird Ihnen ein anteiler Betrag in Rechnung gestellt.", + "admin": "Administrator", + "member": "Mitglied", + "changePassword": "Passwort ändern", + "oldPassword": "Altes Passwort", + "newPassword": "Neues Passwort" + }, + "ticket": { + "header": "Tickets für den Support", + "add": "Ticket hinzufügen", + "save": "Speichern", + "update": "Aktualisieren", + "delete": "Ticket löschen", + "search": "Ticket suchen", + "subject": "Betreff", + "description": "Beschreibung", + "id": "Ticket-ID", + "createdAt": "Erstellt am", + "updatedAt": "Aktualisiert am", + "status": "Status", + "comments": "Kommentare", + "addComments": "Kommentare hinzufügen", + "attachments": "Anlagen", + "noDataErrorMsg": "Keine Daten verfügbar", + "createTicket": "Ticket erstellen", + "updateTicket": "Ticket aktualisieren", + "inputTextHolder": "Tippe hier", + "selectHolder": "Wählen", + "cancel": "Stornieren" + }, + "organization": { + "header": "Organisationen", + "orgName": "Name der Organisation", + "createOrganization": "Organisation erstellen", + "updateOrganization": "Organisation aktualisieren", + "nameHolder": "Geben Sie hier den Namen ein", + "add": "Organisation hinzufügen", + "save": "Speichern", + "cancel": "Stornieren", + "delete": "Organisation löschen", + "search": "Organisation suchen", + "subject": "Betreff", + "description": "Beschreibung", + "id": "Organisations-ID", + "createdAt": "Erstellt am", + "updatedAt": "Aktualisiert am", + "status": "Status", + "invite": "Teamkollege einladen", + "name": "Name", + "type": "Typ", + "owner": "Besitzer", + "created": "Erstellt", + "actions": "Aktionen", + "emailLabel": "Geben Sie die E-Mail-ID ein", + "emailHolder": "Geben Sie hier die E-Mail-ID ein", + "note": "Hinweis: Drücken Sie die Eingabetaste, um mehrere Teammitglieder hinzuzufügen.", + "identifier": "Identifier", + "copyapikey": "API-Schlüssel kopieren", + "getapikey": "API-Schlüssel abrufen", + "role": "Rolle", + "nameRequired": "Name ist erforderlich" + }, + "template": { + "header": "Vorlagen", + "add": "Vorlage hinzufügen", + "search": "Vorlage für die Suche" + }, + "logStream": { + "header": "Streams", + "search": "Stream suchen", + "name": "Name", + "docNum": "Dokument Nr.", + "storageSize": "Aufgenommene Daten", + "compressedSize": "Komprimierte Größe", + "time": "Zeit", + "storageType": "Art des Speichers", + "shardNum": "Shard-Nummer", + "schemaHeader": "Stream-Detail", + "streamSettings": "Stream-Einstellungen", + "streamPartitionKey": "Partitionsschlüssel", + "streamftsKey": "Volltext-Suchschlüssel", + "delete": "Löschen", + "deleteIndex": "Stream löschen", + "confirmDeleteHead": "Stream löschen", + "confirmDeleteMsg": "Bist du sicher, dass du diesen Stream löschen möchtest?", + "cancel": "Stornieren", + "ok": "Okay", + "docsCount": "Anzahl Dokumente", + "mapping": "Kartierung", + "propertyName": "Name der Immobilie", + "propertyType": "Art der Immobilie", + "type": "Typ", + "refreshStats": "Statistiken aktualisieren", + "updateSettings": "Einstellungen aktualisieren" + }, + "function": { + "header": "Funktionen", + "add": "Neue Funktion erstellen", + "search": "Suchfunktion", + "name": "Name", + "function": "Detail der Funktion", + "save": "Speichern", + "jsfunction": "Funktion", + "stream_name": "Name des Streams", + "order": "Bestellung", + "ingest": "Funktioniert Ingest Time?", + "actions": "Aktionen", + "cancel": "Stornieren", + "addTitle": "Funktion hinzufügen", + "updateTitle": "Funktion aktualisieren", + "delete": "Löschen", + "ok": "Okay", + "type": "Art der Funktion", + "showQuery": "Funktioniert Ingest Time?" + }, + "confirmDialog": { + "cancel": "Stornieren", + "ok": "Okay" + }, + "ingestion": { + "header": "Verschlucken", + "passwordLabel": "Token zurücksetzen" + }, + "dashboard": { + "header": "Dashboards", + "add": "Dashboard hinzufügen", + "save": "Speichern", + "cancel": "Stornieren", + "delete": "Dashboard löschen", + "search": "Dashboard durchsuchen", + "name": "Name des Dashboards", + "typeDesc": "Typbeschreibung des Dashboards", + "createdashboard": "Neues Dashboard erstellen", + "nameHolder": "Geben Sie den Namen des neuen Dashboards ein", + "typeHolder": "Geben Sie die Typbeschreibung des neuen Dashboards ein" + }, + "panel": { + "header": "Paneel", + "add": "Panel hinzufügen", + "save": "Speichern", + "cancel": "Stornieren", + "delete": "Panel löschen", + "search": "Panel „Suchen“", + "name": "Name des Panels", + "typeDesc": "Beschreibung", + "createdashboard": "Neues Panel erstellen", + "nameHolder": "Geben Sie den Namen des neuen Panels ein", + "typeHolder": "Geben Sie die Typbeschreibung des neuen Panels ein", + "editPanel": "Bedienfeld bearbeiten" + }, + "alerts": { + "header": "Warnmeldungen", + "add": "Warnung hinzufügen", + "search": "Suchwarnung", + "name": "Name", + "function": "Einzelheiten der Warnung", + "save": "Speichern", + "sql": "Anfrage", + "realTime": "Echtzeit", + "scheduled": "Geplant", + "duration": "Dauer, für die die Warnung ausgewertet wird", + "condition": "Zustand", + "interval": "Häufigkeit, mit der die Warnung ausgewertet wird", + "delayNotificationUntil": "Benachrichtigung verzögern bis, nach einer Benachrichtigung", + "destination": "Reiseziel", + "stream_name": "Name des Streams", + "actions": "Aktionen", + "cancel": "Stornieren", + "addTitle": "Warnung hinzufügen", + "updateTitle": "Warnung aktualisieren", + "delete": "Löschen" + }, + "home": { + "streams": "Streams", + "totalDataIngested": "Gesamtzahl der aufgenommenen Daten", + "view": "Mehr anzeigen>>", + "queryFunctions": "Funktionen abfragen", + "ingestFunctions": "Funktionen aufnehmen", + "scheduledAlert": "Geplante Benachrichtigungen", + "rtAlert": "Benachrichtigungen in Echtzeit", + "noData": "Keine Daten aufgenommen", + "findIngestion": "Finden Sie heraus, wie Sie Logs aufnehmen können >>", + "ingestionMsg": "Sieht so aus, als ob Sie keine Daten in die ausgewählte Organisation aufgenommen haben. Es gibt verschiedene Möglichkeiten, wie Daten wie Fluentbit aufgenommen werden können.", + "inestedInSearch": "Testen Sie Logs Search", + "searchInDemoOrg": "Sie können die Suchmöglichkeiten erkunden, indem Sie zur Demo-Organisation wechseln. Um zur Demo-Organisation zu wechseln, wählen Sie „Demo-Organisation“ über das Drop-down-Menü für die Organisation aus. Wir erfassen ständig Dummy-Daten in die Demo-Organisation." + }, + "billing": { + "header": "Nutzung und Abrechnung", + "plans": "Pläne", + "subtitle": "Einfache, transparente Preisgestaltung", + "individuals": "Für Einzelpersonen", + "startups": "Für Startups", + "basic": "Grundlegend", + "pro": "Profi", + "whatIsIncluded": "Was ist enthalten", + "subscribed": "Abonniert", + "getStarted": "Fangen Sie an", + "paymentMethod": "Zahlungsmethode", + "invoiceHistory": "Verlauf der Rechnungen", + "generatedAt": "Generiert am", + "details": "Einzelheiten", + "amount": "Betrag", + "amountPaid": "Gezahlter Betrag", + "amountDue": "Fälliger Betrag", + "dueDate": "Fälligkeitsdatum", + "status": "Status", + "action": "Aktion", + "usage": "Verwendungszweck", + "manageCards": "Karten verwalten", + "subscriptionCheckout": "Abonnement-Checkout" + } +} \ No newline at end of file diff --git a/web/src/locales/languages/es.json b/web/src/locales/languages/es.json new file mode 100644 index 0000000000..f26e8b2dbf --- /dev/null +++ b/web/src/locales/languages/es.json @@ -0,0 +1,309 @@ +{ + "search": { + "selectIndex": "Primero selecciona Stream", + "typeSearch": "Escriba aquí su consulta de búsqueda", + "searchField": "Buscar un campo", + "maxRecords": "Cantidad máxima de registros a devolver", + "searchResult": "Resultados de búsqueda", + "resultsFound": "Resultados encontrados", + "timestamp": "marca de tiempo", + "source": "_fuente", + "noResult": "Sin resultado", + "syntaxGuide": "Guía de sintaxis", + "recordsPerPage": "Registros por página", + "showing": "Mostrando", + "of": "de", + "rowDetail": "Detalles de la fuente", + "sourceName": "Nombre", + "sourceValue": "Valor", + "searchStream": "Secuencia de búsqueda", + "showQueryLabel": "Consulta", + "showFieldLabel": "Campos", + "showHistogramLabel": "Histograma", + "sqlModeLabel": "Modo SQL" + }, + "menu": { + "home": "Casa", + "about": "Sobre", + "user": "Usuarios", + "index": "Corrientes", + "search": "Registros", + "template": "Plantilla", + "signOut": "Cerrar sesión", + "account": "Cuenta", + "feedback": "Retroalimentación", + "zincSearch": "Búsqueda de zinc", + "documentation": "Documentos", + "tickets": "Boleto", + "organizations": "Organizaciones", + "function": "Funciones", + "ingestion": "Ingestión", + "metrics": "Métricas", + "slack": "Ayudar", + "dashboard": "Cuadros de mando", + "alerts": "Alertas", + "openapi": "API abierta", + "docs": "Documentos" + }, + "about": { + "name": "Zinc", + "introduction": "Observabilidad simplificada." + }, + "login": { + "userid": "ID de usuario", + "userEmail": "Correo electrónico del usuario", + "signIn": "Iniciar sesión", + "signUp": "Inscríbase", + "password": "Contraseña", + "cnfpassword": "Confirme la contraseña", + "singnInWithGoogle": "Continuar con Google" + }, + "user": { + "header": "Miembro de la organización", + "id": "ID de usuario", + "name": "Nombre de usuario", + "role": "Función", + "CREATED": "CREADO", + "UPDATED": "ACTUALIZADO", + "password": "Contraseña", + "repassword": "Vuelva a confirmar la contraseña", + "addOrUpdate": "Añadir/actualizar usuario", + "editUser": "Actualizar usuario", + "add": "Agregar usuario", + "search": "Buscar usuario", + "createdAt": "Actualizado en", + "updatedAt": "Creado en", + "status": "Estado", + "ID": "carné", + "email": "Correo", + "cognitoSub": "Cognito_sub", + "firstName": "Nombre de pila", + "lastName": "Apellido", + "actions": "Acciones", + "memberCreated": "Miembro creado", + "memberUpdated": "Miembro actualizado", + "updateRole": "Actualizar rol", + "orgMemberId": "ID de miembro de la organización", + "view": "Ver", + "update": "Actualizar", + "delete": "Borrar", + "confirmDeleteHead": "Eliminar usuario", + "confirmDeleteMsg": "¿Está seguro de que desea eliminar este usuario?", + "cancel": "Cancelar", + "save": "Guardar", + "ok": "De acuerdo", + "updatenotallowed": "Actualización no permitida para el propietario", + "sendInvite": "Enviar invitación", + "inviteByEmail": "Invitar por correo electrónico. Varios correos electrónicos separados por punto y coma (;)", + "inviteByEmailHint": "Se te cobrará una cantidad prorrateada por añadir un miembro.", + "admin": "administrador", + "member": "miembro", + "changePassword": "Cambiar contraseña", + "oldPassword": "Contraseña antigua", + "newPassword": "Contraseña nueva" + }, + "ticket": { + "header": "Tickets de soporte", + "add": "Añadir billete", + "save": "Guardar", + "update": "Actualizar", + "delete": "Eliminar billete", + "search": "Ticket de búsqueda", + "subject": "Asunto", + "description": "Descripción", + "id": "ID del billete", + "createdAt": "Creado en", + "updatedAt": "Actualizado en", + "status": "Estado", + "comments": "Comentarios", + "addComments": "Agregar comentarios", + "attachments": "Adjuntos", + "noDataErrorMsg": "No hay datos disponibles", + "createTicket": "Crear ticket", + "updateTicket": "Actualizar ticket", + "inputTextHolder": "Escriba aquí", + "selectHolder": "Seleccione", + "cancel": "Cancelar" + }, + "organization": { + "header": "Organizaciones", + "orgName": "Nombre de la organización", + "createOrganization": "Crear organización", + "updateOrganization": "Actualizar organización", + "nameHolder": "Escriba el nombre aquí", + "add": "Agregar organización", + "save": "Guardar", + "cancel": "Cancelar", + "delete": "Eliminar organización", + "search": "Organización de búsqueda", + "subject": "Asunto", + "description": "Descripción", + "id": "ID de la organización", + "createdAt": "Creado en", + "updatedAt": "Actualizado en", + "status": "Estado", + "invite": "Invitar a un compañero", + "name": "Nombre", + "type": "Teclea", + "owner": "Propietario", + "created": "Creado", + "actions": "Acciones", + "emailLabel": "Introducir ID de correo electrónico", + "emailHolder": "Escriba la ID de correo electrónico aquí", + "note": "Nota: Presiona enter para añadir varios compañeros de equipo.", + "identifier": "Identificador", + "copyapikey": "Copiar clave de API", + "getapikey": "Obtenga la clave de API", + "role": "Función", + "nameRequired": "El nombre es obligatorio" + }, + "template": { + "header": "Plantillas", + "add": "Agregar plantilla", + "search": "Plantilla de búsqueda" + }, + "logStream": { + "header": "Corrientes", + "search": "Secuencia de búsqueda", + "name": "Nombre", + "docNum": "Doc Num", + "storageSize": "Datos ingeridos", + "compressedSize": "Tamaño comprimido", + "time": "Hora", + "storageType": "Tipo de almacenamiento", + "shardNum": "Número de fragmento", + "schemaHeader": "Detalle de transmisión", + "streamSettings": "Configuración de transmisión", + "streamPartitionKey": "Clave de partición", + "streamftsKey": "Clave de búsqueda de texto completo", + "delete": "Borrar", + "deleteIndex": "Eliminar transmisión", + "confirmDeleteHead": "Eliminar transmisión", + "confirmDeleteMsg": "¿Estás seguro de que quieres eliminar esta transmisión?", + "cancel": "Cancelar", + "ok": "De acuerdo", + "docsCount": "Recuento de documentos", + "mapping": "Cartografía", + "propertyName": "Nombre de propiedad", + "propertyType": "Tipo de propiedad", + "type": "Teclea", + "refreshStats": "Actualizar estadísticas", + "updateSettings": "Actualizar la configuración" + }, + "function": { + "header": "Funciones", + "add": "Crear nueva función", + "search": "Función de búsqueda", + "name": "Nombre", + "function": "Detalle de la función", + "save": "Guardar", + "jsfunction": "Función", + "stream_name": "Nombre de transmisión", + "order": "Orden", + "ingest": "¿Funciona el tiempo de ingesta?", + "actions": "Acciones", + "cancel": "Cancelar", + "addTitle": "Añadir función", + "updateTitle": "Función de actualización", + "delete": "Borrar", + "ok": "De acuerdo", + "type": "Tipo de función", + "showQuery": "¿Funciona el tiempo de ingesta?" + }, + "confirmDialog": { + "cancel": "Cancelar", + "ok": "De acuerdo" + }, + "ingestion": { + "header": "Ingestión", + "passwordLabel": "Token de restablecimiento" + }, + "dashboard": { + "header": "Cuadros de mando", + "add": "Agregar panel", + "save": "Guardar", + "cancel": "Cancelar", + "delete": "Eliminar panel", + "search": "Panel de búsqueda", + "name": "Nombre del panel", + "typeDesc": "Descripción del tipo del panel", + "createdashboard": "Crear un panel nuevo", + "nameHolder": "Introduzca el nombre del nuevo panel", + "typeHolder": "Introduzca la descripción del tipo del nuevo panel" + }, + "panel": { + "header": "Panel", + "add": "Agregar panel", + "save": "Guardar", + "cancel": "Cancelar", + "delete": "Eliminar panel", + "search": "Panel de búsqueda", + "name": "Nombre del panel", + "typeDesc": "Descripción", + "createdashboard": "Crear un panel nuevo", + "nameHolder": "Introduzca el nombre del nuevo panel", + "typeHolder": "Introduzca la descripción del tipo del nuevo panel", + "editPanel": "Panel de edición" + }, + "alerts": { + "header": "Alertas", + "add": "Añadir alerta", + "search": "Alerta de búsqueda", + "name": "Nombre", + "function": "Detalles de la alerta", + "save": "Guardar", + "sql": "Consulta", + "realTime": "En tiempo real", + "scheduled": "Programado", + "duration": "Duración durante la que se evalúa la alerta", + "condition": "Condición", + "interval": "Frecuencia con la que se evalúa la alerta", + "delayNotificationUntil": "Retrasar la notificación hasta, después de una notificación", + "destination": "Destino", + "stream_name": "Nombre de transmisión", + "actions": "Acciones", + "cancel": "Cancelar", + "addTitle": "Añadir alerta", + "updateTitle": "Alerta de actualización", + "delete": "Borrar" + }, + "home": { + "streams": "Corrientes", + "totalDataIngested": "Datos totales ingeridos", + "view": "Ver más>>", + "queryFunctions": "Funciones de consulta", + "ingestFunctions": "Funciones de ingestión", + "scheduledAlert": "Alertas programadas", + "rtAlert": "Alertas en tiempo real", + "noData": "No se han ingerido datos", + "findIngestion": "Descubra cómo ingerir registros >>", + "ingestionMsg": "Parece que no has ingerido ningún dato para la organización seleccionada. Hay varias formas de ingerir datos, como Fluentbit.", + "inestedInSearch": "Prueba Logs Search", + "searchInDemoOrg": "Puede explorar las capacidades de búsqueda cambiando a la organización de demostración. Para cambiar a la organización de demostración, seleccione «Organización de demostración» en el menú desplegable de organizaciones de la parte superior. Seguimos ingresando datos ficticios para la organización de demostración." + }, + "billing": { + "header": "Uso y facturación", + "plans": "Planes", + "subtitle": "Precios simples y transparentes", + "individuals": "Para particulares", + "startups": "Para empresas emergentes", + "basic": "Básico", + "pro": "Pro", + "whatIsIncluded": "Qué está incluido", + "subscribed": "Suscrito", + "getStarted": "Empezar", + "paymentMethod": "Método de pago", + "invoiceHistory": "Historial de facturas", + "generatedAt": "Generado en", + "details": "Detalles", + "amount": "Cantidad", + "amountPaid": "Monto pagado", + "amountDue": "Monto adeudado", + "dueDate": "Fecha de vencimiento", + "status": "Estado", + "action": "Acción", + "usage": "Uso", + "manageCards": "Administrar tarjetas", + "subscriptionCheckout": "Pago de la suscripción" + } +} \ No newline at end of file diff --git a/web/src/locales/languages/fr.json b/web/src/locales/languages/fr.json new file mode 100644 index 0000000000..b8c6b91dc0 --- /dev/null +++ b/web/src/locales/languages/fr.json @@ -0,0 +1,309 @@ +{ + "search": { + "selectIndex": "Sélectionnez Stream First", + "typeSearch": "Entrez votre requête de recherche ici", + "searchField": "Rechercher un champ", + "maxRecords": "Nombre maximum d'enregistrements à renvoyer", + "searchResult": "Résultats de recherche", + "resultsFound": "Résultats trouvés", + "timestamp": "horodatage", + "source": "_source", + "noResult": "Aucun résultat", + "syntaxGuide": "Guide de syntaxe", + "recordsPerPage": "Enregistrements par page", + "showing": "Montrant", + "of": "de", + "rowDetail": "Détails de la source", + "sourceName": "Nom", + "sourceValue": "Valeur", + "searchStream": "Flux de recherche", + "showQueryLabel": "Requête", + "showFieldLabel": "Champs", + "showHistogramLabel": "Histogramme", + "sqlModeLabel": "Mode SQL" + }, + "menu": { + "home": "Accueil", + "about": "À propos", + "user": "Utilisateurs", + "index": "Ruisseaux", + "search": "Journaux", + "template": "Modèle", + "signOut": "Déconnectez-vous", + "account": "Compte", + "feedback": "Feedback", + "zincSearch": "Recherche de zinc", + "documentation": "Documents", + "tickets": "Billet", + "organizations": "Organisations", + "function": "Fonctions", + "ingestion": "Ingestion", + "metrics": "Métriques", + "slack": "Aide", + "dashboard": "Tableaux de bord", + "alerts": "Alertes", + "openapi": "API ouverte", + "docs": "Documents" + }, + "about": { + "name": "Zinc", + "introduction": "Observabilité simplifiée." + }, + "login": { + "userid": "ID utilisateur", + "userEmail": "Adresse e-mail de l'utilisateur", + "signIn": "Se connecter", + "signUp": "S'inscrire", + "password": "Mot de passe", + "cnfpassword": "Confirmer mot de passe", + "singnInWithGoogle": "Continuer avec Google" + }, + "user": { + "header": "Membre de l'organisation", + "id": "ID utilisateur", + "name": "Nom d'utilisateur", + "role": "Rôle", + "CREATED": "CRÉÉ", + "UPDATED": "MIS À JOUR", + "password": "Mot de passe", + "repassword": "Reconfirmer le mot de passe", + "addOrUpdate": "Ajouter/mettre à jour un utilisateur", + "editUser": "Mettre à jour l'utilisateur", + "add": "Ajouter un utilisateur", + "search": "Rechercher un utilisateur", + "createdAt": "Mis à jour à", + "updatedAt": "Créé à", + "status": "Statut", + "ID": "identifiant", + "email": "Courrier électronique", + "cognitoSub": "Cognito_Sub", + "firstName": "Prénom", + "lastName": "Nom", + "actions": "Actions", + "memberCreated": "Membre créé", + "memberUpdated": "Membre mis à jour", + "updateRole": "Mettre à jour le rôle", + "orgMemberId": "Numéro de membre de l'organisation", + "view": "Voir", + "update": "Mise à jour", + "delete": "Supprimer", + "confirmDeleteHead": "Supprimer un utilisateur", + "confirmDeleteMsg": "Êtes-vous sûr de vouloir supprimer cet utilisateur ?", + "cancel": "Annuler", + "save": "Enregistrer", + "ok": "D'accord", + "updatenotallowed": "Mise à jour non autorisée pour le propriétaire", + "sendInvite": "Envoyer une invitation", + "inviteByEmail": "Invitez par e-mail. Plusieurs e-mails séparés par des points-virgules (;)", + "inviteByEmailHint": "Un montant calculé au prorata vous sera facturé pour l'ajout d'un membre.", + "admin": "administrateur", + "member": "membre", + "changePassword": "Changer le mot de passe", + "oldPassword": "Ancien mot de passe", + "newPassword": "Nouveau mot de passe" + }, + "ticket": { + "header": "Tickets d'assistance", + "add": "Ajouter un ticket", + "save": "Enregistrer", + "update": "Mise à jour", + "delete": "Supprimer le ticket", + "search": "Ticket de recherche", + "subject": "Sujet", + "description": "Descriptif", + "id": "Identifiant du billet", + "createdAt": "Créé à", + "updatedAt": "Mis à jour à", + "status": "Statut", + "comments": "Commentaires", + "addComments": "Ajouter des commentaires", + "attachments": "Pièces jointes", + "noDataErrorMsg": "Aucune donnée disponible", + "createTicket": "Créer un ticket", + "updateTicket": "Mettre à jour le ticket", + "inputTextHolder": "Tapez ici", + "selectHolder": "Sélectionnez", + "cancel": "Annuler" + }, + "organization": { + "header": "Organisations", + "orgName": "Nom de l'organisation", + "createOrganization": "Créer une organisation", + "updateOrganization": "Mettre à jour l'organisation", + "nameHolder": "Tapez le nom ici", + "add": "Ajouter une organisation", + "save": "Enregistrer", + "cancel": "Annuler", + "delete": "Supprimer l'organisation", + "search": "Organisation de recherche", + "subject": "Sujet", + "description": "Descriptif", + "id": "Identifiant de l'organisation", + "createdAt": "Créé à", + "updatedAt": "Mis à jour à", + "status": "Statut", + "invite": "Inviter un coéquipier", + "name": "Nom", + "type": "Type", + "owner": "Propriétaire", + "created": "Créé", + "actions": "Actions", + "emailLabel": "Entrez votre adresse e-mail", + "emailHolder": "Entrez votre adresse e-mail ici", + "note": "Remarque : Appuyez sur Entrée pour ajouter plusieurs coéquipiers.", + "identifier": "Identifiant", + "copyapikey": "Copier la clé d'API", + "getapikey": "Obtenir la clé d'API", + "role": "Rôle", + "nameRequired": "Le nom est obligatoire" + }, + "template": { + "header": "Modèles", + "add": "Ajouter un modèle", + "search": "Modèle de recherche" + }, + "logStream": { + "header": "Ruisseaux", + "search": "Flux de recherche", + "name": "Nom", + "docNum": "Numéro du document", + "storageSize": "Données ingérées", + "compressedSize": "Taille compressée", + "time": "Heure", + "storageType": "Type de stockage", + "shardNum": "Numéro de partition", + "schemaHeader": "Détail du stream", + "streamSettings": "Paramètres de diffusion", + "streamPartitionKey": "Clé de partition", + "streamftsKey": "Clé de recherche en texte intégral", + "delete": "Supprimer", + "deleteIndex": "Supprimer le flux", + "confirmDeleteHead": "Supprimer le flux", + "confirmDeleteMsg": "Êtes-vous sûr de vouloir supprimer ce Stream ?", + "cancel": "Annuler", + "ok": "D'accord", + "docsCount": "Nombre de documents", + "mapping": "Cartographie", + "propertyName": "Nom de la propriété", + "propertyType": "Type de propriété", + "type": "Type", + "refreshStats": "Actualiser les statistiques", + "updateSettings": "Paramètres de mise à jour" + }, + "function": { + "header": "Fonctions", + "add": "Créer une nouvelle fonction", + "search": "Fonction de recherche", + "name": "Nom", + "function": "Détail de la fonction", + "save": "Enregistrer", + "jsfunction": "Fonction", + "stream_name": "Nom du stream", + "order": "Ordre", + "ingest": "Le temps d'ingestion fonctionne-t-il ?", + "actions": "Actions", + "cancel": "Annuler", + "addTitle": "Ajouter une fonction", + "updateTitle": "Fonction de mise à jour", + "delete": "Supprimer", + "ok": "D'accord", + "type": "Type de fonction", + "showQuery": "Le temps d'ingestion fonctionne-t-il ?" + }, + "confirmDialog": { + "cancel": "Annuler", + "ok": "D'accord" + }, + "ingestion": { + "header": "Ingestion", + "passwordLabel": "Réinitialiser le jeton" + }, + "dashboard": { + "header": "Tableaux de bord", + "add": "Ajouter un tableau de bord", + "save": "Enregistrer", + "cancel": "Annuler", + "delete": "Supprimer le tableau de bord", + "search": "Tableau de bord de recherche", + "name": "Nom du tableau de bord", + "typeDesc": "Description du type de tableau de bord", + "createdashboard": "Création d'un nouveau tableau de bord", + "nameHolder": "Entrez le nom du nouveau tableau de bord", + "typeHolder": "Entrez la description du type du nouveau tableau de bord" + }, + "panel": { + "header": "Panneau", + "add": "Ajouter un panneau", + "save": "Enregistrer", + "cancel": "Annuler", + "delete": "Supprimer le panneau", + "search": "Panneau de recherche", + "name": "Nom du panel", + "typeDesc": "Descriptif", + "createdashboard": "Création d'un nouveau panneau", + "nameHolder": "Entrez le nom du nouveau panneau", + "typeHolder": "Entrez la description du type du nouveau panneau", + "editPanel": "Panneau d'édition" + }, + "alerts": { + "header": "Alertes", + "add": "Ajouter une alerte", + "search": "Alerte de recherche", + "name": "Nom", + "function": "Détails de l'alerte", + "save": "Enregistrer", + "sql": "Requête", + "realTime": "En temps réel", + "scheduled": "Programmé", + "duration": "Durée pour laquelle l'alerte est évaluée", + "condition": "État", + "interval": "Fréquence à laquelle l'alerte est évaluée", + "delayNotificationUntil": "Retarder la notification jusqu'à ce que, après une notification", + "destination": "Destination", + "stream_name": "Nom du stream", + "actions": "Actions", + "cancel": "Annuler", + "addTitle": "Ajouter une alerte", + "updateTitle": "Mettre à jour l'alerte", + "delete": "Supprimer" + }, + "home": { + "streams": "Ruisseaux", + "totalDataIngested": "Total des données ingérées", + "view": "Afficher plus>>", + "queryFunctions": "Fonctions de requête", + "ingestFunctions": "Fonctions d'ingestion", + "scheduledAlert": "Alertes programmées", + "rtAlert": "Alertes en temps réel", + "noData": "Aucune donnée ingérée", + "findIngestion": "Découvrez comment ingérer des logs >>", + "ingestionMsg": "Il semblerait que vous n'ayez ingéré aucune donnée dans l'organisation sélectionnée. Les données peuvent être ingérées de différentes manières, comme Fluentbit.", + "inestedInSearch": "Essayez Logs Search", + "searchInDemoOrg": "Vous pouvez explorer les fonctionnalités de recherche en passant à l'organisation de démonstration. Pour passer à l'organisation de démonstration, sélectionnez « Organisation de démonstration » en utilisant la liste déroulante d'organisation en haut. Nous continuons à ingérer des données fictives dans Demo Organization." + }, + "billing": { + "header": "Utilisation et facturation", + "plans": "Des plans", + "subtitle": "Tarification simple et transparente", + "individuals": "Pour les particuliers", + "startups": "Pour les startups", + "basic": "Basique", + "pro": "Pro", + "whatIsIncluded": "Ce qui est inclus", + "subscribed": "Abonné", + "getStarted": "Lancez-vous", + "paymentMethod": "Mode de paiement", + "invoiceHistory": "Historique des factures", + "generatedAt": "Généré à", + "details": "Détails", + "amount": "Montant", + "amountPaid": "Montant payé", + "amountDue": "Montant dû", + "dueDate": "Date d'échéance", + "status": "Statut", + "action": "Action", + "usage": "Usage", + "manageCards": "Gérer les cartes", + "subscriptionCheckout": "Paiement de l'abonnement" + } +} \ No newline at end of file diff --git a/web/src/locales/languages/it.json b/web/src/locales/languages/it.json new file mode 100644 index 0000000000..eb9a114024 --- /dev/null +++ b/web/src/locales/languages/it.json @@ -0,0 +1,309 @@ +{ + "search": { + "selectIndex": "Seleziona prima lo streaming", + "typeSearch": "Digita qui la tua richiesta di ricerca", + "searchField": "Cerca un campo", + "maxRecords": "Numero massimo di record da restituire", + "searchResult": "Risultati della ricerca", + "resultsFound": "Risultati trovati", + "timestamp": "timestamp", + "source": "_fonte", + "noResult": "Nessun risultato", + "syntaxGuide": "Guida alla sintassi", + "recordsPerPage": "Record per pagina", + "showing": "Mostrando", + "of": "di", + "rowDetail": "Dettagli della fonte", + "sourceName": "Nome", + "sourceValue": "Valore", + "searchStream": "Stream di ricerca", + "showQueryLabel": "Interrogazione", + "showFieldLabel": "Campi", + "showHistogramLabel": "Istogramma", + "sqlModeLabel": "Modalità SQL" + }, + "menu": { + "home": "Casa", + "about": "Informazioni su", + "user": "Utenti", + "index": "Flussi", + "search": "Registri", + "template": "Modello", + "signOut": "Esci", + "account": "Conto", + "feedback": "Feedback", + "zincSearch": "Ricerca in zinco", + "documentation": "Documenti", + "tickets": "Biglietto", + "organizations": "Organizzazioni", + "function": "Funzioni", + "ingestion": "Ingestione", + "metrics": "Metriche", + "slack": "Aiuto", + "dashboard": "Pannelli di controllo", + "alerts": "Avvisi", + "openapi": "API aperta", + "docs": "Documenti" + }, + "about": { + "name": "Zinco", + "introduction": "Osservabilità semplificata." + }, + "login": { + "userid": "ID utente", + "userEmail": "Email dell'utente", + "signIn": "Effettua l'accesso", + "signUp": "Registrati", + "password": "Password", + "cnfpassword": "Conferma la password", + "singnInWithGoogle": "Continua con Google" + }, + "user": { + "header": "Membro dell'organizzazione", + "id": "ID utente", + "name": "Nome utente", + "role": "Ruolo", + "CREATED": "CREATO", + "UPDATED": "AGGIORNATO", + "password": "Password", + "repassword": "Riconferma la password", + "addOrUpdate": "Aggiungi/aggiorna utente", + "editUser": "Aggiorna utente", + "add": "Aggiungi utente", + "search": "Cerca utente", + "createdAt": "Aggiornato al", + "updatedAt": "Creato a", + "status": "Status", + "ID": "id", + "email": "Email", + "cognitoSub": "Cognito_sub", + "firstName": "Nome", + "lastName": "Cognome", + "actions": "Azioni", + "memberCreated": "Membro creato", + "memberUpdated": "Membro aggiornato", + "updateRole": "Aggiorna ruolo", + "orgMemberId": "ID del membro dell'organizzazione", + "view": "Visualizza", + "update": "Aggiorna", + "delete": "Elimina", + "confirmDeleteHead": "Elimina utente", + "confirmDeleteMsg": "Sei sicuro di voler eliminare questo utente?", + "cancel": "Annullare", + "save": "Salva", + "ok": "Ok", + "updatenotallowed": "Aggiornamento non consentito al proprietario", + "sendInvite": "Invia invito", + "inviteByEmail": "Invito tramite e-mail. Più messaggi di posta elettronica separati da punto e virgola (;)", + "inviteByEmailHint": "Ti verrà addebitato un importo proporzionale per l'aggiunta di un membro.", + "admin": "amministratore", + "member": "membro", + "changePassword": "Cambia password", + "oldPassword": "Vecchia password", + "newPassword": "Nuova password" + }, + "ticket": { + "header": "Ticket di assistenza", + "add": "Aggiungi biglietto", + "save": "Salva", + "update": "Aggiorna", + "delete": "Elimina biglietto", + "search": "Cerca biglietto", + "subject": "Soggetto", + "description": "Descrizione", + "id": "ID del biglietto", + "createdAt": "Creato a", + "updatedAt": "Aggiornato al", + "status": "Status", + "comments": "Commenti", + "addComments": "Aggiungi commenti", + "attachments": "Allegati", + "noDataErrorMsg": "Nessun dato disponibile", + "createTicket": "Crea biglietto", + "updateTicket": "Aggiorna biglietto", + "inputTextHolder": "Digita qui", + "selectHolder": "Seleziona", + "cancel": "Annullare" + }, + "organization": { + "header": "Organizzazioni", + "orgName": "Nome dell'organizzazione", + "createOrganization": "Crea organizzazione", + "updateOrganization": "Aggiorna organizzazione", + "nameHolder": "Digita il nome qui", + "add": "Aggiungi organizzazione", + "save": "Salva", + "cancel": "Annullare", + "delete": "Elimina organizzazione", + "search": "Organizzazione di ricerca", + "subject": "Soggetto", + "description": "Descrizione", + "id": "ID dell'organizzazione", + "createdAt": "Creato a", + "updatedAt": "Aggiornato al", + "status": "Status", + "invite": "Invita un compagno di squadra", + "name": "Nome", + "type": "Tipo", + "owner": "Proprietario", + "created": "Creata", + "actions": "Azioni", + "emailLabel": "Inserisci l'ID e-mail", + "emailHolder": "Digita l'ID e-mail qui", + "note": "Nota: premi invio per aggiungere più compagni di squadra.", + "identifier": "Identificatore", + "copyapikey": "Copia chiave API", + "getapikey": "Ottieni la chiave API", + "role": "Ruolo", + "nameRequired": "Il nome è obbligatorio" + }, + "template": { + "header": "Modelli", + "add": "Aggiungi modello", + "search": "Modello di ricerca" + }, + "logStream": { + "header": "Flussi", + "search": "Stream di ricerca", + "name": "Nome", + "docNum": "Doctor Num", + "storageSize": "Dati ingeriti", + "compressedSize": "Dimensione compressa", + "time": "Ora", + "storageType": "Tipo di archiviazione", + "shardNum": "Numero del frammento", + "schemaHeader": "Dettagli dello stream", + "streamSettings": "Impostazioni streaming", + "streamPartitionKey": "Chiave di partizione", + "streamftsKey": "Chiave di ricerca nel testo completo", + "delete": "Elimina", + "deleteIndex": "Elimina stream", + "confirmDeleteHead": "Elimina stream", + "confirmDeleteMsg": "Sei sicuro di voler eliminare questo Stream?", + "cancel": "Annullare", + "ok": "Ok", + "docsCount": "Conteggio documenti", + "mapping": "Mappatura", + "propertyName": "Nome della proprietà", + "propertyType": "Tipo di proprietà", + "type": "Tipo", + "refreshStats": "Aggiorna statistiche", + "updateSettings": "Aggiorna impostazioni" + }, + "function": { + "header": "Funzioni", + "add": "Crea una nuova funzione", + "search": "Funzione di ricerca", + "name": "Nome", + "function": "Dettagli della funzione", + "save": "Salva", + "jsfunction": "Funzione", + "stream_name": "Nome dello stream", + "order": "Ordinazione", + "ingest": "È una funzione Ingest Time?", + "actions": "Azioni", + "cancel": "Annullare", + "addTitle": "Aggiungi funzione", + "updateTitle": "Funzione di aggiornamento", + "delete": "Elimina", + "ok": "Ok", + "type": "Tipo di funzione", + "showQuery": "È una funzione Ingest Time?" + }, + "confirmDialog": { + "cancel": "Annullare", + "ok": "Ok" + }, + "ingestion": { + "header": "Ingestione", + "passwordLabel": "Token di ripristino" + }, + "dashboard": { + "header": "Pannelli di controllo", + "add": "Aggiungi dashboard", + "save": "Salva", + "cancel": "Annullare", + "delete": "Elimina dashboard", + "search": "Dashboard di ricerca", + "name": "Nome del pannello di controllo", + "typeDesc": "Descrizione del tipo di dashboard", + "createdashboard": "Crea un nuovo pannello di controllo", + "nameHolder": "Inserisci il nome della nuova dashboard", + "typeHolder": "Inserisci la descrizione del tipo di nuova dashboard" + }, + "panel": { + "header": "Pannello", + "add": "Aggiungi pannello", + "save": "Salva", + "cancel": "Annullare", + "delete": "Elimina pannello", + "search": "Pannello di ricerca", + "name": "Nome del pannello", + "typeDesc": "Descrizione", + "createdashboard": "Crea un nuovo pannello", + "nameHolder": "Inserisci il nome del nuovo pannello", + "typeHolder": "Inserisci la descrizione del tipo del nuovo pannello", + "editPanel": "Pannello di modifica" + }, + "alerts": { + "header": "Avvisi", + "add": "Aggiungi avviso", + "search": "Avviso di ricerca", + "name": "Nome", + "function": "Dettagli dell'avviso", + "save": "Salva", + "sql": "Interrogazione", + "realTime": "In tempo reale", + "scheduled": "Pianificato", + "duration": "Durata per la quale viene valutato l'avviso", + "condition": "Condizione", + "interval": "Frequenza con cui viene valutato l'avviso", + "delayNotificationUntil": "Rimandare la notifica fino a, dopo una notifica", + "destination": "Destinazione", + "stream_name": "Nome dello stream", + "actions": "Azioni", + "cancel": "Annullare", + "addTitle": "Aggiungi avviso", + "updateTitle": "Aggiorna avviso", + "delete": "Elimina" + }, + "home": { + "streams": "Flussi", + "totalDataIngested": "Dati totali ingeriti", + "view": "Visualizza altro>>", + "queryFunctions": "Funzioni di interrogazione", + "ingestFunctions": "Funzioni di ingestione", + "scheduledAlert": "Avvisi pianificati", + "rtAlert": "Avvisi in tempo reale", + "noData": "Nessun dato importato", + "findIngestion": "Scopri come inserire i log >>", + "ingestionMsg": "Sembra che tu non abbia inserito alcun dato nell'organizzazione selezionata, ci sono vari modi in cui i dati possono essere ingeriti come fluentbit.", + "inestedInSearch": "Prova Logs Search", + "searchInDemoOrg": "Puoi esplorare le funzionalità di ricerca passando all'organizzazione demo, per passare all'organizzazione demo, seleziona «Organizzazione demo» utilizzando il menu a discesa dell'organizzazione in alto. Continuiamo a inserire dati fittizi in Demo Organization." + }, + "billing": { + "header": "Utilizzo e fatturazione", + "plans": "Piani", + "subtitle": "Prezzi semplici e trasparenti", + "individuals": "Per privati", + "startups": "Per le startup", + "basic": "Di base", + "pro": "Pro", + "whatIsIncluded": "Cosa è incluso", + "subscribed": "Sottoscritto", + "getStarted": "Inizia", + "paymentMethod": "Metodo di pagamento", + "invoiceHistory": "Cronologia delle fatture", + "generatedAt": "Generato a", + "details": "Dettagli", + "amount": "Importo", + "amountPaid": "Importo pagato", + "amountDue": "Importo dovuto", + "dueDate": "Data di scadenza", + "status": "Status", + "action": "Azione", + "usage": "Utilizzo", + "manageCards": "Gestisci carte", + "subscriptionCheckout": "Pagamento dell'abbonamento" + } +} \ No newline at end of file diff --git a/web/src/locales/languages/ja.json b/web/src/locales/languages/ja.json new file mode 100644 index 0000000000..8bea0a9c09 --- /dev/null +++ b/web/src/locales/languages/ja.json @@ -0,0 +1,309 @@ +{ + "search": { + "selectIndex": "最初にストリームを選択", + "typeSearch": "検索クエリをここに入力してください", + "searchField": "フィールドを検索する", + "maxRecords": "返される最大レコード数", + "searchResult": "[検索結果]", + "resultsFound": "結果が見つかりました", + "timestamp": "タイムスタンプ", + "source": "_ソース", + "noResult": "結果なし", + "syntaxGuide": "シンタックスガイド", + "recordsPerPage": "1 ページあたりのレコード数", + "showing": "表示中", + "of": "の", + "rowDetail": "ソース詳細", + "sourceName": "[名前]", + "sourceValue": "価値", + "searchStream": "検索ストリーム", + "showQueryLabel": "クエリ", + "showFieldLabel": "フィールド", + "showHistogramLabel": "ヒストグラム", + "sqlModeLabel": "SQL モード" + }, + "menu": { + "home": "ホーム", + "about": "について", + "user": "ユーザ", + "index": "ストリーム", + "search": "ログ", + "template": "[テンプレート]", + "signOut": "サインアウト", + "account": "アカウント", + "feedback": "フィードバック", + "zincSearch": "亜鉛サーチ", + "documentation": "ドキュメント", + "tickets": "チケット", + "organizations": "組織", + "function": "ファンクション", + "ingestion": "摂取", + "metrics": "指標", + "slack": "ヘルプ", + "dashboard": "ダッシュボード", + "alerts": "アラート", + "openapi": "OpenAPI", + "docs": "ドキュメント" + }, + "about": { + "name": "亜鉛", + "introduction": "オブザーバビリティがシンプルになりました。" + }, + "login": { + "userid": "ユーザ ID", + "userEmail": "ユーザー電子メール", + "signIn": "サインイン", + "signUp": "サインアップ", + "password": "[パスワード]", + "cnfpassword": "パスワードを確認", + "singnInWithGoogle": "グーグルで続ける" + }, + "user": { + "header": "組織メンバー", + "id": "ユーザ ID", + "name": "[ユーザー名]", + "role": "役割", + "CREATED": "作成されました", + "UPDATED": "更新されました", + "password": "[パスワード]", + "repassword": "パスワードを再確認", + "addOrUpdate": "ユーザーを追加/更新", + "editUser": "ユーザーを更新", + "add": "ユーザーを追加", + "search": "ユーザーを検索する", + "createdAt": "更新日時", + "updatedAt": "作成日", + "status": "ステータス", + "ID": "id", + "email": "Eメール", + "cognitoSub": "Cognito_sub", + "firstName": "ファーストネーム", + "lastName": "苗字", + "actions": "アクション", + "memberCreated": "メンバーが作成されました", + "memberUpdated": "メンバーが更新されました", + "updateRole": "ロールを更新", + "orgMemberId": "組織メンバー ID", + "view": "[表示]", + "update": "[更新]", + "delete": "[削除]", + "confirmDeleteHead": "ユーザー削除", + "confirmDeleteMsg": "このユーザーを削除してもよろしいですか?", + "cancel": "[キャンセル]", + "save": "[保存]", + "ok": "わかりました", + "updatenotallowed": "所有者は更新できません", + "sendInvite": "招待を送信", + "inviteByEmail": "電子メールで招待します。セミコロン (;) で区切られた複数の電子メール", + "inviteByEmailHint": "メンバーを追加すると、日割り計算された金額が請求されます。", + "admin": "管理者", + "member": "メンバー", + "changePassword": "パスワードを変更", + "oldPassword": "古いパスワード", + "newPassword": "新しいパスワード" + }, + "ticket": { + "header": "サポートチケット", + "add": "チケットを追加", + "save": "[保存]", + "update": "[更新]", + "delete": "チケットを削除", + "search": "チケット検索", + "subject": "件名", + "description": "説明", + "id": "チケット ID", + "createdAt": "作成日", + "updatedAt": "更新日時", + "status": "ステータス", + "comments": "[コメント]", + "addComments": "コメントを追加", + "attachments": "添付ファイル", + "noDataErrorMsg": "データはありません", + "createTicket": "チケット作成", + "updateTicket": "チケットを更新", + "inputTextHolder": "ここに入力", + "selectHolder": "[選択]", + "cancel": "[キャンセル]" + }, + "organization": { + "header": "組織", + "orgName": "組織名", + "createOrganization": "組織を作成", + "updateOrganization": "組織を更新", + "nameHolder": "ここに名前を入力", + "add": "組織を追加", + "save": "[保存]", + "cancel": "[キャンセル]", + "delete": "組織を削除", + "search": "組織を検索する", + "subject": "件名", + "description": "説明", + "id": "組織 ID", + "createdAt": "作成日", + "updatedAt": "更新日時", + "status": "ステータス", + "invite": "チームメイトを招待", + "name": "[名前]", + "type": "タイプ", + "owner": "オーナー", + "created": "作成済み", + "actions": "アクション", + "emailLabel": "電子メール ID を入力", + "emailHolder": "ここに電子メール ID を入力してください", + "note": "注:複数のチームメイトを追加するには、Enter キーを押します。", + "identifier": "識別子", + "copyapikey": "API キーをコピー", + "getapikey": "API キーを取得", + "role": "役割", + "nameRequired": "名前が必要です" + }, + "template": { + "header": "テンプレート", + "add": "テンプレートを追加", + "search": "検索テンプレート" + }, + "logStream": { + "header": "ストリーム", + "search": "検索ストリーム", + "name": "[名前]", + "docNum": "ドキュメントナム", + "storageSize": "取り込まれたデータ", + "compressedSize": "圧縮サイズ", + "time": "時間", + "storageType": "ストレージタイプ", + "shardNum": "シャード番号", + "schemaHeader": "ストリームの詳細", + "streamSettings": "ストリーム設定", + "streamPartitionKey": "パーティションキー", + "streamftsKey": "全文検索キー", + "delete": "[削除]", + "deleteIndex": "ストリームを削除", + "confirmDeleteHead": "ストリームを削除", + "confirmDeleteMsg": "このストリームを削除してもよろしいですか?", + "cancel": "[キャンセル]", + "ok": "わかりました", + "docsCount": "ドキュメント数", + "mapping": "マッピング", + "propertyName": "[プロパティ名]", + "propertyType": "プロパティタイプ", + "type": "タイプ", + "refreshStats": "統計情報を更新", + "updateSettings": "アップデート設定" + }, + "function": { + "header": "ファンクション", + "add": "新しい関数を作成", + "search": "検索機能", + "name": "[名前]", + "function": "機能詳細", + "save": "[保存]", + "jsfunction": "ファンクション", + "stream_name": "ストリーム名", + "order": "注文", + "ingest": "インジェスト時間は関数ですか?", + "actions": "アクション", + "cancel": "[キャンセル]", + "addTitle": "機能追加", + "updateTitle": "更新機能", + "delete": "[削除]", + "ok": "わかりました", + "type": "関数タイプ", + "showQuery": "インジェスト時間は関数ですか?" + }, + "confirmDialog": { + "cancel": "[キャンセル]", + "ok": "わかりました" + }, + "ingestion": { + "header": "摂取", + "passwordLabel": "トークンをリセット" + }, + "dashboard": { + "header": "ダッシュボード", + "add": "ダッシュボードを追加", + "save": "[保存]", + "cancel": "[キャンセル]", + "delete": "ダッシュボードを削除", + "search": "検索ダッシュボード", + "name": "ダッシュボードの名前", + "typeDesc": "ダッシュボードの説明を入力", + "createdashboard": "新しいダッシュボードを作成", + "nameHolder": "新しいダッシュボードの名前を入力", + "typeHolder": "新しいダッシュボードのタイプの説明を入力してください" + }, + "panel": { + "header": "パネル", + "add": "パネルを追加", + "save": "[保存]", + "cancel": "[キャンセル]", + "delete": "パネルを削除", + "search": "検索パネル", + "name": "パネル名", + "typeDesc": "説明", + "createdashboard": "新しいパネルを作成", + "nameHolder": "新しいパネルの名前を入力", + "typeHolder": "新しいパネルのタイプの説明を入力してください", + "editPanel": "編集パネル" + }, + "alerts": { + "header": "アラート", + "add": "アラートを追加", + "search": "検索アラート", + "name": "[名前]", + "function": "アラートの詳細", + "save": "[保存]", + "sql": "クエリ", + "realTime": "リアルタイム", + "scheduled": "スケジュール済み", + "duration": "アラートが評価される期間", + "condition": "コンディション", + "interval": "アラートが評価される頻度", + "delayNotificationUntil": "通知が 1 回通知されるまで、通知を遅らせる", + "destination": "目的地", + "stream_name": "ストリーム名", + "actions": "アクション", + "cancel": "[キャンセル]", + "addTitle": "アラートを追加", + "updateTitle": "アップデートアラート", + "delete": "[削除]" + }, + "home": { + "streams": "ストリーム", + "totalDataIngested": "取り込まれたデータの総数", + "view": "もっと見る>>", + "queryFunctions": "クエリー機能", + "ingestFunctions": "インジェスト機能", + "scheduledAlert": "スケジュールされたアラート", + "rtAlert": "リアルタイムアラート", + "noData": "データが取り込まれていません", + "findIngestion": "ログの取り込み方法を見る >>", + "ingestionMsg": "選択した組織にデータを取り込んでいないようですが、Fluentbitのようにデータを取り込む方法はさまざまです。", + "inestedInSearch": "ログ検索を試す", + "searchInDemoOrg": "デモ組織に切り替えると検索機能を試すことができます。デモ組織に切り替えるには、上部の組織ドロップダウンから [デモ組織] を選択します。ダミーデータをデモ組織に取り込み続けます。" + }, + "billing": { + "header": "使用量と請求", + "plans": "計画", + "subtitle": "シンプルで透明な価格設定", + "individuals": "個人向け", + "startups": "スタートアップ向け", + "basic": "ベーシック", + "pro": "プロ", + "whatIsIncluded": "含まれているもの", + "subscribed": "購読済み", + "getStarted": "始めよう", + "paymentMethod": "支払い方法", + "invoiceHistory": "請求書履歴", + "generatedAt": "生成日時", + "details": "[詳細]", + "amount": "金額", + "amountPaid": "支払金額", + "amountDue": "未払い金額", + "dueDate": "期日", + "status": "ステータス", + "action": "アクション", + "usage": "使い方", + "manageCards": "カードを管理", + "subscriptionCheckout": "サブスクリプションチェックアウト" + } +} \ No newline at end of file diff --git a/web/src/locales/languages/ko.json b/web/src/locales/languages/ko.json new file mode 100644 index 0000000000..737f7a8366 --- /dev/null +++ b/web/src/locales/languages/ko.json @@ -0,0 +1,309 @@ +{ + "search": { + "selectIndex": "먼저 스트리밍을 선택하세요", + "typeSearch": "여기에 검색어를 입력하세요", + "searchField": "필드 검색", + "maxRecords": "반환할 최대 레코드 수", + "searchResult": "검색 결과", + "resultsFound": "검색된 결과", + "timestamp": "타임스탬프", + "source": "_소스", + "noResult": "결과 없음", + "syntaxGuide": "구문 가이드", + "recordsPerPage": "페이지당 레코드 수", + "showing": "전시", + "of": "의", + "rowDetail": "소스 세부 정보", + "sourceName": "이름", + "sourceValue": "가치", + "searchStream": "검색 스트림", + "showQueryLabel": "질의", + "showFieldLabel": "필드", + "showHistogramLabel": "히스토그램", + "sqlModeLabel": "SQL 모드" + }, + "menu": { + "home": "홈", + "about": "에 대해", + "user": "유저", + "index": "스트림", + "search": "로그", + "template": "템플리트", + "signOut": "로그아웃", + "account": "어카운트", + "feedback": "피드백", + "zincSearch": "아연 검색", + "documentation": "문서", + "tickets": "입장권", + "organizations": "조직", + "function": "함수", + "ingestion": "섭취량", + "metrics": "메트릭스", + "slack": "도움말", + "dashboard": "대시보드", + "alerts": "알림", + "openapi": "오픈 API", + "docs": "문서" + }, + "about": { + "name": "아연", + "introduction": "옵저버빌리티가 간소화되었습니다." + }, + "login": { + "userid": "유저 ID", + "userEmail": "사용자 이메일", + "signIn": "로그인", + "signUp": "가입하기", + "password": "패스워드", + "cnfpassword": "비밀번호 확인", + "singnInWithGoogle": "구글 계정으로 계속하기" + }, + "user": { + "header": "조직 구성원", + "id": "유저 ID", + "name": "사용자 이름", + "role": "역할", + "CREATED": "생성되었습니다", + "UPDATED": "업데이트되었습니다", + "password": "패스워드", + "repassword": "비밀번호 재확인", + "addOrUpdate": "사용자 추가/업데이트", + "editUser": "사용자 업데이트", + "add": "사용자 추가", + "search": "사용자 검색", + "createdAt": "에서 업데이트", + "updatedAt": "생성 날짜", + "status": "상태", + "ID": "신분증", + "email": "이메일", + "cognitoSub": "코그니토_서브", + "firstName": "첫 번째 이름", + "lastName": "라스트 네임", + "actions": "조치", + "memberCreated": "멤버 생성됨", + "memberUpdated": "회원 업데이트됨", + "updateRole": "역할 업데이트", + "orgMemberId": "조직 구성원 ID", + "view": "보기", + "update": "업데이트", + "delete": "삭제", + "confirmDeleteHead": "사용자 삭제", + "confirmDeleteMsg": "정말 이 사용자를 삭제하시겠습니까?", + "cancel": "취소", + "save": "저장", + "ok": "확인", + "updatenotallowed": "소유자에게는 업데이트가 허용되지 않습니다.", + "sendInvite": "초대 보내기", + "inviteByEmail": "이메일로 초대하세요.세미콜론 (;) 으로 구분된 여러 이메일", + "inviteByEmailHint": "구성원 추가 시 비례 할당으로 계산된 금액이 청구됩니다.", + "admin": "관리자", + "member": "회원", + "changePassword": "비밀번호 변경", + "oldPassword": "이전 비밀번호", + "newPassword": "새 비밀번호" + }, + "ticket": { + "header": "지원 티켓", + "add": "티켓 추가", + "save": "저장", + "update": "업데이트", + "delete": "티켓 삭제", + "search": "티켓 검색", + "subject": "제목", + "description": "설명", + "id": "티켓 ID", + "createdAt": "생성 날짜", + "updatedAt": "에서 업데이트", + "status": "상태", + "comments": "코멘트", + "addComments": "의견 추가", + "attachments": "어태치먼트", + "noDataErrorMsg": "사용할 수 있는 데이터 없음", + "createTicket": "티켓 생성", + "updateTicket": "티켓 업데이트", + "inputTextHolder": "여기에 입력하세요", + "selectHolder": "선택", + "cancel": "취소" + }, + "organization": { + "header": "조직", + "orgName": "조직 이름", + "createOrganization": "조직 생성", + "updateOrganization": "조직 업데이트", + "nameHolder": "여기에 이름을 입력하세요", + "add": "조직 추가", + "save": "저장", + "cancel": "취소", + "delete": "조직 삭제", + "search": "조직 검색", + "subject": "제목", + "description": "설명", + "id": "조직 ID", + "createdAt": "생성 날짜", + "updatedAt": "에서 업데이트", + "status": "상태", + "invite": "팀원 초대", + "name": "이름", + "type": "타입", + "owner": "소유자", + "created": "생성됨", + "actions": "조치", + "emailLabel": "이메일 ID 입력", + "emailHolder": "여기에 이메일 ID를 입력합니다.", + "note": "참고: 여러 팀원을 추가하려면 Enter 키를 누르세요.", + "identifier": "식별자", + "copyapikey": "API 키 복사", + "getapikey": "API 키 가져오기", + "role": "역할", + "nameRequired": "이름은 필수입니다" + }, + "template": { + "header": "템플리트", + "add": "템플릿 추가", + "search": "검색 템플릿" + }, + "logStream": { + "header": "스트림", + "search": "검색 스트림", + "name": "이름", + "docNum": "문서 번호", + "storageSize": "수집된 데이터", + "compressedSize": "압축 크기", + "time": "시간", + "storageType": "스토리지 유형", + "shardNum": "샤드 번호", + "schemaHeader": "스트림 세부 정보", + "streamSettings": "스트림 설정", + "streamPartitionKey": "파티션 키", + "streamftsKey": "전체 텍스트 검색 키", + "delete": "삭제", + "deleteIndex": "스트림 삭제", + "confirmDeleteHead": "스트림 삭제", + "confirmDeleteMsg": "정말 이 스트림을 삭제하시겠습니까?", + "cancel": "취소", + "ok": "확인", + "docsCount": "문서 개수", + "mapping": "지도 제작", + "propertyName": "프로퍼티 이름", + "propertyType": "부동산 유형", + "type": "타입", + "refreshStats": "통계 새로고침", + "updateSettings": "설정 업데이트" + }, + "function": { + "header": "함수", + "add": "새 함수 만들기", + "search": "검색 기능", + "name": "이름", + "function": "함수 세부 정보", + "save": "저장", + "jsfunction": "함수", + "stream_name": "스트림 이름", + "order": "주문", + "ingest": "인제스트 타임 함수인가요?", + "actions": "조치", + "cancel": "취소", + "addTitle": "함수 추가", + "updateTitle": "업데이트 기능", + "delete": "삭제", + "ok": "확인", + "type": "함수 유형", + "showQuery": "인제스트 타임 함수인가요?" + }, + "confirmDialog": { + "cancel": "취소", + "ok": "확인" + }, + "ingestion": { + "header": "섭취량", + "passwordLabel": "리셋 토큰" + }, + "dashboard": { + "header": "대시보드", + "add": "대시보드 추가", + "save": "저장", + "cancel": "취소", + "delete": "대시보드 삭제", + "search": "검색 대시보드", + "name": "대시보드 이름", + "typeDesc": "대시보드 유형 설명", + "createdashboard": "새 대시보드 만들기", + "nameHolder": "새 대시보드 이름 입력", + "typeHolder": "새 대시보드의 유형 설명 입력" + }, + "panel": { + "header": "패널", + "add": "패널 추가", + "save": "저장", + "cancel": "취소", + "delete": "패널 삭제", + "search": "검색 패널", + "name": "패널 이름", + "typeDesc": "설명", + "createdashboard": "새 패널 만들기", + "nameHolder": "새 패널 이름 입력", + "typeHolder": "새 패널의 유형 설명 입력", + "editPanel": "편집 패널" + }, + "alerts": { + "header": "알림", + "add": "알림 추가", + "search": "검색 알림", + "name": "이름", + "function": "알림 세부 정보", + "save": "저장", + "sql": "질의", + "realTime": "리얼 타임", + "scheduled": "예약됨", + "duration": "알림이 평가되는 기간", + "condition": "상태", + "interval": "경고가 평가되는 빈도", + "delayNotificationUntil": "한 번의 알림 이후까지 알림 지연", + "destination": "목적지", + "stream_name": "스트림 이름", + "actions": "조치", + "cancel": "취소", + "addTitle": "알림 추가", + "updateTitle": "업데이트 알림", + "delete": "삭제" + }, + "home": { + "streams": "스트림", + "totalDataIngested": "수집된 총 데이터", + "view": "더 보기>>", + "queryFunctions": "쿼리 함수", + "ingestFunctions": "인제스트 함수", + "scheduledAlert": "스케줄링된 알림", + "rtAlert": "실시간 알림", + "noData": "데이터가 수집되지 않음", + "findIngestion": "로그 수집 방법 알아보기 >>", + "ingestionMsg": "선택한 조직에 데이터를 수집하지 않은 것 같습니다. fluentbit처럼 데이터를 수집할 수 있는 다양한 방법이 있습니다.", + "inestedInSearch": "트라이어 로그 검색", + "searchInDemoOrg": "데모 조직으로 전환하여 검색 기능을 탐색하고 데모 조직으로 전환하려면 상단의 조직 드롭다운을 사용하여 '데모 조직'을 선택할 수 있습니다. 데모 조직에는 더미 데이터를 계속 수집합니다." + }, + "billing": { + "header": "사용 및 청구", + "plans": "플랜", + "subtitle": "단순하고 투명한 가격", + "individuals": "개인 대상", + "startups": "스타트업용", + "basic": "베이직", + "pro": "프로", + "whatIsIncluded": "포함된 내용", + "subscribed": "구독됨", + "getStarted": "시작하기", + "paymentMethod": "결제 방법", + "invoiceHistory": "인보이스 내역", + "generatedAt": "생성 시간", + "details": "세부 정보", + "amount": "금액", + "amountPaid": "결제 금액", + "amountDue": "납부 금액", + "dueDate": "만기일", + "status": "상태", + "action": "액션", + "usage": "사용량", + "manageCards": "카드 관리", + "subscriptionCheckout": "서브스크립션 체크아웃" + } +} \ No newline at end of file diff --git a/web/src/locales/languages/nl.json b/web/src/locales/languages/nl.json new file mode 100644 index 0000000000..20ddd72a88 --- /dev/null +++ b/web/src/locales/languages/nl.json @@ -0,0 +1,309 @@ +{ + "search": { + "selectIndex": "Selecteer eerst Stream", + "typeSearch": "Typ hier je zoekopdracht", + "searchField": "Zoek naar een veld", + "maxRecords": "Max records om terug te keren", + "searchResult": "Zoekresultaten", + "resultsFound": "Resultaten gevonden", + "timestamp": "tijdstempel", + "source": "_bron", + "noResult": "Geen resultaat", + "syntaxGuide": "Handleiding voor syntaxis", + "recordsPerPage": "Records per pagina", + "showing": "bewijs", + "of": "van", + "rowDetail": "Details van de bron", + "sourceName": "naam", + "sourceValue": "Waarde", + "searchStream": "Stream doorzoeken", + "showQueryLabel": "Zoekopdracht", + "showFieldLabel": "Velden", + "showHistogramLabel": "Histogram", + "sqlModeLabel": "SQL-modus" + }, + "menu": { + "home": "Thuis", + "about": "Over ons", + "user": "Gebruikers", + "index": "Streams", + "search": "Logboeken", + "template": "Sjabloon", + "signOut": "Uitloggen", + "account": "Rekening", + "feedback": "Feedback", + "zincSearch": "Zink Search", + "documentation": "Dokters", + "tickets": "Ticket", + "organizations": "Organisaties", + "function": "Functies", + "ingestion": "Inslikken", + "metrics": "Metrieken", + "slack": "Hulp", + "dashboard": "Dashboards", + "alerts": "Alarmingen", + "openapi": "OpenAPI", + "docs": "Dokters" + }, + "about": { + "name": "Zink", + "introduction": "Waarneembaarheid vereenvoudigd." + }, + "login": { + "userid": "Gebruikers-ID", + "userEmail": "E-mailadres van de gebruiker", + "signIn": "Meld je aan", + "signUp": "Meld je aan", + "password": "Paswoord", + "cnfpassword": "Wachtwoord bevestigen", + "singnInWithGoogle": "Ga verder met Google" + }, + "user": { + "header": "Lid van de organisatie", + "id": "Gebruikers-ID", + "name": "Gebruikersnaam", + "role": "Rol", + "CREATED": "GEMAAKT", + "UPDATED": "BIJGEWERKT", + "password": "Paswoord", + "repassword": "Wachtwoord opnieuw bevestigen", + "addOrUpdate": "Gebruiker toevoegen/bijwerken", + "editUser": "Gebruiker updaten", + "add": "Gebruiker toevoegen", + "search": "Gebruiker zoeken", + "createdAt": "Bijgewerkt op", + "updatedAt": "Gemaakt op", + "status": "Status", + "ID": "id", + "email": "E-Mail", + "cognitoSub": "Cognito_sub", + "firstName": "Voornaam", + "lastName": "Achternaam", + "actions": "Acties", + "memberCreated": "Lid aangemaakt", + "memberUpdated": "Lid bijgewerkt", + "updateRole": "Rol bijwerken", + "orgMemberId": "ID voor leden van de organisatie", + "view": "Bekijken", + "update": "Bijwerken", + "delete": "Verwijderen", + "confirmDeleteHead": "Gebruiker verwijderen", + "confirmDeleteMsg": "Weet je zeker dat je deze gebruiker wilt verwijderen?", + "cancel": "Annuleer", + "save": "Opslaan", + "ok": "Oké", + "updatenotallowed": "Update niet toegestaan voor eigenaar", + "sendInvite": "Uitnodiging verzenden", + "inviteByEmail": "Uitnodiging via e-mail. Meerdere e-mails gescheiden door een puntkomma (;)", + "inviteByEmailHint": "Voor het toevoegen van een lid wordt een pro rata bedrag in rekening gebracht.", + "admin": "beheerder", + "member": "lid", + "changePassword": "Wachtwoord wijzigen", + "oldPassword": "Oud wachtwoord", + "newPassword": "Nieuw wachtwoord" + }, + "ticket": { + "header": "Tickets voor ondersteuning", + "add": "Ticket toevoegen", + "save": "Opslaan", + "update": "Bijwerken", + "delete": "Ticket verwijderen", + "search": "Ticket zoeken", + "subject": "Onderwerp", + "description": "Omschrijving", + "id": "Ticket-ID", + "createdAt": "Gemaakt op", + "updatedAt": "Bijgewerkt op", + "status": "Status", + "comments": "Commentaren", + "addComments": "Opmerkingen toevoegen", + "attachments": "Bijlagen", + "noDataErrorMsg": "Geen gegevens beschikbaar", + "createTicket": "Ticket aanmaken", + "updateTicket": "Ticket bijwerken", + "inputTextHolder": "Typ hier", + "selectHolder": "Selecteer", + "cancel": "Annuleer" + }, + "organization": { + "header": "Organisaties", + "orgName": "Naam van de organisatie", + "createOrganization": "Organisatie creëren", + "updateOrganization": "Organisatie updaten", + "nameHolder": "Typ hier de naam", + "add": "Organisatie toevoegen", + "save": "Opslaan", + "cancel": "Annuleer", + "delete": "Organisatie verwijderen", + "search": "Organisatie zoeken", + "subject": "Onderwerp", + "description": "Omschrijving", + "id": "Organisatie-ID", + "createdAt": "Gemaakt op", + "updatedAt": "Bijgewerkt op", + "status": "Status", + "invite": "Teamgenoot uitnodigen", + "name": "naam", + "type": "Typ", + "owner": "eigenaar", + "created": "Gemaakt", + "actions": "Acties", + "emailLabel": "Voer e-mailadres in", + "emailHolder": "Voer hier uw e-mailadres in", + "note": "Opmerking: Druk op enter om meerdere teamgenoten toe te voegen.", + "identifier": "Identificatienummer", + "copyapikey": "API-sleutel kopiëren", + "getapikey": "API-sleutel ophalen", + "role": "Rol", + "nameRequired": "Naam is verplicht" + }, + "template": { + "header": "Sjablonen", + "add": "Sjabloon toevoegen", + "search": "Sjabloon zoeken" + }, + "logStream": { + "header": "Streams", + "search": "Stream doorzoeken", + "name": "naam", + "docNum": "Dokter Num", + "storageSize": "Ingeslikte gegevens", + "compressedSize": "Gecomprimeerde grootte", + "time": "Tijd", + "storageType": "Soort opslag", + "shardNum": "Nummer delen", + "schemaHeader": "Details van de stream", + "streamSettings": "Stream-instellingen", + "streamPartitionKey": "Partitiesleutel", + "streamftsKey": "Zoeksleutel in volledige tekst", + "delete": "Verwijderen", + "deleteIndex": "Stream verwijderen", + "confirmDeleteHead": "Stream verwijderen", + "confirmDeleteMsg": "Weet je zeker dat je deze stream wilt verwijderen?", + "cancel": "Annuleer", + "ok": "Oké", + "docsCount": "Aantal documenten", + "mapping": "In kaart brengen", + "propertyName": "Naam van de accommodatie", + "propertyType": "Soort woning", + "type": "Typ", + "refreshStats": "Statistieken verversen", + "updateSettings": "Instellingen bijwerken" + }, + "function": { + "header": "Functies", + "add": "Nieuwe functie aanmaken", + "search": "Zoekfunctie", + "name": "naam", + "function": "Detail van de functie", + "save": "Opslaan", + "jsfunction": "Functie", + "stream_name": "Naam van de stream", + "order": "Bestellen", + "ingest": "Is Ingest Time een functie?", + "actions": "Acties", + "cancel": "Annuleer", + "addTitle": "Functie toevoegen", + "updateTitle": "Functie bijwerken", + "delete": "Verwijderen", + "ok": "Oké", + "type": "Soort functie", + "showQuery": "Is Ingest Time een functie?" + }, + "confirmDialog": { + "cancel": "Annuleer", + "ok": "Oké" + }, + "ingestion": { + "header": "Inslikken", + "passwordLabel": "Token opnieuw instellen" + }, + "dashboard": { + "header": "Dashboards", + "add": "Dashboard toevoegen", + "save": "Opslaan", + "cancel": "Annuleer", + "delete": "Dashboard verwijderen", + "search": "Dashboard zoeken", + "name": "Naam van het dashboard", + "typeDesc": "Typebeschrijving van het dashboard", + "createdashboard": "Maak een nieuw dashboard", + "nameHolder": "Voer de naam van het nieuwe dashboard in", + "typeHolder": "Voer de typebeschrijving van het nieuwe dashboard in" + }, + "panel": { + "header": "Paneel", + "add": "Paneel toevoegen", + "save": "Opslaan", + "cancel": "Annuleer", + "delete": "Paneel verwijderen", + "search": "Zoekpaneel", + "name": "Naam van het panel", + "typeDesc": "Omschrijving", + "createdashboard": "Maak een nieuw paneel", + "nameHolder": "Voer de naam van het nieuwe paneel in", + "typeHolder": "Voer de typebeschrijving van het nieuwe paneel in", + "editPanel": "Paneel bewerken" + }, + "alerts": { + "header": "Alarmingen", + "add": "Waarschuwing toevoegen", + "search": "Zoekwaarschuwing", + "name": "naam", + "function": "Details van de waarschuwing", + "save": "Opslaan", + "sql": "Zoekopdracht", + "realTime": "Realtime", + "scheduled": "Gepland", + "duration": "Duur waarvoor de waarschuwing wordt geëvalueerd", + "condition": "Conditie", + "interval": "Frequentie waarmee de waarschuwing wordt geëvalueerd", + "delayNotificationUntil": "Melding uitstellen tot, na één melding", + "destination": "Bestemming", + "stream_name": "Naam van de stream", + "actions": "Acties", + "cancel": "Annuleer", + "addTitle": "Waarschuwing toevoegen", + "updateTitle": "Waarschuwing bijwerken", + "delete": "Verwijderen" + }, + "home": { + "streams": "Streams", + "totalDataIngested": "Totaal aantal opgenomen gegevens", + "view": "Meer bekijken>>", + "queryFunctions": "Query-functies", + "ingestFunctions": "Functies inslikken", + "scheduledAlert": "Geplande meldingen", + "rtAlert": "Waarschuwingen in realtime", + "noData": "Geen gegevens opgenomen", + "findIngestion": "Ontdek hoe u logboeken kunt opnemen >>", + "ingestionMsg": "Het lijkt erop dat u geen gegevens hebt ingevoerd voor een geselecteerde organisatie. Er zijn verschillende manieren waarop gegevens kunnen worden opgenomen, zoals fluentbit.", + "inestedInSearch": "Probeer Logs Search", + "searchInDemoOrg": "U kunt de zoekmogelijkheden verkennen door over te schakelen naar een demo-organisatie. Om over te schakelen naar een demo-organisatie, selecteert u 'Demo-organisatie' met de vervolgkeuzelijst 'Organisatie' bovenaan. We blijven dummygegevens invoeren in Demo Organization." + }, + "billing": { + "header": "Gebruik en facturering", + "plans": "Plannen", + "subtitle": "Eenvoudige, transparante prijzen", + "individuals": "Voor individuen", + "startups": "Voor start-ups", + "basic": "Basis", + "pro": "pro", + "whatIsIncluded": "Wat is inbegrepen", + "subscribed": "Geabonneerd", + "getStarted": "Ga aan de slag", + "paymentMethod": "Wijze van betaling", + "invoiceHistory": "Factuurgeschiedenis", + "generatedAt": "Gegenereerd op", + "details": "Bijzonderheden", + "amount": "Bedrag", + "amountPaid": "Betaald bedrag", + "amountDue": "Verschuldigd bedrag", + "dueDate": "Vervaldatum", + "status": "Status", + "action": "actie", + "usage": "Gebruik", + "manageCards": "Kaarten beheren", + "subscriptionCheckout": "Afrekenen van het abonnement" + } +} \ No newline at end of file diff --git a/web/src/locales/languages/pt.json b/web/src/locales/languages/pt.json new file mode 100644 index 0000000000..d5bcaf5ab6 --- /dev/null +++ b/web/src/locales/languages/pt.json @@ -0,0 +1,309 @@ +{ + "search": { + "selectIndex": "Selecione Stream First", + "typeSearch": "Digite sua consulta de pesquisa aqui", + "searchField": "Pesquisar um campo", + "maxRecords": "Máximo de registros a serem devolvidos", + "searchResult": "Resultados da pesquisa", + "resultsFound": "Resultados encontrados", + "timestamp": "timestamp", + "source": "_fonte", + "noResult": "Nenhum resultado", + "syntaxGuide": "Guia de sintaxe", + "recordsPerPage": "Registros por página", + "showing": "Mostrando", + "of": "do", + "rowDetail": "Detalhes da fonte", + "sourceName": "Nome", + "sourceValue": "Valor", + "searchStream": "Stream de pesquisa", + "showQueryLabel": "Consulta", + "showFieldLabel": "Campos", + "showHistogramLabel": "Histograma", + "sqlModeLabel": "Modo SQL" + }, + "menu": { + "home": "Página inicial", + "about": "Sobre", + "user": "Usuários", + "index": "Transmissões", + "search": "Registros", + "template": "Modelo", + "signOut": "Sair", + "account": "Conta", + "feedback": "Feedback", + "zincSearch": "Pesquisa de zinco", + "documentation": "Documentos", + "tickets": "Bilhete", + "organizations": "Organizações", + "function": "Funções", + "ingestion": "Ingestão", + "metrics": "Métricas", + "slack": "Socorro", + "dashboard": "Painéis", + "alerts": "Alertas", + "openapi": "API aberta", + "docs": "Documentos" + }, + "about": { + "name": "Zinco", + "introduction": "Observabilidade simplificada." + }, + "login": { + "userid": "ID de usuário", + "userEmail": "E-mail do usuário", + "signIn": "Iniciar sessão", + "signUp": "Inscrever-se", + "password": "Senha", + "cnfpassword": "Confirme a senha", + "singnInWithGoogle": "Continue com o Google" + }, + "user": { + "header": "Membro da organização", + "id": "ID de usuário", + "name": "Nome de usuário", + "role": "Função", + "CREATED": "CRIADO", + "UPDATED": "ATUALIZADO", + "password": "Senha", + "repassword": "Reconfirme a senha", + "addOrUpdate": "Adicionar/atualizar usuário", + "editUser": "Atualizar usuário", + "add": "Adicionar usuário", + "search": "Pesquisar usuário", + "createdAt": "Atualizado em", + "updatedAt": "Criado em", + "status": "Status", + "ID": "id", + "email": "E-mail", + "cognitoSub": "Cognito_sub", + "firstName": "Primeiro nome", + "lastName": "Último nome", + "actions": "Ações", + "memberCreated": "Membro criado", + "memberUpdated": "Membro atualizado", + "updateRole": "Atualizar função", + "orgMemberId": "ID do membro da organização", + "view": "Exibir", + "update": "Atualizar", + "delete": "Excluir", + "confirmDeleteHead": "Excluir usuário", + "confirmDeleteMsg": "Tem certeza de que deseja excluir esse usuário?", + "cancel": "Cancelar", + "save": "Salvar", + "ok": "Ok", + "updatenotallowed": "Atualização não permitida para o proprietário", + "sendInvite": "Enviar convite", + "inviteByEmail": "Convide por e-mail. Vários e-mails separados por ponto e vírgula (;)", + "inviteByEmailHint": "Você pagará um valor proporcional pela adição de um membro.", + "admin": "administrador", + "member": "membro", + "changePassword": "Alterar senha", + "oldPassword": "Senha antiga", + "newPassword": "Nova senha" + }, + "ticket": { + "header": "Tickets de suporte", + "add": "Adicionar ingresso", + "save": "Salvar", + "update": "Atualizar", + "delete": "Excluir tíquete", + "search": "Bilhete de pesquisa", + "subject": "Assunto", + "description": "Descrição", + "id": "ID do bilhete", + "createdAt": "Criado em", + "updatedAt": "Atualizado em", + "status": "Status", + "comments": "Comentários", + "addComments": "Adicionar comentários", + "attachments": "Anexos", + "noDataErrorMsg": "Não há dados disponíveis", + "createTicket": "Criar tíquete", + "updateTicket": "Atualizar tíquete", + "inputTextHolder": "Digite aqui", + "selectHolder": "Selecione", + "cancel": "Cancelar" + }, + "organization": { + "header": "Organizações", + "orgName": "Nome da organização", + "createOrganization": "Criar organização", + "updateOrganization": "Organização de atualização", + "nameHolder": "Digite o nome aqui", + "add": "Adicionar organização", + "save": "Salvar", + "cancel": "Cancelar", + "delete": "Excluir organização", + "search": "Organização de pesquisa", + "subject": "Assunto", + "description": "Descrição", + "id": "ID da organização", + "createdAt": "Criado em", + "updatedAt": "Atualizado em", + "status": "Status", + "invite": "Convide um colega de equipe", + "name": "Nome", + "type": "Tipo", + "owner": "Proprietário", + "created": "Criado", + "actions": "Ações", + "emailLabel": "Inserir ID de e-mail", + "emailHolder": "Digite o ID de e-mail aqui", + "note": "Observação: pressione enter para adicionar vários colegas de equipe.", + "identifier": "Identificador", + "copyapikey": "Copiar chave de API", + "getapikey": "Obtenha a chave da API", + "role": "Função", + "nameRequired": "O nome é obrigatório" + }, + "template": { + "header": "Modelos", + "add": "Adicionar modelo", + "search": "Modelo de pesquisa" + }, + "logStream": { + "header": "Transmissões", + "search": "Stream de pesquisa", + "name": "Nome", + "docNum": "Doc Num", + "storageSize": "Dados ingeridos", + "compressedSize": "Tamanho comprimido", + "time": "Hora", + "storageType": "Tipo de armazenamento", + "shardNum": "Número do fragmento", + "schemaHeader": "Detalhe do stream", + "streamSettings": "Configurações de transmissão", + "streamPartitionKey": "Chave de partição", + "streamftsKey": "Chave de pesquisa de texto completo", + "delete": "Excluir", + "deleteIndex": "Excluir stream", + "confirmDeleteHead": "Excluir stream", + "confirmDeleteMsg": "Tem certeza de que deseja excluir esse Stream?", + "cancel": "Cancelar", + "ok": "Ok", + "docsCount": "Contagem de documentos", + "mapping": "Mapeamento", + "propertyName": "Nome da propriedade", + "propertyType": "Tipo de imóvel", + "type": "Tipo", + "refreshStats": "Atualizar estatísticas", + "updateSettings": "Atualizar configurações" + }, + "function": { + "header": "Funções", + "add": "Criar nova função", + "search": "Função de pesquisa", + "name": "Nome", + "function": "Detalhe da função", + "save": "Salvar", + "jsfunction": "Função", + "stream_name": "Nome do stream", + "order": "Pedido", + "ingest": "O tempo de ingestão é uma função?", + "actions": "Ações", + "cancel": "Cancelar", + "addTitle": "Adicionar função", + "updateTitle": "Função de atualização", + "delete": "Excluir", + "ok": "Ok", + "type": "Tipo de função", + "showQuery": "O tempo de ingestão é uma função?" + }, + "confirmDialog": { + "cancel": "Cancelar", + "ok": "Ok" + }, + "ingestion": { + "header": "Ingestão", + "passwordLabel": "Token de redefinição" + }, + "dashboard": { + "header": "Painéis", + "add": "Adicionar painel", + "save": "Salvar", + "cancel": "Cancelar", + "delete": "Excluir painel", + "search": "Painel de pesquisa", + "name": "Nome do painel", + "typeDesc": "Tipo de descrição do painel", + "createdashboard": "Criar um novo painel", + "nameHolder": "Insira o nome do novo painel", + "typeHolder": "Insira a descrição do tipo do novo painel" + }, + "panel": { + "header": "Painel", + "add": "Adicionar painel", + "save": "Salvar", + "cancel": "Cancelar", + "delete": "Excluir painel", + "search": "Painel de pesquisa", + "name": "Nome do painel", + "typeDesc": "Descrição", + "createdashboard": "Criar um novo painel", + "nameHolder": "Digite o nome do novo painel", + "typeHolder": "Insira a descrição do tipo do novo painel", + "editPanel": "Painel de edição" + }, + "alerts": { + "header": "Alertas", + "add": "Adicionar alerta", + "search": "Alerta de pesquisa", + "name": "Nome", + "function": "Detalhes do alerta", + "save": "Salvar", + "sql": "Consulta", + "realTime": "Tempo real", + "scheduled": "Programado", + "duration": "Duração para a qual o alerta é avaliado", + "condition": "Condição", + "interval": "Frequência na qual o alerta é avaliado", + "delayNotificationUntil": "Adiar a notificação até, depois de uma notificação", + "destination": "Destino", + "stream_name": "Nome do stream", + "actions": "Ações", + "cancel": "Cancelar", + "addTitle": "Adicionar alerta", + "updateTitle": "Alerta de atualização", + "delete": "Excluir" + }, + "home": { + "streams": "Transmissões", + "totalDataIngested": "Total de dados ingeridos", + "view": "Veja mais>>", + "queryFunctions": "Funções de consulta", + "ingestFunctions": "Funções de ingestão", + "scheduledAlert": "Alertas programados", + "rtAlert": "Alertas em tempo real", + "noData": "Nenhum dado ingerido", + "findIngestion": "Descubra como ingerir registros >>", + "ingestionMsg": "Parece que você não ingeriu nenhum dado para a organização selecionada. Existem várias maneiras pelas quais os dados podem ser ingeridos, como o Fluentbit.", + "inestedInSearch": "Experimente a Pesquisa de registros", + "searchInDemoOrg": "Você pode explorar os recursos de pesquisa mudando para a organização de demonstração. Para mudar para a organização de demonstração, selecione “Organização de demonstração” usando o menu suspenso da organização na parte superior. Continuamos ingerindo dados fictícios para a Organização de Demonstração." + }, + "billing": { + "header": "Uso e cobrança", + "plans": "Planos", + "subtitle": "Preços simples e transparentes", + "individuals": "Para indivíduos", + "startups": "Para startups", + "basic": "Básico", + "pro": "Profissional", + "whatIsIncluded": "O que está incluído", + "subscribed": "Inscrito", + "getStarted": "Comece", + "paymentMethod": "Método de pagamento", + "invoiceHistory": "Histórico de faturas", + "generatedAt": "Gerado em", + "details": "Detalhes", + "amount": "Quantia", + "amountPaid": "Valor pago", + "amountDue": "Valor devido", + "dueDate": "Data de vencimento", + "status": "Status", + "action": "Ação", + "usage": "Uso", + "manageCards": "Gerenciar cartões", + "subscriptionCheckout": "Finalização da compra da assinatura" + } +} \ No newline at end of file diff --git a/web/src/plugins/logs/DateTime.vue b/web/src/plugins/logs/DateTime.vue index 97f6bacdb1..f7d78decb5 100644 --- a/web/src/plugins/logs/DateTime.vue +++ b/web/src/plugins/logs/DateTime.vue @@ -246,7 +246,7 @@ export default defineComponent({ setRelativeDate(period, value) { this.selectedDate.tab = "relative"; this.selectedDate.relative.period = period; - this.selectedDate.relative.value = value; + this.selectedDate.relative.value = value + period.value; this.$refs.datetimeBtn.$el.click(); }, onCustomPeriodSelect() { diff --git a/web/src/plugins/logs/Index.vue b/web/src/plugins/logs/Index.vue index 741e4405b1..15b950b7db 100644 --- a/web/src/plugins/logs/Index.vue +++ b/web/src/plugins/logs/Index.vue @@ -1246,6 +1246,8 @@ export default defineComponent({ }, changeRelativeDate() { if (this.searchObj.data.datetime.tab == "relative") { + this.searchObj.data.datetime.relative.value = + this.searchObj.data.datetime.relative.value.replace(/[^\d]/g, ""); this.runQueryFn(); } }, @@ -1277,37 +1279,49 @@ export default defineComponent({ }); - diff --git a/web/src/plugins/logs/IndexList.vue b/web/src/plugins/logs/IndexList.vue index 305a34aaa4..af710a922f 100644 --- a/web/src/plugins/logs/IndexList.vue +++ b/web/src/plugins/logs/IndexList.vue @@ -23,13 +23,17 @@ ? '' : t('search.selectIndex') " - :options="searchObj.data.stream.streamLists" + :options="streamOptions" data-cy="index-dropdown" input-debounce="0" behavior="menu" filled borderless dense + use-input + hide-selected + fill-input + @filter="filterStreamFn" >