Refactor the Translations language to seperate their own directory, for easy to maintenable and scalable language

This commit is contained in:
Tola Leng
2025-05-23 20:39:25 +08:00
parent b4bef67220
commit 8910c1355c
40 changed files with 1416 additions and 618 deletions
-204
View File
@@ -1,204 +0,0 @@
export const deTranslations = {
welcome: "Willkommen",
logout: "Abmelden",
language: "Sprache",
english: "Englisch",
khmer: "Khmer",
german: "Deutsch",
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..."
};
+20
View File
@@ -0,0 +1,20 @@
// Über das System
import { AboutTranslations } from '../types/about';
export const aboutTranslations: AboutTranslations = {
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",
quickActions: "Quick Actions",
quickActionsDescription: "Access common monitoring operations and features quickly. Select an action below to get started.",
quickTips: "Quick Tips",
};
+29
View File
@@ -0,0 +1,29 @@
import { CommonTranslations } from '../types/common';
export const commonTranslations: CommonTranslations = {
welcome: "Willkommen",
logout: "Abmelden",
language: "Sprache",
english: "Englisch",
khmer: "Khmer",
german: "Deutsch",
goodMorning: "Guten Morgen",
goodAfternoon: "Guten Nachmittag",
goodEvening: "Guten Abend",
profile: "Profile",
settings: "Settings",
documentation: "Documentation",
notifications: "Notifications",
close: "Close",
cancel: "Cancel",
view: "View",
edit: "Edit",
delete: "Delete",
status: "Status",
time: "Time",
title: "Title",
description: "Description",
success: "Success",
error: "Error",
};
@@ -0,0 +1,55 @@
import { IncidentTranslations } from '../types/incident';
export const incidentTranslations: IncidentTranslations = {
incidentManagement: 'Incident Management',
incidentsManagementDesc: 'Track and manage service incidents and their resolutions',
unresolvedIncidents: 'Unresolved',
resolvedIncidents: 'Resolved',
activeIncidents: 'Active Incidents',
criticalIssues: 'Critical Issues',
avgResolutionTime: 'Avg. Resolution Time',
noIncidents: 'No Active Incidents',
createIncident: 'Create Incident',
investigating: 'Investigating',
identified: 'Identified',
monitoring: 'Monitoring',
resolved: 'Resolved',
scheduleIncidentManagement: 'Schedule & Incident Management',
incidentName: 'Incident Name',
incidentStatus: 'Incident Status',
highPriority: 'High Priority',
configurationSettings: 'Configuration Settings',
incidentCreatedSuccess: 'Incident created successfully',
basicInfo: 'Basic Information',
serviceId: 'Service ID',
assignedTo: 'Assigned To',
unassigned: 'Unassigned',
timeline: 'Timeline',
incidentTime: 'Incident Time',
resolutionTime: 'Resolution Time',
systems: 'Systems',
noSystems: 'No systems affected',
impactAnalysis: 'Impact Analysis',
rootCause: 'Root Cause',
resolutionSteps: 'Resolution Steps',
lessonsLearned: 'Lessons Learned',
resolutionDetails: 'Resolution Details',
assignment: 'Assignment',
download: 'Download',
downloadPdf: 'Download PDF',
print: 'Print',
confidentialNote: 'This document is confidential and intended for internal use only.',
generatedOn: 'Generated on',
enterResolutionSteps: 'Enter steps taken to resolve the incident',
enterLessonsLearned: 'Enter lessons learned from this incident',
editIncident: 'Edit Incident',
editIncidentDesc: 'Update details for this incident',
updating: 'Updating...',
update: 'Update',
create: 'Create',
creating: 'Creating...',
configuration: 'Configuration',
failedToUpdateStatus: 'Failed to update status',
inProgress: 'In Progress',
};
+23
View File
@@ -0,0 +1,23 @@
import { Translations } from '../types';
import { commonTranslations } from './common';
import { menuTranslations } from './menu';
import { loginTranslations } from './login';
import { aboutTranslations } from './about';
import { servicesTranslations } from './services';
import { maintenanceTranslations } from './maintenance';
import { incidentTranslations } from './incident';
import { sslTranslations } from './ssl';
const enTranslations: Translations = {
common: commonTranslations,
menu: menuTranslations,
login: loginTranslations,
about: aboutTranslations,
services: servicesTranslations,
maintenance: maintenanceTranslations,
incident: incidentTranslations,
ssl: sslTranslations
};
export default enTranslations;
+24
View File
@@ -0,0 +1,24 @@
import { LoginTranslations } from '../types/login';
export const loginTranslations: LoginTranslations = {
// 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",
};
@@ -0,0 +1,68 @@
import { MaintenanceTranslations } from '../types/maintenance';
export const maintenanceTranslations: MaintenanceTranslations = {
scheduledMaintenance: 'Scheduled Maintenance',
scheduledMaintenanceDesc: 'View and manage planned maintenance windows for your systems and services',
upcomingMaintenance: 'Upcoming',
ongoingMaintenance: 'Ongoing',
completedMaintenance: 'Completed',
createMaintenanceWindow: 'Create Maintenance',
totalScheduledHours: 'Total Scheduled Hours',
maintenanceName: 'Maintenance Name',
maintenanceStatus: 'Status',
scheduledStart: 'Scheduled Start',
scheduledEnd: 'Scheduled End',
affectedServices: 'Affected Services',
impact: 'Impact',
minor: 'Minor',
major: 'Major',
critical: 'Critical',
none: 'None',
actions: 'Actions',
scheduled: 'Scheduled',
inprogress: 'In Progress',
completed: 'Completed',
cancelled: 'Cancelled',
markAsInProgress: 'Mark as In Progress',
markAsCompleted: 'Mark as Completed',
markAsCancelled: 'Mark as Cancelled',
confirmDelete: 'Confirm Delete',
deleteMaintenanceConfirmation: 'Are you sure you want to delete this maintenance window?',
thisActionCannotBeUndone: 'This action cannot be undone.',
maintenanceDeleted: 'Maintenance Deleted',
maintenanceDeletedDesc: 'The maintenance window has been deleted successfully.',
errorDeletingMaintenance: 'There was an error deleting the maintenance window.',
statusUpdated: 'Status Updated',
maintenanceStatusUpdated: 'Maintenance status has been updated successfully.',
errorUpdatingMaintenanceStatus: 'There was an error updating the maintenance status.',
createMaintenance: 'Create Maintenance',
createMaintenanceDesc: 'Schedule a new maintenance window for your services',
enterTitle: 'Enter maintenance title',
enterDescription: 'Enter detailed description of the maintenance',
startTime: 'Start Time',
endTime: 'End Time',
selectDate: 'Select a date',
enterAffectedServices: 'Enter affected services',
separateServicesWithComma: 'Separate multiple services with commas',
priority: 'Priority',
selectPriority: 'Select priority',
selectStatus: 'Select status',
selectImpact: 'Select impact',
notifySubscribers: 'Notify Subscribers',
notifySubscribersDesc: 'Send notifications to all subscribers when this maintenance starts',
maintenanceCreated: 'Maintenance Created',
maintenanceCreatedDesc: 'The maintenance window has been scheduled successfully.',
errorCreatingMaintenance: 'There was an error creating the maintenance window.',
errorFetchingMaintenanceData: 'There was an error fetching maintenance data.',
low: 'Low',
medium: 'Medium',
high: 'High',
created: 'Created',
lastUpdated: 'Last Updated',
subscribersWillBeNotified: 'Subscribers will be notified when maintenance begins',
noNotifications: 'No notifications will be sent',
noScheduledMaintenance: 'No Scheduled Maintenance',
noMaintenanceWindows: 'There are no maintenance windows for this period. Create one by clicking the "Create Maintenance" button.',
maintenanceCreatedSuccess: 'Maintenance window created successfully',
};
+23
View File
@@ -0,0 +1,23 @@
import { MenuTranslations } from '../types/menu';
export const menuTranslations: MenuTranslations = {
// 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",
};
@@ -0,0 +1,13 @@
import { ServicesTranslations } from '../types/services';
export const servicesTranslations: ServicesTranslations = {
// Dienst-Tabelle
serviceName: "Dienstname",
serviceType: "Diensttyp",
serviceStatus: "Dienststatus",
responseTime: "Antwortzeit",
uptime: "Betriebszeit",
lastChecked: "Zuletzt überprüft",
noServices: "No services match your filter criteria.",
};
+107
View File
@@ -0,0 +1,107 @@
import { SSLTranslations } from '../types/ssl';
export const sslTranslations: SSLTranslations = {
// Page and section titles
sslDomainManagement: "SSL- & Domainverwaltung",
monitorSSLCertificates: "SSL-Zertifikate und deren Ablaufdaten überwachen",
addSSLCertificate: "SSL-Zertifikat hinzufügen",
editSSLCertificate: "SSL-Zertifikat bearbeiten",
deleteSSLCertificate: "Delete SSL Certificate",
sslCertificateDetails: "SSL-Zertifikatdetails",
detailedInfo: "Detaillierte Informationen zum SSL-Zertifikat für",
// Status related
valid: "Gültig",
expiringSoon: "Läuft bald ab",
expired: "Abgelaufen",
pending: "Ausstehend",
// Statistics and cards
validCertificates: "Gültige Zertifikate",
expiringSoonCertificates: "Läuft bald ab",
expiredCertificates: "Abgelaufen",
// Form fields
domain: "Domain",
domainName: "Domainname",
domainCannotChange: "Domainname kann nicht geändert werden. Um eine andere Domain zu überwachen, fügen Sie ein neues Zertifikat hinzu.",
warningThreshold: "Warnschwelle (Tage)",
warningThresholdDays: "Warnschwelle (Tage)",
expiryThreshold: "Ablaufschwelle (Tage)",
expiryThresholdDays: "Ablaufschwelle (Tage)",
notificationChannel: "Benachrichtigungskanal",
chooseChannel: "Wählen Sie, wo Sie Benachrichtigungen erhalten möchten",
whereToSend: "Wohin die Benachrichtigungen gesendet werden sollen",
daysBeforeExpiration: "Tage vor Ablauf zur Warnung",
daysBeforeCritical: "Tage vor Ablauf zur kritischen Warnung",
getNotifiedExpiration: "Benachrichtigung erhalten, wenn Zertifikate bald ablaufen",
getNotifiedCritical: "Benachrichtigung erhalten, wenn Zertifikate kritisch kurz vor Ablauf stehen",
// Table headers and fields
issuer: "Aussteller",
expirationDate: "Ablaufdatum",
daysLeft: "Verbleibende Tage",
status: "Status",
lastNotified: "Last Notified",
actions: "Actions",
validFrom: "Valid From",
validUntil: "Valid Until",
validityDays: "Validity Days",
organization: "Organization",
commonName: "Common Name",
serialNumber: "Serial Number",
algorithm: "Algorithm",
subjectAltNames: "Subject Alternative Names",
// Buttons and actions
addDomain: "Add Domain",
refreshAll: "Refresh All",
cancel: "Cancel",
addCertificate: "Add Certificate",
check: "Check",
view: "View",
edit: "Edit",
delete: "Delete",
close: "Close",
saveChanges: "Save Changes",
updating: "Updating",
// Sections in detail view
basicInformation: "Basic Information",
validity: "Validity",
issuerInfo: "Issuer Information",
technicalDetails: "Technical Details",
monitoringConfig: "Monitoring Configuration",
recordInfo: "Record Information",
// Notifications and messages
sslCertificateAdded: "SSL Certificate added successfully",
sslCertificateUpdated: "SSL Certificate updated successfully",
sslCertificateDeleted: "SSL Certificate deleted successfully",
sslCertificateRefreshed: "SSL Certificate for {domain} refreshed successfully",
allCertificatesRefreshed: "All {count} certificates refreshed successfully",
someCertificatesFailed: "{success} certificates refreshed, {failed} failed",
failedToAddCertificate: "Failed to add SSL certificate",
failedToLoadCertificates: "Failed to load SSL certificates",
failedToUpdateCertificate: "Failed to update SSL certificate",
failedToDeleteCertificate: "Failed to delete SSL certificate",
failedToCheckCertificate: "Failed to check SSL certificate",
noCertificatesToRefresh: "No certificates to refresh",
startingRefreshAll: "Starting refresh of {count} certificates",
checkingSSLCertificate: "Checking SSL certificate...",
deleteConfirmation: "Are you sure you want to delete the certificate for",
deleteWarning: "This action cannot be undone. This will permanently delete the certificate.",
// Misc
unknown: "Unknown",
never: "Never",
none: "None",
loadingChannels: "Loading channels...",
noChannelsFound: "No notification channels found",
noSSLCertificates: "No SSL certificates found",
created: "Created",
lastUpdated: "Last Updated",
lastNotification: "Last Notification",
collectionId: "Collection ID"
};
-205
View File
@@ -1,205 +0,0 @@
export const enTranslations = {
welcome: "Welcome",
logout: "Logout",
language: "Language",
english: "English",
khmer: "Khmer",
german: "German",
goodMorning: "Good morning",
goodAfternoon: "Good afternoon",
goodEvening: "Good evening",
// Main menu translations
uptimeMonitoring: "Uptime Monitoring",
instanceMonitoring: "Instance Monitoring",
sslDomain: "SSL & Domain",
scheduleIncident: "Schedule & Incident",
operationalPage: "Operational Page",
reports: "Reports",
apiDocumentation: "API Documentation",
// Settings panel translations
settingPanel: "Setting Panel",
generalSettings: "General Settings",
userManagement: "User Management",
notificationSettings: "Notification Settings",
alertsTemplates: "Alerts Templates",
rolesManagement: "Roles Management",
dataRetention: "Data Retention",
backupSettings: "Backup Settings",
aboutSystem: "About System",
// Service table headers
serviceName: "Service Name",
serviceType: "Service Type",
serviceStatus: "Service Status",
responseTime: "Response Time",
uptime: "Uptime",
lastChecked: "Last Checked",
// Incident table
time: "Time",
status: "Status",
// Common UI elements
profile: "Profile",
settings: "Settings",
documentation: "Documentation",
notifications: "Notifications",
noServices: "No services match your filter criteria.",
// Login page
signInToYourAccount: "Sign in to your account",
dontHaveAccount: "Don't have an account?",
createOne: "Create one",
signInWithGoogle: "Sign in with Google",
orContinueWith: "OR",
email: "Email",
password: "Password",
forgot: "Forgot?",
signIn: "Sign In",
signingIn: "Signing in...",
loginSuccessful: "Login successful",
loginSuccessMessage: "You have been logged in successfully.",
loginFailed: "Login failed",
authenticationFailed: "Authentication failed",
bySigningIn: "By signing in, you agree to our",
termsAndConditions: "Terms & Conditions",
and: "and",
privacyPolicy: "Privacy Policy",
// About System page
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",
links: "Links",
viewOnGithub: "View on GitHub",
viewDocumentation: "View Documentation",
followOnX: "Follow on X",
joinDiscord: "Join Discord",
// Quick Actions Dialog translations
quickActions: "Quick Actions",
quickActionsDescription: "Access common monitoring operations and features quickly. Select an action below to get started.",
close: "Close",
quickTips: "Quick Tips",
// Website Monitoring Card
monitorWebsite: "Website Monitoring",
monitorWebsiteDesc: "Monitor website availability and performance with detailed metrics and alerts.",
monitorMultipleEndpoints: "Monitor multiple endpoints",
trackResponseTimes: "Track response times",
setCustomAlerts: "Set custom alerts",
// Server Monitoring Card
monitorServer: "Server Monitoring",
monitorServerDesc: "Track server health metrics including CPU, memory, disk usage, and network traffic.",
monitorCPURam: "Monitor CPU & RAM usage",
trackNetworkMetrics: "Track network metrics",
viewProcesses: "View active processes",
// SSL Certificate Card
sslCertificate: "SSL Certificate",
sslCertificateDesc: "Monitor SSL certificate validity and receive alerts before expiration dates.",
trackSSLExpiration: "Track SSL expiration dates",
getEarlyRenewal: "Get early renewal notices",
monitorMultipleDomains: "Monitor multiple domains",
// Incidents Management Card
incidentsManagement: "Incidents Management",
incidentsManagementDesc: "Create, track, and manage incidents including assignment and resolution workflows.",
createTrackIncidents: "Create & track incidents",
assignIncidents: "Assign incidents to team",
monitorResolution: "Monitor resolution progress",
// Operational Status Card
operationalStatus: "Operational Status",
operationalStatusDesc: "Create and manage public status pages to communicate system health to users.",
createCustomStatus: "Create custom status pages",
displayRealTime: "Display real-time metrics",
shareIncidentUpdates: "Share incident updates",
// Reports & Analytics Card
reportsAnalytics: "Reports & Analytics",
reportsAnalyticsDesc: "Generate reports on system performance, uptime history, and incident metrics.",
generateUptimeReports: "Generate uptime reports",
analyzePerformance: "Analyze performance trends",
exportMonitoringData: "Export monitoring data",
// SSL Domain page translations
sslDomainManagement: "SSL & Domain Management",
monitorSSLCertificates: "Monitor SSL certificates and their expiration dates",
validCertificates: "Valid Certificates",
expiringSoon: "Expiring Soon",
expired: "Expired",
refreshAll: "Refresh All",
addDomain: "Add Domain",
domain: "Domain",
issuer: "Issuer",
expirationDate: "Expiration Date",
daysLeft: "Days Left",
lastNotified: "Last Notified",
actions: "Actions",
view: "View",
check: "Check",
edit: "Edit",
delete: "Delete",
never: "Never",
unknown: "Unknown",
checkingSSLCertificate: "Checking SSL certificate...",
noSSLCertificates: "No SSL certificates found",
// Add SSL Certificate dialog
addSSLCertificate: "Add SSL Certificate",
warningThreshold: "Warning Threshold (days)",
expiryThreshold: "Expiry Threshold (days)",
notificationChannel: "Notification Channel",
cancel: "Cancel",
addCertificate: "Add Certificate",
getNotifiedExpiration: "Get notified when certificates are about to expire",
getNotifiedCritical: "Get notified when certificates are critically close to expiring",
chooseChannel: "Choose where to receive SSL certificate alerts",
loadingChannels: "Loading channels...",
noChannelsFound: "No notification channels found",
// Edit SSL Certificate dialog
editSSLCertificate: "Edit SSL Certificate",
domainName: "Domain name",
domainCannotChange: "Domain name cannot be changed. To monitor a different domain, add a new certificate.",
warningThresholdDays: "Warning Threshold (Days)",
expiryThresholdDays: "Expiry Threshold (Days)",
daysBeforeExpiration: "Days before expiration to send warning",
daysBeforeCritical: "Days before expiration to send critical alert",
whereToSend: "Where to send notifications about this certificate",
saveChanges: "Save Changes",
updating: "Updating...",
// SSL Certificate details dialog
sslCertificateDetails: "SSL Certificate Details",
detailedInfo: "Detailed information about the SSL certificate for",
basicInformation: "Basic Information",
validity: "Validity",
validFrom: "Valid From",
validUntil: "Valid Until",
validityDays: "Validity Days",
issuerInfo: "Issuer",
organization: "Organization",
commonName: "Common Name",
technicalDetails: "Technical Details",
serialNumber: "Serial Number",
algorithm: "Algorithm",
subjectAltNames: "Subject Alternative Names (SANs)",
none: "None",
monitoringConfig: "Monitoring Configuration",
recordInfo: "Record Information",
created: "Created",
lastUpdated: "Last Updated",
lastNotification: "Last Notification",
collectionId: "Collection ID",
// Delete confirmation dialog
deleteSSLCertificate: "Delete SSL Certificate",
deleteConfirmation: "Are you sure you want to delete the SSL certificate for",
deleteWarning: "This action cannot be undone.",
// Status badges
valid: "Valid",
pending: "Pending",
// Success and error messages
sslCertificateAdded: "SSL certificate added successfully",
sslCertificateUpdated: "SSL certificate updated successfully",
sslCertificateDeleted: "SSL certificate deleted successfully",
sslCertificateRefreshed: "SSL certificate for {domain} updated successfully",
allCertificatesRefreshed: "Successfully refreshed all {count} certificates",
someCertificatesFailed: "Refreshed {success} certificates, {failed} failed",
failedToLoadCertificates: "Failed to load SSL certificates",
failedToAddCertificate: "Failed to add SSL certificate",
failedToUpdateCertificate: "Failed to update SSL certificate",
failedToDeleteCertificate: "Failed to delete SSL certificate",
failedToCheckCertificate: "Failed to check SSL certificate",
noCertificatesToRefresh: "No certificates to refresh",
startingRefreshAll: "Starting refresh of all {count} certificates..."
};
+18
View File
@@ -0,0 +1,18 @@
import { AboutTranslations } from '../types/about';
export const aboutTranslations: AboutTranslations = {
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",
links: "Links",
viewOnGithub: "View on GitHub",
viewDocumentation: "View Documentation",
followOnX: "Follow on X",
joinDiscord: "Join Discord",
quickActions: "Quick Actions",
quickActionsDescription: "Access common monitoring operations and features quickly. Select an action below to get started.",
quickTips: "Quick Tips",
};
+29
View File
@@ -0,0 +1,29 @@
import { CommonTranslations } from '../types/common';
export const commonTranslations: CommonTranslations = {
welcome: "Welcome",
logout: "Logout",
language: "Language",
english: "English",
khmer: "Khmer",
german: "Deutsch",
goodMorning: "Good morning",
goodAfternoon: "Good afternoon",
goodEvening: "Good evening",
profile: "Profile",
settings: "Settings",
documentation: "Documentation",
notifications: "Notifications",
close: "Close",
cancel: "Cancel",
view: "View",
edit: "Edit",
delete: "Delete",
status: "Status",
time: "Time",
title: "Title",
description: "Description",
success: "Success",
error: "Error",
};
@@ -0,0 +1,55 @@
import { IncidentTranslations } from '../types/incident';
export const incidentTranslations: IncidentTranslations = {
incidentManagement: 'Incident Management',
incidentsManagementDesc: 'Track and manage service incidents and their resolutions',
unresolvedIncidents: 'Unresolved',
resolvedIncidents: 'Resolved',
activeIncidents: 'Active Incidents',
criticalIssues: 'Critical Issues',
avgResolutionTime: 'Avg. Resolution Time',
noIncidents: 'No Active Incidents',
createIncident: 'Create Incident',
investigating: 'Investigating',
identified: 'Identified',
monitoring: 'Monitoring',
resolved: 'Resolved',
scheduleIncidentManagement: 'Schedule & Incident Management',
incidentName: 'Incident Name',
incidentStatus: 'Incident Status',
highPriority: 'High Priority',
configurationSettings: 'Configuration Settings',
incidentCreatedSuccess: 'Incident created successfully',
basicInfo: 'Basic Information',
serviceId: 'Service ID',
assignedTo: 'Assigned To',
unassigned: 'Unassigned',
timeline: 'Timeline',
incidentTime: 'Incident Time',
resolutionTime: 'Resolution Time',
systems: 'Systems',
noSystems: 'No systems affected',
impactAnalysis: 'Impact Analysis',
rootCause: 'Root Cause',
resolutionSteps: 'Resolution Steps',
lessonsLearned: 'Lessons Learned',
resolutionDetails: 'Resolution Details',
assignment: 'Assignment',
download: 'Download',
downloadPdf: 'Download PDF',
print: 'Print',
confidentialNote: 'This document is confidential and intended for internal use only.',
generatedOn: 'Generated on',
enterResolutionSteps: 'Enter steps taken to resolve the incident',
enterLessonsLearned: 'Enter lessons learned from this incident',
editIncident: 'Edit Incident',
editIncidentDesc: 'Update details for this incident',
updating: 'Updating...',
update: 'Update',
create: 'Create',
creating: 'Creating...',
configuration: 'Configuration',
failedToUpdateStatus: 'Failed to update status',
inProgress: 'In Progress',
};
+23
View File
@@ -0,0 +1,23 @@
import { Translations } from '../types';
import { commonTranslations } from './common';
import { menuTranslations } from './menu';
import { loginTranslations } from './login';
import { aboutTranslations } from './about';
import { servicesTranslations } from './services';
import { maintenanceTranslations } from './maintenance';
import { incidentTranslations } from './incident';
import { sslTranslations } from './ssl';
const enTranslations: Translations = {
common: commonTranslations,
menu: menuTranslations,
login: loginTranslations,
about: aboutTranslations,
services: servicesTranslations,
maintenance: maintenanceTranslations,
incident: incidentTranslations,
ssl: sslTranslations
};
export default enTranslations;
+23
View File
@@ -0,0 +1,23 @@
import { LoginTranslations } from '../types/login';
export const loginTranslations: LoginTranslations = {
signInToYourAccount: "Sign in to your account",
dontHaveAccount: "Don't have an account?",
createOne: "Create one",
signInWithGoogle: "Sign in with Google",
orContinueWith: "OR",
email: "Email",
password: "Password",
forgot: "Forgot?",
signIn: "Sign In",
signingIn: "Signing in...",
loginSuccessful: "Login successful",
loginSuccessMessage: "You have been logged in successfully.",
loginFailed: "Login failed",
authenticationFailed: "Authentication failed",
bySigningIn: "By signing in, you agree to our",
termsAndConditions: "Terms & Conditions",
and: "and",
privacyPolicy: "Privacy Policy",
};
@@ -0,0 +1,68 @@
import { MaintenanceTranslations } from '../types/maintenance';
export const maintenanceTranslations: MaintenanceTranslations = {
scheduledMaintenance: 'Scheduled Maintenance',
scheduledMaintenanceDesc: 'View and manage planned maintenance windows for your systems and services',
upcomingMaintenance: 'Upcoming',
ongoingMaintenance: 'Ongoing',
completedMaintenance: 'Completed',
createMaintenanceWindow: 'Create Maintenance',
totalScheduledHours: 'Total Scheduled Hours',
maintenanceName: 'Maintenance Name',
maintenanceStatus: 'Status',
scheduledStart: 'Scheduled Start',
scheduledEnd: 'Scheduled End',
affectedServices: 'Affected Services',
impact: 'Impact',
minor: 'Minor',
major: 'Major',
critical: 'Critical',
none: 'None',
actions: 'Actions',
scheduled: 'Scheduled',
inprogress: 'In Progress',
completed: 'Completed',
cancelled: 'Cancelled',
markAsInProgress: 'Mark as In Progress',
markAsCompleted: 'Mark as Completed',
markAsCancelled: 'Mark as Cancelled',
confirmDelete: 'Confirm Delete',
deleteMaintenanceConfirmation: 'Are you sure you want to delete this maintenance window?',
thisActionCannotBeUndone: 'This action cannot be undone.',
maintenanceDeleted: 'Maintenance Deleted',
maintenanceDeletedDesc: 'The maintenance window has been deleted successfully.',
errorDeletingMaintenance: 'There was an error deleting the maintenance window.',
statusUpdated: 'Status Updated',
maintenanceStatusUpdated: 'Maintenance status has been updated successfully.',
errorUpdatingMaintenanceStatus: 'There was an error updating the maintenance status.',
createMaintenance: 'Create Maintenance',
createMaintenanceDesc: 'Schedule a new maintenance window for your services',
enterTitle: 'Enter maintenance title',
enterDescription: 'Enter detailed description of the maintenance',
startTime: 'Start Time',
endTime: 'End Time',
selectDate: 'Select a date',
enterAffectedServices: 'Enter affected services',
separateServicesWithComma: 'Separate multiple services with commas',
priority: 'Priority',
selectPriority: 'Select priority',
selectStatus: 'Select status',
selectImpact: 'Select impact',
notifySubscribers: 'Notify Subscribers',
notifySubscribersDesc: 'Send notifications to all subscribers when this maintenance starts',
maintenanceCreated: 'Maintenance Created',
maintenanceCreatedDesc: 'The maintenance window has been scheduled successfully.',
errorCreatingMaintenance: 'There was an error creating the maintenance window.',
errorFetchingMaintenanceData: 'There was an error fetching maintenance data.',
low: 'Low',
medium: 'Medium',
high: 'High',
created: 'Created',
lastUpdated: 'Last Updated',
subscribersWillBeNotified: 'Subscribers will be notified when maintenance begins',
noNotifications: 'No notifications will be sent',
noScheduledMaintenance: 'No Scheduled Maintenance',
noMaintenanceWindows: 'There are no maintenance windows for this period. Create one by clicking the "Create Maintenance" button.',
maintenanceCreatedSuccess: 'Maintenance window created successfully',
};
+21
View File
@@ -0,0 +1,21 @@
import { MenuTranslations } from '../types/menu';
export const menuTranslations: MenuTranslations = {
uptimeMonitoring: "Uptime Monitoring",
instanceMonitoring: "Instance Monitoring",
sslDomain: "SSL & Domain",
scheduleIncident: "Schedule & Incident",
operationalPage: "Operational Page",
reports: "Reports",
apiDocumentation: "API Documentation",
settingPanel: "Setting Panel",
generalSettings: "General Settings",
userManagement: "User Management",
notificationSettings: "Notification Settings",
alertsTemplates: "Alerts Templates",
rolesManagement: "Roles Management",
dataRetention: "Data Retention",
backupSettings: "Backup Settings",
aboutSystem: "About System",
};
@@ -0,0 +1,12 @@
import { ServicesTranslations } from '../types/services';
export const servicesTranslations: ServicesTranslations = {
serviceName: "Service Name",
serviceType: "Service Type",
serviceStatus: "Service Status",
responseTime: "Response Time",
uptime: "Uptime",
lastChecked: "Last Checked",
noServices: "No services match your filter criteria.",
};
+107
View File
@@ -0,0 +1,107 @@
import { SSLTranslations } from '../types/ssl';
export const sslTranslations: SSLTranslations = {
// Page and section titles
sslDomainManagement: "SSL & Domain Management",
monitorSSLCertificates: "Monitor and manage SSL certificates for your domains",
addSSLCertificate: "Add SSL Certificate",
editSSLCertificate: "Edit SSL Certificate",
deleteSSLCertificate: "Delete SSL Certificate",
sslCertificateDetails: "SSL Certificate Details",
detailedInfo: "Detailed information for",
// Status related
valid: "Valid",
expiringSoon: "Expiring Soon",
expired: "Expired",
pending: "Pending",
// Statistics and cards
validCertificates: "Valid Certificates",
expiringSoonCertificates: "Expiring Soon",
expiredCertificates: "Expired Certificates",
// Form fields
domain: "Domain",
domainName: "Domain Name",
domainCannotChange: "Domain cannot be changed after creation",
warningThreshold: "Warning Threshold",
warningThresholdDays: "Warning Threshold (Days)",
expiryThreshold: "Expiry Threshold",
expiryThresholdDays: "Expiry Threshold (Days)",
notificationChannel: "Notification Channel",
chooseChannel: "Choose a notification channel",
whereToSend: "Where to send notifications",
daysBeforeExpiration: "Days before expiration to receive warnings",
daysBeforeCritical: "Days before expiration to receive critical alerts",
getNotifiedExpiration: "Get notified when certificate is about to expire",
getNotifiedCritical: "Get notified when certificate is critically close to expiration",
// Table headers and fields
issuer: "Issuer",
expirationDate: "Expiration Date",
daysLeft: "Days Left",
status: "Status",
lastNotified: "Last Notified",
actions: "Actions",
validFrom: "Valid From",
validUntil: "Valid Until",
validityDays: "Validity Days",
organization: "Organization",
commonName: "Common Name",
serialNumber: "Serial Number",
algorithm: "Algorithm",
subjectAltNames: "Subject Alternative Names",
// Buttons and actions
addDomain: "Add Domain",
refreshAll: "Refresh All",
cancel: "Cancel",
addCertificate: "Add Certificate",
check: "Check",
view: "View",
edit: "Edit",
delete: "Delete",
close: "Close",
saveChanges: "Save Changes",
updating: "Updating",
// Sections in detail view
basicInformation: "Basic Information",
validity: "Validity",
issuerInfo: "Issuer Information",
technicalDetails: "Technical Details",
monitoringConfig: "Monitoring Configuration",
recordInfo: "Record Information",
// Notifications and messages
sslCertificateAdded: "SSL Certificate added successfully",
sslCertificateUpdated: "SSL Certificate updated successfully",
sslCertificateDeleted: "SSL Certificate deleted successfully",
sslCertificateRefreshed: "SSL Certificate for {domain} refreshed successfully",
allCertificatesRefreshed: "All {count} certificates refreshed successfully",
someCertificatesFailed: "{success} certificates refreshed, {failed} failed",
failedToAddCertificate: "Failed to add SSL certificate",
failedToLoadCertificates: "Failed to load SSL certificates",
failedToUpdateCertificate: "Failed to update SSL certificate",
failedToDeleteCertificate: "Failed to delete SSL certificate",
failedToCheckCertificate: "Failed to check SSL certificate",
noCertificatesToRefresh: "No certificates to refresh",
startingRefreshAll: "Starting refresh of {count} certificates",
checkingSSLCertificate: "Checking SSL certificate...",
deleteConfirmation: "Are you sure you want to delete the certificate for",
deleteWarning: "This action cannot be undone. This will permanently delete the certificate.",
// Misc
unknown: "Unknown",
never: "Never",
none: "None",
loadingChannels: "Loading channels...",
noChannelsFound: "No notification channels found",
noSSLCertificates: "No SSL certificates found",
created: "Created",
lastUpdated: "Last Updated",
lastNotification: "Last Notification",
collectionId: "Collection ID"
};
+6 -5
View File
@@ -1,7 +1,6 @@
import { enTranslations } from './en';
import { kmTranslations } from './km';
import { deTranslations } from './de';
import enTranslations from './en';
import kmTranslations from './km';
import deTranslations from './de';
export type Language = "en" | "km" | "de";
@@ -11,4 +10,6 @@ export const translations = {
de: deTranslations,
};
export type TranslationKey = keyof typeof enTranslations;
// Type for accessing translations by module and key
export type TranslationModule = keyof typeof enTranslations;
export type TranslationKey<M extends TranslationModule> = keyof typeof enTranslations[M];
-204
View File
@@ -1,204 +0,0 @@
export const kmTranslations = {
welcome: "សូមស្វាគមន៍",
logout: "ចាកចេញ",
language: "ភាសា",
english: "អង់គ្លេស",
khmer: "ខ្មែរ",
german: "អាឡឺម៉ង់",
goodMorning: "អរុណសួស្តី",
goodAfternoon: "ទិវាសួស្តី",
goodEvening: "សាយណ្ហសួស្តី",
// Main menu translations
uptimeMonitoring: "ការត្រួតពិនិត្យ Uptime",
instanceMonitoring: "ការត្រួតពិនិត្យឧបករណ៍",
sslDomain: "SSL និងដមែន",
scheduleIncident: "កាលវិភាគនិងឧបទ្ទវហេតុ",
operationalPage: "ទំព័រប្រតិបត្តិការ",
reports: "របាយការណ៍",
apiDocumentation: "ឯកសារ API",
// Settings panel translations
settingPanel: "ផ្ទាំងការកំណត់",
generalSettings: "ការកំណត់ទូទៅ",
userManagement: "ការគ្រប់គ្រងអ្នកប្រើប្រាស់",
notificationSettings: "ការកំណត់ការជូនដំណឹង",
alertsTemplates: "គំរូការជូនដំណឹង",
rolesManagement: "ការគ្រប់គ្រងតួនាទី",
dataRetention: "ការរក្សាទុកទិន្នន័យ",
backupSettings: "ការកំណត់បម្រុងទុក",
aboutSystem: "អំពីប្រព័ន្ធ",
// Service table headers
serviceName: "ឈ្មោះសេវាកម្ម",
serviceType: "ប្រភេទសេវាកម្ម",
serviceStatus: "ស្ថានភាពសេវាកម្ម",
responseTime: "ពេលវេលាឆ្លើយតប",
uptime: "ពេលវេលាដំណើរការ",
lastChecked: "ពិនិត្យចុងក្រោយ",
// Incident table
time: "ពេលវេលា",
status: "ស្ថានភាព",
// Common UI elements
profile: "ប្រវត្តិរូប",
settings: "ការកំណត់",
documentation: "ឯកសារ",
notifications: "ការជូនដំណឹង",
noServices: "មិនមានសេវាកម្មដែលត្រូវនឹងលក្ខណៈវិនិច្ឆ័យរបស់អ្នក។",
// Login page
signInToYourAccount: "ចូលគណនីរបស់អ្នក",
dontHaveAccount: "មិនមានគណនីមែនទេ?",
createOne: "បង្កើតមួយ",
signInWithGoogle: "ចូលជាមួយ Google",
orContinueWith: "ឬ",
email: "អ៊ីមែល",
password: "ពាក្យសម្ងាត់",
forgot: "ភ្លេច?",
signIn: "ចូល",
signingIn: "កំពុងចូល...",
loginSuccessful: "ការចូលបានជោគជ័យ",
loginSuccessMessage: "អ្នកបានចូលប្រើដោយជោគជ័យ។",
loginFailed: "ការចូលបានបរាជ័យ",
authenticationFailed: "ការផ្ទៀងផ្ទាត់បានបរាជ័យ",
bySigningIn: "ដោយការចូល អ្នកយល់ព្រមនឹង",
termsAndConditions: "លក្ខខណ្ឌ",
and: "និង",
privacyPolicy: "គោលនយោបាយឯកជនភាព",
// About System page
aboutCheckcle: "អំពី Checkcle",
systemDescription: "Checkcle គឺជាស្តាកការត្រួតពិនិត្យប្រភពបើកទូលាយដែលផ្តល់នូវការយល់ដឹងជាក់ស្តែងអំពីសុខភាពម៉ាស៊ីនមេ និងសេវាកម្ម, ការគ្រប់គ្រងឧបទ្ទវហេតុ, និងតម្លាភាពនៃប្រតិបត្តិការ។ ចេញផ្សាយជាអាជ្ញាបណ្ណ MIT។",
systemVersion: "កំណែប្រព័ន្ធ",
license: "អាជ្ញាបណ្ណ",
mitLicense: "អាជ្ញាបណ្ណ MIT",
links: "តំណភ្ជាប់",
viewOnGithub: "មើលលើ GitHub",
viewDocumentation: "មើលឯកសារ",
followOnX: "តាមដានលើ X",
joinDiscord: "ចូលរួមក្នុង Discord",
// Quick Actions Dialog translations
quickActions: "សកម្មភាពរហ័ស",
quickActionsDescription: "ចូលប្រើប្រតិបត្តិការត្រួតពិនិត្យ និងមុខងារទូទៅយ៉ាងរហ័ស។ ជ្រើសរើសសកម្មភាពខាងក្រោមដើម្បីចាប់ផ្តើម។",
close: "បិទ",
quickTips: "គន្លឹះរហ័ស",
// Website Monitoring Card
monitorWebsite: "ការត្រួតពិនិត្យគេហទំព័រ",
monitorWebsiteDesc: "ត្រួតពិនិត្យការអាចប្រើបាននៃគេហទំព័រ និងដំណើរការដោយមានព័ត៌មានលម្អិត និងការជូនដំណឹង។",
monitorMultipleEndpoints: "ត្រួតពិនិត្យចំណុចចប់ច្រើន",
trackResponseTimes: "តាមដានពេលវេលាឆ្លើយតប",
setCustomAlerts: "កំណត់ការជូនដំណឹងផ្ទាល់ខ្លួន",
// Server Monitoring Card
monitorServer: "ការត្រួតពិនិត្យម៉ាស៊ីនមេ",
monitorServerDesc: "តាមដានសុខភាពម៉ាស៊ីនមេរួមទាំងការប្រើប្រាស់ CPU, អង្គចងចាំ, ថាស, និងចរាចរណ៍បណ្តាញ។",
monitorCPURam: "ត្រួតពិនិត្យការប្រើប្រាស់ CPU និង RAM",
trackNetworkMetrics: "តាមដានចរាចរណ៍បណ្តាញ",
viewProcesses: "មើលដំណើរការសកម្ម",
// SSL Certificate Card
sslCertificate: "វិញ្ញាបនបត្រ SSL",
sslCertificateDesc: "ត្រួតពិនិត្យសុពលភាពវិញ្ញាបនបត្រ SSL និងទទួលបានការជូនដំណឹងមុនថ្ងៃផុតកំណត់។",
trackSSLExpiration: "តាមដានកាលបរិច្ឆេទផុតកំណត់ SSL",
getEarlyRenewal: "ទទួលបានការជូនដំណឹងបន្តមុនពេល",
monitorMultipleDomains: "ត្រួតពិនិត្យដែនជាច្រើន",
// Incidents Management Card
incidentsManagement: "ការគ្រប់គ្រងឧប្បត្តិហេតុ",
incidentsManagementDesc: "បង្កើត, តាមដាន និងគ្រប់គ្រងឧប្បត្តិហេតុរួមទាំងការចាត់តាំង និងដំណើរការដោះស្រាយ។",
createTrackIncidents: "បង្កើត និងតាមដានឧប្បត្តិហេតុ",
assignIncidents: "ចាត់តាំងឧប្បត្តិហេតុទៅក្រុម",
monitorResolution: "តាមដានដំណើរការដោះស្រាយ",
// Operational Status Card
operationalStatus: "ស្ថានភាពប្រតិបត្តិការ",
operationalStatusDesc: "បង្កើត និងគ្រប់គ្រងទំព័រស្ថានភាពសាធារណៈដើម្បីទំនាក់ទំនងសុខភាពប្រព័ន្ធទៅកាន់អ្នកប្រើប្រាស់។",
createCustomStatus: "បង្កើតទំព័រស្ថានភាពតាមបំណង",
displayRealTime: "បង្ហាញទិន្នន័យជាក់ស្តែង",
shareIncidentUpdates: "ចែករំលែកព័ត៌មានថ្មីៗអំពីឧប្បត្តិហេតុ",
// Reports & Analytics Card
reportsAnalytics: "របាយការណ៍និងការវិភាគ",
reportsAnalyticsDesc: "បង្កើតរបាយការណ៍អំពីដំណើរការប្រព័ន្ធ, ប្រវត្តិនៃពេលវេលាដំណើរការ, និងទិន្នន័យឧប្បត្តិហេតុ។",
generateUptimeReports: "បង្កើតរបាយការណ៍ពេលវេលាដំណើរការ",
analyzePerformance: "វិភាគនិន្នាការដំណើរការ",
exportMonitoringData: "នាំចេញទិន្នន័យត្រួតពិនិត្យ",
// SSL Domain page translations
sslDomainManagement: "ការគ្រប់គ្រង SSL និងដមែន",
monitorSSLCertificates: "តាមដានវិញ្ញាបនបត្រ SSL និងកាលបរិច្ឆេទផុតកំណត់",
validCertificates: "វិញ្ញាបនបត្រមានសុពលភាព",
expiringSoon: "ជិតផុតកំណត់",
expired: "ផុតកំណត់",
refreshAll: "រីហ្រ្វេសទាំងអស់",
addDomain: "បន្ថែមដមែន",
domain: "ដមែន",
issuer: "អ្នកចេញ",
expirationDate: "កាលបរិច្ឆេទផុតកំណត់",
daysLeft: "ថ្ងៃនៅសល់",
lastNotified: "ជូនដំណឹងចុងក្រោយ",
actions: "សកម្មភាព",
view: "មើល",
check: "ពិនិត្យ",
edit: "កែប្រែ",
delete: "លុប",
never: "មិនដែល",
unknown: "មិនស្គាល់",
checkingSSLCertificate: "កំពុងពិនិត្យវិញ្ញាបនបត្រ SSL...",
noSSLCertificates: "មិនមានវិញ្ញាបនបត្រ SSL ឃើញទេ",
// Add SSL Certificate dialog
addSSLCertificate: "បន្ថែមវិញ្ញាបនបត្រ SSL",
warningThreshold: "ទិន្នផលព្រមាន (ថ្ងៃ)",
expiryThreshold: "ទិន្នផលផុតកំណត់ (ថ្ងៃ)",
notificationChannel: "បណ្តាញជូនដំណឹង",
cancel: "បោះបង់",
addCertificate: "បន្ថែមវិញ្ញាបនបត្រ",
getNotifiedExpiration: "ទទួលបានការជូនដំណឹងនៅពេលវិញ្ញាបនបត្រជិតផុតកំណត់",
getNotifiedCritical: "ទទួលបានការជូនដំណឹងនៅពេលវិញ្ញាបនបត្រជិតផុតកំណត់ខ្លាំង",
chooseChannel: "ជ្រើសរើសបណ្តាញដើម្បីទទួលបានការជូនដំណឹងអំពីវិញ្ញាបនបត្រ SSL",
loadingChannels: "កំពុងផ្ទុកបណ្តាញ...",
noChannelsFound: "រកមិនឃើញបណ្តាញជូនដំណឹងទេ",
// Edit SSL Certificate dialog
editSSLCertificate: "កែសម្រួលវិញ្ញាបនបត្រ SSL",
domainName: "ឈ្មោះដមែន",
domainCannotChange: "ឈ្មោះដមែនមិនអាចផ្លាស់ប្តូរបានទេ។ ដើម្បីត្រួតពិនិត្យដមែនផ្សេង សូមបន្ថែមវិញ្ញាបនបត្រថ្មី។",
warningThresholdDays: "ទិន្នផលព្រមាន (ថ្ងៃ)",
expiryThresholdDays: "ទិន្នផលផុតកំណត់ (ថ្ងៃ)",
daysBeforeExpiration: "ថ្ងៃមុនពេលផុតកំណត់ដើម្បីផ្ញើការព្រមាន",
daysBeforeCritical: "ថ្ងៃមុនពេលផុតកំណត់ដើម្បីផ្ញើការជូនដំណឹងសំខាន់",
whereToSend: "កន្លែងដែលត្រូវផ្ញើការជូនដំណឹងអំពីវិញ្ញាបនបត្រនេះ",
saveChanges: "រក្សាទុកការផ្លាស់ប្តូរ",
updating: "កំពុងធ្វើបច្ចុប្បន្នភាព...",
// SSL Certificate details dialog
sslCertificateDetails: "ព័ត៌មានលម្អិតអំពីវិញ្ញាបនបត្រ SSL",
detailedInfo: "ព័ត៌មានលម្អិតអំពីវិញ្ញាបនបត្រ SSL សម្រាប់",
basicInformation: "ព័ត៌មានមូលដ្ឋាន",
validity: "សុពលភាព",
validFrom: "មានសុពលភាពពី",
validUntil: "មានសុពលភាពរហូតដល់",
validityDays: "ថ្ងៃសុពលភាព",
issuerInfo: "ព័ត៌មានអ្នកចេញ",
organization: "អង្គភាព",
commonName: "ឈ្មោះទូទៅ",
technicalDetails: "ព័ត៌មានបច្ចេកទេស",
serialNumber: "លេខស៊េរី",
algorithm: "អាល់ហ្គោរីតឹម",
subjectAltNames: "ឈ្មោះជំនួសកម្មវត្ថុ (SANs)",
none: "គ្មាន",
monitoringConfig: "ការកំណត់ការត្រួតពិនិត្យ",
recordInfo: "ព័ត៌មានកំណត់ត្រា",
created: "បានបង្កើត",
lastUpdated: "បានធ្វើបច្ចុប្បន្នភាពចុងក្រោយ",
lastNotification: "ការជូនដំណឹងចុងក្រោយ",
collectionId: "លេខសម្គាល់ការប្រមូល",
// Delete confirmation dialog
deleteSSLCertificate: "លុបវិញ្ញាបនបត្រ SSL",
deleteConfirmation: "តើអ្នកប្រាកដថាចង់លុបវិញ្ញាបនបត្រ SSL សម្រាប់",
deleteWarning: "សកម្មភាពនេះមិនអាចត្រឡប់ក្រោយវិញបានទេ។",
// Status badges
valid: "មានសុពលភាព",
pending: "កំពុងរង់ចាំ",
// Success and error messages
sslCertificateAdded: "បានបន្ថែមវិញ្ញាបនបត្រ SSL ដោយជោគជ័យ",
sslCertificateUpdated: "បានធ្វើបច្ចុប្បន្នភាពវិញ្ញាបនបត្រ SSL ដោយជោគជ័យ",
sslCertificateDeleted: "បានលុបវិញ្ញាបនបត្រ SSL ដោយជោគជ័យ",
sslCertificateRefreshed: "បានបន្តុះវិញ្ញាបនបត្រ SSL ដោយជោគជ័យសម្រាប់",
allCertificatesRefreshed: "បានបន្តុះវិញ្ញាបនបត្រទាំងអស់ដោយជោគជ័យ",
someCertificatesFailed: "បន្តុះវិញ្ញាបនបត្រ៖ ជោគជ័យ, បរាជ័យ",
failedToLoadCertificates: "បរាជ័យក្នុងការផ្ទុកវិញ្ញាបនបត្រ SSL",
failedToAddCertificate: "បរាជ័យក្នុងការបន្ថែមវិញ្ញាបនបត្រ SSL",
failedToUpdateCertificate: "បរាជ័យក្នុងការធ្វើបច្ចុប្បន្នភាពវិញ្ញាបនបត្រ SSL",
failedToDeleteCertificate: "បរាជ័យក្នុងការលុបវិញ្ញាបនបត្រ SSL",
failedToCheckCertificate: "បរាជ័យក្នុងការពិនិត្យវិញ្ញាបនបត្រ SSL",
noCertificatesToRefresh: "គ្មានវិញ្ញាបនបត្រដើម្បីធ្វើឱ្យស្រស់",
startingRefreshAll: "កំពុងចាប់ផ្តើមធ្វើឱ្យស្រស់នៃវិញ្ញាបនបត្រទាំងអស់..."
};
+18
View File
@@ -0,0 +1,18 @@
import { AboutTranslations } from '../types/about';
export const aboutTranslations: AboutTranslations = {
aboutCheckcle: "អំពី Checkcle",
systemDescription: "Checkcle គឺជាស្តាកការត្រួតពិនិត្យប្រភពបើកទូលាយដែលផ្តល់នូវការយល់ដឹងជាក់ស្តែងអំពីសុខភាពម៉ាស៊ីនមេ និងសេវាកម្ម, ការគ្រប់គ្រងឧបទ្ទវហេតុ, និងតម្លាភាពនៃប្រតិបត្តិការ។ ចេញផ្សាយជាអាជ្ញាបណ្ណ MIT។",
systemVersion: "កំណែប្រព័ន្ធ",
license: "អាជ្ញាបណ្ណ",
mitLicense: "អាជ្ញាបណ្ណ MIT",
links: "តំណភ្ជាប់",
viewOnGithub: "មើលលើ GitHub",
viewDocumentation: "មើលឯកសារ",
followOnX: "តាមដានលើ X",
joinDiscord: "ចូលរួមក្នុង Discord",
quickActions: "សកម្មភាពរហ័ស",
quickActionsDescription: "ចូលប្រើប្រតិបត្តិការត្រួតពិនិត្យ និងមុខងារទូទៅយ៉ាងរហ័ស។ ជ្រើសរើសសកម្មភាពខាងក្រោមដើម្បីចាប់ផ្តើម។",
quickTips: "គន្លឹះរហ័ស",
};
+29
View File
@@ -0,0 +1,29 @@
import { CommonTranslations } from '../types/common';
export const commonTranslations: CommonTranslations = {
welcome: "សូមស្វាគមន៍",
logout: "ចាកចេញ",
language: "ភាសា",
english: "អង់គ្លេស",
khmer: "ខ្មែរ",
german: "Deutsch",
goodMorning: "អរុណសួស្តី",
goodAfternoon: "ទិវាសួស្តី",
goodEvening: "សាយណ្ហសួស្តី",
profile: "ប្រវត្តិរូប",
settings: "ការកំណត់",
documentation: "ឯកសារ",
notifications: "ការជូនដំណឹង",
close: "បិទ",
cancel: "បោះបង់",
view: "មើល",
edit: "កែសម្រួល",
delete: "លុប",
status: "ស្ថានភាព",
time: "ពេលវេលា",
title: "ចំណងជើង",
description: "ការពិពណ៌នា",
success: "ជោគជ័យ",
error: "កំហុស",
};
@@ -0,0 +1,55 @@
import { IncidentTranslations } from '../types/incident';
export const incidentTranslations: IncidentTranslations = {
incidentManagement: "ការគ្រប់គ្រងឧប្បត្តិហេតុ",
incidentsManagementDesc: "តាមដាន និងគ្រប់គ្រងឧប្បត្តិហេតុសេវាកម្ម និងការដោះស្រាយរបស់ពួកវា",
unresolvedIncidents: "មិនទាន់ដោះស្រាយ",
resolvedIncidents: "បានដោះស្រាយ",
activeIncidents: "ឧប្បត្តិហេតុសកម្ម",
criticalIssues: "បញ្ហាសំខាន់ៗ",
avgResolutionTime: "ពេលវេលាដោះស្រាយជាមធ្យម",
noIncidents: "គ្មានឧប្បត្តិហេតុសកម្មទេ",
createIncident: "បង្កើតឧប្បត្តិហេតុ",
investigating: "កំពុងស៊ើបអង្កេត",
identified: "បានរកឃើញ",
monitoring: "កំពុងតាមដាន",
resolved: "បានដោះស្រាយ",
scheduleIncidentManagement: "ការគ្រប់គ្រងកាលវិភាគ និងឧប្បត្តិហេតុ",
incidentName: "ឈ្មោះឧប្បត្តិហេតុ",
incidentStatus: "ស្ថានភាពឧប្បត្តិហេតុ",
highPriority: "អាទិភាពខ្ពស់",
configurationSettings: "ការកំណត់រចនាសម្ព័ន្ធ",
incidentCreatedSuccess: "ឧប្បត្តិហេតុត្រូវបានបង្កើតដោយជោគជ័យ",
basicInfo: "ព័ត៌មានមូលដ្ឋាន",
serviceId: "លេខសម្គាល់សេវាកម្ម",
assignedTo: "ចាត់តាំងទៅឱ្យ",
unassigned: "មិនបានចាត់តាំង",
timeline: "កាលវិភាគ",
incidentTime: "ពេលមានឧប្បត្តិហេតុ",
resolutionTime: "ពេលវេលាដោះស្រាយ",
systems: "ប្រព័ន្ធ",
noSystems: "គ្មានប្រព័ន្ធរងផលប៉ះពាល់",
impactAnalysis: "ការវិភាគផលប៉ះពាល់",
rootCause: "មូលហេតុចម្បង",
resolutionSteps: "ជំហានដោះស្រាយ",
lessonsLearned: "មេរៀនដែលបានរៀន",
resolutionDetails: "ព័ត៌មានលម្អិតនៃដំណោះស្រាយ",
assignment: "ការចាត់តាំង",
download: "ទាញយក",
downloadPdf: "ទាញយកជា PDF",
print: "បោះពុម្ព",
confidentialNote: "ឯកសារនេះជាការសម្ងាត់និងសម្រាប់ការប្រើប្រាស់ផ្ទៃក្នុងតែប៉ុណ្ណោះ។",
generatedOn: "បង្កើតនៅថ្ងៃទី",
enterResolutionSteps: "បញ្ចូលជំហានដែលបានធ្វើដើម្បីដោះស្រាយឧប្បត្តិហេតុ",
enterLessonsLearned: "បញ្ចូលមេរៀនដែលបានរៀនពីឧប្បត្តិហេតុនេះ",
editIncident: "កែសម្រួលឧប្បត្តិហេតុ",
editIncidentDesc: "ធ្វើបច្ចុប្បន្នភាពព័ត៌មានលម្អិតសម្រាប់ឧប្បត្តិហេតុនេះ",
updating: "កំពុងធ្វើបច្ចុប្បន្នភាព...",
update: "ធ្វើបច្ចុប្បន្នភាព",
create: "បង្កើត",
creating: "កំពុងបង្កើត...",
configuration: "ការកំណត់រចនាសម្ព័ន្ធ",
failedToUpdateStatus: "បរាជ័យក្នុងការធ្វើបច្ចុប្បន្នភាពស្ថានភាព",
inProgress: "កំពុងដំណើរការ",
};
+23
View File
@@ -0,0 +1,23 @@
import { Translations } from '../types';
import { commonTranslations } from './common';
import { menuTranslations } from './menu';
import { loginTranslations } from './login';
import { aboutTranslations } from './about';
import { servicesTranslations } from './services';
import { maintenanceTranslations } from './maintenance';
import { incidentTranslations } from './incident';
import { sslTranslations } from './ssl';
const kmTranslations: Translations = {
common: commonTranslations,
menu: menuTranslations,
login: loginTranslations,
about: aboutTranslations,
services: servicesTranslations,
maintenance: maintenanceTranslations,
incident: incidentTranslations,
ssl: sslTranslations
};
export default kmTranslations;
+23
View File
@@ -0,0 +1,23 @@
import { LoginTranslations } from '../types/login';
export const loginTranslations: LoginTranslations = {
signInToYourAccount: "ចូលគណនីរបស់អ្នក",
dontHaveAccount: "មិនមានគណនីមែនទេ?",
createOne: "បង្កើតមួយ",
signInWithGoogle: "ចូលជាមួយ Google",
orContinueWith: "ឬ",
email: "អ៊ីមែល",
password: "ពាក្យសម្ងាត់",
forgot: "ភ្លេច?",
signIn: "ចូល",
signingIn: "កំពុងចូល...",
loginSuccessful: "ការចូលបានជោគជ័យ",
loginSuccessMessage: "អ្នកបានចូលប្រើដោយជោគជ័យ។",
loginFailed: "ការចូលបានបរាជ័យ",
authenticationFailed: "ការផ្ទៀងផ្ទាត់បានបរាជ័យ",
bySigningIn: "ដោយការចូល អ្នកយល់ព្រមនឹង",
termsAndConditions: "លក្ខខណ្ឌ",
and: "និង",
privacyPolicy: "គោលនយោបាយឯកជនភាព",
};
@@ -0,0 +1,68 @@
import { MaintenanceTranslations } from '../types/maintenance';
export const maintenanceTranslations: MaintenanceTranslations = {
scheduledMaintenance: "ការថែទាំដែលបានកំណត់ពេល",
scheduledMaintenanceDesc: "មើល និងគ្រប់គ្រងកាលវិភាគថែទាំសម្រាប់ប្រព័ន្ធនិងសេវាកម្មរបស់អ្នក",
upcomingMaintenance: "ជិតមកដល់",
ongoingMaintenance: "កំពុងដំណើរការ",
completedMaintenance: "បានបញ្ចប់",
createMaintenanceWindow: "បង្កើតកាលវិភាគថែទាំ",
totalScheduledHours: "ចំនួនម៉ោងកំណត់សរុប",
maintenanceName: "ឈ្មោះកាលវិភាគថែទាំ",
maintenanceStatus: "ស្ថានភាព",
scheduledStart: "ពេលចាប់ផ្តើមដែលបានកំណត់",
scheduledEnd: "ពេលបញ្ចប់ដែលបានកំណត់",
affectedServices: "សេវាកម្មរងផលប៉ះពាល់",
impact: "ផលប៉ះពាល់",
minor: "តិចតួច",
major: "សំខាន់",
critical: "សំខាន់ខ្លាំង",
none: "គ្មាន",
actions: "សកម្មភាព",
scheduled: "បានកំណត់ពេល",
inprogress: "កំពុងដំណើរការ",
completed: "បានបញ្ចប់",
cancelled: "បានបោះបង់",
markAsInProgress: "សម្គាល់ថាកំពុងដំណើរការ",
markAsCompleted: "សម្គាល់ថាបានបញ្ចប់",
markAsCancelled: "សម្គាល់ថាបានបោះបង់",
confirmDelete: "បញ្ជាក់ការលុប",
deleteMaintenanceConfirmation: "តើអ្នកប្រាកដថាចង់លុបកាលវិភាគថែទាំនេះមែនទេ?",
thisActionCannotBeUndone: "សកម្មភាពនេះមិនអាចត្រឡប់ក្រោយវិញបានទេ។",
maintenanceDeleted: "លុបកាលវិភាគថែទាំ",
maintenanceDeletedDesc: "កាលវិភាគថែទាំត្រូវបានលុបដោយជោគជ័យ។",
errorDeletingMaintenance: "មានបញ្ហាក្នុងការលុបកាលវិភាគថែទាំ។",
statusUpdated: "បានធ្វើបច្ចុប្បន្នភាពស្ថានភាព",
maintenanceStatusUpdated: "ស្ថានភាពការថែទាំត្រូវបានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ។",
errorUpdatingMaintenanceStatus: "មានកំហុសក្នុងការធ្វើបច្ចុប្បន្នភាពស្ថានភាពការថែទាំ។",
createMaintenance: "បង្កើតកាលវិភាគថែទាំ",
createMaintenanceDesc: "កំណត់ពេលវេលាថែទាំថ្មីសម្រាប់សេវាកម្មរបស់អ្នក",
enterTitle: "បញ្ចូលចំណងជើងកាលវិភាគថែទាំ",
enterDescription: "បញ្ចូលការពិពណ៌នាលម្អិតអំពីការថែទាំ",
startTime: "ពេលចាប់ផ្តើម",
endTime: "ពេលបញ្ចប់",
selectDate: "ជ្រើសរើសកាលបរិច្ឆេទ",
enterAffectedServices: "បញ្ចូលសេវាកម្មរងផលប៉ះពាល់",
separateServicesWithComma: "បំបែកសេវាកម្មច្រើនដោយសញ្ញាក្បៀស",
priority: "អាទិភាព",
selectPriority: "ជ្រើសរើសអាទិភាព",
selectStatus: "ជ្រើសរើសស្ថានភាព",
selectImpact: "ជ្រើសរើសផលប៉ះពាល់",
notifySubscribers: "ជូនដំណឹងដល់អ្នកជាវ",
notifySubscribersDesc: "ផ្ញើការជូនដំណឹងទៅអ្នកជាវទាំងអស់នៅពេលការថែទាំនេះចាប់ផ្តើម",
maintenanceCreated: "បានបង្កើតកាលវិភាគថែទាំ",
maintenanceCreatedDesc: "កាលវិភាគថែទាំត្រូវបានកំណត់ពេលដោយជោគជ័យ។",
errorCreatingMaintenance: "មានបញ្ហាក្នុងការបង្កើតកាលវិភាគថែទាំ។",
errorFetchingMaintenanceData: "មានបញ្ហាក្នុងការទាញយកទិន្នន័យកាលវិភាគថែទាំ។",
low: "ទាប",
medium: "មធ្យម",
high: "ខ្ពស់",
created: "បានបង្កើត",
lastUpdated: "ធ្វើបច្ចុប្បន្នភាពចុងក្រោយ",
subscribersWillBeNotified: "អ្នកជាវនឹងត្រូវបានជូនដំណឹងនៅពេលការថែទាំចាប់ផ្តើម",
noNotifications: "នឹងមិនមានការផ្ញើការជូនដំណឹងទេ",
noScheduledMaintenance: "មិនមានកាលវិភាគថែទាំទេ",
noMaintenanceWindows: "មិនមានកាលវិភាគថែទាំសម្រាប់រយៈពេលនេះទេ។ បង្កើតមួយដោយចុចប៊ូតុង \"បង្កើតកាលវិភាគថែទាំ\"។",
maintenanceCreatedSuccess: "កាលវិភាគថែទាំត្រូវបានបង្កើតដោយជោគជ័យ",
};
+21
View File
@@ -0,0 +1,21 @@
import { MenuTranslations } from '../types/menu';
export const menuTranslations: MenuTranslations = {
uptimeMonitoring: "ការត្រួតពិនិត្យ Uptime",
instanceMonitoring: "ការត្រួតពិនិត្យឧបករណ៍",
sslDomain: "SSL និងដមែន",
scheduleIncident: "កាលវិភាគនិងឧបទ្ទវហេតុ",
operationalPage: "ទំព័រប្រតិបត្តិការ",
reports: "របាយការណ៍",
apiDocumentation: "ឯកសារ API",
settingPanel: "ផ្ទាំងការកំណត់",
generalSettings: "ការកំណត់ទូទៅ",
userManagement: "ការគ្រប់គ្រងអ្នកប្រើប្រាស់",
notificationSettings: "ការកំណត់ការជូនដំណឹង",
alertsTemplates: "គំរូការជូនដំណឹង",
rolesManagement: "ការគ្រប់គ្រងតួនាទី",
dataRetention: "ការរក្សាទុកទិន្នន័យ",
backupSettings: "ការកំណត់បម្រុងទុក",
aboutSystem: "អំពីប្រព័ន្ធ",
};
@@ -0,0 +1,12 @@
import { ServicesTranslations } from '../types/services';
export const servicesTranslations: ServicesTranslations = {
serviceName: "ឈ្មោះសេវាកម្ម",
serviceType: "ប្រភេទសេវាកម្ម",
serviceStatus: "ស្ថានភាពសេវាកម្ម",
responseTime: "ពេលវេលាឆ្លើយតប",
uptime: "ពេលវេលាដំណើរការ",
lastChecked: "ពិនិត្យចុងក្រោយ",
noServices: "មិនមានសេវាកម្មដែលត្រូវនឹងលក្ខណៈវិនិច្ឆ័យរបស់អ្នក។",
};
+107
View File
@@ -0,0 +1,107 @@
import { SSLTranslations } from '../types/ssl';
export const sslTranslations: SSLTranslations = {
// Page and section titles
sslDomainManagement: "ការគ្រប់គ្រង SSL និង ដូមេន",
monitorSSLCertificates: "តាមដាន និង គ្រប់គ្រងវិញ្ញាបនបត្រ SSL សម្រាប់ដូមេនរបស់អ្នក",
addSSLCertificate: "បន្ថែមវិញ្ញាបនបត្រ SSL",
editSSLCertificate: "កែសម្រួលវិញ្ញាបនបត្រ SSL",
deleteSSLCertificate: "លុបវិញ្ញាបនបត្រ SSL",
sslCertificateDetails: "ព័ត៌មានលម្អិតនៃវិញ្ញាបនបត្រ SSL",
detailedInfo: "ព័ត៌មានលម្អិតសម្រាប់",
// Status related
valid: "មានសុពលភាព",
expiringSoon: "ជិតផុតកំណត់",
expired: "ផុតកំណត់",
pending: "កំពុងរង់ចាំ",
// Statistics and cards
validCertificates: "វិញ្ញាបនបត្រមានសុពលភាព",
expiringSoonCertificates: "ជិតផុតកំណត់",
expiredCertificates: "វិញ្ញាបនបត្រផុតកំណត់",
// Form fields
domain: "ដូមេន",
domainName: "ឈ្មោះដូមេន",
domainCannotChange: "ដូមេនមិនអាចផ្លាស់ប្តូរបានបន្ទាប់ពីការបង្កើត",
warningThreshold: "កម្រិតព្រមាន",
warningThresholdDays: "កម្រិតព្រមាន (ថ្ងៃ)",
expiryThreshold: "កម្រិតផុតកំណត់",
expiryThresholdDays: "កម្រិតផុតកំណត់ (ថ្ងៃ)",
notificationChannel: "ឆានែលជូនដំណឹង",
chooseChannel: "ជ្រើសរើសឆានែលជូនដំណឹង",
whereToSend: "ទីកន្លែងដែលត្រូវផ្ញើការជូនដំណឹង",
daysBeforeExpiration: "ថ្ងៃមុនពេលផុតកំណត់ដើម្បីទទួលបានការព្រមាន",
daysBeforeCritical: "ថ្ងៃមុនពេលផុតកំណត់ដើម្បីទទួលបានការជូនដំណឹងសំខាន់ៗ",
getNotifiedExpiration: "ទទួលការជូនដំណឹងនៅពេលវិញ្ញាបនបត្រជិតផុតកំណត់",
getNotifiedCritical: "ទទួលការជូនដំណឹងនៅពេលវិញ្ញាបនបត្រជិតដល់ពេលផុតកំណត់ខ្លាំង",
// Table headers and fields
issuer: "អ្នកចេញផ្សាយ",
expirationDate: "កាលបរិច្ឆេទផុតកំណត់",
daysLeft: "ថ្ងៃនៅសល់",
status: "ស្ថានភាព",
lastNotified: "ជូនដំណឹងចុងក្រោយ",
actions: "សកម្មភាព",
validFrom: "មានសុពលភាពចាប់ពី",
validUntil: "មានសុពលភាពរហូតដល់",
validityDays: "ថ្ងៃសុពលភាព",
organization: "អង្គការ",
commonName: "ឈ្មោះទូទៅ",
serialNumber: "លេខសៀរៀល",
algorithm: "អាល់ហ្គោរីត",
subjectAltNames: "ឈ្មោះផ្សេងៗដែលអាចប្រើបាន",
// Buttons and actions
addDomain: "បន្ថែមដូមេន",
refreshAll: "ធ្វើបច្ចុប្បន្នភាពទាំងអស់",
cancel: "បោះបង់",
addCertificate: "បន្ថែមវិញ្ញាបនប័ត្រ",
check: "ពិនិត្យ",
view: "មើល",
edit: "កែសម្រួល",
delete: "លុប",
close: "បិទ",
saveChanges: "រក្សាទុកការផ្លាស់ប្តូរ",
updating: "កំពុងធ្វើបច្ចុប្បន្នភាព",
// Sections in detail view
basicInformation: "ព័ត៌មានមូលដ្ឋាន",
validity: "សុពលភាព",
issuerInfo: "ព័ត៌មានអ្នកចេញផ្សាយ",
technicalDetails: "ព័ត៌មានបច្ចេកទេស",
monitoringConfig: "ការកំណត់រចនាសម្ព័ន្ធការតាមដាន",
recordInfo: "ព័ត៌មានកំណត់ត្រា",
// Notifications and messages
sslCertificateAdded: "វិញ្ញាបនបត្រ SSL បានបន្ថែមដោយជោគជ័យ",
sslCertificateUpdated: "វិញ្ញាបនបត្រ SSL បានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ",
sslCertificateDeleted: "វិញ្ញាបនបត្រ SSL ត្រូវបានលុបដោយជោគជ័យ",
sslCertificateRefreshed: "វិញ្ញាបនបត្រ SSL សម្រាប់ {domain} បានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ",
allCertificatesRefreshed: "វិញ្ញាបនបត្រទាំងអស់ {count} បានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ",
someCertificatesFailed: "វិញ្ញាបនប័ត្រ {success} បានធ្វើបច្ចុប្បន្នភាព, {failed} បានបរាជ័យ",
failedToAddCertificate: "បរាជ័យក្នុងការបន្ថែមវិញ្ញាបនបត្រ SSL",
failedToLoadCertificates: "បរាជ័យក្នុងការផ្ទុកវិញ្ញាបនបត្រ SSL",
failedToUpdateCertificate: "បរាជ័យក្នុងការធ្វើបច្ចុប្បន្នភាពវិញ្ញាបនបត្រ SSL",
failedToDeleteCertificate: "បរាជ័យក្នុងការលុបវិញ្ញាបនបត្រ SSL",
failedToCheckCertificate: "បរាជ័យក្នុងការពិនិត្យមើលវិញ្ញាបនបត្រ SSL",
noCertificatesToRefresh: "មិនមានវិញ្ញាបនបត្រដើម្បីធ្វើបច្ចុប្បន្នភាពទេ",
startingRefreshAll: "ចាប់ផ្តើមធ្វើបច្ចុប្បន្នភាពវិញ្ញាបនបត្រចំនួន {count}",
checkingSSLCertificate: "កំពុងពិនិត្យមើលវិញ្ញាបនបត្រ SSL...",
deleteConfirmation: "តើអ្នកពិតជាចង់លុបវិញ្ញាបនបត្រសម្រាប់",
deleteWarning: "សកម្មភាពនេះមិនអាចត្រឡប់វិញបានទេ។ វានឹងលុបវិញ្ញាបនបត្រជាអចិន្ត្រៃយ៍។",
// Misc
unknown: "មិនស្គាល់",
never: "មិនដែល",
none: "គ្មាន",
loadingChannels: "កំពុងផ្ទុកឆានែល...",
noChannelsFound: "រកមិនឃើញឆានែលជូនដំណឹងទេ",
noSSLCertificates: "រកមិនឃើញវិញ្ញាបនបត្រ SSL ទេ",
created: "បានបង្កើត",
lastUpdated: "បានធ្វើបច្ចុប្បន្នភាពចុងក្រោយ",
lastNotification: "ការជូនដំណឹងចុងក្រោយ",
collectionId: "លេខសម្គាល់ប្រមូលផ្តុំ"
};
@@ -0,0 +1,16 @@
export interface AboutTranslations {
aboutReamStack: string;
systemDescription: string;
systemVersion: string;
license: string;
mitLicense: string;
links: string;
viewOnGithub: string;
viewDocumentation: string;
followOnX: string;
joinDiscord: string;
quickActions: string;
quickActionsDescription: string;
quickTips: string;
}
@@ -0,0 +1,26 @@
export interface CommonTranslations {
welcome: string;
logout: string;
language: string;
english: string;
khmer: string;
goodMorning: string;
goodAfternoon: string;
goodEvening: string;
profile: string;
settings: string;
documentation: string;
notifications: string;
close: string;
cancel: string;
view: string;
edit: string;
delete: string;
status: string;
time: string;
title: string;
description: string;
success: string;
error: string;
}
@@ -0,0 +1,53 @@
export interface IncidentTranslations {
incidentManagement: string;
incidentsManagementDesc: string;
unresolvedIncidents: string;
resolvedIncidents: string;
activeIncidents: string;
criticalIssues: string;
avgResolutionTime: string;
noIncidents: string;
createIncident: string;
investigating: string;
identified: string;
monitoring: string;
resolved: string;
scheduleIncidentManagement: string;
incidentName: string;
incidentStatus: string;
highPriority: string;
configurationSettings: string;
incidentCreatedSuccess: string;
basicInfo: string;
serviceId: string;
assignedTo: string;
unassigned: string;
timeline: string;
incidentTime: string;
resolutionTime: string;
systems: string;
noSystems: string;
impactAnalysis: string;
rootCause: string;
resolutionSteps: string;
lessonsLearned: string;
resolutionDetails: string;
assignment: string;
download: string;
downloadPdf: string;
print: string;
confidentialNote: string;
generatedOn: string;
enterResolutionSteps: string;
enterLessonsLearned: string;
editIncident: string;
editIncidentDesc: string;
updating: string;
update: string;
create: string;
creating: string;
configuration: string;
failedToUpdateStatus: string;
inProgress: string;
}
@@ -0,0 +1,20 @@
import { CommonTranslations } from './common';
import { MenuTranslations } from './menu';
import { LoginTranslations } from './login';
import { AboutTranslations } from './about';
import { ServicesTranslations } from './services';
import { MaintenanceTranslations } from './maintenance';
import { IncidentTranslations } from './incident';
import { SSLTranslations } from './ssl';
export interface Translations {
common: CommonTranslations;
menu: MenuTranslations;
login: LoginTranslations;
about: AboutTranslations;
services: ServicesTranslations;
maintenance: MaintenanceTranslations;
incident: IncidentTranslations;
ssl: SSLTranslations;
}
@@ -0,0 +1,21 @@
export interface LoginTranslations {
signInToYourAccount: string;
dontHaveAccount: string;
createOne: string;
signInWithGoogle: string;
orContinueWith: string;
email: string;
password: string;
forgot: string;
signIn: string;
signingIn: string;
loginSuccessful: string;
loginSuccessMessage: string;
loginFailed: string;
authenticationFailed: string;
bySigningIn: string;
termsAndConditions: string;
and: string;
privacyPolicy: string;
}
@@ -0,0 +1,66 @@
export interface MaintenanceTranslations {
scheduledMaintenance: string;
scheduledMaintenanceDesc: string;
upcomingMaintenance: string;
ongoingMaintenance: string;
completedMaintenance: string;
createMaintenanceWindow: string;
totalScheduledHours: string;
maintenanceName: string;
maintenanceStatus: string;
scheduledStart: string;
scheduledEnd: string;
affectedServices: string;
impact: string;
minor: string;
major: string;
critical: string;
none: string;
actions: string;
scheduled: string;
inprogress: string;
completed: string;
cancelled: string;
markAsInProgress: string;
markAsCompleted: string;
markAsCancelled: string;
confirmDelete: string;
deleteMaintenanceConfirmation: string;
thisActionCannotBeUndone: string;
maintenanceDeleted: string;
maintenanceDeletedDesc: string;
errorDeletingMaintenance: string;
statusUpdated: string;
maintenanceStatusUpdated: string;
errorUpdatingMaintenanceStatus: string;
createMaintenance: string;
createMaintenanceDesc: string;
enterTitle: string;
enterDescription: string;
startTime: string;
endTime: string;
selectDate: string;
enterAffectedServices: string;
separateServicesWithComma: string;
priority: string;
selectPriority: string;
selectStatus: string;
selectImpact: string;
notifySubscribers: string;
notifySubscribersDesc: string;
maintenanceCreated: string;
maintenanceCreatedDesc: string;
errorCreatingMaintenance: string;
errorFetchingMaintenanceData: string;
low: string;
medium: string;
high: string;
created: string;
lastUpdated: string;
subscribersWillBeNotified: string;
noNotifications: string;
noScheduledMaintenance: string;
noMaintenanceWindows: string;
maintenanceCreatedSuccess: string;
}
@@ -0,0 +1,19 @@
export interface MenuTranslations {
uptimeMonitoring: string;
instanceMonitoring: string;
sslDomain: string;
scheduleIncident: string;
operationalPage: string;
reports: string;
apiDocumentation: string;
settingPanel: string;
generalSettings: string;
userManagement: string;
notificationSettings: string;
alertsTemplates: string;
rolesManagement: string;
dataRetention: string;
backupSettings: string;
aboutSystem: string;
}
@@ -0,0 +1,10 @@
export interface ServicesTranslations {
serviceName: string;
serviceType: string;
serviceStatus: string;
responseTime: string;
uptime: string;
lastChecked: string;
noServices: string;
}
+105
View File
@@ -0,0 +1,105 @@
export interface SSLTranslations {
// Page and section titles
sslDomainManagement: string;
monitorSSLCertificates: string;
addSSLCertificate: string;
editSSLCertificate: string;
deleteSSLCertificate: string;
sslCertificateDetails: string;
detailedInfo: string;
// Status related
valid: string;
expiringSoon: string;
expired: string;
pending: string;
// Statistics and cards
validCertificates: string;
expiringSoonCertificates: string;
expiredCertificates: string;
// Form fields
domain: string;
domainName: string;
domainCannotChange: string;
warningThreshold: string;
warningThresholdDays: string;
expiryThreshold: string;
expiryThresholdDays: string;
notificationChannel: string;
chooseChannel: string;
whereToSend: string;
daysBeforeExpiration: string;
daysBeforeCritical: string;
getNotifiedExpiration: string;
getNotifiedCritical: string;
// Table headers and fields
issuer: string;
expirationDate: string;
daysLeft: string;
status: string;
lastNotified: string;
actions: string;
validFrom: string;
validUntil: string;
validityDays: string;
organization: string;
commonName: string;
serialNumber: string;
algorithm: string;
subjectAltNames: string;
// Buttons and actions
addDomain: string;
refreshAll: string;
cancel: string;
addCertificate: string;
check: string;
view: string;
edit: string;
delete: string;
close: string;
saveChanges: string;
updating: string;
// Sections in detail view
basicInformation: string;
validity: string;
issuerInfo: string;
technicalDetails: string;
monitoringConfig: string;
recordInfo: string;
// Notifications and messages
sslCertificateAdded: string;
sslCertificateUpdated: string;
sslCertificateDeleted: string;
sslCertificateRefreshed: string;
allCertificatesRefreshed: string;
someCertificatesFailed: string;
failedToAddCertificate: string;
failedToLoadCertificates: string;
failedToUpdateCertificate: string;
failedToDeleteCertificate: string;
failedToCheckCertificate: string;
noCertificatesToRefresh: string;
startingRefreshAll: string;
checkingSSLCertificate: string;
deleteConfirmation: string;
deleteWarning: string;
// Misc
unknown: string;
never: string;
none: string;
loadingChannels: string;
noChannelsFound: string;
noSSLCertificates: string;
created: string;
lastUpdated: string;
lastNotification: string;
collectionId: string;
}