diff --git a/.gitignore b/.gitignore similarity index 100% rename from .gitignore rename to .gitignore diff --git a/application/src/components/settings/about-system/AboutSystem.tsx b/application/src/components/settings/about-system/AboutSystem.tsx index 0f2c903..fdd5736 100644 --- a/application/src/components/settings/about-system/AboutSystem.tsx +++ b/application/src/components/settings/about-system/AboutSystem.tsx @@ -20,7 +20,7 @@ export const AboutSystem: React.FC = () => { return

{t('aboutSystem')}

-

{t('aboutReamStack')}

+

{t('aboutCheckcle')}

diff --git a/application/src/translations/de.ts b/application/src/translations/de.ts new file mode 100644 index 0000000..2e611f3 --- /dev/null +++ b/application/src/translations/de.ts @@ -0,0 +1,203 @@ +export const deTranslations = { + welcome: "Willkommen", + logout: "Abmelden", + language: "Sprache", + english: "Englisch", + khmer: "Khmer", + goodMorning: "Guten Morgen", + goodAfternoon: "Guten Nachmittag", + goodEvening: "Guten Abend", + // Hauptmenü-Übersetzungen + uptimeMonitoring: "Betriebszeitüberwachung", + instanceMonitoring: "Instanzüberwachung", + sslDomain: "SSL & Domain", + scheduleIncident: "Zeitplan & Vorfall", + operationalPage: "Betriebsstatus-Seite", + reports: "Berichte", + apiDocumentation: "API-Dokumentation", + // Einstellungen-Panel + settingPanel: "Einstellungsbereich", + generalSettings: "Allgemeine Einstellungen", + userManagement: "Benutzerverwaltung", + notificationSettings: "Benachrichtigungseinstellungen", + alertsTemplates: "Alarmvorlagen", + rolesManagement: "Rollenverwaltung", + dataRetention: "Datenspeicherung", + backupSettings: "Backup-Einstellungen", + aboutSystem: "Über das System", + // Dienst-Tabelle + serviceName: "Dienstname", + serviceType: "Diensttyp", + serviceStatus: "Dienststatus", + responseTime: "Antwortzeit", + uptime: "Betriebszeit", + lastChecked: "Zuletzt überprüft", + // Vorfall-Tabelle + time: "Zeit", + status: "Status", + // Allgemeine UI-Elemente + profile: "Profil", + settings: "Einstellungen", + documentation: "Dokumentation", + notifications: "Benachrichtigungen", + noServices: "Keine Dienste entsprechen den Filterkriterien.", + // Login-Seite + signInToYourAccount: "Melden Sie sich bei Ihrem Konto an", + dontHaveAccount: "Sie haben kein Konto?", + createOne: "Erstellen Sie eines", + signInWithGoogle: "Mit Google anmelden", + orContinueWith: "ODER", + email: "E-Mail", + password: "Passwort", + forgot: "Vergessen?", + signIn: "Anmelden", + signingIn: "Anmeldung läuft...", + loginSuccessful: "Anmeldung erfolgreich", + loginSuccessMessage: "Sie wurden erfolgreich angemeldet.", + loginFailed: "Anmeldung fehlgeschlagen", + authenticationFailed: "Authentifizierung fehlgeschlagen", + bySigningIn: "Durch die Anmeldung stimmen Sie unseren", + termsAndConditions: "Allgemeinen Geschäftsbedingungen", + and: "und", + privacyPolicy: "Datenschutzrichtlinie", + // Über das System + aboutCheckcle: "Über Checkcle", + systemDescription: "Checkcle ist ein Open-Source-Überwachungs-Stack, der Echtzeit-Einblicke in Server- und Dienstzustände, Vorfallmanagement und operative Transparenz bietet. Veröffentlicht unter der MIT-Lizenz.", + systemVersion: "Systemversion", + license: "Lizenz", + mitLicense: "MIT-Lizenz", + links: "Links", + viewOnGithub: "Auf GitHub ansehen", + viewDocumentation: "Dokumentation ansehen", + followOnX: "Auf X folgen", + joinDiscord: "Discord beitreten", + // Schnellaktionen + quickActions: "Schnellaktionen", + quickActionsDescription: "Greifen Sie schnell auf häufige Überwachungsvorgänge und Funktionen zu. Wählen Sie unten eine Aktion aus, um zu beginnen.", + close: "Schließen", + quickTips: "Schnelle Tipps", + // Website-Überwachung + monitorWebsite: "Website-Überwachung", + monitorWebsiteDesc: "Überwachen Sie die Verfügbarkeit und Leistung von Websites mit detaillierten Metriken und Warnungen.", + monitorMultipleEndpoints: "Mehrere Endpunkte überwachen", + trackResponseTimes: "Antwortzeiten verfolgen", + setCustomAlerts: "Benutzerdefinierte Warnungen festlegen", + // Serverüberwachung + monitorServer: "Serverüberwachung", + monitorServerDesc: "Verfolgen Sie Servergesundheitsmetriken wie CPU, Speicher, Festplattennutzung und Netzwerkverkehr.", + monitorCPURam: "CPU- & RAM-Nutzung überwachen", + trackNetworkMetrics: "Netzwerkmetriken verfolgen", + viewProcesses: "Aktive Prozesse anzeigen", + // SSL-Zertifikate + sslCertificate: "SSL-Zertifikat", + sslCertificateDesc: "Überwachen Sie die Gültigkeit von SSL-Zertifikaten und erhalten Sie Warnungen vor Ablaufdaten.", + trackSSLExpiration: "Ablaufdaten von SSL-Zertifikaten verfolgen", + getEarlyRenewal: "Frühzeitige Erneuerungshinweise erhalten", + monitorMultipleDomains: "Mehrere Domains überwachen", + // Vorfallsmanagement + incidentsManagement: "Vorfallsmanagement", + incidentsManagementDesc: "Erstellen, verfolgen und verwalten Sie Vorfälle einschließlich Zuweisungs- und Lösungsabläufe.", + createTrackIncidents: "Vorfälle erstellen & verfolgen", + assignIncidents: "Vorfälle einem Team zuweisen", + monitorResolution: "Lösungsfortschritt überwachen", + // Betriebsstatus + operationalStatus: "Betriebsstatus", + operationalStatusDesc: "Erstellen und verwalten Sie öffentliche Statusseiten, um Benutzern den Systemzustand mitzuteilen.", + createCustomStatus: "Benutzerdefinierte Statusseiten erstellen", + displayRealTime: "Echtzeitmetriken anzeigen", + shareIncidentUpdates: "Vorfallaktualisierungen teilen", + // Berichte & Analysen + reportsAnalytics: "Berichte & Analysen", + reportsAnalyticsDesc: "Berichte zur Systemleistung, Betriebszeit-Historie und Vorfallmetriken erstellen.", + generateUptimeReports: "Berichte zur Betriebszeit erstellen", + analyzePerformance: "Leistungstrends analysieren", + exportMonitoringData: "Überwachungsdaten exportieren", + // SSL Domain Management Seite + sslDomainManagement: "SSL- & Domainverwaltung", + monitorSSLCertificates: "SSL-Zertifikate und deren Ablaufdaten überwachen", + validCertificates: "Gültige Zertifikate", + expiringSoon: "Läuft bald ab", + expired: "Abgelaufen", + refreshAll: "Alle aktualisieren", + addDomain: "Domain hinzufügen", + domain: "Domain", + issuer: "Aussteller", + expirationDate: "Ablaufdatum", + daysLeft: "Verbleibende Tage", + lastNotified: "Zuletzt benachrichtigt", + actions: "Aktionen", + view: "Ansehen", + check: "Prüfen", + edit: "Bearbeiten", + delete: "Löschen", + never: "Nie", + unknown: "Unbekannt", + checkingSSLCertificate: "SSL-Zertifikat wird überprüft...", + noSSLCertificates: "Keine SSL-Zertifikate gefunden", + // SSL-Zertifikat hinzufügen + addSSLCertificate: "SSL-Zertifikat hinzufügen", + warningThreshold: "Warnschwelle (Tage)", + expiryThreshold: "Ablaufschwelle (Tage)", + notificationChannel: "Benachrichtigungskanal", + cancel: "Abbrechen", + addCertificate: "Zertifikat hinzufügen", + getNotifiedExpiration: "Benachrichtigung erhalten, wenn Zertifikate bald ablaufen", + getNotifiedCritical: "Benachrichtigung erhalten, wenn Zertifikate kritisch kurz vor Ablauf stehen", + chooseChannel: "Wählen Sie, wo Sie Benachrichtigungen erhalten möchten", + loadingChannels: "Kanäle werden geladen...", + noChannelsFound: "Keine Benachrichtigungskanäle gefunden", + // SSL-Zertifikat bearbeiten + editSSLCertificate: "SSL-Zertifikat bearbeiten", + domainName: "Domainname", + domainCannotChange: "Domainname kann nicht geändert werden. Um eine andere Domain zu überwachen, fügen Sie ein neues Zertifikat hinzu.", + warningThresholdDays: "Warnschwelle (Tage)", + expiryThresholdDays: "Ablaufschwelle (Tage)", + daysBeforeExpiration: "Tage vor Ablauf zur Warnung", + daysBeforeCritical: "Tage vor Ablauf zur kritischen Warnung", + whereToSend: "Wohin die Benachrichtigungen gesendet werden sollen", + saveChanges: "Änderungen speichern", + updating: "Aktualisiere...", + // SSL-Zertifikat Details + sslCertificateDetails: "SSL-Zertifikatdetails", + detailedInfo: "Detaillierte Informationen zum SSL-Zertifikat für", + basicInformation: "Basisinformationen", + validity: "Gültigkeit", + validFrom: "Gültig ab", + validUntil: "Gültig bis", + validityDays: "Gültigkeitstage", + issuerInfo: "Aussteller", + organization: "Organisation", + commonName: "Allgemeiner Name", + technicalDetails: "Technische Details", + serialNumber: "Seriennummer", + algorithm: "Algorithmus", + subjectAltNames: "Alternative Namen (SANs)", + none: "Keine", + monitoringConfig: "Überwachungskonfiguration", + recordInfo: "Informationen zum Eintrag", + created: "Erstellt", + lastUpdated: "Zuletzt aktualisiert", + lastNotification: "Letzte Benachrichtigung", + collectionId: "Sammlungs-ID", + // Löschen bestätigen + deleteSSLCertificate: "SSL-Zertifikat löschen", + deleteConfirmation: "Möchten Sie das SSL-Zertifikat für wirklich löschen?", + deleteWarning: "Diese Aktion kann nicht rückgängig gemacht werden.", + // Status-Badges + valid: "Gültig", + pending: "Ausstehend", + // Erfolg- und Fehlermeldungen + sslCertificateAdded: "SSL-Zertifikat erfolgreich hinzugefügt", + sslCertificateUpdated: "SSL-Zertifikat erfolgreich aktualisiert", + sslCertificateDeleted: "SSL-Zertifikat erfolgreich gelöscht", + sslCertificateRefreshed: "SSL-Zertifikat für {domain} erfolgreich aktualisiert", + allCertificatesRefreshed: "Alle {count} Zertifikate erfolgreich aktualisiert", + someCertificatesFailed: "{success} Zertifikate aktualisiert, {failed} fehlgeschlagen", + failedToLoadCertificates: "SSL-Zertifikate konnten nicht geladen werden", + failedToAddCertificate: "SSL-Zertifikat konnte nicht hinzugefügt werden", + failedToUpdateCertificate: "SSL-Zertifikat konnte nicht aktualisiert werden", + failedToDeleteCertificate: "SSL-Zertifikat konnte nicht gelöscht werden", + failedToCheckCertificate: "SSL-Zertifikat konnte nicht überprüft werden", + noCertificatesToRefresh: "Keine Zertifikate zum Aktualisieren", + startingRefreshAll: "Beginne Aktualisierung aller {count} Zertifikate..." +}; \ No newline at end of file diff --git a/application/src/translations/en.ts b/application/src/translations/en.ts index 85e6f38..024fae6 100644 --- a/application/src/translations/en.ts +++ b/application/src/translations/en.ts @@ -62,8 +62,8 @@ export const enTranslations = { and: "and", privacyPolicy: "Privacy Policy", // About System page - aboutReamStack: "About ReamStack", - systemDescription: "ReamStack is an open-source monitoring stack offering real-time insights into server and service health, incident management, and operational transparency. Released as MIT License.", + aboutCheckcle: "About Checkcle", + systemDescription: "Checkcle is an open-source monitoring stack offering real-time insights into server and service health, incident management, and operational transparency. Released as MIT License.", systemVersion: "System Version", license: "License", mitLicense: "MIT License", diff --git a/application/src/translations/index.ts b/application/src/translations/index.ts index e69941c..36134d7 100644 --- a/application/src/translations/index.ts +++ b/application/src/translations/index.ts @@ -1,12 +1,14 @@ import { enTranslations } from './en'; import { kmTranslations } from './km'; +import { deTranslations } from './de'; -export type Language = "en" | "km"; +export type Language = "en" | "km" | "de"; export const translations = { en: enTranslations, km: kmTranslations, + de: deTranslations, }; export type TranslationKey = keyof typeof enTranslations; diff --git a/application/src/translations/km.ts b/application/src/translations/km.ts index ee9e727..aadbea8 100644 --- a/application/src/translations/km.ts +++ b/application/src/translations/km.ts @@ -61,8 +61,8 @@ export const kmTranslations = { and: "និង", privacyPolicy: "គោលនយោបាយឯកជនភាព", // About System page - aboutReamStack: "អំពី ReamStack", - systemDescription: "ReamStack គឺជាស្តាកការត្រួតពិនិត្យប្រភពបើកទូលាយដែលផ្តល់នូវការយល់ដឹងជាក់ស្តែងអំពីសុខភាពម៉ាស៊ីនមេ និងសេវាកម្ម, ការគ្រប់គ្រងឧបទ្ទវហេតុ, និងតម្លាភាពនៃប្រតិបត្តិការ។ ចេញផ្សាយជាអាជ្ញាបណ្ណ MIT។", + aboutCheckcle: "អំពី Checkcle", + systemDescription: "Checkcle គឺជាស្តាកការត្រួតពិនិត្យប្រភពបើកទូលាយដែលផ្តល់នូវការយល់ដឹងជាក់ស្តែងអំពីសុខភាពម៉ាស៊ីនមេ និងសេវាកម្ម, ការគ្រប់គ្រងឧបទ្ទវហេតុ, និងតម្លាភាពនៃប្រតិបត្តិការ។ ចេញផ្សាយជាអាជ្ញាបណ្ណ MIT។", systemVersion: "កំណែប្រព័ន្ធ", license: "អាជ្ញាបណ្ណ", mitLicense: "អាជ្ញាបណ្ណ MIT",