diff --git a/client/src/locales/ar.json b/client/src/locales/ar.json index 33f245fd5..60a2db4a4 100644 --- a/client/src/locales/ar.json +++ b/client/src/locales/ar.json @@ -260,7 +260,6 @@ "notifyEmails": "", "seperateEmails": "", "checkFrequency": "", - "chooseGame": "", "matchMethod": "", "expectedValue": "", "deleteDialogTitle": "", @@ -569,7 +568,8 @@ "password": { "incorrect": "" } - } + }, + "welcome": "" }, "registration": { "heading": { @@ -595,7 +595,8 @@ }, "toasts": { "success": "" - } + }, + "welcome": "" }, "forgotPassword": { "heading": "", @@ -847,6 +848,10 @@ "selectDisabled": "", "selectEnabled": "", "title": "" + }, + "globalThresholds": { + "title": "", + "description": "" } }, "statusPageCreate": { @@ -915,7 +920,12 @@ "twentyMinutes": "", "oneHour": "", "oneDay": "", - "oneWeek": "" + "oneWeek": "", + "fourMinutes": "", + "oneMinute": "", + "twoMinutes": "", + "fifteenSeconds": "", + "thirtySeconds": "" }, "general": { "noOptionsFound": "" @@ -967,5 +977,75 @@ } }, "incidentsPageActionResolveMonitor": "", - "incidentsPageActionResolveAll": "" + "incidentsPageActionResolveAll": "", + "matchMethodOptions": { + "equal": "", + "equalPlaceholder": "", + "include": "", + "includePlaceholder": "", + "regex": "", + "regexPlaceholder": "", + "text": "" + }, + "monitorType": { + "docker": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "http": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "ping": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "port": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "game": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + } + }, + "uptimeAdvancedMatching": { + "jsonPath": "" + }, + "bytesPerSecond": "", + "bytesReceived": "", + "bytesSent": "", + "chooseGame": "", + "createMonitorPage": { + "incidentConfigDescription": "", + "incidentConfigStatusWindowLabel": "", + "incidentConfigStatusWindowThresholdLabel": "", + "incidentConfigTitle": "" + }, + "dataRate": "", + "dataReceived": "", + "dataSent": "", + "details": "", + "drops": "", + "errors": "", + "errorsIn": "", + "errorsOut": "", + "gameServerMonitoring": "", + "gameServerMonitoringDescription": "", + "network": "", + "networkDrops": "", + "networkErrors": "", + "networkInterface": "", + "noNetworkStatsAvailable": "", + "packetsPerSecond": "", + "packetsReceived": "", + "packetsReceivedRate": "", + "packetsSent": "", + "rate": "", + "selectInterface": "" } diff --git a/client/src/locales/cs.json b/client/src/locales/cs.json index 1fb579270..10322c471 100644 --- a/client/src/locales/cs.json +++ b/client/src/locales/cs.json @@ -260,7 +260,6 @@ "notifyEmails": "", "seperateEmails": "", "checkFrequency": "", - "chooseGame": "", "matchMethod": "", "expectedValue": "", "deleteDialogTitle": "", @@ -569,7 +568,8 @@ "password": { "incorrect": "" } - } + }, + "welcome": "" }, "registration": { "heading": { @@ -595,7 +595,8 @@ }, "toasts": { "success": "Vítejte! Váš účet byl úspěšně vytvořen." - } + }, + "welcome": "" }, "forgotPassword": { "heading": "Zapomenuté heslo", @@ -847,6 +848,10 @@ "selectDisabled": "", "selectEnabled": "", "title": "" + }, + "globalThresholds": { + "title": "", + "description": "" } }, "statusPageCreate": { @@ -915,7 +920,12 @@ "twentyMinutes": "", "oneHour": "", "oneDay": "", - "oneWeek": "" + "oneWeek": "", + "fourMinutes": "", + "oneMinute": "", + "twoMinutes": "", + "fifteenSeconds": "", + "thirtySeconds": "" }, "general": { "noOptionsFound": "" @@ -967,5 +977,75 @@ } }, "incidentsPageActionResolveMonitor": "", - "incidentsPageActionResolveAll": "" + "incidentsPageActionResolveAll": "", + "matchMethodOptions": { + "equal": "", + "equalPlaceholder": "", + "include": "", + "includePlaceholder": "", + "regex": "", + "regexPlaceholder": "", + "text": "" + }, + "monitorType": { + "docker": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "http": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "ping": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "port": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "game": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + } + }, + "uptimeAdvancedMatching": { + "jsonPath": "" + }, + "bytesPerSecond": "", + "bytesReceived": "", + "bytesSent": "", + "chooseGame": "", + "createMonitorPage": { + "incidentConfigDescription": "", + "incidentConfigStatusWindowLabel": "", + "incidentConfigStatusWindowThresholdLabel": "", + "incidentConfigTitle": "" + }, + "dataRate": "", + "dataReceived": "", + "dataSent": "", + "details": "", + "drops": "", + "errors": "", + "errorsIn": "", + "errorsOut": "", + "gameServerMonitoring": "", + "gameServerMonitoringDescription": "", + "network": "", + "networkDrops": "", + "networkErrors": "", + "networkInterface": "", + "noNetworkStatsAvailable": "", + "packetsPerSecond": "", + "packetsReceived": "", + "packetsReceivedRate": "", + "packetsSent": "", + "rate": "", + "selectInterface": "" } diff --git a/client/src/locales/de.json b/client/src/locales/de.json index 4ac77ef29..115d9733f 100644 --- a/client/src/locales/de.json +++ b/client/src/locales/de.json @@ -51,14 +51,14 @@ "label": "Slack", "description": "Um Slack-Benachrichtigungen zu aktivieren, erstelle eine Slack-App und aktiviere eingehende Webhooks. Danach gib einfach die Webhook-URL hier ein.", "webhookLabel": "Webhook URL", - "webhookPlaceholder": "", + "webhookPlaceholder": "https://hooks.slack.com/services/...", "webhookRequired": "Slack webhook URL wird benötigt" }, "discord": { "label": "Discord", "description": "Um Daten von Checkmate an einen Discord-Kanal über Discord-Benachrichtigungen mithilfe von Webhooks zu senden, kannst Du die eingehenden Webhooks von Discord verwenden.", "webhookLabel": "Discord Webhook URL", - "webhookPlaceholder": "", + "webhookPlaceholder": "https://discord.com/api/webhooks/...", "webhookRequired": "Discord webhook URL wird benötigt" }, "telegram": { @@ -78,33 +78,37 @@ "urlRequired": "Webhook URL wird benötigt" }, "testNotificationDevelop": "Testbenachrichtigung 2", - "integrationButton": "", - "testSuccess": "", - "testFailed": "", - "unsupportedType": "", - "networkError": "", + "integrationButton": "Benachrichtigungsintegration", + "testSuccess": "Testbenachrichtigung erfolgreich gesendet!", + "testFailed": "Senden der Testbenachrichtigung fehlgeschlagen", + "unsupportedType": "Nicht unterstützter Benachrichtigungstyp", + "networkError": "Netzwerkfehler aufgetreten", "fallback": { - "title": "", - "checks": [""], - "actionButton": "" + "title": "Ein Benachrichtigungskanal wird verwendet, um:", + "checks": [ + "Teams über Ausfallzeiten oder Leistungsprobleme informieren", + "Informieren Sie Techniker über Vorfälle", + "Informieren Sie Administratoren über Systemänderungen" + ], + "actionButton": "Lassen Sie uns Ihren ersten Benachrichtigungskanal erstellen!" }, - "createButton": "", - "createTitle": "", + "createButton": "Benachrichtigungskanal erstellen", + "createTitle": "Benachrichtigungskanal", "create": { - "success": "", - "failed": "" + "success": "Benachrichtigung erfolgreich erstellt", + "failed": "Benachrichtigung konnte nicht erstellt werden" }, "fetch": { - "success": "", - "failed": "" + "success": "Benachrichtigungen erfolgreich abgerufen", + "failed": "Abrufen der Benachrichtigungen fehlgeschlagen" }, "delete": { - "success": "", - "failed": "" + "success": "Benachrichtigung erfolgreich gelöscht", + "failed": "Benachrichtigung konnte nicht gelöscht werden" }, "edit": { - "success": "", - "failed": "" + "success": "Benachrichtigung erfolgreich aktualisiert", + "failed": "Benachrichtigung konnte nicht aktualisiert werden" }, "test": { "success": "Test Benachrichtigung erfolgreich gesendet", @@ -227,7 +231,7 @@ "createMaintenance": "Erstelle Wartungsfenster", "editMaintenance": "Ändere Wartungsfenster", "maintenanceWindowName": "Name des Wartungsfensters", - "friendlyNameInput": "", + "friendlyNameInput": "Freundlicher Name", "friendlyNamePlaceholder": "Wartung um __ : __ für ___ Minuten", "maintenanceRepeat": "Wartungsfenster wiederholen", "maintenance": "Wartungsfenster", @@ -247,7 +251,7 @@ "edit": "Ändern", "createA": "Erstelle ein", "remove": "Löschen", - "maintenanceWindowDescription": "", + "maintenanceWindowDescription": "Pings werden während dieses Zeitraums nicht gesendet", "startTime": "Anfangszeit", "timeZoneInfo": "Alle Daten und Zeiten sind in der Zeitzone GMT+0.", "monitorsToApply": "Monitore, auf die das Wartungsfenster angewendet werden soll", @@ -260,79 +264,78 @@ "notifyEmails": "Benachrichtige auch per E-Mail an mehrere Adressen (kommt bald)", "seperateEmails": "Du kannst mehrere E-Mails mit einem Komma trennen", "checkFrequency": "Überprüfungsfrequenz", - "chooseGame": "", - "matchMethod": "", + "matchMethod": "Übereinstimmungsmethode", "expectedValue": "Erwarteter Wert", "deleteDialogTitle": "Möchtest du diesen Monitor wirklich löschen?", "deleteDialogDescription": "Sobald dieser Monitor gelöscht ist, kann er nicht wiederhergestellt werden.", - "pageSpeedMonitor": "", - "shown": "", + "pageSpeedMonitor": "PageSpeed-Monitor", + "shown": "Gezeigt", "ago": "vor", - "companyName": "", - "pageSpeedDetailsPerformanceReport": "", - "pageSpeedDetailsPerformanceReportCalculator": "", - "checkingEvery": "", - "statusPageCreateSettings": "", - "basicInformation": "", - "statusPageCreateBasicInfoDescription": "", - "statusPageCreateSelectTimeZoneDescription": "", - "statusPageCreateAppearanceDescription": "", - "statusPageCreateSettingsCheckboxLabel": "", - "statusPageCreateBasicInfoStatusPageAddress": "", - "statusPageCreateTabsContent": "", - "statusPageCreateTabsContentDescription": "", - "statusPageCreateTabsContentFeaturesDescription": "", - "showCharts": "", - "showUptimePercentage": "", + "companyName": "Name der Firma", + "pageSpeedDetailsPerformanceReport": "Die Werte sind geschätzt und können variieren.", + "pageSpeedDetailsPerformanceReportCalculator": "Rechner öffnen", + "checkingEvery": "Überprüfen alle", + "statusPageCreateSettings": "Wenn Ihre Statusseite fertig ist, können Sie sie als veröffentlicht markieren.", + "basicInformation": "Grundlegende Informationen", + "statusPageCreateBasicInfoDescription": "Definieren Sie den Firmennamen und die Subdomäne, auf die Ihre Statusseite verweist.", + "statusPageCreateSelectTimeZoneDescription": "Wählen Sie die Zeitzone aus, in der Ihre Statusseite angezeigt wird.", + "statusPageCreateAppearanceDescription": "Definieren Sie das Standard-Erscheinungsbild Ihrer öffentlichen Statusseite.", + "statusPageCreateSettingsCheckboxLabel": "Veröffentlicht und für die Öffentlichkeit sichtbar", + "statusPageCreateBasicInfoStatusPageAddress": "Ihre Statusseitenadresse", + "statusPageCreateTabsContent": "Statusseitenserver", + "statusPageCreateTabsContentDescription": "Sie können Ihrer Statusseite beliebig viele Server hinzufügen, die Sie überwachen. Sie die Reihenfolge der Server ändern.", + "statusPageCreateTabsContentFeaturesDescription": "Mehr Details auf der Statusseite anzeigen", + "showCharts": "Diagramme anzeigen", + "showUptimePercentage": "Verfügbarkeitsprozentsatz anzeigen", "removeLogo": "Entferne Logo", - "statusPageStatus": "", - "statusPageStatusContactAdmin": "", - "statusPageStatusNotPublic": "", - "statusPageStatusNoPage": "", - "statusPageStatusServiceStatus": "", - "deleteStatusPage": "", - "deleteStatusPageConfirm": "", - "deleteStatusPageDescription": "", - "uptimeCreate": "", - "uptimeCreateJsonPath": "", - "uptimeCreateJsonPathQuery": "", - "maintenanceTableActionMenuDialogTitle": "", - "infrastructureEditYour": "", - "infrastructureEditMonitor": "", - "infrastructureMonitorCreated": "", - "infrastructureMonitorUpdated": "", - "errorInvalidTypeId": "", - "errorInvalidFieldId": "", - "inviteNoTokenFound": "", - "pageSpeedWarning": "", + "statusPageStatus": "Eine öffentliche Statusseite ist nicht eingerichtet.", + "statusPageStatusContactAdmin": "Bitte wenden Sie sich an Ihren Administrator", + "statusPageStatusNotPublic": "Diese Statusseite ist nicht öffentlich.", + "statusPageStatusNoPage": "Hier gibt es keine Statusseite.", + "statusPageStatusServiceStatus": "Dienststatus", + "deleteStatusPage": "Möchten Sie diese Statusseite löschen?", + "deleteStatusPageConfirm": "Ja, Statusseite löschen", + "deleteStatusPageDescription": "Nach dem Löschen kann Ihre Statusseite nicht mehr abgerufen werden.", + "uptimeCreate": "Der erwartete Wert wird zum Abgleich mit dem Antwortergebnis verwendet und die Übereinstimmung bestimmt den Status.", + "uptimeCreateJsonPath": "Dieser Ausdruck wird anhand der JSON-Antwortdaten ausgewertet und das Ergebnis wird zum Abgleich mit dem erwarteten Wert verwendet. Siehe", + "uptimeCreateJsonPathQuery": "für die Dokumentation der Abfragesprache.", + "maintenanceTableActionMenuDialogTitle": "Möchten Sie dieses Wartungsfenster wirklich entfernen?", + "infrastructureEditYour": "Bearbeiten Sie Ihre", + "infrastructureEditMonitor": "Infrastrukturmonitor speichern", + "infrastructureMonitorCreated": "Infrastrukturmonitor erfolgreich erstellt!", + "infrastructureMonitorUpdated": "Infrastrukturmonitor erfolgreich aktualisiert!", + "errorInvalidTypeId": "Ungültiger Benachrichtigungstyp angegeben", + "errorInvalidFieldId": "Ungültige Feld-ID angegeben", + "inviteNoTokenFound": "Kein Einladungstoken gefunden", + "pageSpeedWarning": "Warnung: Sie haben noch keinen Google PageSpeed API-Schlüssel hinzugefügt. Ohne diesen funktioniert der PageSpeed-Monitor nicht.", "pageSpeedLearnMoreLink": "Hier klicken", "pageSpeedAddApiKey": "um einen API key einzutragen", "update": "Update", "invalidFileFormat": "Nicht unterstützes Dateiformat", "invalidFileSize": "Dateigröße zu groß!", - "ClickUpload": "", + "ClickUpload": "Zum Hochladen klicken", "DragandDrop": "drag and drop", "MaxSize": "Maximalgröße", "SupportedFormats": "Unterstützte Formate", "FirstName": "Vorname", "LastName": "Zuname", - "EmailDescriptionText": "", + "EmailDescriptionText": "Dies ist Ihre aktuelle E-Mail-Adresse – sie kann nicht geändert werden.", "YourPhoto": "Profilphoto", - "PhotoDescriptionText": "", + "PhotoDescriptionText": "Dieses Foto wird auf Ihrer Profilseite angezeigt.", "save": "Speichern", - "DeleteDescriptionText": "", - "DeleteAccountWarning": "", + "DeleteDescriptionText": "Dadurch werden das Konto und alle zugehörigen Daten vom Server entfernt. Dieser Vorgang kann nicht rückgängig gemacht werden.", + "DeleteAccountWarning": "Wenn Sie Ihr Konto löschen, können Sie sich nicht mehr anmelden und alle Ihre Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden.", "DeleteWarningTitle": "Account wirklich löschen?", "bulkImport": { - "title": "", - "selectFileTips": "", - "selectFileDescription": "", + "title": "Massenimport", + "selectFileTips": "Wählen Sie die CSV-Datei zum Hochladen aus", + "selectFileDescription": "Sie können unsere oder Beispiel herunterladen.", "selectFile": "Datei auswählen", - "parsingFailed": "", + "parsingFailed": "Parsen fehlgeschlagen", "uploadSuccess": "Monitore erfolgreich erstellt!", "validationFailed": "Prüfung fehlgeschlagen", "noFileSelected": "Keine Datei ausgewählt", - "fallbackPage": "", + "fallbackPage": "Importieren Sie eine Datei, um eine Liste von Servern gleichzeitig hochzuladen", "invalidFileType": "Ungültiger Dateityp", "uploadFailed": "Upload fehlgeschlagen" }, @@ -347,8 +350,8 @@ "createNew": "Neu anlegen", "greeting": { "prepend": "Hallo", - "append": "", - "overview": "" + "append": "Der Nachmittag gehört Ihnen – machen wir ihn episch!", + "overview": "Hier ist eine Übersicht Ihrer {{type}}-Monitore." }, "roles": { "superAdmin": "Super admin", @@ -364,7 +367,7 @@ }, "inviteTeamMember": "Team Mirglied einladen", "inviteNewTeamMember": "Neues Team Mirglied einladen", - "inviteDescription": "", + "inviteDescription": "Wenn Sie ein neues Teammitglied hinzufügen, erhält dieses Zugriff auf alle Monitore.", "email": "Email", "selectRole": "Rolle auswählen", "inviteLink": "Einladungslink", @@ -381,17 +384,17 @@ }, "monitorState": { "paused": "Pausiert", - "resumed": "", + "resumed": "Wiederaufgenommen", "active": "Aktiv" }, "menu": { "uptime": "Uptime", - "pagespeed": "", - "infrastructure": "", - "incidents": "", + "pagespeed": "Pagespeed", + "infrastructure": "Infrastruktur", + "incidents": "Vorfälle", "statusPages": "Statusseite", "maintenance": "Wartung", - "integrations": "", + "integrations": "Integrationen", "settings": "Einstellungen", "support": "Support", "discussions": "Diskussionen", @@ -404,12 +407,12 @@ "notifications": "Benachrichtigungen", "logs": "Logs" }, - "settingsEmailUser": "", - "state": "", + "settingsEmailUser": "E-Mail-Benutzer – Benutzername zur Authentifizierung, überschreibt die E-Mail-Adresse, falls angegeben", + "state": "Zustand", "statusBreadCrumbsStatusPages": "Statusseite", "statusBreadCrumbsDetails": "Details", "commonSaving": "Speichere...", - "navControls": "", + "navControls": "Steuerungen", "incidentsPageTitle": "Ereignisse", "passwordPanel": { "passwordChangedSuccess": "Dein Passwort wurde erfolgreich geändert.", @@ -430,22 +433,22 @@ "settingsTestEmailUnknownError": "Unbekannter Fehler", "statusMsg": { "paused": "Monitoring pausiert", - "up": "", - "down": "", - "pending": "" + "up": "Ihre Site ist online.", + "down": "Ihre Site ist nicht erreichbar.", + "pending": "Ausstehend..." }, "uptimeGeneralInstructions": { - "http": "", - "ping": "", - "docker": "", - "port": "", + "http": "Geben Sie die zu überwachende URL oder IP ein (z. B. https://example.com/ oder 192.168.1.100) und fügen Sie einen eindeutigen Anzeigenamen hinzu, der auf dem Dashboard angezeigt wird.", + "ping": "Geben Sie die IP-Adresse oder den Hostnamen ein, der angepingt werden soll (z. B. 192.168.1.100 oder example.com), und fügen Sie einen eindeutigen Anzeigenamen hinzu, der auf dem Dashboard angezeigt wird.", + "docker": "Geben Sie die Docker-ID Ihres Containers ein. Docker-IDs müssen die vollständige 64-Zeichen-ID sein. Sie können docker inspect ausführen, um die vollständige Container-ID abzurufen.", + "port": "Geben Sie die URL oder IP des Servers, die Portnummer und einen eindeutigen Anzeigenamen ein, der auf dem Dashboard angezeigt wird.", "game": "" }, "common": { "appName": "Checkmate", "monitoringAgentName": "Capture", "buttons": { - "toggleTheme": "" + "toggleTheme": "Schaltet hell und dunkel um" }, "toasts": { "networkError": "Netzwerkfehler", @@ -465,7 +468,7 @@ "placeholder": "jordan.ellis@domain.com", "errors": { "empty": "Email adresse eingeben um fortzufahren", - "invalid": "" + "invalid": "Bitte überprüfen Sie die Gültigkeit der eingegebenen E-Mail-Adresse erneut" } }, "password": { @@ -492,7 +495,7 @@ "highlighted": "einen Kleinbuchstaben enthalten" }, "match": { - "beginning": "", + "beginning": "Passwort und Kennwort bestätigen", "highlighted": "muß übereinstimmen" } }, @@ -544,7 +547,7 @@ }, "role": { "errors": { - "min": "" + "min": "Mindestens eine Rolle ist erforderlich" } } } @@ -569,7 +572,8 @@ "password": { "incorrect": "Das Passwort stimmt nicht mit dem gespeicherten überein" } - } + }, + "welcome": "" }, "registration": { "heading": { @@ -577,25 +581,26 @@ "user": "Anmelden" }, "subheadings": { - "stepOne": "", + "stepOne": "Geben Sie Ihre persönlichen Daten ein", "stepTwo": "Email eingeben", "stepThree": "Passwort eingeben" }, "description": { "superAdmin": "Super admin account anlegen um zu beginnen", - "user": "" + "user": "Melden Sie sich als Benutzer an und bitten Sie den Superadministrator um Zugriff auf Ihre Monitore" }, "gettingStartedButton": { "superAdmin": "Super admin account anlegen", "user": "Normalen Benutzer anlegen" }, - "termsAndPolicies": "", + "termsAndPolicies": "Indem Sie ein Konto erstellen, stimmen Sie unseren Servicebedingungen und Datenschutzrichtlinien zu.", "links": { "login": "Du hast bereits einen Benutzer? Anmelden" }, "toasts": { "success": "Willkommen! Benutzer erfolgreich angelegt" - } + }, + "welcome": "" }, "forgotPassword": { "heading": "Passwort vergessen?", @@ -624,7 +629,7 @@ "emailNotFound": "Email nicht gefunden.", "redirect": "Umleitung in ...", "success": "Passwort erfolgreich zurückgesetzt.", - "error": "" + "error": "Kennwort konnte nicht zurückgesetzt werden. Bitte versuchen Sie es später erneut oder wenden Sie sich an den Support." } } }, @@ -635,7 +640,7 @@ "stillUnreachable": "Server immer noch nicht erreichbar. Bitte später erneut versuchen." }, "alertBox": "Server Verbindungsfehler", - "description": "", + "description": "Wir können keine Verbindung zum Server herstellen. Bitte überprüfen Sie Ihre Internetverbindung oder Ihre Bereitstellungskonfiguration, falls das Problem weiterhin besteht.", "retryButton": { "default": "Verbindung erneut versuchen", "processing": "Verbinde..." @@ -643,16 +648,16 @@ } }, "createNotifications": { - "title": "", + "title": "Benachrichtigungskanal erstellen", "nameSettings": { "title": "Name", - "description": "", + "description": "Ein beschreibender Name für Ihre Integration.", "nameLabel": "Name", "namePlaceholder": "z.B. Slack Benachrichtigung" }, "typeSettings": { "title": "Typ", - "description": "", + "description": "Wählen Sie den Typ des Benachrichtigungskanals aus, den Sie erstellen möchten.", "typeLabel": "Typ" }, "emailSettings": { @@ -665,7 +670,7 @@ "title": "Slack", "description": "Slack webhook hier konfigurieren", "webhookLabel": "Slack webhook URL", - "webhookPlaceholder": "" + "webhookPlaceholder": "https://hooks.slack.com/services/..." }, "pagerdutySettings": { "title": "PagerDuty", @@ -685,38 +690,38 @@ "webhookLabel": "Webhook URL", "webhookPlaceholder": "https://your-server.com/webhook" }, - "testNotification": "", - "dialogDeleteTitle": "", - "dialogDeleteConfirm": "" + "testNotification": "Testbenachrichtigung", + "dialogDeleteTitle": "Möchten Sie diese Benachrichtigung wirklich löschen?", + "dialogDeleteConfirm": "Löschen" }, "notificationConfig": { "title": "Benachrichtigungen", - "description": "" + "description": "Wählen Sie die Benachrichtigungskanäle aus, die Sie verwenden möchten" }, "monitorStatus": { - "checkingEvery": "", - "withCaptureAgent": "", + "checkingEvery": "Überprüfung alle {{interval}}", + "withCaptureAgent": "mit Capture-Agent {{version}}", "up": "hoch", "down": "runter", "paused": "pausiert" }, - "advancedMatching": "", + "advancedMatching": "Erweiterter Abgleich", "sendTestNotifications": "Test Benachrichtigung senden", "selectAll": "Alle auswählen", - "showAdminLoginLink": "", + "showAdminLoginLink": "Link „Administrator? Hier anmelden“ auf der Statusseite anzeigen", "logsPage": { "title": "Logs", - "description": "", + "description": "Systemprotokolle – letzte 1000 Zeilen", "tabs": { "queue": "Warteschlange", "logs": "Server logs", - "diagnostics": "" + "diagnostics": "Diagnose" }, "toast": { - "fetchLogsSuccess": "" + "fetchLogsSuccess": "Protokolle erfolgreich abgerufen" }, "logLevelSelect": { - "title": "", + "title": "Protokollebene", "values": { "all": "Alle", "info": "Info", @@ -736,7 +741,7 @@ "urlHeader": "URL", "typeHeader": "Typ", "activeHeader": "Aktiv", - "lockedAtHeader": "", + "lockedAtHeader": "Gesperrt bei", "runCountHeader": "Anzahl Läufe", "failCountHeader": "Anzahl Fehler", "lastRunHeader": "Letzter Lauf um", @@ -744,8 +749,8 @@ "lastRunTookHeader": "Letzter Lauf dauerte" }, "metricsTable": { - "title": "", - "metricHeader": "", + "title": "Warteschlangenmetriken", + "metricHeader": "Metrisch", "valueHeader": "Wert" }, "failedJobTable": { @@ -766,9 +771,9 @@ "title": "Export/Import", "import": "Monitore importieren", "export": "Monitore exportieren", - "deleteSuccess": "", - "deleteFailed": "", - "details": "" + "deleteSuccess": "Monitor erfolgreich gelöscht", + "deleteFailed": "Monitor konnte nicht gelöscht werden", + "details": "Details" }, "settingsPage": { "aboutSettings": { @@ -783,43 +788,43 @@ }, "emailSettings": { "buttonSendTestEmail": "Test-Email senden", - "description": "", - "descriptionTransport": "", - "labelAddress": "", - "labelConnectionHost": "", - "labelHost": "", + "description": "Konfigurieren Sie die E-Mail-Einstellungen für Ihr System. Diese werden zum Senden von Benachrichtigungen und Warnungen verwendet.", + "descriptionTransport": "Dies erstellt einen SMTP-Transport für NodeMailer", + "labelAddress": "E-Mail-Adresse - Wird zur Authentifizierung verwendet", + "labelConnectionHost": "E-Mail-Verbindungshost – Hostname zur Verwendung in der HELO/EHLO-Begrüßung", + "labelHost": "E-Mail-Host – Hostname oder IP-Adresse, mit der eine Verbindung hergestellt werden soll", "labelIgnoreTLS": "STARTTLS abschalten: TLS nicht nutzen, selbst wenn der Server es unterstützt", "labelPassword": "Email password - Password für Anmeldung", "labelPasswordSet": "Passwort erstellt. Reset drücken um es zu ändern.", - "labelPool": "", + "labelPool": "Verbindungspooling aktivieren: Vorhandene Verbindungen wiederverwenden, um die Leistung zu verbessern", "labelPort": "Email port - Port zum verbinden", "labelRejectUnauthorized": "Ungültige Zertifikate ablehnen. Verbindungen mit self-signed oder nicht vertrauenswürdigen Zertifikaten ablehnen.", - "labelRequireTLS": "", + "labelRequireTLS": "STARTTLS erzwingen: TLS-Upgrade erforderlich, schlägt fehl, wenn nicht unterstützt", "labelSecure": "SSL verwenden (empfohlen): Verbindung mit SSL/TLS verschlüsseln", - "labelTLSServername": "", - "labelUser": "", - "linkTransport": "", + "labelTLSServername": "TLS-Servername – Optionaler Hostname für die TLS-Validierung, wenn der Host eine IP ist", + "labelUser": "E-Mail-Benutzer – Benutzername zur Authentifizierung, überschreibt die E-Mail-Adresse, falls angegeben", + "linkTransport": "Spezifikationen finden Sie hier", "placeholderUser": "Leer lassen, wenn nicht benötigt", "title": "Email", - "toastEmailRequiredFieldsError": "" + "toastEmailRequiredFieldsError": "E-Mail-Adresse, Host, Port und Passwort sind erforderlich" }, "pageSpeedSettings": { - "description": "", + "description": "Geben Sie Ihren Google PageSpeed API-Schlüssel ein, um die Google PageSpeed-Überwachung zu aktivieren. Klicken Sie auf „Zurücksetzen“, um den Schlüssel zu aktualisieren.", "labelApiKeySet": "API key erstellt. Reset drücken um ihn zu ändern.", "labelApiKey": "PageSpeed API key", "title": "Google PageSpeed API key" }, "saveButtonLabel": "Speichern", "statsSettings": { - "clearAllStatsButton": "", - "clearAllStatsDescription": "", - "clearAllStatsDialogConfirm": "", - "clearAllStatsDialogDescription": "", - "clearAllStatsDialogTitle": "", - "description": "", - "labelTTL": "", + "clearAllStatsButton": "Alle Statistiken löschen", + "clearAllStatsDescription": "Alle Statistiken löschen. Dies ist irreversibel.", + "clearAllStatsDialogConfirm": "Ja, alle Statistiken löschen", + "clearAllStatsDialogDescription": "Nach dem Entfernen können der Überwachungsverlauf und die Statistiken nicht mehr abgerufen werden.", + "clearAllStatsDialogTitle": "Möchten Sie alle Statistiken löschen?", + "description": "Legen Sie fest, wie lange Sie historische Daten aufbewahren möchten. Sie können auch alle vorhandenen Daten löschen.", + "labelTTL": "Die Tage, an denen Sie den Überwachungsverlauf beibehalten möchten.", "labelTTLOptional": "0 für unendlich", - "title": "" + "title": "Monitorverlauf" }, "systemResetSettings": { "buttonRemoveAllMonitors": "Alle Monitore löschen", @@ -830,142 +835,242 @@ "title": "System zurücksetzen" }, "timezoneSettings": { - "description": "", + "description": "Wählen Sie die Zeitzone aus, die zum Anzeigen von Datum und Uhrzeit in der gesamten Anwendung verwendet wird.", "label": "Zeitzone", "title": "Zeitzone" }, "title": "Einstellungen", "uiSettings": { - "description": "", + "description": "Wechseln Sie zwischen hellem und dunklem Modus oder ändern Sie die Sprache der Benutzeroberfläche.", "labelLanguage": "Sprache", - "labelTheme": "", - "title": "" + "labelTheme": "Themenmodus", + "title": "Aussehen" }, "urlSettings": { - "description": "", - "label": "", + "description": "Zeigt die IP-Adresse oder URL des Monitors auf der öffentlichen Statusseite an. Wenn diese Option deaktiviert ist, wird zum Schutz vertraulicher Informationen nur der Monitorname angezeigt.", + "label": "IP/URL auf der Statusseite anzeigen", "selectDisabled": "Inaktiv", "selectEnabled": "Aktiv", - "title": "" + "title": "Überwachen Sie IP/URL auf der Statusseite" + }, + "globalThresholds": { + "title": "", + "description": "" } }, "statusPageCreate": { "buttonSave": "Speichern" }, - "incidentsOptionsHeaderFilterResolved": "", + "incidentsOptionsHeaderFilterResolved": "Gelöst", "settingsSave": "Speichern", - "statusPageCreateAppearanceTitle": "", + "statusPageCreateAppearanceTitle": "Aussehen", "confirmPassword": "Passwort bestätigen", "monitorHooks": { "failureAddDemoMonitors": "Demo Monitor konnte nicht hinzugefügt werden", "successAddDemoMonitors": "Demo Monitor erfolgreich hinzugefügt" }, - "settingsAppearance": "", - "settingsDisplayTimezone": "", - "settingsGeneralSettings": "", - "incidentsOptionsHeaderTotalIncidents": "", + "settingsAppearance": "Aussehen", + "settingsDisplayTimezone": "Zeitzone anzeigen", + "settingsGeneralSettings": "Allgemeine Einstellungen", + "incidentsOptionsHeaderTotalIncidents": "Gesamtanzahl der Vorfälle", "statusPage": { - "deleteSuccess": "", - "deleteFailed": "", - "createSuccess": "", - "updateSuccess": "", - "generalSettings": "", - "contents": "", + "deleteSuccess": "Statusseite erfolgreich gelöscht", + "deleteFailed": "Löschen der Statusseite fehlgeschlagen", + "createSuccess": "Statusseite erfolgreich erstellt", + "updateSuccess": "Statusseite erfolgreich aktualisiert", + "generalSettings": "Allgemeine Einstellungen", + "contents": "Inhalt", "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Überwachen und zeigen Sie den Zustand Ihrer Dienste in Echtzeit an.", + "Verfolgen Sie mehrere Dienste und teilen Sie deren Status.", + "Informieren Sie Nutzer über Ausfälle und Leistung." + ], + "title": "Eine Statusseite wird verwendet, um:", + "actionButton": "Lassen Sie uns Ihre erste Statusseite erstellen!" } }, - "testNotificationsDisabled": "", - "incidentsTableResolvedAt": "", - "incidentsTableActionResolve": "", + "testNotificationsDisabled": "Für diesen Monitor sind keine Benachrichtigungen eingerichtet. Sie müssen eine hinzufügen, indem Sie auf die Schaltfläche „Konfigurieren“ klicken.", + "incidentsTableResolvedAt": "Gelöst am", + "incidentsTableActionResolve": "Lösen", "checkHooks": { - "failureResolveOne": "", - "failureResolveAll": "", - "failureResolveMonitor": "" + "failureResolveOne": "Der Vorfall konnte nicht gelöst werden.", + "failureResolveAll": "Es konnten nicht alle Vorfälle gelöst werden.", + "failureResolveMonitor": "Monitorvorfälle konnten nicht behoben werden." }, - "checkFormError": "", + "checkFormError": "Bitte überprüfen Sie das Formular auf Fehler.", "diagnosticsPage": { - "diagnosticDescription": "", - "statsDescription": "", + "diagnosticDescription": "Systemdiagnose", + "statsDescription": "Systemstatistiken", "gauges": { - "heapAllocationTitle": "", - "heapAllocationSubtitle": "", - "heapUsageTitle": "", - "heapUsageSubtitle": "", - "heapUtilizationTitle": "", - "heapUtilizationSubtitle": "", - "instantCpuUsageTitle": "", - "instantCpuUsageSubtitle": "" + "heapAllocationTitle": "Heap-Zuweisung", + "heapAllocationSubtitle": "% des verfügbaren Speichers", + "heapUsageTitle": "Heap-Nutzung", + "heapUsageSubtitle": "% des verfügbaren Speichers", + "heapUtilizationTitle": "Heap-Auslastung", + "heapUtilizationSubtitle": "% der zugewiesenen", + "instantCpuUsageTitle": "Sofortige CPU-Auslastung", + "instantCpuUsageSubtitle": "% der von der CPU genutzten 1s" }, "stats": { - "eventLoopDelayTitle": "", - "uptimeTitle": "", - "usedHeapSizeTitle": "", - "totalHeapSizeTitle": "", - "osMemoryLimitTitle": "" + "eventLoopDelayTitle": "Ereignisschleifenverzögerung", + "uptimeTitle": "Betriebszeit", + "usedHeapSizeTitle": "Verwendete Heap-Größe", + "totalHeapSizeTitle": "Gesamtgröße des Heapspeichers", + "osMemoryLimitTitle": "Betriebssystem-Speicherlimit" } }, - "pageSpeedLighthouseAPI": "", + "pageSpeedLighthouseAPI": "Verwenden Sie die Lighthouse PageSpeed API, um Ihre Website zu überwachen", "time": { - "threeMinutes": "", - "fiveMinutes": "", - "tenMinutes": "", - "twentyMinutes": "", - "oneHour": "", - "oneDay": "", - "oneWeek": "" + "threeMinutes": "3 Minuten", + "fiveMinutes": "5 Minuten", + "tenMinutes": "10 Minuten", + "twentyMinutes": "20 Minuten", + "oneHour": "1 Stunde", + "oneDay": "1 Tag", + "oneWeek": "1 Woche", + "fourMinutes": "", + "oneMinute": "", + "twoMinutes": "", + "fifteenSeconds": "", + "thirtySeconds": "" }, "general": { - "noOptionsFound": "" + "noOptionsFound": "Keine {{unit}} gefunden" }, "infrastructureMonitor": { "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Verfolgen Sie die Leistung Ihrer Server", + "Identifizieren Sie Engpässe und optimieren Sie die Nutzung", + "Sorgen Sie für Zuverlässigkeit durch Echtzeitüberwachung" + ], + "title": "Ein Infrastrukturmonitor wird verwendet, um:", + "actionButton": "Lassen Sie uns Ihren ersten Infrastrukturmonitor erstellen!" } }, "maintenanceWindow": { "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Markieren Sie Ihre Wartungszeiträume.", + "Beseitigen Sie Missverständnisse.", + "Beenden Sie das Senden von Warnmeldungen in Wartungsfenstern." + ], + "title": "Ein Wartungsfenster wird verwendet, um:", + "actionButton": "Lassen Sie uns Ihr erstes Wartungsfenster erstellen!" } }, "pageSpeed": { "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Berichten Sie über die Benutzerfreundlichkeit einer Seite.", + "Helfen Sie bei der Analyse der Webseitengeschwindigkeit.", + "Geben Sie Verbesserungsvorschläge für die Seite." + ], + "title": "Ein PageSpeed-Monitor wird verwendet, um:", + "actionButton": "Lassen Sie uns Ihren ersten PageSpeed-Monitor erstellen!" } }, "uptimeMonitor": { "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Prüfen Sie, ob Websites oder Server online und reaktionsfähig sind.", + "Benachrichtigen Sie Ihre Teams über Ausfallzeiten oder Leistungsprobleme.", + "Überwachen Sie HTTP-Endpunkte, Pings, Container und Ports.", + "Verfolgen Sie historische Verfügbarkeits- und Zuverlässigkeitstrends." + ], + "title": "Ein Uptime-Monitor wird verwendet, um:", + "actionButton": "Lassen Sie uns Ihren ersten Uptime-Monitor erstellen!" } }, "editUserPage": { "form": { - "email": "", - "firstName": "", - "lastName": "", - "role": "", - "save": "" + "email": "E-Mail", + "firstName": "Vorname", + "lastName": "Nachname", + "role": "Rollen", + "save": "Speichern" }, "table": { - "actionHeader": "", - "roleHeader": "" + "actionHeader": "Aktion", + "roleHeader": "Rolle" }, - "title": "", + "title": "Benutzer bearbeiten", "toast": { - "successUserUpdate": "", - "validationErrors": "" + "successUserUpdate": "Benutzer erfolgreich aktualisiert", + "validationErrors": "Validierungsfehler" } }, - "incidentsPageActionResolveMonitor": "", - "incidentsPageActionResolveAll": "" + "incidentsPageActionResolveMonitor": "Monitor-Vorfälle beheben", + "incidentsPageActionResolveAll": "Alle Vorfälle lösen", + "matchMethodOptions": { + "equal": "", + "equalPlaceholder": "", + "include": "", + "includePlaceholder": "", + "regex": "", + "regexPlaceholder": "", + "text": "" + }, + "monitorType": { + "docker": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "http": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "ping": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "port": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "game": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + } + }, + "uptimeAdvancedMatching": { + "jsonPath": "" + }, + "bytesPerSecond": "", + "bytesReceived": "", + "bytesSent": "", + "chooseGame": "", + "createMonitorPage": { + "incidentConfigDescription": "", + "incidentConfigStatusWindowLabel": "", + "incidentConfigStatusWindowThresholdLabel": "", + "incidentConfigTitle": "" + }, + "dataRate": "", + "dataReceived": "", + "dataSent": "", + "details": "", + "drops": "", + "errors": "", + "errorsIn": "", + "errorsOut": "", + "gameServerMonitoring": "", + "gameServerMonitoringDescription": "", + "network": "", + "networkDrops": "", + "networkErrors": "", + "networkInterface": "", + "noNetworkStatsAvailable": "", + "packetsPerSecond": "", + "packetsReceived": "", + "packetsReceivedRate": "", + "packetsSent": "", + "rate": "", + "selectInterface": "" } diff --git a/client/src/locales/en.json b/client/src/locales/en.json index 3656da661..991f57d72 100644 --- a/client/src/locales/en.json +++ b/client/src/locales/en.json @@ -1,15 +1,541 @@ { + "submit": "Submit", + "title": "Title", + "distributedStatusHeaderText": "Real-time, real-device coverage", + "distributedStatusSubHeaderText": "Powered by millions devices worldwide, view a system performance by global region, country or city", + "settingsDisabled": "Disabled", + "settingsSuccessSaved": "Settings saved successfully", + "settingsFailedToSave": "Failed to save settings", + "settingsStatsCleared": "Stats cleared successfully", + "settingsFailedToClearStats": "Failed to clear stats", + "settingsMonitorsDeleted": "Successfully deleted all monitors", + "settingsFailedToDeleteMonitors": "Failed to delete all monitors", + "starPromptTitle": "Star Checkmate", + "starPromptDescription": "See the latest releases and help grow the community on GitHub", + "https": "HTTPS", + "http": "HTTP", + "monitor": "monitor", "aboutus": "About Us", - "access": "Access", - "actions": "Actions", - "add": "Add", - "addMonitors": "Add monitors", - "administrator": "Administrator?", - "advancedMatching": "Advanced matching", - "ago": "ago", + "now": "Now", + "delete": "Delete", + "configure": "Configure", + "responseTime": "Response time", + "ms": "ms", + "bar": "Bar", "area": "Area", + "country": "COUNTRY", + "city": "CITY", + "response": "RESPONSE", + "monitorStatusUp": "Monitor {name} ({url}) is now UP and responding", + "monitorStatusDown": "Monitor {name} ({url}) is DOWN and not responding", + "webhookSendSuccess": "Webhook notification sent successfully", + "webhookSendError": "Error sending webhook notification to {platform}", + "webhookUnsupportedPlatform": "Unsupported platform: {platform}", + "distributedRightCategoryTitle": "Monitor", + "distributedStatusServerMonitors": "Server Monitors", + "distributedStatusServerMonitorsDescription": "Monitor status of related servers", + "distributedUptimeCreateSelectURL": "Here you can select the URL of the host, together with the type of monitor.", + "distributedUptimeCreateChecks": "Checks to perform", + "distributedUptimeCreateChecksDescription": "You can always add or remove checks after adding your site.", + "distributedUptimeCreateIncidentNotification": "Incident notifications", + "distributedUptimeCreateIncidentDescription": "When there is an incident, notify users.", + "distributedUptimeCreateAdvancedSettings": "Advanced settings", + "distributedUptimeDetailsNoMonitorHistory": "There is no check history for this monitor yet.", + "distributedUptimeDetailsStatusHeaderUptime": "Uptime:", + "distributedUptimeDetailsStatusHeaderLastUpdate": "Last updated", + "notifications": { + "enableNotifications": "Enable {{platform}} notifications", + "testNotification": "Test notification", + "addOrEditNotifications": "Add or edit notifications", + "slack": { + "label": "Slack", + "description": "To enable Slack notifications, create a Slack app and enable incoming webhooks. After that, simply provide the webhook URL here.", + "webhookLabel": "Webhook URL", + "webhookPlaceholder": "https://hooks.slack.com/services/...", + "webhookRequired": "Slack webhook URL is required" + }, + "discord": { + "label": "Discord", + "description": "To send data to a Discord channel from Checkmate via Discord notifications using webhooks, you can use Discord's incoming Webhooks feature.", + "webhookLabel": "Discord Webhook URL", + "webhookPlaceholder": "https://discord.com/api/webhooks/...", + "webhookRequired": "Discord webhook URL is required" + }, + "telegram": { + "label": "Telegram", + "description": "To enable Telegram notifications, create a Telegram bot using BotFather, an official bot for creating and managing Telegram bots. Then, get the API token and chat ID and write them down here.", + "tokenLabel": "Your bot token", + "tokenPlaceholder": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11", + "chatIdLabel": "Your Chat ID", + "chatIdPlaceholder": "-1001234567890", + "fieldsRequired": "Telegram token and chat ID are required" + }, + "webhook": { + "label": "Webhooks", + "description": "You can set up a custom webhook to receive notifications when incidents occur.", + "urlLabel": "Webhook URL", + "urlPlaceholder": "https://your-server.com/webhook", + "urlRequired": "Webhook URL is required" + }, + "testNotificationDevelop": "Test notification 2", + "integrationButton": "Notification Integration", + "testSuccess": "Test notification sent successfully!", + "testFailed": "Failed to send test notification", + "unsupportedType": "Unsupported notification type", + "networkError": "Network error occurred", + "fallback": { + "title": "A notification channel is used to:", + "checks": [ + "Alert teams about downtime or performance issues", + "Let engineers know when incidents happen", + "Keep administrators informed of system changes" + ], + "actionButton": "Let's create your first notification channel!" + }, + "createButton": "Create notification channel", + "createTitle": "Notification channel", + "create": { + "success": "Notification created successfully", + "failed": "Failed to create notification" + }, + "fetch": { + "success": "Notifications fetched successfully", + "failed": "Failed to fetch notifications" + }, + "delete": { + "success": "Notification deleted successfully", + "failed": "Failed to delete notification" + }, + "edit": { + "success": "Notification updated successfully", + "failed": "Failed to update notification" + }, + "test": { + "success": "Test notification sent successfully", + "failed": "Failed to send test notification" + } + }, + "testLocale": "testLocale", + "add": "Add", + "monitors": "monitors", + "distributedUptimeStatusCreateStatusPage": "status page", + "distributedUptimeStatusCreateStatusPageAccess": "Access", + "distributedUptimeStatusCreateStatusPageReady": "If your status page is ready, you can mark it as published.", + "distributedUptimeStatusBasicInfoHeader": "Basic Information", + "distributedUptimeStatusBasicInfoDescription": "Define company name and the subdomain that your status page points to.", + "distributedUptimeStatusLogoHeader": "Logo", + "distributedUptimeStatusLogoDescription": "Upload a logo for your status page", + "distributedUptimeStatusLogoUploadButton": "Upload logo", + "distributedUptimeStatusStandardMonitorsHeader": "Standard Monitors", + "distributedUptimeStatusStandardMonitorsDescription": "Attach standard monitors to your status page.", + "distributedUptimeStatusCreateYour": "Create your", + "distributedUptimeStatusEditYour": "Edit your", + "distributedUptimeStatusPublishedLabel": "Published and visible to the public", + "distributedUptimeStatusCompanyNameLabel": "Company name", + "distributedUptimeStatusPageAddressLabel": "Your status page address", + "distributedUptimeStatus30Days": "30 days", + "distributedUptimeStatus60Days": "60 days", + "distributedUptimeStatus90Days": "90 days", + "distributedUptimeStatusPageNotSetUp": "A status page is not set up.", + "distributedUptimeStatusContactAdmin": "Please contact your administrator", + "distributedUptimeStatusPageNotPublic": "This status page is not public.", + "distributedUptimeStatusPageDeleteDialog": "Do you want to delete this status page?", + "distributedUptimeStatusPageDeleteConfirm": "Yes, delete status page", + "distributedUptimeStatusPageDeleteDescription": "Once deleted, your status page cannot be retrieved.", + "distributedUptimeStatusDevices": "Devices", + "distributedUptimeStatusUpt": "UPT", + "distributedUptimeStatusUptBurned": "UPT Burned", + "distributedUptimeStatusUptLogo": "Upt Logo", + "incidentsTableNoIncidents": "No incidents recorded", + "incidentsTablePaginationLabel": "incidents", + "incidentsTableMonitorName": "Monitor Name", + "incidentsTableStatus": "Status", + "incidentsTableDateTime": "Date & Time", + "incidentsTableStatusCode": "Status Code", + "incidentsTableMessage": "Message", + "incidentsOptionsHeader": "Incidents for:", + "incidentsOptionsHeaderFilterBy": "Filter by:", + "incidentsOptionsHeaderFilterAll": "All", + "incidentsOptionsHeaderFilterDown": "Down", + "incidentsOptionsHeaderFilterCannotResolve": "Cannot Resolve", + "incidentsOptionsHeaderShow": "Show:", + "incidentsOptionsHeaderLastHour": "Last hour", + "incidentsOptionsHeaderLastDay": "Last day", + "incidentsOptionsHeaderLastWeek": "Last week", + "incidentsOptionsPlaceholderAllServers": "All servers", + "infrastructureCreateYour": "Create your", + "infrastructureCreateGeneralSettingsDescription": "Here you can select the URL of the host, together with the friendly name and authorization secret to connect to the server agent.", + "infrastructureServerRequirement": "The server you are monitoring must be running the", + "infrastructureCustomizeAlerts": "Customize alerts", + "infrastructureAlertNotificationDescription": "Send a notification to user(s) when thresholds exceed a specified percentage.", + "infrastructureCreateMonitor": "Create Infrastructure Monitor", + "infrastructureProtocol": "Protocol", + "infrastructureServerUrlLabel": "Server URL", + "infrastructureDisplayNameLabel": "Display name", + "infrastructureAuthorizationSecretLabel": "Authorization secret", + "gb": "GB", + "mb": "MB", + "mem": "Mem", + "memoryUsage": "Memory usage", + "cpu": "CPU", + "cpuUsage": "CPU usage", + "cpuTemperature": "CPU Temperature", + "diskUsage": "Disk Usage", + "used": "Used", + "total": "Total", + "cores": "Cores", + "frequency": "Frequency", + "status": "Status", + "cpuPhysical": "CPU (Physical)", + "cpuLogical": "CPU (Logical)", + "cpuFrequency": "CPU Frequency", + "avgCpuTemperature": "Average CPU Temperature", + "memory": "Memory", + "disk": "Disk", + "uptime": "Uptime", + "os": "OS", + "host": "Host", + "actions": "Actions", + "integrations": "Integrations", + "integrationsPrism": "Connect Prism to your favorite service.", + "integrationsSlack": "Slack", + "integrationsSlackInfo": "Connect with Slack and see incidents in a channel", + "integrationsDiscord": "Discord", + "integrationsDiscordInfo": "Connect with Discord and view incidents directly in a channel", + "integrationsZapier": "Zapier", + "integrationsZapierInfo": "Send all incidents to Zapier, and then see them everywhere", + "commonSave": "Save", + "createYour": "Create your", + "createMonitor": "Create monitor", + "pause": "Pause", + "resume": "Resume", + "editing": "Editing...", + "url": "URL", + "access": "Access", + "timezone": "Timezone", + "features": "Features", + "administrator": "Administrator?", + "loginHere": "Login here", + "displayName": "Display name", + "urlMonitor": "URL to monitor", + "portToMonitor": "Port to monitor", + "websiteMonitoring": "Website monitoring", + "websiteMonitoringDescription": "Use HTTP(s) to monitor your website or API endpoint.", + "pingMonitoring": "Ping monitoring", + "pingMonitoringDescription": "Check whether your server is available or not.", + "dockerContainerMonitoring": "Docker container monitoring", + "dockerContainerMonitoringDescription": "Check whether your Docker container is running or not.", + "portMonitoring": "Port monitoring", + "portMonitoringDescription": "Check whether your port is open or not.", + "createMaintenanceWindow": "Create maintenance window", + "createMaintenance": "Create maintenance", + "editMaintenance": "Edit maintenance", + "maintenanceWindowName": "Maintenance Window Name", + "friendlyNameInput": "Friendly name", + "friendlyNamePlaceholder": "Maintenance at __ : __ for ___ minutes", + "maintenanceRepeat": "Maintenance Repeat", + "maintenance": "maintenance", + "duration": "Duration", + "addMonitors": "Add monitors", + "window": "window", + "cancel": "Cancel", + "message": "Message", + "low": "low", + "high": "high", + "statusCode": "Status code", + "date&Time": "Date & Time", + "type": "Type", + "statusPageName": "Status page name", + "publicURL": "Public URL", + "repeat": "Repeat", + "edit": "Edit", + "createA": "Create a", + "remove": "Remove", + "maintenanceWindowDescription": "Your pings won't be sent during this time frame", + "startTime": "Start time", + "timeZoneInfo": "All dates and times are in GMT+0 time zone.", + "monitorsToApply": "Monitors to apply maintenance window to", + "nextWindow": "Next window", + "notFoundButton": "Go to the main dashboard", + "pageSpeedConfigureSettingsDescription": "Here you can select the URL of the host, together with the type of monitor.", + "monitorDisplayName": "Monitor display name", + "whenNewIncident": "When there is a new incident,", + "notifySMS": "Notify via SMS (coming soon)", + "notifyEmails": "Also notify via email to multiple addresses (coming soon)", + "seperateEmails": "You can separate multiple emails with a comma", + "checkFrequency": "Check frequency", + "matchMethod": "Match Method", + "expectedValue": "Expected value", + "deleteDialogTitle": "Do you really want to delete this monitor?", + "deleteDialogDescription": "Once deleted, this monitor cannot be retrieved.", + "pageSpeedMonitor": "PageSpeed monitor", + "shown": "Shown", + "ago": "ago", + "companyName": "Company name", + "pageSpeedDetailsPerformanceReport": "Values are estimated and may vary.", + "pageSpeedDetailsPerformanceReportCalculator": "See calculator", + "checkingEvery": "Checking every", + "statusPageCreateSettings": "If your status page is ready, you can mark it as published.", + "basicInformation": "Basic Information", + "statusPageCreateBasicInfoDescription": "Define company name and the subdomain that your status page points to.", + "statusPageCreateSelectTimeZoneDescription": "Select the timezone that your status page will be displayed in.", + "statusPageCreateAppearanceDescription": "Define the default look and feel of your public status page.", + "statusPageCreateSettingsCheckboxLabel": "Published and visible to the public", + "statusPageCreateBasicInfoStatusPageAddress": "Your status page address", + "statusPageCreateTabsContent": "Status page servers", + "statusPageCreateTabsContentDescription": "You can add any number of servers that you monitor to your status page. You can also reorder them for the best viewing experience.", + "statusPageCreateTabsContentFeaturesDescription": "Show more details on the status page", + "showCharts": "Show charts", + "showUptimePercentage": "Show uptime percentage", + "removeLogo": "Remove Logo", + "statusPageStatus": "A public status page is not set up.", + "statusPageStatusContactAdmin": "Please contact to your administrator", + "statusPageStatusNotPublic": "This status page is not public.", + "statusPageStatusNoPage": "There's no status page here.", + "statusPageStatusServiceStatus": "Service status", + "deleteStatusPage": "Do you want to delete this status page?", + "deleteStatusPageConfirm": "Yes, delete status page", + "deleteStatusPageDescription": "Once deleted, your status page cannot be retrieved.", + "uptimeCreate": "The expected value is used to match against response result, and the match determines the status.", + "uptimeCreateJsonPath": "This expression will be evaluated against the reponse JSON data and the result will be used to match against the expected value. See", + "uptimeCreateJsonPathQuery": "for query language documentation.", + "maintenanceTableActionMenuDialogTitle": "Do you really want to remove this maintenance window?", + "infrastructureEditYour": "Edit your", + "infrastructureEditMonitor": "Save Infrastructure Monitor", + "infrastructureMonitorCreated": "Infrastructure monitor created successfully!", + "infrastructureMonitorUpdated": "Infrastructure monitor updated successfully!", + "errorInvalidTypeId": "Invalid notification type provided", + "errorInvalidFieldId": "Invalid field ID provided", + "inviteNoTokenFound": "No invite token found", + "pageSpeedWarning": "Warning: You haven't added a Google PageSpeed API key yet. Without it, the PageSpeed monitor won't function.", + "pageSpeedLearnMoreLink": "Click here", + "pageSpeedAddApiKey": "to add your API key.", + "update": "Update", + "invalidFileFormat": "Unsupported file format!", + "invalidFileSize": "File size is too large!", + "ClickUpload": "Click to upload", + "DragandDrop": "drag and drop", + "MaxSize": "Maximum Size", + "SupportedFormats": "Supported formats", + "FirstName": "First name", + "LastName": "Last name", + "EmailDescriptionText": "This is your current email address — it cannot be changed.", + "YourPhoto": "Profile photo", + "PhotoDescriptionText": "This photo will be displayed in your profile page.", + "save": "Save", + "DeleteDescriptionText": "This will remove the account and all associated data from the server. This isn't reversible.", + "DeleteAccountWarning": "Removing your account means you won't be able to sign in again and all your data will be removed. This isn't reversible.", + "DeleteWarningTitle": "Really remove this account?", + "bulkImport": { + "title": "Bulk Import", + "selectFileTips": "Select CSV file to upload", + "selectFileDescription": "You can download our or sample", + "selectFile": "Select File", + "parsingFailed": "Parsing failed", + "uploadSuccess": "Monitors created successfully!", + "validationFailed": "Validation failed", + "noFileSelected": "No file selected", + "fallbackPage": "Import a file to upload a list of servers in bulk", + "invalidFileType": "Invalid file type", + "uploadFailed": "Upload failed" + }, + "DeleteAccountTitle": "Remove account", + "DeleteAccountButton": "Remove account", + "publicLink": "Public link", + "maskedPageSpeedKeyPlaceholder": "*************************************", + "reset": "Reset", + "ignoreTLSError": "Ignore TLS/SSL error", + "tlsErrorIgnored": "TLS/SSL errors ignored", + "ignoreTLSErrorDescription": "Ignore TLS/SSL errors and continue checking the website's availability", + "createNew": "Create new", + "greeting": { + "prepend": "Hey there", + "append": "The afternoon is your playground—let's make it epic!", + "overview": "Here's an overview of your {{type}} monitors." + }, + "roles": { + "superAdmin": "Super admin", + "admin": "Admin", + "teamMember": "Team member", + "demoUser": "Demo user" + }, + "teamPanel": { + "teamMembers": "Team members", + "filter": { + "all": "All", + "member": "Member" + }, + "inviteTeamMember": "Invite a team member", + "inviteNewTeamMember": "Invite new team member", + "inviteDescription": "When you add a new team member, they will get access to all monitors.", + "email": "Email", + "selectRole": "Select role", + "inviteLink": "Invite link", + "cancel": "Cancel", + "noMembers": "There are no team members with this role", + "getToken": "Get token", + "emailToken": "E-mail token", + "table": { + "name": "Name", + "email": "Email", + "role": "Role", + "created": "Created" + } + }, + "monitorState": { + "paused": "Paused", + "resumed": "Resumed", + "active": "Active" + }, + "menu": { + "uptime": "Uptime", + "pagespeed": "Pagespeed", + "infrastructure": "Infrastructure", + "incidents": "Incidents", + "statusPages": "Status pages", + "maintenance": "Maintenance", + "integrations": "Integrations", + "settings": "Settings", + "support": "Support", + "discussions": "Discussions", + "docs": "Docs", + "changelog": "Changelog", + "profile": "Profile", + "password": "Password", + "team": "Team", + "logOut": "Log out", + "notifications": "Notifications", + "logs": "Logs" + }, + "settingsEmailUser": "Email user - Username for authentication, overrides email address if specified", + "state": "State", + "statusBreadCrumbsStatusPages": "Status Pages", + "statusBreadCrumbsDetails": "Details", + "commonSaving": "Saving...", + "navControls": "Controls", + "incidentsPageTitle": "Incidents", + "passwordPanel": { + "passwordChangedSuccess": "Your password was changed successfully.", + "passwordInputIncorrect": "Your password input was incorrect.", + "currentPassword": "Current password", + "enterCurrentPassword": "Enter your current password", + "newPassword": "New password", + "enterNewPassword": "Enter your new password", + "confirmNewPassword": "Confirm new password", + "passwordRequirements": "New password must contain at least 8 characters and must have at least one uppercase letter, one lowercase letter, one number and one special character.", + "saving": "Saving..." + }, + "emailSent": "Email sent successfully", + "failedToSendEmail": "Failed to send email", + "settingsTestEmailSuccess": "Test email sent successfully", + "settingsTestEmailFailed": "Failed to send test email", + "settingsTestEmailFailedWithReason": "Failed to send test email: {{reason}}", + "settingsTestEmailUnknownError": "Unknown error", + "statusMsg": { + "paused": "Monitoring is paused.", + "up": "Your site is up.", + "down": "Your site is down.", + "pending": "Pending..." + }, + "uptimeGeneralInstructions": { + "http": "Enter the URL or IP to monitor (e.g., https://example.com/ or 192.168.1.100) and add a clear display name that appears on the dashboard.", + "ping": "Enter the IP address or hostname to ping (e.g., 192.168.1.100 or example.com) and add a clear display name that appears on the dashboard.", + "docker": "Enter the Docker ID of your container. Docker IDs must be the full 64 char Docker ID. You can run docker inspect to get the full container ID.", + "port": "Enter the URL or IP of the server, the port number and a clear display name that appears on the dashboard.", + "game": "Enter the IP address or hostname and the port number to ping (e.g., 192.168.1.100 or example.com) and choose game type." + }, + "common": { + "appName": "Checkmate", + "monitoringAgentName": "Capture", + "buttons": { + "toggleTheme": "Toggles light & dark" + }, + "toasts": { + "networkError": "Network error", + "checkConnection": "Please check your connection", + "unknownError": "Unknown error" + } + }, "auth": { "common": { + "navigation": { + "continue": "Continue", + "back": "Back" + }, + "inputs": { + "email": { + "label": "Email", + "placeholder": "jordan.ellis@domain.com", + "errors": { + "empty": "To continue, please enter your email address", + "invalid": "Please recheck validity of entered email address" + } + }, + "password": { + "label": "Password", + "rules": { + "length": { + "beginning": "Must be at least", + "highlighted": "8 characters long" + }, + "special": { + "beginning": "Must contain at least", + "highlighted": "one special character" + }, + "number": { + "beginning": "Must contain at least", + "highlighted": "one number" + }, + "uppercase": { + "beginning": "Must contain at least", + "highlighted": "one upper character" + }, + "lowercase": { + "beginning": "Must contain at least", + "highlighted": "one lower character" + }, + "match": { + "beginning": "Passwords", + "highlighted": "must match" + } + }, + "errors": { + "empty": "Please enter your password", + "length": "Password must be at least 8 characters long", + "uppercase": "Password must contain at least 1 uppercase letter", + "lowercase": "Password must contain at least 1 lowercase letter", + "number": "Password must contain at least 1 number", + "special": "Password must contain at least 1 special character", + "incorrect": "The password you provided does not match our records" + } + }, + "passwordConfirm": { + "label": "Confirm password", + "placeholder": "Re-enter password to confirm", + "errors": { + "empty": "Please enter your password again for confirmation (helps with typos)", + "different": "Entered passwords don't match, so one of them is probably mistyped" + } + }, + "firstName": { + "label": "Name", + "placeholder": "Jordan", + "errors": { + "empty": "Please enter your name", + "length": "Name must be less than 50 characters", + "pattern": "Name must contain only letters, spaces, apostrophes, or hyphens" + } + }, + "lastName": { + "label": "Surname", + "placeholder": "Ellis", + "errors": { + "empty": "Please enter your surname", + "length": "Surname must be less than 50 characters", + "pattern": "Surname must contain only letters, spaces, apostrophes, or hyphens" + } + } + }, "errors": { "validation": "Error validating data." }, @@ -24,140 +550,41 @@ "min": "At least one role is required" } } - }, - "inputs": { - "email": { - "errors": { - "empty": "To continue, please enter your email address", - "invalid": "Please recheck validity of entered email address" - }, - "label": "Email", - "placeholder": "jordan.ellis@domain.com" - }, - "firstName": { - "errors": { - "empty": "Please enter your name", - "length": "Name must be less than 50 characters", - "pattern": "Name must contain only letters, spaces, apostrophes, or hyphens" - }, - "label": "Name", - "placeholder": "Jordan" - }, - "lastName": { - "errors": { - "empty": "Please enter your surname", - "length": "Surname must be less than 50 characters", - "pattern": "Surname must contain only letters, spaces, apostrophes, or hyphens" - }, - "label": "Surname", - "placeholder": "Ellis" - }, - "password": { - "errors": { - "empty": "Please enter your password", - "incorrect": "The password you provided does not match our records", - "length": "Password must be at least 8 characters long", - "lowercase": "Password must contain at least 1 lowercase letter", - "number": "Password must contain at least 1 number", - "special": "Password must contain at least 1 special character", - "uppercase": "Password must contain at least 1 uppercase letter" - }, - "label": "Password", - "rules": { - "length": { - "beginning": "Must be at least", - "highlighted": "8 characters long" - }, - "lowercase": { - "beginning": "Must contain at least", - "highlighted": "one lower character" - }, - "match": { - "beginning": "Passwords", - "highlighted": "must match" - }, - "number": { - "beginning": "Must contain at least", - "highlighted": "one number" - }, - "special": { - "beginning": "Must contain at least", - "highlighted": "one special character" - }, - "uppercase": { - "beginning": "Must contain at least", - "highlighted": "one upper character" - } - } - }, - "passwordConfirm": { - "errors": { - "different": "Entered passwords don't match, so one of them is probably mistyped", - "empty": "Please enter your password again for confirmation (helps with typos)" - }, - "label": "Confirm password", - "placeholder": "Re-enter password to confirm" - } - }, - "navigation": { - "back": "Back", - "continue": "Continue" - } - }, - "forgotPassword": { - "buttons": { - "openEmail": "Open email app", - "resetPassword": "Reset password" - }, - "heading": "Forgot password?", - "imageAlts": { - "email": "Email icon", - "lock": "Lock icon", - "passwordConfirm": "Password confirm icon", - "passwordKey": "Password key icon" - }, - "links": { - "login": "Go back to Log In", - "resend": "Didn't receive the email? Click to resend" - }, - "subheadings": { - "stepFour": "Your password has been successfully reset. Click below to log in magically.", - "stepOne": "No worries, we'll send you reset instructions.", - "stepThree": "Your new password must be different from previously used passwords.", - "stepTwo": "We sent a password reset link to " - }, - "toasts": { - "emailNotFound": "Email not found.", - "error": "Unable to reset password. Please try again later or contact support.", - "redirect": "Redirecting in ...", - "sent": "Instructions sent to .", - "success": "Your password was reset successfully." } }, "login": { + "heading": "Log in to continue", + "subheadings": { + "stepOne": "Enter your email", + "stepTwo": "Enter your password" + }, + "links": { + "forgotPassword": "Forgot password?", + "register": "Do not have an account?", + "forgotPasswordLink": "Reset password", + "registerLink": "Register here" + }, + "toasts": { + "success": "Welcome back! You're successfully logged in.", + "incorrectPassword": "Incorrect password" + }, "errors": { "password": { "incorrect": "The password you provided does not match our records" } }, - "heading": "Log in to continue", - "links": { - "forgotPassword": "Forgot password?", - "forgotPasswordLink": "Reset password", - "register": "Do not have an account?", - "registerLink": "Register here" - }, - "subheadings": { - "stepOne": "Enter your email", - "stepTwo": "Enter your password" - }, - "toasts": { - "incorrectPassword": "Incorrect password", - "success": "Welcome back! You're successfully logged in." - }, "welcome": "Welcome back to Checkmate!" }, "registration": { + "heading": { + "superAdmin": "Create super admin", + "user": "Sign Up" + }, + "subheadings": { + "stepOne": "Enter your personal details", + "stepTwo": "Enter your email", + "stepThree": "Create your password" + }, "description": { "superAdmin": "Create your super admin account to get started", "user": "Sign up as a user and ask super admin for access to your monitors" @@ -166,684 +593,188 @@ "superAdmin": "Create super admin account", "user": "Sign up regular user" }, - "heading": { - "superAdmin": "Create super admin", - "user": "Sign Up" - }, + "termsAndPolicies": "By creating an account, you agree to our Terms of Service and Privacy Policy.", "links": { "login": "Already have an account? Log In" }, - "subheadings": { - "stepOne": "Enter your personal details", - "stepThree": "Create your password", - "stepTwo": "Enter your email" - }, - "termsAndPolicies": "By creating an account, you agree to our Terms of Service and Privacy Policy.", "toasts": { "success": "Welcome! Your account was created successfully." }, "welcome": "Welcome to Checkmate!" + }, + "forgotPassword": { + "heading": "Forgot password?", + "subheadings": { + "stepOne": "No worries, we'll send you reset instructions.", + "stepTwo": "We sent a password reset link to ", + "stepThree": "Your new password must be different from previously used passwords.", + "stepFour": "Your password has been successfully reset. Click below to log in magically." + }, + "buttons": { + "openEmail": "Open email app", + "resetPassword": "Reset password" + }, + "imageAlts": { + "passwordKey": "Password key icon", + "email": "Email icon", + "lock": "Lock icon", + "passwordConfirm": "Password confirm icon" + }, + "links": { + "login": "Go back to Log In", + "resend": "Didn't receive the email? Click to resend" + }, + "toasts": { + "sent": "Instructions sent to .", + "emailNotFound": "Email not found.", + "redirect": "Redirecting in ...", + "success": "Your password was reset successfully.", + "error": "Unable to reset password. Please try again later or contact support." + } } }, - "avgCpuTemperature": "Average CPU Temperature", - "bar": "Bar", - "basicInformation": "Basic Information", - "bulkImport": { - "fallbackPage": "Import a file to upload a list of servers in bulk", - "invalidFileType": "Invalid file type", - "noFileSelected": "No file selected", - "parsingFailed": "Parsing failed", - "selectFile": "Select File", - "selectFileDescription": "You can download our or sample", - "selectFileTips": "Select CSV file to upload", - "title": "Bulk Import", - "uploadFailed": "Upload failed", - "uploadSuccess": "Monitors created successfully!", - "validationFailed": "Validation failed" - }, - "bytesPerSecond": "Bytes per second", - "bytesReceived": "Bytes Received", - "bytesSent": "Bytes Sent", - "cancel": "Cancel", - "checkFormError": "Please check the form for errors.", - "checkFrequency": "Check frequency", - "checkHooks": { - "failureResolveAll": "Failed to resolve all incidents.", - "failureResolveMonitor": "Failed to resolve monitor incidents.", - "failureResolveOne": "Failed to resolve incident." - }, - "checkingEvery": "Checking every", - "chooseGame": "Choose game", - "city": "CITY", - "ClickUpload": "Click to upload", - "common": { - "appName": "Checkmate", - "buttons": { - "toggleTheme": "Toggles light & dark" - }, - "monitoringAgentName": "Capture", - "toasts": { - "checkConnection": "Please check your connection", - "networkError": "Network error", - "unknownError": "Unknown error" - } - }, - "commonSave": "Save", - "commonSaving": "Saving...", - "companyName": "Company name", - "configure": "Configure", - "confirmPassword": "Confirm password", - "cores": "Cores", - "country": "COUNTRY", - "cpu": "CPU", - "cpuFrequency": "CPU Frequency", - "cpuLogical": "CPU (Logical)", - "cpuPhysical": "CPU (Physical)", - "cpuTemperature": "CPU Temperature", - "cpuUsage": "CPU usage", - "createA": "Create a", - "createMaintenance": "Create maintenance", - "createMaintenanceWindow": "Create maintenance window", - "createMonitor": "Create monitor", - "createMonitorPage": { - "incidentConfigDescription": "A sliding window is used to determine when a monitor goes down. The status of a monitor will only change when the percentage of checks in the sliding window meet the specified value.", - "incidentConfigStatusWindowLabel": "How many checks should be in the sliding window?", - "incidentConfigStatusWindowThresholdLabel": "What percentage of checks in the sliding window fail/succeed before monitor status changes?", - "incidentConfigTitle": "Incidents" - }, - "createNew": "Create new", - "createNotifications": { - "dialogDeleteConfirm": "Delete", - "dialogDeleteTitle": "Are you sure you want to delete this notification?", - "discordSettings": { - "description": "Configure your Discord webhook here", - "title": "Discord", - "webhookLabel": "Discord Webhook URL", - "webhookPlaceholder": "https://your-server.com/webhook" - }, - "emailSettings": { - "description": "Destination email addresses.", - "emailLabel": "Email address", - "emailPlaceholder": "e.g. john@example.com", - "title": "Email" - }, - "nameSettings": { - "description": "A descriptive name for your integration.", - "nameLabel": "Name", - "namePlaceholder": "e.g. Slack notifications", - "title": "Name" - }, - "pagerdutySettings": { - "description": "Configure your PagerDuty integration here", - "integrationKeyLabel": "Integration key", - "integrationKeyPlaceholder": "1234567890", - "title": "PagerDuty" - }, - "slackSettings": { - "description": "Configure your Slack webhook here", - "title": "Slack", - "webhookLabel": "Slack webhook URL", - "webhookPlaceholder": "https://hooks.slack.com/services/..." - }, - "testNotification": "Test notification", - "title": "Create notification channel", - "typeSettings": { - "description": "Select the type of notification channel you want to create.", - "title": "Type", - "typeLabel": "Type" - }, - "webhookSettings": { - "description": "Configure your webhook here", - "title": "Webhook", - "webhookLabel": "Webhook URL", - "webhookPlaceholder": "https://your-server.com/webhook" - } - }, - "createYour": "Create your", - "dataRate": "Data Rate", - "dataReceived": "Data Received", - "dataSent": "Data Sent", - "date&Time": "Date & Time", - "delete": "Delete", - "DeleteAccountButton": "Remove account", - "DeleteAccountTitle": "Remove account", - "DeleteAccountWarning": "Removing your account means you won't be able to sign in again and all your data will be removed. This isn't reversible.", - "DeleteDescriptionText": "This will remove the account and all associated data from the server. This isn't reversible.", - "deleteDialogDescription": "Once deleted, this monitor cannot be retrieved.", - "deleteDialogTitle": "Do you really want to delete this monitor?", - "deleteStatusPage": "Do you want to delete this status page?", - "deleteStatusPageConfirm": "Yes, delete status page", - "deleteStatusPageDescription": "Once deleted, your status page cannot be retrieved.", - "DeleteWarningTitle": "Really remove this account?", - "details": "Details", - "diagnosticsPage": { - "diagnosticDescription": "System diagnostics", - "gauges": { - "heapAllocationSubtitle": "% of available memory", - "heapAllocationTitle": "Heap allocation", - "heapUsageSubtitle": "% of available memory", - "heapUsageTitle": "Heap usage", - "heapUtilizationSubtitle": "% of allocated", - "heapUtilizationTitle": "Heap utilization", - "instantCpuUsageSubtitle": "% of 1s used by CPU", - "instantCpuUsageTitle": "Instant CPU usage" - }, - "stats": { - "eventLoopDelayTitle": "Event loop delay", - "osMemoryLimitTitle": "OS Memory Limit", - "totalHeapSizeTitle": "Total heap size", - "uptimeTitle": "Uptime", - "usedHeapSizeTitle": "Used heap size" - }, - "statsDescription": "System statistics" - }, - "disk": "Disk", - "diskUsage": "Disk Usage", - "displayName": "Display name", - "distributedRightCategoryTitle": "Monitor", - "distributedStatusHeaderText": "Real-time, real-device coverage", - "distributedStatusServerMonitors": "Server Monitors", - "distributedStatusServerMonitorsDescription": "Monitor status of related servers", - "distributedStatusSubHeaderText": "Powered by millions devices worldwide, view a system performance by global region, country or city", - "distributedUptimeCreateAdvancedSettings": "Advanced settings", - "distributedUptimeCreateChecks": "Checks to perform", - "distributedUptimeCreateChecksDescription": "You can always add or remove checks after adding your site.", - "distributedUptimeCreateIncidentDescription": "When there is an incident, notify users.", - "distributedUptimeCreateIncidentNotification": "Incident notifications", - "distributedUptimeCreateSelectURL": "Here you can select the URL of the host, together with the type of monitor.", - "distributedUptimeDetailsNoMonitorHistory": "There is no check history for this monitor yet.", - "distributedUptimeDetailsStatusHeaderLastUpdate": "Last updated", - "distributedUptimeDetailsStatusHeaderUptime": "Uptime:", - "distributedUptimeStatus30Days": "30 days", - "distributedUptimeStatus60Days": "60 days", - "distributedUptimeStatus90Days": "90 days", - "distributedUptimeStatusBasicInfoDescription": "Define company name and the subdomain that your status page points to.", - "distributedUptimeStatusBasicInfoHeader": "Basic Information", - "distributedUptimeStatusCompanyNameLabel": "Company name", - "distributedUptimeStatusContactAdmin": "Please contact your administrator", - "distributedUptimeStatusCreateStatusPage": "status page", - "distributedUptimeStatusCreateStatusPageAccess": "Access", - "distributedUptimeStatusCreateStatusPageReady": "If your status page is ready, you can mark it as published.", - "distributedUptimeStatusCreateYour": "Create your", - "distributedUptimeStatusDevices": "Devices", - "distributedUptimeStatusEditYour": "Edit your", - "distributedUptimeStatusLogoDescription": "Upload a logo for your status page", - "distributedUptimeStatusLogoHeader": "Logo", - "distributedUptimeStatusLogoUploadButton": "Upload logo", - "distributedUptimeStatusPageAddressLabel": "Your status page address", - "distributedUptimeStatusPageDeleteConfirm": "Yes, delete status page", - "distributedUptimeStatusPageDeleteDescription": "Once deleted, your status page cannot be retrieved.", - "distributedUptimeStatusPageDeleteDialog": "Do you want to delete this status page?", - "distributedUptimeStatusPageNotPublic": "This status page is not public.", - "distributedUptimeStatusPageNotSetUp": "A status page is not set up.", - "distributedUptimeStatusPublishedLabel": "Published and visible to the public", - "distributedUptimeStatusStandardMonitorsDescription": "Attach standard monitors to your status page.", - "distributedUptimeStatusStandardMonitorsHeader": "Standard Monitors", - "distributedUptimeStatusUpt": "UPT", - "distributedUptimeStatusUptBurned": "UPT Burned", - "distributedUptimeStatusUptLogo": "Upt Logo", - "dockerContainerMonitoring": "Docker container monitoring", - "dockerContainerMonitoringDescription": "Check whether your Docker container is running or not.", - "DragandDrop": "drag and drop", - "drops": "Drops", - "duration": "Duration", - "edit": "Edit", - "editing": "Editing...", - "editMaintenance": "Edit maintenance", - "editUserPage": { - "form": { - "email": "Email", - "firstName": "First name", - "lastName": "Last name", - "role": "Roles", - "save": "Save" - }, - "table": { - "actionHeader": "Action", - "roleHeader": "Role" - }, - "title": "Edit user", - "toast": { - "successUserUpdate": "User updated successfully", - "validationErrors": "Validation errors" - } - }, - "EmailDescriptionText": "This is your current email address — it cannot be changed.", - "emailSent": "Email sent successfully", - "errorInvalidFieldId": "Invalid field ID provided", - "errorInvalidTypeId": "Invalid notification type provided", "errorPages": { "serverUnreachable": { + "toasts": { + "reconnected": "Successfully reconnected to the server.", + "stillUnreachable": "Server is still unreachable. Please try again later." + }, "alertBox": "Server Connection Error", "description": "We're unable to connect to the server. Please check your internet connection or verify your deployment configuration if the problem persists.", "retryButton": { "default": "Retry connection", "processing": "Connecting..." - }, - "toasts": { - "reconnected": "Successfully reconnected to the server.", - "stillUnreachable": "Server is still unreachable. Please try again later." } } }, - "errors": "Errors", - "errorsIn": "Errors In", - "errorsOut": "Errors Out", - "expectedValue": "Expected value", - "export": { - "failed": "Failed to export monitors", - "success": "Monitors exported successfully!", - "title": "Export Monitors" + "createNotifications": { + "title": "Create notification channel", + "nameSettings": { + "title": "Name", + "description": "A descriptive name for your integration.", + "nameLabel": "Name", + "namePlaceholder": "e.g. Slack notifications" + }, + "typeSettings": { + "title": "Type", + "description": "Select the type of notification channel you want to create.", + "typeLabel": "Type" + }, + "emailSettings": { + "title": "Email", + "description": "Destination email addresses.", + "emailLabel": "Email address", + "emailPlaceholder": "e.g. john@example.com" + }, + "slackSettings": { + "title": "Slack", + "description": "Configure your Slack webhook here", + "webhookLabel": "Slack webhook URL", + "webhookPlaceholder": "https://hooks.slack.com/services/..." + }, + "pagerdutySettings": { + "title": "PagerDuty", + "description": "Configure your PagerDuty integration here", + "integrationKeyLabel": "Integration key", + "integrationKeyPlaceholder": "1234567890" + }, + "discordSettings": { + "title": "Discord", + "description": "Configure your Discord webhook here", + "webhookLabel": "Discord Webhook URL", + "webhookPlaceholder": "https://your-server.com/webhook" + }, + "webhookSettings": { + "title": "Webhook", + "description": "Configure your webhook here", + "webhookLabel": "Webhook URL", + "webhookPlaceholder": "https://your-server.com/webhook" + }, + "testNotification": "Test notification", + "dialogDeleteTitle": "Are you sure you want to delete this notification?", + "dialogDeleteConfirm": "Delete" }, - "failedToSendEmail": "Failed to send email", - "features": "Features", - "FirstName": "First name", - "frequency": "Frequency", - "friendlyNameInput": "Friendly name", - "friendlyNamePlaceholder": "Maintenance at __ : __ for ___ minutes", - "gameServerMonitoring": "Game Server Monitoring", - "gameServerMonitoringDescription": "Check whether your game server is running or not", - "gb": "GB", - "general": { - "noOptionsFound": "No {{unit}} found" + "notificationConfig": { + "title": "Notifications", + "description": "Select the notifications channels you want to use" }, - "greeting": { - "append": "The afternoon is your playground—let's make it epic!", - "overview": "Here's an overview of your {{type}} monitors.", - "prepend": "Hey there" + "monitorStatus": { + "checkingEvery": "Checking every {{interval}}", + "withCaptureAgent": "with Capture agent {{version}}", + "up": "up", + "down": "down", + "paused": "paused" }, - "high": "high", - "host": "Host", - "http": "HTTP", - "https": "HTTPS", - "ignoreTLSError": "Ignore TLS/SSL error", - "ignoreTLSErrorDescription": "Ignore TLS/SSL errors and continue checking the website's availability", - "incidentsOptionsHeader": "Incidents for:", - "incidentsOptionsHeaderFilterAll": "All", - "incidentsOptionsHeaderFilterBy": "Filter by:", - "incidentsOptionsHeaderFilterCannotResolve": "Cannot Resolve", - "incidentsOptionsHeaderFilterDown": "Down", - "incidentsOptionsHeaderFilterResolved": "Resolved", - "incidentsOptionsHeaderLastDay": "Last day", - "incidentsOptionsHeaderLastHour": "Last hour", - "incidentsOptionsHeaderLastWeek": "Last week", - "incidentsOptionsHeaderShow": "Show:", - "incidentsOptionsHeaderTotalIncidents": "Total Incidents", - "incidentsOptionsPlaceholderAllServers": "All servers", - "incidentsPageActionResolveAll": "Resolve all incidents", - "incidentsPageActionResolveMonitor": "Resolve monitor incidents", - "incidentsPageTitle": "Incidents", - "incidentsTableActionResolve": "Resolve", - "incidentsTableDateTime": "Date & Time", - "incidentsTableMessage": "Message", - "incidentsTableMonitorName": "Monitor Name", - "incidentsTableNoIncidents": "No incidents recorded", - "incidentsTablePaginationLabel": "incidents", - "incidentsTableResolvedAt": "Resolved at", - "incidentsTableStatus": "Status", - "incidentsTableStatusCode": "Status Code", - "infrastructureAlertNotificationDescription": "Send a notification to user(s) when thresholds exceed a specified percentage.", - "infrastructureAuthorizationSecretLabel": "Authorization secret", - "infrastructureCreateGeneralSettingsDescription": "Here you can select the URL of the host, together with the friendly name and authorization secret to connect to the server agent.", - "infrastructureCreateMonitor": "Create Infrastructure Monitor", - "infrastructureCreateYour": "Create your", - "infrastructureCustomizeAlerts": "Customize alerts", - "infrastructureDisplayNameLabel": "Display name", - "infrastructureEditMonitor": "Save Infrastructure Monitor", - "infrastructureEditYour": "Edit your", - "infrastructureMonitor": { - "fallback": { - "actionButton": "Let's create your first infrastructure monitor!", - "checks": [ - "Track the performance of your servers", - "Identify bottlenecks and optimize usage", - "Ensure reliability with real-time monitoring" - ], - "title": "An infrastructure monitor is used to:" - } - }, - "infrastructureMonitorCreated": "Infrastructure monitor created successfully!", - "infrastructureMonitorUpdated": "Infrastructure monitor updated successfully!", - "infrastructureProtocol": "Protocol", - "infrastructureServerRequirement": "The server you are monitoring must be running the", - "infrastructureServerUrlLabel": "Server URL", - "integrations": "Integrations", - "integrationsDiscord": "Discord", - "integrationsDiscordInfo": "Connect with Discord and view incidents directly in a channel", - "integrationsPrism": "Connect Prism to your favorite service.", - "integrationsSlack": "Slack", - "integrationsSlackInfo": "Connect with Slack and see incidents in a channel", - "integrationsZapier": "Zapier", - "integrationsZapierInfo": "Send all incidents to Zapier, and then see them everywhere", - "invalidFileFormat": "Unsupported file format!", - "invalidFileSize": "File size is too large!", - "inviteNoTokenFound": "No invite token found", - "LastName": "Last name", - "loginHere": "Login here", + "advancedMatching": "Advanced matching", + "sendTestNotifications": "Send test notifications", + "selectAll": "Select all", + "showAdminLoginLink": "Show \"Administrator? Login Here\" link on the status page", "logsPage": { + "title": "Logs", "description": "System logs - last 1000 lines", + "tabs": { + "queue": "Job queue", + "logs": "Server logs", + "diagnostics": "Diagnostics" + }, + "toast": { + "fetchLogsSuccess": "Logs fetched successfully" + }, "logLevelSelect": { "title": "Log level", "values": { "all": "All", - "debug": "Debug", - "error": "Error", "info": "Info", - "warn": "Warn" + "warn": "Warn", + "error": "Error", + "debug": "Debug" } - }, - "tabs": { - "diagnostics": "Diagnostics", - "logs": "Server logs", - "queue": "Job queue" - }, - "title": "Logs", - "toast": { - "fetchLogsSuccess": "Logs fetched successfully" } }, - "low": "low", - "maintenance": "maintenance", - "maintenanceRepeat": "Maintenance Repeat", - "maintenanceTableActionMenuDialogTitle": "Do you really want to remove this maintenance window?", - "maintenanceWindow": { - "fallback": { - "actionButton": "Let's create your first maintenance window!", - "checks": [ - "Mark your maintenance periods", - "Eliminate any misunderstandings", - "Stop sending alerts in maintenance windows" - ], - "title": "A maintenance window is used to:" - } - }, - "maintenanceWindowDescription": "Your pings won't be sent during this time frame", - "maintenanceWindowName": "Maintenance Window Name", - "maskedPageSpeedKeyPlaceholder": "*************************************", - "matchMethod": "Match Method", - "matchMethodOptions": { - "equal": "Equal", - "equalPlaceholder": "success", - "include": "Include", - "includePlaceholder": "ok", - "regex": "Regex", - "regexPlaceholder": "^(success|ok)$", - "text": "Match Method" - }, - "MaxSize": "Maximum Size", - "mb": "MB", - "mem": "Mem", - "memory": "Memory", - "memoryUsage": "Memory usage", - "menu": { - "changelog": "Changelog", - "discussions": "Discussions", - "docs": "Docs", - "incidents": "Incidents", - "infrastructure": "Infrastructure", - "integrations": "Integrations", - "logOut": "Log out", - "logs": "Logs", - "maintenance": "Maintenance", - "notifications": "Notifications", - "pagespeed": "Pagespeed", - "password": "Password", - "profile": "Profile", - "settings": "Settings", - "statusPages": "Status pages", - "support": "Support", - "team": "Team", - "uptime": "Uptime" - }, - "message": "Message", - "monitor": "monitor", - "monitorActions": { - "deleteFailed": "Failed to delete monitor", - "deleteSuccess": "Monitor deleted successfully", - "details": "Details", - "export": "Export Monitors", - "import": "Import Monitors", - "title": "Export/Import" - }, - "monitorDisplayName": "Monitor display name", - "monitorHooks": { - "failureAddDemoMonitors": "Failed to add demo monitors", - "successAddDemoMonitors": "Successfully added demo monitors" - }, - "monitors": "monitors", - "monitorState": { - "active": "Active", - "paused": "Paused", - "resumed": "Resumed" - }, - "monitorStatus": { - "checkingEvery": "Checking every {{interval}}", - "down": "down", - "paused": "paused", - "up": "up", - "withCaptureAgent": "with Capture agent {{version}}" - }, - "monitorStatusDown": "Monitor {name} ({url}) is DOWN and not responding", - "monitorStatusUp": "Monitor {name} ({url}) is now UP and responding", - "monitorsToApply": "Monitors to apply maintenance window to", - "monitorType": { - "docker": { - "label": "Container ID", - "namePlaceholder": "My Container", - "placeholder": "abcd1234" - }, - "game": { - "label": "URL to monitor", - "namePlaceholder": "localhost:5173", - "placeholder": "localhost" - }, - "http": { - "label": "URL to monitor", - "namePlaceholder": "Google", - "placeholder": "google.com" - }, - "ping": { - "label": "IP address to monitor", - "namePlaceholder": "Google", - "placeholder": "1.1.1.1" - }, - "port": { - "label": "URL to monitor", - "namePlaceholder": "Localhost:5173", - "placeholder": "localhost" - } - }, - "ms": "ms", - "navControls": "Controls", - "network": "Network", - "networkDrops": "Network Drops", - "networkErrors": "Network Errors", - "networkInterface": "Network Interface", - "nextWindow": "Next window", - "noNetworkStatsAvailable": "No network stats available.", - "notFoundButton": "Go to the main dashboard", - "notificationConfig": { - "description": "Select the notifications channels you want to use", - "title": "Notifications" - }, - "notifications": { - "addOrEditNotifications": "Add or edit notifications", - "create": { - "failed": "Failed to create notification", - "success": "Notification created successfully" - }, - "createButton": "Create notification channel", - "createTitle": "Notification channel", - "delete": { - "failed": "Failed to delete notification", - "success": "Notification deleted successfully" - }, - "discord": { - "description": "To send data to a Discord channel from Checkmate via Discord notifications using webhooks, you can use Discord's incoming Webhooks feature.", - "label": "Discord", - "webhookLabel": "Discord Webhook URL", - "webhookPlaceholder": "https://discord.com/api/webhooks/...", - "webhookRequired": "Discord webhook URL is required" - }, - "edit": { - "failed": "Failed to update notification", - "success": "Notification updated successfully" - }, - "enableNotifications": "Enable {{platform}} notifications", - "fallback": { - "actionButton": "Let's create your first notification channel!", - "checks": [ - "Alert teams about downtime or performance issues", - "Let engineers know when incidents happen", - "Keep administrators informed of system changes" - ], - "title": "A notification channel is used to:" - }, - "fetch": { - "failed": "Failed to fetch notifications", - "success": "Notifications fetched successfully" - }, - "integrationButton": "Notification Integration", - "networkError": "Network error occurred", - "slack": { - "description": "To enable Slack notifications, create a Slack app and enable incoming webhooks. After that, simply provide the webhook URL here.", - "label": "Slack", - "webhookLabel": "Webhook URL", - "webhookPlaceholder": "https://hooks.slack.com/services/...", - "webhookRequired": "Slack webhook URL is required" - }, - "telegram": { - "chatIdLabel": "Your Chat ID", - "chatIdPlaceholder": "-1001234567890", - "description": "To enable Telegram notifications, create a Telegram bot using BotFather, an official bot for creating and managing Telegram bots. Then, get the API token and chat ID and write them down here.", - "fieldsRequired": "Telegram token and chat ID are required", - "label": "Telegram", - "tokenLabel": "Your bot token", - "tokenPlaceholder": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" - }, - "test": { - "failed": "Failed to send test notification", - "success": "Test notification sent successfully" - }, - "testFailed": "Failed to send test notification", - "testNotification": "Test notification", - "testNotificationDevelop": "Test notification 2", - "testSuccess": "Test notification sent successfully!", - "unsupportedType": "Unsupported notification type", - "webhook": { - "description": "You can set up a custom webhook to receive notifications when incidents occur.", - "label": "Webhooks", - "urlLabel": "Webhook URL", - "urlPlaceholder": "https://your-server.com/webhook", - "urlRequired": "Webhook URL is required" - } - }, - "notifyEmails": "Also notify via email to multiple addresses (coming soon)", - "notifySMS": "Notify via SMS (coming soon)", - "now": "Now", - "os": "OS", - "packetsPerSecond": "Packets per second", - "packetsReceived": "Packets Received", - "packetsReceivedRate": "Packets Received Rate", - "packetsSent": "Packets Sent", - "pageSpeed": { - "fallback": { - "actionButton": "Let's create your first PageSpeed monitor!", - "checks": [ - "Report on the user experience of a page", - "Help analyze webpage speed", - "Give suggestions on how the page can be improved" - ], - "title": "A PageSpeed monitor is used to:" - } - }, - "pageSpeedAddApiKey": "to add your API key.", - "pageSpeedConfigureSettingsDescription": "Here you can select the URL of the host, together with the type of monitor.", - "pageSpeedDetailsPerformanceReport": "Values are estimated and may vary.", - "pageSpeedDetailsPerformanceReportCalculator": "See calculator", - "pageSpeedLearnMoreLink": "Click here", - "pageSpeedLighthouseAPI": "Use the Lighthouse PageSpeed API to monitor your website", - "pageSpeedMonitor": "PageSpeed monitor", - "pageSpeedWarning": "Warning: You haven't added a Google PageSpeed API key yet. Without it, the PageSpeed monitor won't function.", - "passwordPanel": { - "confirmNewPassword": "Confirm new password", - "currentPassword": "Current password", - "enterCurrentPassword": "Enter your current password", - "enterNewPassword": "Enter your new password", - "newPassword": "New password", - "passwordChangedSuccess": "Your password was changed successfully.", - "passwordInputIncorrect": "Your password input was incorrect.", - "passwordRequirements": "New password must contain at least 8 characters and must have at least one uppercase letter, one lowercase letter, one number and one special character.", - "saving": "Saving..." - }, - "pause": "Pause", - "PhotoDescriptionText": "This photo will be displayed in your profile page.", - "pingMonitoring": "Ping monitoring", - "pingMonitoringDescription": "Check whether your server is available or not.", - "portMonitoring": "Port monitoring", - "portMonitoringDescription": "Check whether your port is open or not.", - "portToMonitor": "Port to monitor", - "publicLink": "Public link", - "publicURL": "Public URL", "queuePage": { - "failedJobTable": { - "failCountHeader": "Fail count", - "failedAtHeader": "Last failed at", - "failReasonHeader": "Fail reason", - "monitorIdHeader": "Monitor ID", - "monitorUrlHeader": "Monitor URL", - "title": "Failed jobs" - }, + "title": "Queue", + "refreshButton": "Refresh", "flushButton": "Flush queue", "jobTable": { - "activeHeader": "Active", - "failCountHeader": "Fail count", + "title": "Jobs currently in queue", "idHeader": "Monitor ID", - "lastFinishedAtHeader": "Last finished at", - "lastRunHeader": "Last run at", - "lastRunTookHeader": "Last run took", + "urlHeader": "URL", + "typeHeader": "Type", + "activeHeader": "Active", "lockedAtHeader": "Locked at", "runCountHeader": "Run count", - "title": "Jobs currently in queue", - "typeHeader": "Type", - "urlHeader": "URL" + "failCountHeader": "Fail count", + "lastRunHeader": "Last run at", + "lastFinishedAtHeader": "Last finished at", + "lastRunTookHeader": "Last run took" }, "metricsTable": { - "metricHeader": "Metric", "title": "Queue metrics", + "metricHeader": "Metric", "valueHeader": "Value" }, - "refreshButton": "Refresh", - "title": "Queue" + "failedJobTable": { + "title": "Failed jobs", + "monitorIdHeader": "Monitor ID", + "monitorUrlHeader": "Monitor URL", + "failCountHeader": "Fail count", + "failedAtHeader": "Last failed at", + "failReasonHeader": "Fail reason" + } }, - "rate": "Rate", - "remove": "Remove", - "removeLogo": "Remove Logo", - "repeat": "Repeat", - "reset": "Reset", - "response": "RESPONSE", - "responseTime": "Response time", - "resume": "Resume", - "roles": { - "admin": "Admin", - "demoUser": "Demo user", - "superAdmin": "Super admin", - "teamMember": "Team member" + "export": { + "title": "Export Monitors", + "success": "Monitors exported successfully!", + "failed": "Failed to export monitors" + }, + "monitorActions": { + "title": "Export/Import", + "import": "Import Monitors", + "export": "Export Monitors", + "deleteSuccess": "Monitor deleted successfully", + "deleteFailed": "Failed to delete monitor", + "details": "Details" }, - "save": "Save", - "selectAll": "Select all", - "selectInterface": "Select Interface", - "sendTestNotifications": "Send test notifications", - "seperateEmails": "You can separate multiple emails with a comma", - "settingsAppearance": "Appearance", - "settingsDisabled": "Disabled", - "settingsDisplayTimezone": "Display timezone", - "settingsEmailUser": "Email user - Username for authentication, overrides email address if specified", - "settingsFailedToClearStats": "Failed to clear stats", - "settingsFailedToDeleteMonitors": "Failed to delete all monitors", - "settingsFailedToSave": "Failed to save settings", - "settingsGeneralSettings": "General settings", - "settingsMonitorsDeleted": "Successfully deleted all monitors", "settingsPage": { "aboutSettings": { "labelDevelopedBy": "Developed by Bluewave Labs", @@ -877,14 +808,10 @@ "title": "Email", "toastEmailRequiredFieldsError": "Email address, host, port and password are required" }, - "globalThresholds": { - "description": "Configure global CPU, Memory, Disk, and Temperature thresholds. If a value is provided, it will automatically be enabled for monitoring.", - "title": "Global Thresholds" - }, "pageSpeedSettings": { "description": "Enter your Google PageSpeed API key to enable Google PageSpeed monitoring. Click Reset to update the key.", - "labelApiKey": "PageSpeed API key", "labelApiKeySet": "API key is set. Click Reset to change it.", + "labelApiKey": "PageSpeed API key", "title": "Google PageSpeed API key" }, "saveButtonLabel": "Save", @@ -925,152 +852,225 @@ "selectDisabled": "Disabled", "selectEnabled": "Enabled", "title": "Monitor IP/URL on Status Page" + }, + "globalThresholds": { + "title": "Global Thresholds", + "description": "Configure global CPU, Memory, Disk, and Temperature thresholds. If a value is provided, it will automatically be enabled for monitoring." } }, - "settingsSave": "Save", - "settingsStatsCleared": "Stats cleared successfully", - "settingsSuccessSaved": "Settings saved successfully", - "settingsTestEmailFailed": "Failed to send test email", - "settingsTestEmailFailedWithReason": "Failed to send test email: {{reason}}", - "settingsTestEmailSuccess": "Test email sent successfully", - "settingsTestEmailUnknownError": "Unknown error", - "showAdminLoginLink": "Show \"Administrator? Login Here\" link on the status page", - "showCharts": "Show charts", - "shown": "Shown", - "showUptimePercentage": "Show uptime percentage", - "starPromptDescription": "See the latest releases and help grow the community on GitHub", - "starPromptTitle": "Star Checkmate", - "startTime": "Start time", - "state": "State", - "status": "Status", - "statusBreadCrumbsDetails": "Details", - "statusBreadCrumbsStatusPages": "Status Pages", - "statusCode": "Status code", - "statusMsg": { - "down": "Your site is down.", - "paused": "Monitoring is paused.", - "pending": "Pending...", - "up": "Your site is up." + "statusPageCreate": { + "buttonSave": "Save" }, + "incidentsOptionsHeaderFilterResolved": "Resolved", + "settingsSave": "Save", + "statusPageCreateAppearanceTitle": "Appearance", + "confirmPassword": "Confirm password", + "monitorHooks": { + "failureAddDemoMonitors": "Failed to add demo monitors", + "successAddDemoMonitors": "Successfully added demo monitors" + }, + "settingsAppearance": "Appearance", + "settingsDisplayTimezone": "Display timezone", + "settingsGeneralSettings": "General settings", + "incidentsOptionsHeaderTotalIncidents": "Total Incidents", "statusPage": { - "contents": "Contents", - "createSuccess": "Status page created successfully", - "deleteFailed": "Failed to delete status page", "deleteSuccess": "Status page deleted successfully", + "deleteFailed": "Failed to delete status page", + "createSuccess": "Status page created successfully", + "updateSuccess": "Status page updated successfully", + "generalSettings": "General settings", + "contents": "Contents", "fallback": { - "actionButton": "Let's create your first status page!", "checks": [ "Monitor and display the health of your services in real time", "Track multiple services and share their status", "Keep users informed about outages and performance" ], - "title": "A status page is used to:" - }, - "generalSettings": "General settings", - "updateSuccess": "Status page updated successfully" + "title": "A status page is used to:", + "actionButton": "Let's create your first status page!" + } }, - "statusPageCreate": { - "buttonSave": "Save" - }, - "statusPageCreateAppearanceDescription": "Define the default look and feel of your public status page.", - "statusPageCreateAppearanceTitle": "Appearance", - "statusPageCreateBasicInfoDescription": "Define company name and the subdomain that your status page points to.", - "statusPageCreateBasicInfoStatusPageAddress": "Your status page address", - "statusPageCreateSelectTimeZoneDescription": "Select the timezone that your status page will be displayed in.", - "statusPageCreateSettings": "If your status page is ready, you can mark it as published.", - "statusPageCreateSettingsCheckboxLabel": "Published and visible to the public", - "statusPageCreateTabsContent": "Status page servers", - "statusPageCreateTabsContentDescription": "You can add any number of servers that you monitor to your status page. You can also reorder them for the best viewing experience.", - "statusPageCreateTabsContentFeaturesDescription": "Show more details on the status page", - "statusPageName": "Status page name", - "statusPageStatus": "A public status page is not set up.", - "statusPageStatusContactAdmin": "Please contact to your administrator", - "statusPageStatusNoPage": "There's no status page here.", - "statusPageStatusNotPublic": "This status page is not public.", - "statusPageStatusServiceStatus": "Service status", - "submit": "Submit", - "SupportedFormats": "Supported formats", - "teamPanel": { - "cancel": "Cancel", - "email": "Email", - "emailToken": "E-mail token", - "filter": { - "all": "All", - "member": "Member" - }, - "getToken": "Get token", - "inviteDescription": "When you add a new team member, they will get access to all monitors.", - "inviteLink": "Invite link", - "inviteNewTeamMember": "Invite new team member", - "inviteTeamMember": "Invite a team member", - "noMembers": "There are no team members with this role", - "selectRole": "Select role", - "table": { - "created": "Created", - "email": "Email", - "name": "Name", - "role": "Role" - }, - "teamMembers": "Team members" - }, - "testLocale": "testLocale", "testNotificationsDisabled": "There are no notifications setup for this monitor. You need to add one by clicking 'Configure' button", + "incidentsTableResolvedAt": "Resolved at", + "incidentsTableActionResolve": "Resolve", + "checkHooks": { + "failureResolveOne": "Failed to resolve incident.", + "failureResolveAll": "Failed to resolve all incidents.", + "failureResolveMonitor": "Failed to resolve monitor incidents." + }, + "checkFormError": "Please check the form for errors.", + "diagnosticsPage": { + "diagnosticDescription": "System diagnostics", + "statsDescription": "System statistics", + "gauges": { + "heapAllocationTitle": "Heap allocation", + "heapAllocationSubtitle": "% of available memory", + "heapUsageTitle": "Heap usage", + "heapUsageSubtitle": "% of available memory", + "heapUtilizationTitle": "Heap utilization", + "heapUtilizationSubtitle": "% of allocated", + "instantCpuUsageTitle": "Instant CPU usage", + "instantCpuUsageSubtitle": "% of 1s used by CPU" + }, + "stats": { + "eventLoopDelayTitle": "Event loop delay", + "uptimeTitle": "Uptime", + "usedHeapSizeTitle": "Used heap size", + "totalHeapSizeTitle": "Total heap size", + "osMemoryLimitTitle": "OS Memory Limit" + } + }, + "pageSpeedLighthouseAPI": "Use the Lighthouse PageSpeed API to monitor your website", "time": { - "fifteenSeconds": "15 seconds", - "fiveMinutes": "5 minutes", - "fourMinutes": "4 minutes", - "oneDay": "1 day", - "oneHour": "1 hour", - "oneMinute": "1 minute", - "oneWeek": "1 week", - "tenMinutes": "10 minutes", - "thirtySeconds": "30 seconds", "threeMinutes": "3 minutes", + "fiveMinutes": "5 minutes", + "tenMinutes": "10 minutes", "twentyMinutes": "20 minutes", - "twoMinutes": "2 minutes" + "oneHour": "1 hour", + "oneDay": "1 day", + "oneWeek": "1 week", + "fourMinutes": "4 minutes", + "oneMinute": "1 minute", + "twoMinutes": "2 minutes", + "fifteenSeconds": "15 seconds", + "thirtySeconds": "30 seconds" }, - "timezone": "Timezone", - "timeZoneInfo": "All dates and times are in GMT+0 time zone.", - "title": "Title", - "tlsErrorIgnored": "TLS/SSL errors ignored", - "total": "Total", - "type": "Type", - "update": "Update", - "uptime": "Uptime", - "uptimeAdvancedMatching": { - "jsonPath": "JSON Path" + "general": { + "noOptionsFound": "No {{unit}} found" }, - "uptimeCreate": "The expected value is used to match against response result, and the match determines the status.", - "uptimeCreateJsonPath": "This expression will be evaluated against the reponse JSON data and the result will be used to match against the expected value. See", - "uptimeCreateJsonPathQuery": "for query language documentation.", - "uptimeGeneralInstructions": { - "docker": "Enter the Docker ID of your container. Docker IDs must be the full 64 char Docker ID. You can run docker inspect to get the full container ID.", - "game": "Enter the IP address or hostname and the port number to ping (e.g., 192.168.1.100 or example.com) and choose game type.", - "http": "Enter the URL or IP to monitor (e.g., https://example.com/ or 192.168.1.100) and add a clear display name that appears on the dashboard.", - "ping": "Enter the IP address or hostname to ping (e.g., 192.168.1.100 or example.com) and add a clear display name that appears on the dashboard.", - "port": "Enter the URL or IP of the server, the port number and a clear display name that appears on the dashboard." + "infrastructureMonitor": { + "fallback": { + "checks": [ + "Track the performance of your servers", + "Identify bottlenecks and optimize usage", + "Ensure reliability with real-time monitoring" + ], + "title": "An infrastructure monitor is used to:", + "actionButton": "Let's create your first infrastructure monitor!" + } + }, + "maintenanceWindow": { + "fallback": { + "checks": [ + "Mark your maintenance periods", + "Eliminate any misunderstandings", + "Stop sending alerts in maintenance windows" + ], + "title": "A maintenance window is used to:", + "actionButton": "Let's create your first maintenance window!" + } + }, + "pageSpeed": { + "fallback": { + "checks": [ + "Report on the user experience of a page", + "Help analyze webpage speed", + "Give suggestions on how the page can be improved" + ], + "title": "A PageSpeed monitor is used to:", + "actionButton": "Let's create your first PageSpeed monitor!" + } }, "uptimeMonitor": { "fallback": { - "actionButton": "Let's create your first uptime monitor!", "checks": [ "Check if websites or servers are online & responsive", "Alert teams about downtime or performance issues", "Monitor HTTP endpoints, pings, containers & ports", "Track historical uptime and reliability trends" ], - "title": "An uptime monitor is used to:" + "title": "An uptime monitor is used to:", + "actionButton": "Let's create your first uptime monitor!" } }, - "url": "URL", - "urlMonitor": "URL to monitor", - "used": "Used", - "webhookSendError": "Error sending webhook notification to {platform}", - "webhookSendSuccess": "Webhook notification sent successfully", - "webhookUnsupportedPlatform": "Unsupported platform: {platform}", - "websiteMonitoring": "Website monitoring", - "websiteMonitoringDescription": "Use HTTP(s) to monitor your website or API endpoint.", - "whenNewIncident": "When there is a new incident,", - "window": "window", - "YourPhoto": "Profile photo" + "editUserPage": { + "form": { + "email": "Email", + "firstName": "First name", + "lastName": "Last name", + "role": "Roles", + "save": "Save" + }, + "table": { + "actionHeader": "Action", + "roleHeader": "Role" + }, + "title": "Edit user", + "toast": { + "successUserUpdate": "User updated successfully", + "validationErrors": "Validation errors" + } + }, + "incidentsPageActionResolveMonitor": "Resolve monitor incidents", + "incidentsPageActionResolveAll": "Resolve all incidents", + "matchMethodOptions": { + "equal": "Equal", + "equalPlaceholder": "success", + "include": "Include", + "includePlaceholder": "ok", + "regex": "Regex", + "regexPlaceholder": "^(success|ok)$", + "text": "Match Method" + }, + "monitorType": { + "docker": { + "label": "Container ID", + "namePlaceholder": "My Container", + "placeholder": "abcd1234" + }, + "http": { + "label": "URL to monitor", + "namePlaceholder": "Google", + "placeholder": "google.com" + }, + "ping": { + "label": "IP address to monitor", + "namePlaceholder": "Google", + "placeholder": "1.1.1.1" + }, + "port": { + "label": "URL to monitor", + "namePlaceholder": "Localhost:5173", + "placeholder": "localhost" + }, + "game": { + "label": "URL to monitor", + "namePlaceholder": "localhost:5173", + "placeholder": "localhost" + } + }, + "uptimeAdvancedMatching": { + "jsonPath": "JSON Path" + }, + "bytesPerSecond": "Bytes per second", + "bytesReceived": "Bytes Received", + "bytesSent": "Bytes Sent", + "chooseGame": "Choose game", + "createMonitorPage": { + "incidentConfigDescription": "A sliding window is used to determine when a monitor goes down. The status of a monitor will only change when the percentage of checks in the sliding window meet the specified value.", + "incidentConfigStatusWindowLabel": "How many checks should be in the sliding window?", + "incidentConfigStatusWindowThresholdLabel": "What percentage of checks in the sliding window fail/succeed before monitor status changes?", + "incidentConfigTitle": "Incidents" + }, + "dataRate": "Data Rate", + "dataReceived": "Data Received", + "dataSent": "Data Sent", + "details": "Details", + "drops": "Drops", + "errors": "Errors", + "errorsIn": "Errors In", + "errorsOut": "Errors Out", + "gameServerMonitoring": "Game Server Monitoring", + "gameServerMonitoringDescription": "Check whether your game server is running or not", + "network": "Network", + "networkDrops": "Network Drops", + "networkErrors": "Network Errors", + "networkInterface": "Network Interface", + "noNetworkStatsAvailable": "No network stats available.", + "packetsPerSecond": "Packets per second", + "packetsReceived": "Packets Received", + "packetsReceivedRate": "Packets Received Rate", + "packetsSent": "Packets Sent", + "rate": "Rate", + "selectInterface": "Select Interface" } diff --git a/client/src/locales/es.json b/client/src/locales/es.json index 1e2ee3b6c..52fd8c97b 100644 --- a/client/src/locales/es.json +++ b/client/src/locales/es.json @@ -260,7 +260,6 @@ "notifyEmails": "", "seperateEmails": "", "checkFrequency": "", - "chooseGame": "", "matchMethod": "", "expectedValue": "", "deleteDialogTitle": "", @@ -569,7 +568,8 @@ "password": { "incorrect": "" } - } + }, + "welcome": "" }, "registration": { "heading": { @@ -595,7 +595,8 @@ }, "toasts": { "success": "" - } + }, + "welcome": "" }, "forgotPassword": { "heading": "", @@ -847,6 +848,10 @@ "selectDisabled": "", "selectEnabled": "", "title": "" + }, + "globalThresholds": { + "title": "", + "description": "" } }, "statusPageCreate": { @@ -915,7 +920,12 @@ "twentyMinutes": "", "oneHour": "", "oneDay": "", - "oneWeek": "" + "oneWeek": "", + "fourMinutes": "", + "oneMinute": "", + "twoMinutes": "", + "fifteenSeconds": "", + "thirtySeconds": "" }, "general": { "noOptionsFound": "" @@ -967,5 +977,75 @@ } }, "incidentsPageActionResolveMonitor": "", - "incidentsPageActionResolveAll": "" + "incidentsPageActionResolveAll": "", + "matchMethodOptions": { + "equal": "", + "equalPlaceholder": "", + "include": "", + "includePlaceholder": "", + "regex": "", + "regexPlaceholder": "", + "text": "" + }, + "monitorType": { + "docker": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "http": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "ping": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "port": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "game": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + } + }, + "uptimeAdvancedMatching": { + "jsonPath": "" + }, + "bytesPerSecond": "", + "bytesReceived": "", + "bytesSent": "", + "chooseGame": "", + "createMonitorPage": { + "incidentConfigDescription": "", + "incidentConfigStatusWindowLabel": "", + "incidentConfigStatusWindowThresholdLabel": "", + "incidentConfigTitle": "" + }, + "dataRate": "", + "dataReceived": "", + "dataSent": "", + "details": "", + "drops": "", + "errors": "", + "errorsIn": "", + "errorsOut": "", + "gameServerMonitoring": "", + "gameServerMonitoringDescription": "", + "network": "", + "networkDrops": "", + "networkErrors": "", + "networkInterface": "", + "noNetworkStatsAvailable": "", + "packetsPerSecond": "", + "packetsReceived": "", + "packetsReceivedRate": "", + "packetsSent": "", + "rate": "", + "selectInterface": "" } diff --git a/client/src/locales/fi.json b/client/src/locales/fi.json index cce87a89f..d42a9f1f9 100644 --- a/client/src/locales/fi.json +++ b/client/src/locales/fi.json @@ -260,7 +260,6 @@ "notifyEmails": "", "seperateEmails": "", "checkFrequency": "", - "chooseGame": "", "matchMethod": "", "expectedValue": "", "deleteDialogTitle": "", @@ -569,7 +568,8 @@ "password": { "incorrect": "" } - } + }, + "welcome": "" }, "registration": { "heading": { @@ -595,7 +595,8 @@ }, "toasts": { "success": "" - } + }, + "welcome": "" }, "forgotPassword": { "heading": "", @@ -847,6 +848,10 @@ "selectDisabled": "", "selectEnabled": "", "title": "" + }, + "globalThresholds": { + "title": "", + "description": "" } }, "statusPageCreate": { @@ -915,7 +920,12 @@ "twentyMinutes": "", "oneHour": "", "oneDay": "", - "oneWeek": "" + "oneWeek": "", + "fourMinutes": "", + "oneMinute": "", + "twoMinutes": "", + "fifteenSeconds": "", + "thirtySeconds": "" }, "general": { "noOptionsFound": "" @@ -967,5 +977,75 @@ } }, "incidentsPageActionResolveMonitor": "", - "incidentsPageActionResolveAll": "" + "incidentsPageActionResolveAll": "", + "matchMethodOptions": { + "equal": "", + "equalPlaceholder": "", + "include": "", + "includePlaceholder": "", + "regex": "", + "regexPlaceholder": "", + "text": "" + }, + "monitorType": { + "docker": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "http": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "ping": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "port": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "game": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + } + }, + "uptimeAdvancedMatching": { + "jsonPath": "" + }, + "bytesPerSecond": "", + "bytesReceived": "", + "bytesSent": "", + "chooseGame": "", + "createMonitorPage": { + "incidentConfigDescription": "", + "incidentConfigStatusWindowLabel": "", + "incidentConfigStatusWindowThresholdLabel": "", + "incidentConfigTitle": "" + }, + "dataRate": "", + "dataReceived": "", + "dataSent": "", + "details": "", + "drops": "", + "errors": "", + "errorsIn": "", + "errorsOut": "", + "gameServerMonitoring": "", + "gameServerMonitoringDescription": "", + "network": "", + "networkDrops": "", + "networkErrors": "", + "networkInterface": "", + "noNetworkStatsAvailable": "", + "packetsPerSecond": "", + "packetsReceived": "", + "packetsReceivedRate": "", + "packetsSent": "", + "rate": "", + "selectInterface": "" } diff --git a/client/src/locales/fr.json b/client/src/locales/fr.json index 52d5d8c7e..d2a5fd19d 100644 --- a/client/src/locales/fr.json +++ b/client/src/locales/fr.json @@ -90,7 +90,7 @@ "Informez les ingénieurs lorsque des incidents se produisent", "Tenez les administrateurs informés des changements apportés au système" ], - "actionButton": "" + "actionButton": "Créez votre premier canal de notification !" }, "createButton": "Créer un canal de notification", "createTitle": "Canal de notification", @@ -264,7 +264,6 @@ "notifyEmails": "Envoyer également une notification par email à plusieurs adresses (bientôt).", "seperateEmails": "Vous pouvez ajouter plusieurs adresses emails en les séparant par une virgule", "checkFrequency": "Vérifier la fréquence", - "chooseGame": "", "matchMethod": "Méthode de rapprochement", "expectedValue": "Valeur attendue", "deleteDialogTitle": "Voulez-vous vraiment supprimer ce moniteur ?", @@ -548,7 +547,7 @@ }, "role": { "errors": { - "min": "" + "min": "Au moins un rôle est requis" } } } @@ -573,7 +572,8 @@ "password": { "incorrect": "Le mot de passe fourni est erroné" } - } + }, + "welcome": "Bon retour sur Checkmate !" }, "registration": { "heading": { @@ -599,7 +599,8 @@ }, "toasts": { "success": "Bienvenue ! Votre compte a été créé avec succès." - } + }, + "welcome": "Bienvenue sur Checkmate !" }, "forgotPassword": { "heading": "Mot de passe oublié ?", @@ -851,6 +852,10 @@ "selectDisabled": "Désactivé", "selectEnabled": "Activé", "title": "IP/URL du moniteur sur la page de statut" + }, + "globalThresholds": { + "title": "Seuils globaux", + "description": "Configurez des seuils globaux pour le CPU, la mémoire, le disque et la température. Si une valeur est fournie, elle sera automatiquement activée pour la surveillance." } }, "statusPageCreate": { @@ -876,9 +881,13 @@ "generalSettings": "Paramètres généraux", "contents": "Contenus", "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Surveillez et affichez l’état de santé de vos services en temps réel", + "Suivez plusieurs services et partagez leur statut", + "Tenez les utilisateurs informés des pannes et des performances" + ], + "title": "Une page de status est utilisée pour :", + "actionButton": "Créer votre première page de status !" } }, "testNotificationsDisabled": "Il n'y aucune notification paramétrée pour ce moniteur. Vous pouvez en ajouter une en cliquant sur le bouton 'Configurer'", @@ -919,57 +928,149 @@ "twentyMinutes": "20 minutes", "oneHour": "1 heure", "oneDay": "1 jour", - "oneWeek": "1 semaine" + "oneWeek": "1 semaine", + "fourMinutes": "4 minutes", + "oneMinute": "1 minute", + "twoMinutes": "2 minutes", + "fifteenSeconds": "15 secondes", + "thirtySeconds": "30 secondes" }, "general": { - "noOptionsFound": "" + "noOptionsFound": "Aucune {{unit}} trouvée" }, "infrastructureMonitor": { "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Suivez les performances de vos serveurs", + "Identifiez les points de blocage et optimisez l’utilisation", + "Assurez la fiabilité grâce à la surveillance en temps réel" + ], + "title": "Une surveillance d'infrastructure est utilisé pour :", + "actionButton": "Créer votre premier moniteur d'infrastructure !" } }, "maintenanceWindow": { "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Marquez vos périodes de maintenance", + "Éliminez tout malentendu", + "Arrêtez d’envoyer des alertes pendant les fenêtres de maintenance" + ], + "title": "Une fenêtre de maintenance est utilisé pour :", + "actionButton": "Créer votre première fenêtre de maintenance !" } }, "pageSpeed": { "fallback": { - "checks": [""], + "checks": [ + "Rapport sur l’expérience utilisateur d’une page", + "Aider à analyser la vitesse de la page web", + "Donner des suggestions sur la façon dont la page peut être améliorée" + ], "title": "", "actionButton": "" } }, "uptimeMonitor": { "fallback": { - "checks": [""], + "checks": [ + "Vérifiez si les sites web ou serveurs sont en ligne et réactifs", + "Alertez les équipes en cas de panne ou de problème de performance", + "Surveillez les points de terminaison HTTP, les pings, les conteneurs et les ports", + "Suivez l’historique de la disponibilité et les tendances de fiabilité" + ], "title": "", "actionButton": "" } }, "editUserPage": { "form": { - "email": "", - "firstName": "", - "lastName": "", - "role": "", - "save": "" + "email": "Email", + "firstName": "Prénom", + "lastName": "Nom", + "role": "Rôles", + "save": "Enregistrer" }, "table": { - "actionHeader": "", - "roleHeader": "" + "actionHeader": "Action", + "roleHeader": "Rôle" }, - "title": "", + "title": "Modifier l'utilisateur", "toast": { - "successUserUpdate": "", + "successUserUpdate": "L'utilisateur à bien été modifié", "validationErrors": "" } }, - "incidentsPageActionResolveMonitor": "", - "incidentsPageActionResolveAll": "" + "incidentsPageActionResolveMonitor": "Résoudres les incidents de surveillance", + "incidentsPageActionResolveAll": "Résoudre tous les incidents", + "matchMethodOptions": { + "equal": "Égal", + "equalPlaceholder": "", + "include": "Inclure", + "includePlaceholder": "ok", + "regex": "Regex", + "regexPlaceholder": "", + "text": "" + }, + "monitorType": { + "docker": { + "label": "ID du conteneur", + "namePlaceholder": "Mon conteneur", + "placeholder": "abcd1234" + }, + "http": { + "label": "URL à surveiller", + "namePlaceholder": "Google", + "placeholder": "google.com" + }, + "ping": { + "label": "Adresse IP à surveiller", + "namePlaceholder": "Google", + "placeholder": "1.1.1.1" + }, + "port": { + "label": "URL à surveiller", + "namePlaceholder": "", + "placeholder": "localhost" + }, + "game": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + } + }, + "uptimeAdvancedMatching": { + "jsonPath": "Chemin JSON" + }, + "bytesPerSecond": "", + "bytesReceived": "", + "bytesSent": "", + "chooseGame": "", + "createMonitorPage": { + "incidentConfigDescription": "", + "incidentConfigStatusWindowLabel": "", + "incidentConfigStatusWindowThresholdLabel": "", + "incidentConfigTitle": "" + }, + "dataRate": "", + "dataReceived": "", + "dataSent": "", + "details": "", + "drops": "", + "errors": "", + "errorsIn": "", + "errorsOut": "", + "gameServerMonitoring": "", + "gameServerMonitoringDescription": "", + "network": "", + "networkDrops": "", + "networkErrors": "", + "networkInterface": "", + "noNetworkStatsAvailable": "", + "packetsPerSecond": "", + "packetsReceived": "", + "packetsReceivedRate": "", + "packetsSent": "", + "rate": "", + "selectInterface": "" } diff --git a/client/src/locales/ja.json b/client/src/locales/ja.json index 80245d64b..4c90c485e 100644 --- a/client/src/locales/ja.json +++ b/client/src/locales/ja.json @@ -264,7 +264,6 @@ "notifyEmails": "複数のアドレスにメールでも通知(近日公開)", "seperateEmails": "複数のメールはカンマで区切ることができます", "checkFrequency": "チェック頻度", - "chooseGame": "", "matchMethod": "マッチ方法", "expectedValue": "期待値", "deleteDialogTitle": "本当にこのモニターを削除しますか?", @@ -573,7 +572,8 @@ "password": { "incorrect": "入力されたパスワードが記録と一致しません" } - } + }, + "welcome": "" }, "registration": { "heading": { @@ -599,7 +599,8 @@ }, "toasts": { "success": "ようこそ!アカウントが正常に作成されました。" - } + }, + "welcome": "" }, "forgotPassword": { "heading": "パスワードを忘れましたか?", @@ -851,6 +852,10 @@ "selectDisabled": "無効", "selectEnabled": "有効", "title": "ステータスページのモニターIP/URL" + }, + "globalThresholds": { + "title": "", + "description": "" } }, "statusPageCreate": { @@ -919,7 +924,12 @@ "twentyMinutes": "20分", "oneHour": "1時間", "oneDay": "1日", - "oneWeek": "1週間" + "oneWeek": "1週間", + "fourMinutes": "", + "oneMinute": "", + "twoMinutes": "", + "fifteenSeconds": "", + "thirtySeconds": "" }, "general": { "noOptionsFound": "" @@ -971,5 +981,75 @@ } }, "incidentsPageActionResolveMonitor": "", - "incidentsPageActionResolveAll": "" + "incidentsPageActionResolveAll": "", + "matchMethodOptions": { + "equal": "", + "equalPlaceholder": "", + "include": "", + "includePlaceholder": "", + "regex": "", + "regexPlaceholder": "", + "text": "" + }, + "monitorType": { + "docker": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "http": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "ping": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "port": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "game": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + } + }, + "uptimeAdvancedMatching": { + "jsonPath": "" + }, + "bytesPerSecond": "", + "bytesReceived": "", + "bytesSent": "", + "chooseGame": "", + "createMonitorPage": { + "incidentConfigDescription": "", + "incidentConfigStatusWindowLabel": "", + "incidentConfigStatusWindowThresholdLabel": "", + "incidentConfigTitle": "" + }, + "dataRate": "", + "dataReceived": "", + "dataSent": "", + "details": "", + "drops": "", + "errors": "", + "errorsIn": "", + "errorsOut": "", + "gameServerMonitoring": "", + "gameServerMonitoringDescription": "", + "network": "", + "networkDrops": "", + "networkErrors": "", + "networkInterface": "", + "noNetworkStatsAvailable": "", + "packetsPerSecond": "", + "packetsReceived": "", + "packetsReceivedRate": "", + "packetsSent": "", + "rate": "", + "selectInterface": "" } diff --git a/client/src/locales/pt-BR.json b/client/src/locales/pt-BR.json index 4b4bd04a9..80fd34474 100644 --- a/client/src/locales/pt-BR.json +++ b/client/src/locales/pt-BR.json @@ -84,31 +84,35 @@ "unsupportedType": "Tipo de notificação não suportado", "networkError": "Ocorreu um erro de rede", "fallback": { - "title": "", - "checks": [""], - "actionButton": "" + "title": "Um canal de notificação é usado para:", + "checks": [ + "Alerte as equipes sobre tempo de inatividade ou problemas de desempenho", + "Informe os engenheiros sobre incidentes", + "Mantenha os administradores informados sobre as mudanças no sistema" + ], + "actionButton": "Vamos criar seu primeiro canal de notificação!" }, - "createButton": "", - "createTitle": "", + "createButton": "Criar canal de notificação", + "createTitle": "Canal de notificação", "create": { - "success": "", - "failed": "" + "success": "Notificação criada com sucesso", + "failed": "Falha ao criar notificação" }, "fetch": { - "success": "", - "failed": "" + "success": "Notificações obtidas com sucesso", + "failed": "Falha ao buscar notificações" }, "delete": { - "success": "", - "failed": "" + "success": "Notificação excluída com sucesso", + "failed": "Falha ao excluir a notificação" }, "edit": { - "success": "", - "failed": "" + "success": "Notificação atualizada com sucesso", + "failed": "Falha ao atualizar a notificação" }, "test": { - "success": "", - "failed": "" + "success": "Notificação de teste enviada com sucesso", + "failed": "Falha ao enviar notificação de teste" } }, "testLocale": "testLocale", @@ -260,7 +264,6 @@ "notifyEmails": "Também notificar por e-mail para vários endereços (em breve)", "seperateEmails": "Você pode separar vários e-mails com uma vírgula", "checkFrequency": "Verifique a frequência", - "chooseGame": "", "matchMethod": "Método de correspondência", "expectedValue": "Valor esperado", "deleteDialogTitle": "Você realmente deseja excluir este monitor?", @@ -333,8 +336,8 @@ "validationFailed": "Falha na validação", "noFileSelected": "Nenhum arquivo selecionado", "fallbackPage": "Importe um arquivo para enviar uma lista de servidores em massa", - "invalidFileType": "", - "uploadFailed": "" + "invalidFileType": "Tipo de arquivo inválido", + "uploadFailed": "Falha no upload" }, "DeleteAccountTitle": "Remover conta", "DeleteAccountButton": "Remover conta", @@ -401,8 +404,8 @@ "password": "Senha", "team": "Equipe", "logOut": "Sair", - "notifications": "", - "logs": "" + "notifications": "Notificações", + "logs": "Registros" }, "settingsEmailUser": "Usuário de e-mail - Nome de usuário para autenticação, substitui o endereço de e-mail, se especificado", "state": "Estado", @@ -477,41 +480,41 @@ }, "special": { "beginning": "Deve conter pelo menos", - "highlighted": "" + "highlighted": "um caractere especial" }, "number": { - "beginning": "", - "highlighted": "" + "beginning": "Deve ter pelo menos", + "highlighted": "um número" }, "uppercase": { - "beginning": "", - "highlighted": "" + "beginning": "Deve ter pelo menos", + "highlighted": "uma letra maiúscula" }, "lowercase": { - "beginning": "", - "highlighted": "" + "beginning": "Deve ter pelo menos", + "highlighted": "uma letra minúscula" }, "match": { - "beginning": "", - "highlighted": "" + "beginning": "Senha e confirmação de senha", + "highlighted": "devem combinar" } }, "errors": { "empty": "Por favor, digite sua senha", "length": "A senha deve ter pelo menos 8 caracteres", "uppercase": "A senha deve conter pelo menos 1 letra maiúscula", - "lowercase": "", - "number": "", - "special": "", - "incorrect": "" + "lowercase": "Senha deve ter pelo menos uma letra minúscula", + "number": "Senha deve ter pelo menos um número", + "special": "Senha deve ter pelo menos um caractere especial", + "incorrect": "A senha que você forneceu não está registrada" } }, "passwordConfirm": { - "label": "", - "placeholder": "", + "label": "Confirme a senha", + "placeholder": "Informe a senha novamente para confirmar", "errors": { - "empty": "", - "different": "" + "empty": "Por favor, informe a senha novamente para confirmação (cuidado com erros de digitação)", + "different": "As senhas informadas não combinam, então uma deve estar errada" } }, "firstName": { @@ -539,12 +542,12 @@ "fields": { "password": { "errors": { - "incorrect": "" + "incorrect": "A senha que você forneceu não corresponde aos nossos registros" } }, "role": { "errors": { - "min": "" + "min": "Pelo menos uma função é necessária" } } } @@ -558,8 +561,8 @@ "links": { "forgotPassword": "Esqueceu sua senha?", "register": "Não tem uma conta?", - "forgotPasswordLink": "", - "registerLink": "" + "forgotPasswordLink": "Redefinir senha", + "registerLink": "Registre-se aqui" }, "toasts": { "success": "Bem-vindo de volta! Você está autenticado.", @@ -567,9 +570,10 @@ }, "errors": { "password": { - "incorrect": "" + "incorrect": "A senha que você forneceu não corresponde aos nossos registros" } - } + }, + "welcome": "" }, "registration": { "heading": { @@ -577,42 +581,43 @@ "user": "Se inscrever" }, "subheadings": { - "stepOne": "", - "stepTwo": "", - "stepThree": "" + "stepOne": "Informe seus dados pessoais", + "stepTwo": "Informe seu email", + "stepThree": "Crie sua senha" }, "description": { - "superAdmin": "", - "user": "" + "superAdmin": "Crie sua conta de superadministrador para começar", + "user": "Cadastre-se como usuário e peça ao superadministrador acesso aos seus monitores" }, "gettingStartedButton": { - "superAdmin": "", - "user": "" + "superAdmin": "Criar conta de superadministrador", + "user": "Cadastre-se como usuário normal" }, - "termsAndPolicies": "", + "termsAndPolicies": "Ao criar uma conta, você concorda com nossos Termos de Serviço e Política de Privacidade.", "links": { - "login": "" + "login": "Já tem uma conta? Entrar" }, "toasts": { - "success": "" - } + "success": "Bem-vindo! Sua conta foi criada com sucesso." + }, + "welcome": "" }, "forgotPassword": { - "heading": "", + "heading": "Esqueceu sua senha?", "subheadings": { - "stepOne": "", - "stepTwo": "", - "stepThree": "", - "stepFour": "" + "stepOne": "Não se preocupe, enviaremos instruções de redefinição.", + "stepTwo": "Enviamos um link de redefinição de senha para ", + "stepThree": "Sua nova senha deve ser diferente das senhas usadas anteriormente.", + "stepFour": "Sua senha foi redefinida com sucesso. Clique abaixo para fazer login magicamente." }, "buttons": { - "openEmail": "", - "resetPassword": "" + "openEmail": "Abra o aplicativo de e-mail", + "resetPassword": "Redefinir senha" }, "imageAlts": { - "passwordKey": "", - "email": "", - "lock": "", + "passwordKey": "Ícone de chave de senha", + "email": "Ícone de e-mail", + "lock": "Ícone de cadeado", "passwordConfirm": "Ícone de confirmação de senha" }, "links": { @@ -620,352 +625,452 @@ "resend": "Não recebeu o email? Clique para reenviar" }, "toasts": { - "sent": "", - "emailNotFound": "", - "redirect": "", - "success": "", - "error": "" + "sent": "Instruções enviadas para .", + "emailNotFound": "E-mail não encontrado.", + "redirect": "Redirecionando em ...", + "success": "Sua senha foi redefinida com sucesso.", + "error": "Não foi possível redefinir a senha. Tente novamente mais tarde ou entre em contato com o suporte." } } }, "errorPages": { "serverUnreachable": { "toasts": { - "reconnected": "", - "stillUnreachable": "" + "reconnected": "Reconectado ao servidor com sucesso.", + "stillUnreachable": "O servidor ainda está inacessível. Tente novamente mais tarde." }, - "alertBox": "", - "description": "", + "alertBox": "Erro de conexão do servidor", + "description": "Não conseguimos conectar ao servidor. Verifique sua conexão com a internet ou sua configuração de implantação se o problema persistir.", "retryButton": { - "default": "", - "processing": "" + "default": "Tentar conectar novamente", + "processing": "Conectando..." } } }, "createNotifications": { - "title": "", + "title": "Criar canal de notificação", "nameSettings": { - "title": "", - "description": "", - "nameLabel": "", - "namePlaceholder": "" + "title": "Nome", + "description": "Um nome descritivo para sua integração.", + "nameLabel": "Nome", + "namePlaceholder": "por exemplo, notificações do Slack" }, "typeSettings": { - "title": "", - "description": "", - "typeLabel": "" + "title": "Tipo", + "description": "Selecione o tipo de canal de notificação que você deseja criar.", + "typeLabel": "Tipo" }, "emailSettings": { - "title": "", - "description": "", - "emailLabel": "", - "emailPlaceholder": "" + "title": "E-mail", + "description": "Endereços de e-mail de destino.", + "emailLabel": "Endereço de email", + "emailPlaceholder": "por exemplo john@example.com" }, "slackSettings": { - "title": "", - "description": "", - "webhookLabel": "", - "webhookPlaceholder": "" + "title": "Folga", + "description": "Configure seu webhook do Slack aqui", + "webhookLabel": "URL do webhook do Slack", + "webhookPlaceholder": "https://hooks.slack.com/services/..." }, "pagerdutySettings": { - "title": "", - "description": "", - "integrationKeyLabel": "", - "integrationKeyPlaceholder": "" + "title": "PagerDuty", + "description": "Configure sua integração com o PagerDuty aqui", + "integrationKeyLabel": "Chave de integração", + "integrationKeyPlaceholder": "1234567890" }, "discordSettings": { - "title": "", - "description": "", - "webhookLabel": "", - "webhookPlaceholder": "" + "title": "Discórdia", + "description": "Configure seu webhook do Discord aqui", + "webhookLabel": "URL do webhook do Discord", + "webhookPlaceholder": "https://seu-servidor.com/webhook" }, "webhookSettings": { - "title": "", - "description": "", - "webhookLabel": "", - "webhookPlaceholder": "" + "title": "Webhook", + "description": "Configure seu webhook aqui", + "webhookLabel": "URL do webhook", + "webhookPlaceholder": "https://seu-servidor.com/webhook" }, - "testNotification": "", - "dialogDeleteTitle": "", - "dialogDeleteConfirm": "" + "testNotification": "Notificação de teste", + "dialogDeleteTitle": "Tem certeza de que deseja excluir esta notificação?", + "dialogDeleteConfirm": "Excluir" }, "notificationConfig": { - "title": "", - "description": "" + "title": "Notificações", + "description": "Selecione os canais de notificação que deseja usar" }, "monitorStatus": { - "checkingEvery": "", - "withCaptureAgent": "", - "up": "", - "down": "", - "paused": "" + "checkingEvery": "Verificando a cada {{intervalo}}", + "withCaptureAgent": "com agente de captura {{versão}}", + "up": "acima", + "down": "abaixo", + "paused": "pausado" }, - "advancedMatching": "", - "sendTestNotifications": "", - "selectAll": "", - "showAdminLoginLink": "", + "advancedMatching": "Correspondência avançada", + "sendTestNotifications": "Enviar notificações de teste", + "selectAll": "Selecionar tudo", + "showAdminLoginLink": "Mostrar o link \"Administrador? Efetue login aqui\" na página de status", "logsPage": { - "title": "", - "description": "", + "title": "Registros", + "description": "Logs do sistema - últimas 1000 linhas", "tabs": { - "queue": "", - "logs": "", - "diagnostics": "" + "queue": "Fila de tarefas", + "logs": "Logs do servidor", + "diagnostics": "Diagnóstico" }, "toast": { - "fetchLogsSuccess": "" + "fetchLogsSuccess": "Logs obtidos com sucesso" }, "logLevelSelect": { - "title": "", + "title": "Nível de log", "values": { - "all": "", - "info": "", - "warn": "", - "error": "", - "debug": "" + "all": "Todos", + "info": "Informações", + "warn": "Avisar", + "error": "Erro", + "debug": "Depurar" } } }, "queuePage": { - "title": "", - "refreshButton": "", - "flushButton": "", + "title": "Fila", + "refreshButton": "Atualizar", + "flushButton": "Fila de descarga", "jobTable": { - "title": "", - "idHeader": "", - "urlHeader": "", - "typeHeader": "", - "activeHeader": "", - "lockedAtHeader": "", - "runCountHeader": "", - "failCountHeader": "", - "lastRunHeader": "", - "lastFinishedAtHeader": "", - "lastRunTookHeader": "" + "title": "Empregos atualmente na fila", + "idHeader": "ID do monitor", + "urlHeader": "URL", + "typeHeader": "Tipo", + "activeHeader": "Ativo", + "lockedAtHeader": "Trancado em", + "runCountHeader": "Contagem de corridas", + "failCountHeader": "Contagem de falhas", + "lastRunHeader": "Última corrida em", + "lastFinishedAtHeader": "Última conclusão em", + "lastRunTookHeader": "A última corrida aconteceu" }, "metricsTable": { - "title": "", - "metricHeader": "", - "valueHeader": "" + "title": "Métricas de fila", + "metricHeader": "Métrica", + "valueHeader": "Valor" }, "failedJobTable": { - "title": "", - "monitorIdHeader": "", - "monitorUrlHeader": "", - "failCountHeader": "", - "failedAtHeader": "", - "failReasonHeader": "" + "title": "Trabalhos com falha", + "monitorIdHeader": "ID do monitor", + "monitorUrlHeader": "URL do monitor", + "failCountHeader": "Contagem de falhas", + "failedAtHeader": "Última falha em", + "failReasonHeader": "Motivo da falha" } }, "export": { - "title": "", - "success": "", - "failed": "" + "title": "Monitores de Exportação", + "success": "Monitores exportados com sucesso!", + "failed": "Falha ao exportar monitores" }, "monitorActions": { - "title": "", - "import": "", - "export": "", - "deleteSuccess": "", - "deleteFailed": "", - "details": "" + "title": "Exportação/Importação", + "import": "Monitores de importação", + "export": "Monitores de Exportação", + "deleteSuccess": "Monitor excluído com sucesso", + "deleteFailed": "Falha ao excluir o monitor", + "details": "Detalhes" }, "settingsPage": { "aboutSettings": { - "labelDevelopedBy": "", - "labelVersion": "", - "title": "" + "labelDevelopedBy": "Desenvolvido pela Bluewave Labs", + "labelVersion": "Versão", + "title": "Sobre" }, "demoMonitorsSettings": { - "buttonAddMonitors": "", - "description": "", - "title": "" + "buttonAddMonitors": "Adicionar monitores de demonstração", + "description": "Adicione monitores de amostra para fins de demonstração.", + "title": "Monitores de demonstração" }, "emailSettings": { - "buttonSendTestEmail": "", - "description": "", - "descriptionTransport": "", - "labelAddress": "", - "labelConnectionHost": "", - "labelHost": "", - "labelIgnoreTLS": "", - "labelPassword": "", - "labelPasswordSet": "", - "labelPool": "", - "labelPort": "", - "labelRejectUnauthorized": "", - "labelRequireTLS": "", - "labelSecure": "", - "labelTLSServername": "", - "labelUser": "", - "linkTransport": "", - "placeholderUser": "", - "title": "", - "toastEmailRequiredFieldsError": "" + "buttonSendTestEmail": "Enviar e-mail de teste", + "description": "Configure as configurações de e-mail do seu sistema. Elas são usadas para enviar notificações e alertas.", + "descriptionTransport": "Isso cria um transporte SMTP para o NodeMailer", + "labelAddress": "Endereço de e-mail - Usado para autenticação", + "labelConnectionHost": "Host de conexão de e-mail - Nome do host a ser usado na saudação HELO/EHLO", + "labelHost": "Host de e-mail - Nome do host ou endereço IP para conectar", + "labelIgnoreTLS": "Desabilitar STARTTLS: Não use TLS mesmo que o servidor suporte", + "labelPassword": "Senha de e-mail - Senha para autenticação", + "labelPasswordSet": "A senha foi definida. Clique em Redefinir para alterá-la.", + "labelPool": "Habilitar pool de conexões: Reutilize conexões existentes para melhorar o desempenho", + "labelPort": "Porta de e-mail - Porta para conectar", + "labelRejectUnauthorized": "Rejeitar certificados inválidos: rejeitar conexões com certificados autoassinados ou não confiáveis", + "labelRequireTLS": "Forçar STARTTLS: requer atualização de TLS, falha se não for suportado", + "labelSecure": "Usar SSL (recomendado): criptografar a conexão usando SSL/TLS", + "labelTLSServername": "Nome do servidor TLS - Nome do host opcional para validação TLS quando o host é um IP", + "labelUser": "Usuário de e-mail - Nome de usuário para autenticação, substitui o endereço de e-mail, se especificado", + "linkTransport": "Veja as especificações aqui", + "placeholderUser": "Deixe em branco se não for necessário", + "title": "E-mail", + "toastEmailRequiredFieldsError": "Endereço de e-mail, host, porta e senha são obrigatórios" }, "pageSpeedSettings": { - "description": "", - "labelApiKeySet": "", - "labelApiKey": "", - "title": "" + "description": "Insira sua chave da API do Google PageSpeed para ativar o monitoramento do Google PageSpeed. Clique em Redefinir para atualizar a chave.", + "labelApiKeySet": "A chave de API está definida. Clique em Redefinir para alterá-la.", + "labelApiKey": "Chave da API do PageSpeed", + "title": "Chave da API do Google PageSpeed" }, - "saveButtonLabel": "", + "saveButtonLabel": "Salvar", "statsSettings": { - "clearAllStatsButton": "", - "clearAllStatsDescription": "", - "clearAllStatsDialogConfirm": "", - "clearAllStatsDialogDescription": "", - "clearAllStatsDialogTitle": "", - "description": "", - "labelTTL": "", - "labelTTLOptional": "", - "title": "" + "clearAllStatsButton": "Limpar todas as estatísticas", + "clearAllStatsDescription": "Limpe todas as estatísticas. Isso é irreversível.", + "clearAllStatsDialogConfirm": "Sim, limpar todas as estatísticas", + "clearAllStatsDialogDescription": "Uma vez removido, o histórico de monitoramento e as estatísticas não podem ser recuperados.", + "clearAllStatsDialogTitle": "Você quer limpar todas as estatísticas?", + "description": "Defina por quanto tempo você deseja manter os dados históricos. Você também pode limpar todos os dados existentes.", + "labelTTL": "Os dias em que você deseja continuar monitorando o histórico.", + "labelTTLOptional": "0 para infinito", + "title": "Histórico do monitor" }, "systemResetSettings": { - "buttonRemoveAllMonitors": "", - "description": "", - "dialogConfirm": "", - "dialogDescription": "", - "dialogTitle": "", - "title": "" + "buttonRemoveAllMonitors": "Remover todos os monitores", + "description": "Remova todos os monitores do seu sistema.", + "dialogConfirm": "Sim, remova todos os monitores", + "dialogDescription": "Uma vez removidos, os monitores não podem ser recuperados.", + "dialogTitle": "Você deseja remover todos os monitores?", + "title": "Reinicialização do sistema" }, "timezoneSettings": { - "description": "", - "label": "", - "title": "" + "description": "Selecione o fuso horário usado para exibir datas e horas em todo o aplicativo.", + "label": "Exibir fuso horário", + "title": "Exibir fuso horário" }, - "title": "", + "title": "Configurações", "uiSettings": { - "description": "", - "labelLanguage": "", - "labelTheme": "", - "title": "" + "description": "Alterne entre o modo claro e escuro ou altere o idioma da interface do usuário.", + "labelLanguage": "Linguagem", + "labelTheme": "Modo de tema", + "title": "Aparência" }, "urlSettings": { - "description": "", - "label": "", - "selectDisabled": "", - "selectEnabled": "", - "title": "" + "description": "Exiba o endereço IP ou URL do monitor na página de status pública. Se estiver desabilitado, apenas o nome do monitor será exibido para proteger informações confidenciais.", + "label": "Exibir IP/URL na página de status", + "selectDisabled": "Desabilitado", + "selectEnabled": "Habilitado", + "title": "Monitorar IP/URL na página de status" + }, + "globalThresholds": { + "title": "Limites Globais", + "description": "Configurar limites globais da CPU, Memória, Disco e Temperatura. Se um valor for fornecido, o monitoramento será ativado automaticamente" } }, "statusPageCreate": { - "buttonSave": "" + "buttonSave": "Salvar" }, - "incidentsOptionsHeaderFilterResolved": "", - "settingsSave": "", - "statusPageCreateAppearanceTitle": "", - "confirmPassword": "", + "incidentsOptionsHeaderFilterResolved": "Resolvido", + "settingsSave": "Salvar", + "statusPageCreateAppearanceTitle": "Aparência", + "confirmPassword": "Confirme sua senha", "monitorHooks": { - "failureAddDemoMonitors": "", - "successAddDemoMonitors": "" + "failureAddDemoMonitors": "Falha ao adicionar monitores de demonstração", + "successAddDemoMonitors": "Monitores de demonstração adicionados com sucesso" }, - "settingsAppearance": "", - "settingsDisplayTimezone": "", - "settingsGeneralSettings": "", - "incidentsOptionsHeaderTotalIncidents": "", + "settingsAppearance": "Aparência", + "settingsDisplayTimezone": "Exibir fuso horário", + "settingsGeneralSettings": "Configurações gerais", + "incidentsOptionsHeaderTotalIncidents": "Total de incidentes", "statusPage": { - "deleteSuccess": "", - "deleteFailed": "", - "createSuccess": "", - "updateSuccess": "", - "generalSettings": "", - "contents": "", + "deleteSuccess": "Página de status excluída com sucesso", + "deleteFailed": "Falha ao excluir a página de status", + "createSuccess": "Página de status criada com sucesso", + "updateSuccess": "Página de status atualizada com sucesso", + "generalSettings": "Configurações gerais", + "contents": "Conteúdo", "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Monitore e exiba a integridade dos seus serviços em tempo real", + "Acompanhe vários serviços e compartilhe seus status", + "Mantenha os usuários informados sobre interrupções e desempenho" + ], + "title": "Uma página de status é usada para:", + "actionButton": "Vamos criar sua primeira página de status!" } }, - "testNotificationsDisabled": "", - "incidentsTableResolvedAt": "", - "incidentsTableActionResolve": "", + "testNotificationsDisabled": "Não há notificações configuradas para este monitor. Você precisa adicionar uma clicando no botão \"Configurar\".", + "incidentsTableResolvedAt": "Resolvido em", + "incidentsTableActionResolve": "Resolver", "checkHooks": { - "failureResolveOne": "", - "failureResolveAll": "", - "failureResolveMonitor": "" + "failureResolveOne": "Falha ao resolver o incidente.", + "failureResolveAll": "Falha ao resolver todos os incidentes.", + "failureResolveMonitor": "Falha ao resolver incidentes do monitor." }, - "checkFormError": "", + "checkFormError": "Verifique se há erros no formulário.", "diagnosticsPage": { - "diagnosticDescription": "", - "statsDescription": "", + "diagnosticDescription": "Diagnóstico do sistema", + "statsDescription": "Estatísticas do sistema", "gauges": { - "heapAllocationTitle": "", - "heapAllocationSubtitle": "", - "heapUsageTitle": "", - "heapUsageSubtitle": "", - "heapUtilizationTitle": "", - "heapUtilizationSubtitle": "", - "instantCpuUsageTitle": "", - "instantCpuUsageSubtitle": "" + "heapAllocationTitle": "Alocação de heap", + "heapAllocationSubtitle": "% de memória disponível", + "heapUsageTitle": "Uso de heap", + "heapUsageSubtitle": "% de memória disponível", + "heapUtilizationTitle": "Utilização de heap", + "heapUtilizationSubtitle": "% do alocado", + "instantCpuUsageTitle": "Uso instantâneo da CPU", + "instantCpuUsageSubtitle": "% de 1s usados pela CPU" }, "stats": { - "eventLoopDelayTitle": "", - "uptimeTitle": "", - "usedHeapSizeTitle": "", - "totalHeapSizeTitle": "", - "osMemoryLimitTitle": "" + "eventLoopDelayTitle": "Atraso do loop de eventos", + "uptimeTitle": "Tempo de atividade", + "usedHeapSizeTitle": "Tamanho de heap usado", + "totalHeapSizeTitle": "Tamanho total do heap", + "osMemoryLimitTitle": "Limite de memória do sistema operacional" } }, - "pageSpeedLighthouseAPI": "", + "pageSpeedLighthouseAPI": "Use a API Lighthouse PageSpeed para monitorar seu site", "time": { - "threeMinutes": "", - "fiveMinutes": "", - "tenMinutes": "", - "twentyMinutes": "", - "oneHour": "", - "oneDay": "", - "oneWeek": "" + "threeMinutes": "3 minutos", + "fiveMinutes": "5 minutos", + "tenMinutes": "10 minutos", + "twentyMinutes": "20 minutos", + "oneHour": "1 hora", + "oneDay": "1 dia", + "oneWeek": "1 semana", + "fourMinutes": "4 minutos", + "oneMinute": "1 minuto", + "twoMinutes": "2 minutos", + "fifteenSeconds": "", + "thirtySeconds": "" }, "general": { - "noOptionsFound": "" + "noOptionsFound": "Nenhuma {{unidade}} encontrada" }, "infrastructureMonitor": { "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Acompanhe o desempenho dos seus servidores", + "Identifique gargalos e otimize o uso", + "Garanta a confiabilidade com monitoramento em tempo real" + ], + "title": "Um monitor de infraestrutura é usado para:", + "actionButton": "Vamos criar seu primeiro monitor de infraestrutura!" } }, "maintenanceWindow": { "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Marque seus períodos de manutenção", + "Elimine qualquer mal-entendido", + "Pare de enviar alertas em janelas de manutenção" + ], + "title": "Uma janela de manutenção é usada para:", + "actionButton": "Vamos criar sua primeira janela de manutenção!" } }, "pageSpeed": { "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Relatar a experiência do usuário em uma página", + "Ajudar a analisar a velocidade da página", + "Dar sugestões sobre como a página pode ser melhorada" + ], + "title": "Um monitor PageSpeed é usado para:", + "actionButton": "Vamos criar seu primeiro monitor PageSpeed!" } }, "uptimeMonitor": { "fallback": { - "checks": [""], - "title": "", - "actionButton": "" + "checks": [ + "Verifique se sites ou servidores estão online e responsivos", + "Alerte as equipes sobre tempo de inatividade ou problemas de desempenho", + "Monitore endpoints HTTP, pings, contêineres e portas", + "Acompanhe o histórico de tempo de atividade e tendências de confiabilidade" + ], + "title": "Um monitor de tempo de atividade é usado para:", + "actionButton": "Vamos criar seu primeiro monitor de tempo de atividade!" } }, "editUserPage": { "form": { - "email": "", - "firstName": "", - "lastName": "", - "role": "", - "save": "" + "email": "E-mail", + "firstName": "Primeiro nome", + "lastName": "Sobrenome", + "role": "Funções", + "save": "Salvar" }, "table": { - "actionHeader": "", - "roleHeader": "" + "actionHeader": "Ação", + "roleHeader": "Papel" }, - "title": "", + "title": "Editar usuário", "toast": { - "successUserUpdate": "", - "validationErrors": "" + "successUserUpdate": "Usuário atualizado com sucesso", + "validationErrors": "Erros de validação" } }, - "incidentsPageActionResolveMonitor": "", - "incidentsPageActionResolveAll": "" + "incidentsPageActionResolveMonitor": "Resolver incidentes de monitoramento", + "incidentsPageActionResolveAll": "Resolver todos os incidentes", + "matchMethodOptions": { + "equal": "", + "equalPlaceholder": "", + "include": "", + "includePlaceholder": "", + "regex": "Regex", + "regexPlaceholder": "", + "text": "" + }, + "monitorType": { + "docker": { + "label": "", + "namePlaceholder": "Meu Contêiner", + "placeholder": "abcd1234" + }, + "http": { + "label": "URL para monitorar", + "namePlaceholder": "Google", + "placeholder": "google.com" + }, + "ping": { + "label": "Endereço IP para monitorar", + "namePlaceholder": "Google", + "placeholder": "1.1.1.1" + }, + "port": { + "label": "URL para monitorar", + "namePlaceholder": "Localhost:5173", + "placeholder": "localhost" + }, + "game": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + } + }, + "uptimeAdvancedMatching": { + "jsonPath": "" + }, + "bytesPerSecond": "", + "bytesReceived": "", + "bytesSent": "", + "chooseGame": "", + "createMonitorPage": { + "incidentConfigDescription": "", + "incidentConfigStatusWindowLabel": "", + "incidentConfigStatusWindowThresholdLabel": "", + "incidentConfigTitle": "" + }, + "dataRate": "", + "dataReceived": "", + "dataSent": "", + "details": "", + "drops": "", + "errors": "", + "errorsIn": "", + "errorsOut": "", + "gameServerMonitoring": "", + "gameServerMonitoringDescription": "", + "network": "", + "networkDrops": "", + "networkErrors": "", + "networkInterface": "", + "noNetworkStatsAvailable": "", + "packetsPerSecond": "", + "packetsReceived": "", + "packetsReceivedRate": "", + "packetsSent": "", + "rate": "", + "selectInterface": "" } diff --git a/client/src/locales/ru.json b/client/src/locales/ru.json index 25e1038aa..ecb1dd8f8 100644 --- a/client/src/locales/ru.json +++ b/client/src/locales/ru.json @@ -260,7 +260,6 @@ "notifyEmails": "Также уведомлять по электронной почте на несколько адресов (скоро)", "seperateEmails": "Вы можете разделить несколько адресов электронной почты запятой.", "checkFrequency": "Проверить частоту", - "chooseGame": "", "matchMethod": "Метод сопоставления", "expectedValue": "Ожидаемое значение", "deleteDialogTitle": "Вы действительно хотите удалить этот монитор?", @@ -427,7 +426,7 @@ "settingsTestEmailSuccess": "", "settingsTestEmailFailed": "", "settingsTestEmailFailedWithReason": "", - "settingsTestEmailUnknownError": "", + "settingsTestEmailUnknownError": "Неизвестная ошибка", "statusMsg": { "paused": "", "up": "", @@ -450,46 +449,46 @@ "toasts": { "networkError": "", "checkConnection": "", - "unknownError": "" + "unknownError": "Неизвестная ошибка" } }, "auth": { "common": { "navigation": { "continue": "", - "back": "" + "back": "Назад" }, "inputs": { "email": { "label": "", "placeholder": "", "errors": { - "empty": "", + "empty": "Для продолжения введите свой адрес электронной почты", "invalid": "" } }, "password": { - "label": "", + "label": "Пароль", "rules": { "length": { - "beginning": "", - "highlighted": "" + "beginning": "Должен быть как минимум", + "highlighted": "8 символов в длину" }, "special": { - "beginning": "", - "highlighted": "" + "beginning": "Должен содержать как минимум", + "highlighted": "один спецсимвол" }, "number": { - "beginning": "", - "highlighted": "" + "beginning": "Должен содержать как минимум", + "highlighted": "одно число" }, "uppercase": { - "beginning": "", - "highlighted": "" + "beginning": "Должен содержать как минимум", + "highlighted": "одну заглавную букву" }, "lowercase": { - "beginning": "", - "highlighted": "" + "beginning": "Должен содержать как минимум", + "highlighted": "одну прописную букву" }, "match": { "beginning": "", @@ -569,7 +568,8 @@ "password": { "incorrect": "" } - } + }, + "welcome": "" }, "registration": { "heading": { @@ -595,7 +595,8 @@ }, "toasts": { "success": "" - } + }, + "welcome": "" }, "forgotPassword": { "heading": "", @@ -847,6 +848,10 @@ "selectDisabled": "", "selectEnabled": "", "title": "" + }, + "globalThresholds": { + "title": "", + "description": "" } }, "statusPageCreate": { @@ -915,7 +920,12 @@ "twentyMinutes": "", "oneHour": "", "oneDay": "", - "oneWeek": "" + "oneWeek": "", + "fourMinutes": "", + "oneMinute": "", + "twoMinutes": "", + "fifteenSeconds": "", + "thirtySeconds": "" }, "general": { "noOptionsFound": "" @@ -967,5 +977,75 @@ } }, "incidentsPageActionResolveMonitor": "", - "incidentsPageActionResolveAll": "" + "incidentsPageActionResolveAll": "", + "matchMethodOptions": { + "equal": "", + "equalPlaceholder": "", + "include": "", + "includePlaceholder": "", + "regex": "", + "regexPlaceholder": "", + "text": "" + }, + "monitorType": { + "docker": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "http": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "ping": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "port": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "game": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + } + }, + "uptimeAdvancedMatching": { + "jsonPath": "" + }, + "bytesPerSecond": "", + "bytesReceived": "", + "bytesSent": "", + "chooseGame": "", + "createMonitorPage": { + "incidentConfigDescription": "", + "incidentConfigStatusWindowLabel": "", + "incidentConfigStatusWindowThresholdLabel": "", + "incidentConfigTitle": "" + }, + "dataRate": "", + "dataReceived": "", + "dataSent": "", + "details": "", + "drops": "", + "errors": "", + "errorsIn": "", + "errorsOut": "", + "gameServerMonitoring": "", + "gameServerMonitoringDescription": "", + "network": "", + "networkDrops": "", + "networkErrors": "", + "networkInterface": "", + "noNetworkStatsAvailable": "", + "packetsPerSecond": "", + "packetsReceived": "", + "packetsReceivedRate": "", + "packetsSent": "", + "rate": "", + "selectInterface": "" } diff --git a/client/src/locales/tr.json b/client/src/locales/tr.json index 9e20242fb..8271da521 100644 --- a/client/src/locales/tr.json +++ b/client/src/locales/tr.json @@ -260,7 +260,6 @@ "notifyEmails": "Ayrıca birden fazla eposta adresine bildirim gönderebilirsiniz (yakında geliyor)", "seperateEmails": "Birden fazla epostayı virgülle ayırabilirsiniz", "checkFrequency": "Frekansı denetle", - "chooseGame": "Oyun seç", "matchMethod": "Eşleşme yöntemi", "expectedValue": "Beklenen değer", "deleteDialogTitle": "Gerçekten bu monitörü silmek istiyor musunuz?", @@ -569,7 +568,8 @@ "password": { "incorrect": "Giriş yaptığınız parola sistemdekiyle uyuşmuyor" } - } + }, + "welcome": "" }, "registration": { "heading": { @@ -595,7 +595,8 @@ }, "toasts": { "success": "Hoşgeldiniz! Hesabınız başarıyla oluşturuldu." - } + }, + "welcome": "" }, "forgotPassword": { "heading": "Parolanızı mı kaybettiniz?", @@ -847,6 +848,10 @@ "selectDisabled": "Kapalı", "selectEnabled": "Etkin", "title": "" + }, + "globalThresholds": { + "title": "", + "description": "" } }, "statusPageCreate": { @@ -915,7 +920,12 @@ "twentyMinutes": "", "oneHour": "1 saat", "oneDay": "1 gün", - "oneWeek": "1 hafta" + "oneWeek": "1 hafta", + "fourMinutes": "", + "oneMinute": "", + "twoMinutes": "", + "fifteenSeconds": "", + "thirtySeconds": "" }, "general": { "noOptionsFound": "" @@ -967,5 +977,75 @@ } }, "incidentsPageActionResolveMonitor": "", - "incidentsPageActionResolveAll": "" + "incidentsPageActionResolveAll": "", + "matchMethodOptions": { + "equal": "", + "equalPlaceholder": "", + "include": "", + "includePlaceholder": "", + "regex": "", + "regexPlaceholder": "", + "text": "" + }, + "monitorType": { + "docker": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "http": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "ping": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "port": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "game": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + } + }, + "uptimeAdvancedMatching": { + "jsonPath": "" + }, + "bytesPerSecond": "", + "bytesReceived": "", + "bytesSent": "", + "chooseGame": "", + "createMonitorPage": { + "incidentConfigDescription": "", + "incidentConfigStatusWindowLabel": "", + "incidentConfigStatusWindowThresholdLabel": "", + "incidentConfigTitle": "" + }, + "dataRate": "", + "dataReceived": "", + "dataSent": "", + "details": "", + "drops": "", + "errors": "", + "errorsIn": "", + "errorsOut": "", + "gameServerMonitoring": "", + "gameServerMonitoringDescription": "", + "network": "", + "networkDrops": "", + "networkErrors": "", + "networkInterface": "", + "noNetworkStatsAvailable": "", + "packetsPerSecond": "", + "packetsReceived": "", + "packetsReceivedRate": "", + "packetsSent": "", + "rate": "", + "selectInterface": "" } diff --git a/client/src/locales/zh-TW.json b/client/src/locales/zh-TW.json index 90a1aa30c..8e0dc2ed2 100644 --- a/client/src/locales/zh-TW.json +++ b/client/src/locales/zh-TW.json @@ -3,81 +3,81 @@ "title": "名稱", "distributedStatusHeaderText": "實時、真實設備覆蓋", "distributedStatusSubHeaderText": "由全球數百萬個設備提供支持,您可以按全球區域、國家或城市查看系統效能", - "settingsDisabled": "", - "settingsSuccessSaved": "", - "settingsFailedToSave": "", - "settingsStatsCleared": "", - "settingsFailedToClearStats": "", - "settingsMonitorsDeleted": "", - "settingsFailedToDeleteMonitors": "", - "starPromptTitle": "", - "starPromptDescription": "", - "https": "", - "http": "", - "monitor": "", - "aboutus": "", - "now": "", - "delete": "", - "configure": "", - "responseTime": "", - "ms": "", - "bar": "", - "area": "", - "country": "", - "city": "", - "response": "", + "settingsDisabled": "已停用", + "settingsSuccessSaved": "設定已成功儲存", + "settingsFailedToSave": "無法儲存設定", + "settingsStatsCleared": "統計數據已成功清除", + "settingsFailedToClearStats": "無法清除統計數據", + "settingsMonitorsDeleted": "已成功刪除所有監視器", + "settingsFailedToDeleteMonitors": "無法刪除所有監視器", + "starPromptTitle": "星標Checkmate", + "starPromptDescription": "查看最新版本發布及在 GitHub 上幫助社區成長", + "https": "HTTPS", + "http": "HTTP", + "monitor": "監控", + "aboutus": "關於我們", + "now": "現在", + "delete": "刪除", + "configure": "設定", + "responseTime": "回應時間", + "ms": "毫秒", + "bar": "條", + "area": "區域", + "country": "國家", + "city": "城市", + "response": "回應", "monitorStatusUp": "", "monitorStatusDown": "", - "webhookSendSuccess": "", + "webhookSendSuccess": "Webhook 通知發送成功", "webhookSendError": "", - "webhookUnsupportedPlatform": "", - "distributedRightCategoryTitle": "", - "distributedStatusServerMonitors": "", - "distributedStatusServerMonitorsDescription": "", - "distributedUptimeCreateSelectURL": "", - "distributedUptimeCreateChecks": "", - "distributedUptimeCreateChecksDescription": "", - "distributedUptimeCreateIncidentNotification": "", - "distributedUptimeCreateIncidentDescription": "", - "distributedUptimeCreateAdvancedSettings": "", - "distributedUptimeDetailsNoMonitorHistory": "", - "distributedUptimeDetailsStatusHeaderUptime": "", - "distributedUptimeDetailsStatusHeaderLastUpdate": "", + "webhookUnsupportedPlatform": "不支援的平台: {platform}", + "distributedRightCategoryTitle": "監控", + "distributedStatusServerMonitors": "伺服器監控", + "distributedStatusServerMonitorsDescription": "監控相關伺服器狀態", + "distributedUptimeCreateSelectURL": "你可以在這裡選擇主機的 URL,同時選擇監視器類型。", + "distributedUptimeCreateChecks": "要執行的檢查項目", + "distributedUptimeCreateChecksDescription": "你可以在新增網站後,隨時新增或移除檢查項目。", + "distributedUptimeCreateIncidentNotification": "事故通知", + "distributedUptimeCreateIncidentDescription": "事故發生時,向用戶發送通知。", + "distributedUptimeCreateAdvancedSettings": "進階設定", + "distributedUptimeDetailsNoMonitorHistory": "此監控尚無檢查記錄。", + "distributedUptimeDetailsStatusHeaderUptime": "正常運行時間:", + "distributedUptimeDetailsStatusHeaderLastUpdate": "最後更新", "notifications": { "enableNotifications": "", - "testNotification": "", - "addOrEditNotifications": "", + "testNotification": "測試通知", + "addOrEditNotifications": "新增或編輯通知", "slack": { - "label": "", - "description": "", - "webhookLabel": "", - "webhookPlaceholder": "", - "webhookRequired": "" + "label": "Slack", + "description": "要啟用 Slack 通知,請建立一個 Slack 應用程式並啟用傳入 Webhook。完成後,請在此提供 Webhook URL 即可。", + "webhookLabel": "Webhook URL", + "webhookPlaceholder": "https://hooks.slack.com/services/...", + "webhookRequired": "Slack webhook URL is required" }, "discord": { - "label": "", + "label": "Discord", "description": "", - "webhookLabel": "", - "webhookPlaceholder": "", + "webhookLabel": "Discord Webhook URL", + "webhookPlaceholder": "https://discord.com/api/webhooks/...", "webhookRequired": "" }, "telegram": { - "label": "", - "description": "", - "tokenLabel": "", - "tokenPlaceholder": "", - "chatIdLabel": "", - "chatIdPlaceholder": "", + "label": "Telegram", + "description": "要啟用 Telegram 通知,請使用 BotFather 用於創建和管理 Telegram 的官方機器來建立一個 Telegram 機器人。接著,取得 API 金鑰和聊天室 ID,並在此處填寫。", + "tokenLabel": "你的機器人金鑰", + "tokenPlaceholder": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11", + "chatIdLabel": "你的聊天 ID", + "chatIdPlaceholder": "-1001234567890", "fieldsRequired": "" }, "webhook": { - "label": "", - "description": "", - "urlLabel": "", - "urlPlaceholder": "", + "label": "Webhooks", + "description": "你可以設定自訂 webhook,在事件發生時接收通知。", + "urlLabel": "Webhook URL", + "urlPlaceholder": "https://your-server.com/webhook", "urlRequired": "" }, - "testNotificationDevelop": "", + "testNotificationDevelop": "測試通知 2", "integrationButton": "", "testSuccess": "", "testFailed": "", @@ -85,8 +85,12 @@ "networkError": "", "fallback": { "title": "", - "checks": [""], - "actionButton": "" + "checks": [ + "提醒團隊有關停機或性能問題", + "讓工程師知道事件發生時的情況", + "讓管理員了解系統變更情況" + ], + "actionButton": "讓我們建立您的第一個通知頻道!" }, "createButton": "", "createTitle": "", @@ -111,35 +115,35 @@ "failed": "" } }, - "testLocale": "", - "add": "", + "testLocale": "測試語言環境", + "add": "新增", "monitors": "", "distributedUptimeStatusCreateStatusPage": "", "distributedUptimeStatusCreateStatusPageAccess": "", "distributedUptimeStatusCreateStatusPageReady": "", - "distributedUptimeStatusBasicInfoHeader": "", + "distributedUptimeStatusBasicInfoHeader": "基本資料", "distributedUptimeStatusBasicInfoDescription": "", - "distributedUptimeStatusLogoHeader": "", + "distributedUptimeStatusLogoHeader": "標誌", "distributedUptimeStatusLogoDescription": "", - "distributedUptimeStatusLogoUploadButton": "", + "distributedUptimeStatusLogoUploadButton": "上傳標誌", "distributedUptimeStatusStandardMonitorsHeader": "", "distributedUptimeStatusStandardMonitorsDescription": "", "distributedUptimeStatusCreateYour": "", "distributedUptimeStatusEditYour": "", "distributedUptimeStatusPublishedLabel": "", - "distributedUptimeStatusCompanyNameLabel": "", + "distributedUptimeStatusCompanyNameLabel": "公司名稱", "distributedUptimeStatusPageAddressLabel": "", - "distributedUptimeStatus30Days": "", - "distributedUptimeStatus60Days": "", - "distributedUptimeStatus90Days": "", + "distributedUptimeStatus30Days": "30日", + "distributedUptimeStatus60Days": "60日", + "distributedUptimeStatus90Days": "90日", "distributedUptimeStatusPageNotSetUp": "", "distributedUptimeStatusContactAdmin": "", "distributedUptimeStatusPageNotPublic": "", "distributedUptimeStatusPageDeleteDialog": "", "distributedUptimeStatusPageDeleteConfirm": "", "distributedUptimeStatusPageDeleteDescription": "", - "distributedUptimeStatusDevices": "", - "distributedUptimeStatusUpt": "", + "distributedUptimeStatusDevices": "設備", + "distributedUptimeStatusUpt": "UPT", "distributedUptimeStatusUptBurned": "", "distributedUptimeStatusUptLogo": "", "incidentsTableNoIncidents": "", @@ -169,53 +173,53 @@ "infrastructureServerUrlLabel": "", "infrastructureDisplayNameLabel": "", "infrastructureAuthorizationSecretLabel": "", - "gb": "", - "mb": "", - "mem": "", + "gb": "GB", + "mb": "MB", + "mem": "Mem", "memoryUsage": "", - "cpu": "", - "cpuUsage": "", - "cpuTemperature": "", + "cpu": "CPU", + "cpuUsage": "CPU 使用量", + "cpuTemperature": "CPU 溫度", "diskUsage": "", "used": "", "total": "", - "cores": "", + "cores": "核", "frequency": "", "status": "", - "cpuPhysical": "", - "cpuLogical": "", - "cpuFrequency": "", - "avgCpuTemperature": "", + "cpuPhysical": "CPU (實體核心)", + "cpuLogical": "CPU (邏輯核心)", + "cpuFrequency": "CPU 頻率", + "avgCpuTemperature": "平均 CPU 溫度", "memory": "", "disk": "", "uptime": "", - "os": "", + "os": "OS", "host": "", - "actions": "", + "actions": "行動", "integrations": "", "integrationsPrism": "", - "integrationsSlack": "", + "integrationsSlack": "Slack", "integrationsSlackInfo": "", "integrationsDiscord": "", "integrationsDiscordInfo": "", "integrationsZapier": "", "integrationsZapierInfo": "", - "commonSave": "", + "commonSave": "儲存", "createYour": "", "createMonitor": "", "pause": "", "resume": "", "editing": "", - "url": "", - "access": "", - "timezone": "", + "url": "UR:", + "access": "存取", + "timezone": "時區", "features": "", - "administrator": "", + "administrator": "系統管理員?", "loginHere": "", "displayName": "", "urlMonitor": "", "portToMonitor": "", - "websiteMonitoring": "", + "websiteMonitoring": "網站監控", "websiteMonitoringDescription": "", "pingMonitoring": "", "pingMonitoringDescription": "", @@ -232,15 +236,15 @@ "maintenanceRepeat": "", "maintenance": "", "duration": "", - "addMonitors": "", + "addMonitors": "新增監視器", "window": "", - "cancel": "", + "cancel": "取消", "message": "", - "low": "", - "high": "", + "low": "低", + "high": "高", "statusCode": "", - "date&Time": "", - "type": "", + "date&Time": "日期與時間", + "type": "類型", "statusPageName": "", "publicURL": "", "repeat": "", @@ -259,21 +263,20 @@ "notifySMS": "", "notifyEmails": "", "seperateEmails": "", - "checkFrequency": "", - "chooseGame": "", + "checkFrequency": "檢查頻率", "matchMethod": "", "expectedValue": "", - "deleteDialogTitle": "", - "deleteDialogDescription": "", + "deleteDialogTitle": "您確定要刪除此監視器嗎?", + "deleteDialogDescription": "一旦刪除,該監視器無法恢復。", "pageSpeedMonitor": "", "shown": "", "ago": "", - "companyName": "", + "companyName": "公司名稱", "pageSpeedDetailsPerformanceReport": "", "pageSpeedDetailsPerformanceReportCalculator": "", "checkingEvery": "", "statusPageCreateSettings": "", - "basicInformation": "", + "basicInformation": "基本資料", "statusPageCreateBasicInfoDescription": "", "statusPageCreateSelectTimeZoneDescription": "", "statusPageCreateAppearanceDescription": "", @@ -307,24 +310,24 @@ "pageSpeedWarning": "", "pageSpeedLearnMoreLink": "", "pageSpeedAddApiKey": "", - "update": "", + "update": "更新", "invalidFileFormat": "", "invalidFileSize": "", - "ClickUpload": "", + "ClickUpload": "點擊上傳", "DragandDrop": "", "MaxSize": "", "SupportedFormats": "", "FirstName": "", "LastName": "", "EmailDescriptionText": "", - "YourPhoto": "", + "YourPhoto": "頭像", "PhotoDescriptionText": "", "save": "", - "DeleteDescriptionText": "", - "DeleteAccountWarning": "", + "DeleteDescriptionText": "這將刪除帳號以及所有相關的伺服器資料,此操作不可逆轉。", + "DeleteAccountWarning": "刪除您的帳號表示您將無法再次登入,且所有資料都會被移除。此操作不可逆轉。", "DeleteWarningTitle": "", "bulkImport": { - "title": "", + "title": "批量匯入", "selectFileTips": "", "selectFileDescription": "", "selectFile": "", @@ -336,8 +339,8 @@ "invalidFileType": "", "uploadFailed": "" }, - "DeleteAccountTitle": "", - "DeleteAccountButton": "", + "DeleteAccountTitle": "刪除帳戶", + "DeleteAccountButton": "刪除帳戶", "publicLink": "", "maskedPageSpeedKeyPlaceholder": "", "reset": "", @@ -352,14 +355,14 @@ }, "roles": { "superAdmin": "", - "admin": "", + "admin": "管理員", "teamMember": "", - "demoUser": "" + "demoUser": "示範用戶" }, "teamPanel": { "teamMembers": "", "filter": { - "all": "", + "all": "全部", "member": "" }, "inviteTeamMember": "", @@ -368,7 +371,7 @@ "email": "", "selectRole": "", "inviteLink": "", - "cancel": "", + "cancel": "取消", "noMembers": "", "getToken": "", "emailToken": "", @@ -382,7 +385,7 @@ "monitorState": { "paused": "", "resumed": "", - "active": "" + "active": "啟用中" }, "menu": { "uptime": "", @@ -396,7 +399,7 @@ "support": "", "discussions": "", "docs": "", - "changelog": "", + "changelog": "版本變更記錄", "profile": "", "password": "", "team": "", @@ -408,17 +411,17 @@ "state": "", "statusBreadCrumbsStatusPages": "", "statusBreadCrumbsDetails": "", - "commonSaving": "", + "commonSaving": "儲存中...", "navControls": "", "incidentsPageTitle": "", "passwordPanel": { "passwordChangedSuccess": "", "passwordInputIncorrect": "", - "currentPassword": "", + "currentPassword": "當前密碼", "enterCurrentPassword": "", "newPassword": "", "enterNewPassword": "", - "confirmNewPassword": "", + "confirmNewPassword": "確認新密碼", "passwordRequirements": "", "saving": "" }, @@ -442,22 +445,22 @@ "game": "" }, "common": { - "appName": "", + "appName": "Checkmate", "monitoringAgentName": "", "buttons": { "toggleTheme": "" }, "toasts": { "networkError": "", - "checkConnection": "", + "checkConnection": "請檢查您的連線", "unknownError": "" } }, "auth": { "common": { "navigation": { - "continue": "", - "back": "" + "continue": "繼續", + "back": "返回" }, "inputs": { "email": { @@ -472,23 +475,23 @@ "label": "", "rules": { "length": { - "beginning": "", + "beginning": "必須至少", "highlighted": "" }, "special": { - "beginning": "", + "beginning": "必須至少包含", "highlighted": "" }, "number": { - "beginning": "", + "beginning": "必須至少包含", "highlighted": "" }, "uppercase": { - "beginning": "", + "beginning": "必須至少包含", "highlighted": "" }, "lowercase": { - "beginning": "", + "beginning": "必須至少包含", "highlighted": "" }, "match": { @@ -562,14 +565,15 @@ "registerLink": "" }, "toasts": { - "success": "", + "success": "歡迎回來!您已成功登入。", "incorrectPassword": "" }, "errors": { "password": { "incorrect": "" } - } + }, + "welcome": "" }, "registration": { "heading": { @@ -594,8 +598,9 @@ "login": "" }, "toasts": { - "success": "" - } + "success": "歡迎!您的帳號已成功建立。" + }, + "welcome": "" }, "forgotPassword": { "heading": "", @@ -623,7 +628,7 @@ "sent": "", "emailNotFound": "", "redirect": "", - "success": "", + "success": "您的密碼已成功重設。", "error": "" } } @@ -634,10 +639,10 @@ "reconnected": "", "stillUnreachable": "" }, - "alertBox": "", - "description": "", + "alertBox": "伺服器連線錯誤", + "description": "我們無法連接到伺服器。請檢查您的網路連線,若問題持續,請確認您的部署設定是否正確。", "retryButton": { - "default": "", + "default": "重新嘗試連線", "processing": "" } } @@ -645,42 +650,42 @@ "createNotifications": { "title": "", "nameSettings": { - "title": "", - "description": "", + "title": "姓名", + "description": "為您的整合設定描述名稱。", "nameLabel": "", "namePlaceholder": "" }, "typeSettings": { - "title": "", - "description": "", - "typeLabel": "" + "title": "類型", + "description": "請選擇您想要建立的通知頻道類型。", + "typeLabel": "類型" }, "emailSettings": { - "title": "", - "description": "", + "title": "電郵", + "description": "目的地電子郵件位址。", "emailLabel": "", "emailPlaceholder": "" }, "slackSettings": { - "title": "", - "description": "", + "title": "Slack", + "description": "在此配置您的 Slack webhook", "webhookLabel": "", "webhookPlaceholder": "" }, "pagerdutySettings": { - "title": "", - "description": "", + "title": "PagerDuty", + "description": "在此配置您的 PagerDuty 整合", "integrationKeyLabel": "", "integrationKeyPlaceholder": "" }, "discordSettings": { - "title": "", - "description": "", + "title": "Discord", + "description": "在此配置您的 Discord webhook", "webhookLabel": "", "webhookPlaceholder": "" }, "webhookSettings": { - "title": "", + "title": "Webhook", "description": "", "webhookLabel": "", "webhookPlaceholder": "" @@ -690,8 +695,8 @@ "dialogDeleteConfirm": "" }, "notificationConfig": { - "title": "", - "description": "" + "title": "通知", + "description": "請選擇您想要使用的通知頻道" }, "monitorStatus": { "checkingEvery": "", @@ -700,7 +705,7 @@ "down": "", "paused": "" }, - "advancedMatching": "", + "advancedMatching": "進階匹配", "sendTestNotifications": "", "selectAll": "", "showAdminLoginLink": "", @@ -718,11 +723,11 @@ "logLevelSelect": { "title": "", "values": { - "all": "", + "all": "全部", "info": "", "warn": "", "error": "", - "debug": "" + "debug": "除錯" } } }, @@ -734,8 +739,8 @@ "title": "", "idHeader": "", "urlHeader": "", - "typeHeader": "", - "activeHeader": "", + "typeHeader": "類型", + "activeHeader": "啟用中", "lockedAtHeader": "", "runCountHeader": "", "failCountHeader": "", @@ -774,7 +779,7 @@ "aboutSettings": { "labelDevelopedBy": "", "labelVersion": "", - "title": "" + "title": "關於" }, "demoMonitorsSettings": { "buttonAddMonitors": "", @@ -782,7 +787,7 @@ "title": "" }, "emailSettings": { - "buttonSendTestEmail": "", + "buttonSendTestEmail": "發送測試電子郵件", "description": "", "descriptionTransport": "", "labelAddress": "", @@ -800,25 +805,25 @@ "labelUser": "", "linkTransport": "", "placeholderUser": "", - "title": "", + "title": "電郵", "toastEmailRequiredFieldsError": "" }, "pageSpeedSettings": { "description": "", "labelApiKeySet": "", "labelApiKey": "", - "title": "" + "title": "Google PageSpeed API 金鑰" }, "saveButtonLabel": "", "statsSettings": { - "clearAllStatsButton": "", - "clearAllStatsDescription": "", - "clearAllStatsDialogConfirm": "", - "clearAllStatsDialogDescription": "", - "clearAllStatsDialogTitle": "", + "clearAllStatsButton": "清除所有統計數據", + "clearAllStatsDescription": "清除所有統計數據,此操作不可逆轉。", + "clearAllStatsDialogConfirm": "是,請清除所有統計數據", + "clearAllStatsDialogDescription": "一旦刪除,監控歷史和統計數據將無法復原。", + "clearAllStatsDialogTitle": "您是否要清除所有統計數據?", "description": "", "labelTTL": "", - "labelTTLOptional": "", + "labelTTLOptional": "0 表示無限", "title": "" }, "systemResetSettings": { @@ -827,19 +832,19 @@ "dialogConfirm": "", "dialogDescription": "", "dialogTitle": "", - "title": "" + "title": "系統重設" }, "timezoneSettings": { "description": "", "label": "", - "title": "" + "title": "顯示時區" }, - "title": "", + "title": "設定", "uiSettings": { "description": "", "labelLanguage": "", "labelTheme": "", - "title": "" + "title": "外觀" }, "urlSettings": { "description": "", @@ -847,15 +852,19 @@ "selectDisabled": "", "selectEnabled": "", "title": "" + }, + "globalThresholds": { + "title": "", + "description": "" } }, "statusPageCreate": { - "buttonSave": "" + "buttonSave": "儲存" }, "incidentsOptionsHeaderFilterResolved": "", "settingsSave": "", "statusPageCreateAppearanceTitle": "", - "confirmPassword": "", + "confirmPassword": "確認密碼", "monitorHooks": { "failureAddDemoMonitors": "", "successAddDemoMonitors": "" @@ -866,15 +875,15 @@ "incidentsOptionsHeaderTotalIncidents": "", "statusPage": { "deleteSuccess": "", - "deleteFailed": "", + "deleteFailed": "刪除狀態頁面失敗", "createSuccess": "", "updateSuccess": "", "generalSettings": "", - "contents": "", + "contents": "內容", "fallback": { "checks": [""], "title": "", - "actionButton": "" + "actionButton": "讓我們建立您的第一個狀態頁面!" } }, "testNotificationsDisabled": "", @@ -909,63 +918,138 @@ }, "pageSpeedLighthouseAPI": "", "time": { - "threeMinutes": "", - "fiveMinutes": "", - "tenMinutes": "", - "twentyMinutes": "", - "oneHour": "", - "oneDay": "", - "oneWeek": "" + "threeMinutes": "3分鐘", + "fiveMinutes": "5分鐘", + "tenMinutes": "10分鐘", + "twentyMinutes": "20分鐘", + "oneHour": "1小時", + "oneDay": "1日", + "oneWeek": "1星期", + "fourMinutes": "", + "oneMinute": "", + "twoMinutes": "", + "fifteenSeconds": "", + "thirtySeconds": "" }, "general": { "noOptionsFound": "" }, "infrastructureMonitor": { "fallback": { - "checks": [""], + "checks": ["追蹤伺服器的效能", "識別瓶頸並優化資源使用", "透過即時監控確保可靠性"], "title": "", - "actionButton": "" + "actionButton": "讓我們建立您的第一個基礎設施監視器!" } }, "maintenanceWindow": { "fallback": { - "checks": [""], + "checks": ["標記您的維護期間", "消除任何誤解", "在維護時段停止發送警報"], "title": "", - "actionButton": "" + "actionButton": "讓我們建立您的第一個維護時段!" } }, "pageSpeed": { "fallback": { "checks": [""], "title": "", - "actionButton": "" + "actionButton": "讓我們建立您的第一個 PageSpeed 監視器!" } }, "uptimeMonitor": { "fallback": { "checks": [""], "title": "", - "actionButton": "" + "actionButton": "讓我們建立您的第一個正常運行時間監視器!" } }, "editUserPage": { "form": { - "email": "", - "firstName": "", - "lastName": "", - "role": "", - "save": "" + "email": "電郵", + "firstName": "名", + "lastName": "姓", + "role": "角色", + "save": "儲存" }, "table": { - "actionHeader": "", - "roleHeader": "" + "actionHeader": "行動", + "roleHeader": "角色" }, - "title": "", + "title": "編輯用戶", "toast": { "successUserUpdate": "", "validationErrors": "" } }, - "incidentsPageActionResolveMonitor": "", - "incidentsPageActionResolveAll": "" + "incidentsPageActionResolveMonitor": "解決監視器事故", + "incidentsPageActionResolveAll": "解決所有事故", + "matchMethodOptions": { + "equal": "", + "equalPlaceholder": "", + "include": "", + "includePlaceholder": "", + "regex": "", + "regexPlaceholder": "", + "text": "" + }, + "monitorType": { + "docker": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "http": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "ping": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "port": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + }, + "game": { + "label": "", + "namePlaceholder": "", + "placeholder": "" + } + }, + "uptimeAdvancedMatching": { + "jsonPath": "" + }, + "bytesPerSecond": "", + "bytesReceived": "", + "bytesSent": "", + "chooseGame": "", + "createMonitorPage": { + "incidentConfigDescription": "", + "incidentConfigStatusWindowLabel": "", + "incidentConfigStatusWindowThresholdLabel": "", + "incidentConfigTitle": "" + }, + "dataRate": "", + "dataReceived": "", + "dataSent": "", + "details": "", + "drops": "", + "errors": "", + "errorsIn": "", + "errorsOut": "", + "gameServerMonitoring": "", + "gameServerMonitoringDescription": "", + "network": "", + "networkDrops": "", + "networkErrors": "", + "networkInterface": "", + "noNetworkStatsAvailable": "", + "packetsPerSecond": "", + "packetsReceived": "", + "packetsReceivedRate": "", + "packetsSent": "", + "rate": "", + "selectInterface": "" } diff --git a/client/vite.config.js b/client/vite.config.js index 4be76d38b..434cc7e96 100644 --- a/client/vite.config.js +++ b/client/vite.config.js @@ -5,7 +5,7 @@ import { execSync } from "child_process"; export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd(), ""); - let version = "3.1"; + let version = "3.1.1"; return { base: "/",