feat(07-04): DkvModule + registry seed + AppModule registration + i18n keys
- dkv.seed.ts: seedDkvModule with slug=dkv-fleet, category=fleet, isSystem=true - dkv.module.ts: imports ModuleRegistryModule + CalendarModule (CalendarCryptoService) provides all 7 DKV services + 2 providers + controller; OnModuleInit seeds registry - app.module.ts: DkvModule added to imports (ScheduleModule + SettingsModule from Plans 01/03) - de.json + en.json: complete dkvFleet namespace (50+ keys incl. status, col, form, errors) - settings namespace extended with categoryGeneral, categorySmtp, smtp sub-object
This commit is contained in:
@@ -113,11 +113,25 @@
|
||||
"categoryDashboard": "Dashboard",
|
||||
"categoryWidgets": "Widgets",
|
||||
"categoryCalendar": "Calendar",
|
||||
"categoryGeneral": "General",
|
||||
"categorySmtp": "SMTP",
|
||||
"sourceDeleteConfirm": "Are you sure you want to delete this calendar source?",
|
||||
"sourceDeleteCta": "Delete source",
|
||||
"providerDeleteConfirm": "Are you sure you want to delete this search provider?",
|
||||
"providerDeleteCta": "Delete provider",
|
||||
"cancel": "Cancel"
|
||||
"cancel": "Cancel",
|
||||
"smtp": {
|
||||
"title": "SMTP Configuration",
|
||||
"host": "Host",
|
||||
"port": "Port",
|
||||
"encryption": "Encryption",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"fromAddress": "Sender Address (From)",
|
||||
"fromAddressHelp": "The email address shown as the sender.",
|
||||
"save": "Save Settings",
|
||||
"test": "Test Connection"
|
||||
}
|
||||
},
|
||||
"widgets": {
|
||||
"emptyHeading": "No active widgets",
|
||||
@@ -237,6 +251,87 @@
|
||||
"checking": "Checking...",
|
||||
"error": "Error checking domain"
|
||||
},
|
||||
"dkvFleet": {
|
||||
"pageTitle": "DKV Fleet",
|
||||
"checkNow": "Check Now",
|
||||
"checking": "Checking...",
|
||||
"lastChecked": "Last checked: {time}",
|
||||
"neverChecked": "Never checked",
|
||||
"settingsTitle": "Module Settings",
|
||||
"historyTitle": "Processing History",
|
||||
"exportFilesTitle": "Recent Export Files",
|
||||
"emptyHistory": "No invoices processed yet",
|
||||
"emptyHistoryBody": "Click 'Check Now' to poll the inbox. New invoices will appear here automatically.",
|
||||
"emptyExports": "No export files available yet",
|
||||
"emptyVehicles": "No vehicles configured",
|
||||
"emptyVehiclesBody": "Add vehicles manually or upload a CSV file.",
|
||||
"status": {
|
||||
"processed": "Processed",
|
||||
"error": "Error",
|
||||
"sendFailed": "Send Failed"
|
||||
},
|
||||
"col": {
|
||||
"dateTime": "Date/Time",
|
||||
"invoiceNumber": "Invoice Number",
|
||||
"vehicles": "Vehicles",
|
||||
"transactions": "Transactions",
|
||||
"status": "Status",
|
||||
"exportFile": "Export File",
|
||||
"licensePlate": "License Plate",
|
||||
"brand": "Make",
|
||||
"model": "Model",
|
||||
"driver": "Driver",
|
||||
"actions": "Actions"
|
||||
},
|
||||
"addVehicle": "Add Vehicle",
|
||||
"editVehicle": "Edit Vehicle",
|
||||
"deleteVehicle": "Delete Vehicle",
|
||||
"deleteVehicleBody": "Vehicle {plate} will be permanently removed from the master list. This action cannot be undone.",
|
||||
"importCsv": "Import CSV",
|
||||
"importMode": "Import Mode",
|
||||
"importMerge": "Merge — add new vehicles, keep existing",
|
||||
"importReplace": "Replace — delete all existing vehicles and re-import",
|
||||
"importReplaceWarning": "All existing vehicles will be replaced.",
|
||||
"importReplaceConfirmTitle": "Replace Vehicles?",
|
||||
"importReplaceConfirmBody": "All existing vehicles will be replaced with the CSV data. This action cannot be undone.",
|
||||
"importReplaceConfirmButton": "Replace",
|
||||
"importSuccess": "{count} vehicles imported",
|
||||
"vehicleCount": "{count} vehicles",
|
||||
"tabs": {
|
||||
"inbox": "Inbox",
|
||||
"vehicles": "Vehicles"
|
||||
},
|
||||
"form": {
|
||||
"protocol": "Protocol",
|
||||
"host": "Host",
|
||||
"port": "Port",
|
||||
"encryption": "Encryption",
|
||||
"encryptionNone": "None",
|
||||
"folder": "Folder",
|
||||
"senderFilter": "Sender Filter",
|
||||
"pollInterval": "Poll Interval",
|
||||
"pollIntervalSuffix": "Minutes",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"exportRecipient": "Export Recipient",
|
||||
"vehicleFormat": "Vehicle Format String",
|
||||
"vehicleFormatHelp": "Available placeholders: {Marke}, {Modell}, {Kennzeichen}, {Fahrer}",
|
||||
"active": "Active",
|
||||
"testConnection": "Test Connection",
|
||||
"testTesting": "Testing connection...",
|
||||
"testSuccess": "Connection successful",
|
||||
"testFailed": "Connection failed: {error}",
|
||||
"save": "Save Settings",
|
||||
"cancel": "Cancel Editing",
|
||||
"cancelDialog": "Cancel",
|
||||
"showPassword": "Show password",
|
||||
"hidePassword": "Hide password"
|
||||
},
|
||||
"errors": {
|
||||
"pollFailed": "Could not check inbox. Review the configuration under 'Module Settings > Inbox'.",
|
||||
"smtpFailed": "Export was created but could not be sent. The file is still available for manual download."
|
||||
}
|
||||
},
|
||||
"marketplace": {
|
||||
"title": "Marketplace",
|
||||
"subtitle": "Discover and activate modules for your tenant",
|
||||
|
||||
Reference in New Issue
Block a user