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",