software package profiles implemeted, job deletion optimized
This commit is contained in:
+112
-6
@@ -667,7 +667,7 @@ BASE_TRANSLATIONS.update({
|
||||
"duplicates.confirm_apply": ("Save the merge permanently? The following assets will be deleted.", "Zusammenführung endgültig speichern? Die nachfolgenden Assets werden gelöscht."),
|
||||
"duplicates.merge_unique_error": ("The duplicates could not be merged because a unique value is already assigned to another asset.", "Die Duplikate konnten nicht zusammengeführt werden, weil ein eindeutiger Wert bereits einem anderen Asset zugeordnet ist."),
|
||||
"settings.system_information": ("System information", "Systeminformationen"),
|
||||
"settings.system_information_file_help": ("These values are read from /app/config/APPINFO.json and VERSION and cannot be edited here.", "Diese Angaben werden aus /app/config/APPINFO.json und VERSION gelesen und können hier nicht bearbeitet werden."),
|
||||
"settings.system_information_file_help": ("These values are read from the persistent APPINFO.json and VERSION and cannot be edited here.", "Diese Angaben werden aus der persistenten APPINFO.json und VERSION gelesen und können hier nicht bearbeitet werden."),
|
||||
"settings.storage_information": ("Storage and runtime", "Speicher und Laufzeit"),
|
||||
"settings.storage_information_help": ("The following paths and states are detected at runtime inside the container.", "Die folgenden Pfade und Zustände werden zur Laufzeit im Container ermittelt."),
|
||||
"settings.database": ("Database", "Datenbank"),
|
||||
@@ -1476,10 +1476,25 @@ BASE_TRANSLATIONS.update({
|
||||
"setup_analyzer.product_name": ("Product name", "Produktname"),
|
||||
"setup_analyzer.version": ("Version", "Version"),
|
||||
"setup_analyzer.manufacturer": ("Manufacturer", "Hersteller"),
|
||||
"setup_analyzer.architecture": ("Architecture", "Architektur"),
|
||||
"setup_analyzer.architecture": ("Target architecture", "Zielarchitektur"),
|
||||
"setup_analyzer.launcher_architecture": ("Installer launcher architecture", "Architektur des Setup-Launchers"),
|
||||
"setup_analyzer.architecture_source": ("Target architecture source", "Quelle der Zielarchitektur"),
|
||||
"setup_analyzer.architecture_source.filename": ("Explicit package filename", "Eindeutiger Paketdateiname"),
|
||||
"setup_analyzer.architecture_source.package_metadata": ("Package metadata", "Paketmetadaten"),
|
||||
"setup_analyzer.architecture_source.launcher_requirement": ("64-bit launcher requirement", "64-Bit-Anforderung des Setup-Launchers"),
|
||||
"setup_analyzer.architecture_source.pe_machine": ("Executable PE architecture", "PE-Architektur der Programmdatei"),
|
||||
"setup_analyzer.architecture_source.embedded_install_inf": ("Embedded installer metadata", "Eingebettete Installer-Metadaten"),
|
||||
"setup_analyzer.architecture_source.bootstrapper_targets": ("Architecture-specific bootstrapper download targets", "Architekturspezifische Download-Ziele des Bootstrappers"),
|
||||
"setup_analyzer.version_source": ("Version source", "Quelle der Version"),
|
||||
"setup_analyzer.manufacturer_source": ("Manufacturer source", "Quelle des Herstellers"),
|
||||
"setup_analyzer.metadata_source.package_metadata": ("Package metadata", "Paketmetadaten"),
|
||||
"setup_analyzer.metadata_source.pe_version": ("Executable VERSIONINFO", "VERSIONINFO der Programmdatei"),
|
||||
"setup_analyzer.metadata_source.filename": ("Installer filename", "Dateiname des Installers"),
|
||||
"setup_analyzer.metadata_source.authenticode_signer": ("Authenticode certificate publisher", "Herausgeber des Authenticode-Zertifikats"),
|
||||
"setup_analyzer.installation": ("Installation", "Installation"),
|
||||
"setup_analyzer.arguments": ("Silent arguments", "Silent-Parameter"),
|
||||
"setup_analyzer.recommended_command": ("Recommended command", "Empfohlener Aufruf"),
|
||||
"setup_analyzer.alternative_command": ("Alternative automatic command", "Alternative automatische Installation"),
|
||||
"setup_analyzer.timeout": ("Timeout in seconds", "Timeout in Sekunden"),
|
||||
"setup_analyzer.run_as": ("Run as", "Ausführen als"),
|
||||
"setup_analyzer.logged_on_user": ("Logged-on user", "Angemeldeter Benutzer"),
|
||||
@@ -1510,8 +1525,11 @@ BASE_TRANSLATIONS.update({
|
||||
"setup_analyzer.signal.caphyon": ("Caphyon marker", "Caphyon-Kennung"),
|
||||
"setup_analyzer.signal.squirrel": ("Squirrel marker", "Squirrel-Kennung"),
|
||||
"setup_analyzer.signal.squirrel_releasify": ("Squirrel releasify marker", "Squirrel-Releasify-Kennung"),
|
||||
"setup_analyzer.signal.zip_sfx": ("ZIP-compatible self-extracting archive", "ZIP-kompatibles selbstentpackendes Archiv"),
|
||||
"setup_analyzer.signal.7zip_signature": ("Embedded 7z archive signature", "Eingebettete 7z-Archivsignatur"),
|
||||
"setup_analyzer.signal.7zip_sfx": ("7-Zip SFX marker", "7-Zip-SFX-Kennung"),
|
||||
"setup_analyzer.signal.7zip_module": ("7-Zip SFX module marker", "7-Zip-SFX-Modulkennung"),
|
||||
"setup_analyzer.signal.rar_signature": ("Embedded RAR archive signature", "Eingebettete RAR-Archivsignatur"),
|
||||
"setup_analyzer.signal.winrar_sfx": ("WinRAR SFX marker", "WinRAR-SFX-Kennung"),
|
||||
"setup_analyzer.signal.rar_sfx": ("RAR SFX marker", "RAR-SFX-Kennung"),
|
||||
"setup_analyzer.signal.msi_extension": ("MSI file extension", "MSI-Dateiendung"),
|
||||
@@ -1525,15 +1543,33 @@ BASE_TRANSLATIONS.update({
|
||||
"setup_analyzer.warning.advanced_installer": ("Advanced Installer packages can use project-specific properties. Test the generated command.", "Advanced-Installer-Pakete können projektspezifische Eigenschaften verwenden. Den erzeugten Befehl testen."),
|
||||
"setup_analyzer.warning.squirrel": ("Squirrel behavior is vendor-dependent. Verify silent installation and installation scope.", "Das Verhalten von Squirrel ist herstellerabhängig. Silent-Installation und Installationsbereich prüfen."),
|
||||
"setup_analyzer.warning.sfx": ("SFX archives do not provide one universal silent switch. Inspect the embedded installer or vendor documentation.", "SFX-Archive besitzen keinen einheitlichen Silent-Parameter. Eingebetteten Installer oder Herstellerdokumentation prüfen."),
|
||||
"setup_analyzer.warning.sfx_embedded_selected": ("The SFX payload was extracted statically and the most likely embedded installer was selected heuristically. Test the generated package before broad deployment.", "Der SFX-Payload wurde statisch entpackt und der wahrscheinlichste eingebettete Installer heuristisch ausgewählt. Das erzeugte Paket vor einer breiten Verteilung testen."),
|
||||
"setup_analyzer.warning.sfx_tool_missing": ("The SFX container was detected, but no suitable extraction tool is available in the AssetManager container.", "Der SFX-Container wurde erkannt, aber im AssetManager-Container ist kein geeignetes Entpackwerkzeug verfügbar."),
|
||||
"setup_analyzer.warning.sfx_extract_failed": ("The SFX container was detected but could not be extracted safely.", "Der SFX-Container wurde erkannt, konnte aber nicht sicher entpackt werden."),
|
||||
"setup_analyzer.warning.sfx_no_installer": ("The SFX payload was extracted, but no supported embedded installer candidate was found.", "Der SFX-Payload wurde entpackt, aber es wurde kein unterstützter eingebetteter Installer-Kandidat gefunden."),
|
||||
"setup_analyzer.warning.unknown": ("No reliable silent command was detected. Review the installer manually before deployment.", "Es wurde kein verlässlicher Silent-Befehl erkannt. Den Installer vor der Verteilung manuell prüfen."),
|
||||
"setup_analyzer.warning.msiinfo": ("Detailed MSI metadata such as ProductCode requires the optional msiinfo utility. Silent MSI command generation still works.", "Detaillierte MSI-Metadaten wie ProductCode benötigen das optionale Werkzeug msiinfo. Die Erzeugung des Silent-MSI-Befehls funktioniert trotzdem."),
|
||||
"setup_analyzer.warning.pefile": ("PE metadata is limited because the pefile Python dependency is not installed.", "PE-Metadaten sind eingeschränkt, weil die Python-Abhängigkeit pefile nicht installiert ist."),
|
||||
"setup_analyzer.warning.wrapper_architecture": ("The setup launcher architecture differs from the detected target architecture. This is normal for installer stubs such as NSIS or Inno Setup; the target architecture is evaluated separately.", "Die Architektur des Setup-Launchers unterscheidet sich von der erkannten Zielarchitektur. Das ist bei Installer-Stubs wie NSIS oder Inno Setup normal; die Zielarchitektur wird getrennt bewertet."),
|
||||
"setup_analyzer.warning.appx_context": ("MSIX/AppX installation scope depends on the execution context. Test deployment under the same account context used by the job.", "Der Installationsbereich von MSIX/AppX hängt vom Ausführungskontext ab. Die Verteilung im gleichen Kontokontext wie den späteren Job testen."),
|
||||
})
|
||||
|
||||
|
||||
# v0.5.5.77 Software packages and deployment jobs
|
||||
BASE_TRANSLATIONS.update({
|
||||
"setup_analyzer.sfx_title": ("SFX / embedded installer analysis", "SFX-/Embedded-Installer-Analyse"),
|
||||
"setup_analyzer.sfx_container": ("Outer container", "Äußerer Container"),
|
||||
"setup_analyzer.sfx_status": ("Extraction status", "Entpackstatus"),
|
||||
"setup_analyzer.sfx_status.success": ("Extracted safely", "Sicher entpackt"),
|
||||
"setup_analyzer.sfx_status.tool_missing": ("Extraction tool missing", "Entpackwerkzeug fehlt"),
|
||||
"setup_analyzer.sfx_status.failed": ("Extraction failed", "Entpacken fehlgeschlagen"),
|
||||
"setup_analyzer.sfx_extractor": ("Extractor", "Entpackwerkzeug"),
|
||||
"setup_analyzer.sfx_files": ("Files", "Dateien"),
|
||||
"setup_analyzer.sfx_size": ("Extracted size", "Entpackte Größe"),
|
||||
"setup_analyzer.sfx_selected": ("Selected embedded installer", "Ausgewählter eingebetteter Installer"),
|
||||
"setup_analyzer.sfx_candidates": ("Embedded installer candidates", "Eingebettete Installer-Kandidaten"),
|
||||
"setup_analyzer.sfx_limits": ("SFX safety limits", "SFX-Sicherheitsgrenzen"),
|
||||
"setup_analyzer.sfx_depth": ("recursion depth {depth}", "Rekursionstiefe {depth}"),
|
||||
"setup_analyzer.suppress_browser": ("Suppress post-install browser launch", "Browser-/Webseiten-Aufruf nach dem Setup unterdrücken"),
|
||||
"setup_analyzer.suppress_browser_help": ("Stops only browser processes that were newly created inside the installer process tree. Existing browser sessions are not touched.", "Beendet nur Browserprozesse, die neu aus dem Prozessbaum des Installers gestartet wurden. Bereits laufende Browser werden nicht beendet."),
|
||||
"setup_analyzer.create_package": ("Create AssetManager package", "AssetManager-Softwarepaket erstellen"),
|
||||
@@ -1575,7 +1611,9 @@ BASE_TRANSLATIONS.update({
|
||||
"software_packages.delete_jobs": ("Also delete {count} associated software jobs", "Auch {count} zugehörige Softwarejobs löschen"),
|
||||
"software_packages.delete_jobs_required": ("This package is referenced by {count} software jobs. Confirm deletion of the associated jobs first.", "Dieses Paket wird von {count} Softwarejobs verwendet. Bestätige zuerst das Löschen der zugehörigen Jobs."),
|
||||
"software_packages.delete_confirm": ('Really delete software package "{package}"?', 'Softwarepaket "{package}" wirklich löschen?'),
|
||||
"software_packages.delete_confirm_with_jobs": ('Really delete software package "{package}"? {count} associated software jobs will also be deleted.', 'Softwarepaket "{package}" wirklich löschen? Dabei werden auch {count} zugehörige Softwarejobs gelöscht.'),
|
||||
"software_packages.delete_button": ("Delete package", "Paket löschen"),
|
||||
"software_packages.delete_button_short": ("Delete", "Löschen"),
|
||||
"software_packages.deleted": ('Software package "{package}" was deleted.', 'Softwarepaket "{package}" wurde gelöscht.'),
|
||||
"jobs.type.software_deployment": ("Software deployment", "Softwareverteilung"),
|
||||
"jobs.action.reinstall": ("Reinstall", "Neu installieren"),
|
||||
@@ -1588,11 +1626,11 @@ BASE_TRANSLATIONS.update({
|
||||
# v0.5.5.80 software package process control
|
||||
BASE_TRANSLATIONS.update({
|
||||
"setup_analyzer.process_names": ("Processes to close before install/uninstall", "Vor Installation/Deinstallation zu beendende Prozesse"),
|
||||
"setup_analyzer.process_names_help": ("Comma-, semicolon- or line-separated executable names. Known applications can be suggested automatically, for example Greenshot.exe.", "Komma-, Semikolon- oder zeilengetrennte EXE-Namen. Bei bekannten Anwendungen kann der Setup-Analyzer automatisch einen Vorschlag eintragen, z. B. Greenshot.exe."),
|
||||
"setup_analyzer.process_names_help": ("Comma-, semicolon- or line-separated executable names. Known applications can be suggested automatically, for example ExampleApp.exe.", "Komma-, Semikolon- oder zeilengetrennte EXE-Namen. Bei bekannten Anwendungen kann der Setup-Analyzer automatisch einen Vorschlag eintragen, z. B. ExampleApp.exe."),
|
||||
"software_packages.process_control": ("Process control", "Prozesssteuerung"),
|
||||
"software_packages.process_control_help": ("These processes are closed before installation and uninstallation. AssetManager first requests a normal close and can then force termination if the process is still running.", "Diese Prozesse werden vor Installation und Deinstallation beendet. AssetManager fordert zuerst ein normales Beenden an und kann den Prozess anschließend zwangsweise beenden, wenn er weiterhin läuft."),
|
||||
"software_packages.process_names": ("Processes to close", "Zu beendende Prozesse"),
|
||||
"software_packages.process_names_help": ("Enter executable names such as Greenshot.exe. Multiple names can be separated by comma, semicolon or line break.", "EXE-Namen wie Greenshot.exe eintragen. Mehrere Namen können durch Komma, Semikolon oder Zeilenumbruch getrennt werden."),
|
||||
"software_packages.process_names_help": ("Enter executable names such as ExampleApp.exe. Multiple names can be separated by comma, semicolon or line break.", "EXE-Namen wie ExampleApp.exe eintragen. Mehrere Namen können durch Komma, Semikolon oder Zeilenumbruch getrennt werden."),
|
||||
"software_packages.process_grace_seconds": ("Grace period before force close (seconds)", "Wartezeit vor erzwungenem Beenden (Sekunden)"),
|
||||
"software_packages.force_close": ("Force termination if the process is still running", "Prozess zwangsweise beenden, wenn er weiterhin läuft"),
|
||||
"software_packages.process_control_saved": ("Process control was saved.", "Prozesssteuerung wurde gespeichert."),
|
||||
@@ -1602,7 +1640,7 @@ BASE_TRANSLATIONS.update({
|
||||
# v0.5.5.82 post-install application start
|
||||
BASE_TRANSLATIONS.update({
|
||||
"setup_analyzer.start_application": ("Start application after successful installation", "Anwendung nach erfolgreicher Installation starten"),
|
||||
"setup_analyzer.start_application_help": ("Starts the configured application in the active interactive user session after installation detection succeeds. This option is preselected for known applications such as Greenshot.", "Startet die konfigurierte Anwendung nach erfolgreicher Installationserkennung in der aktiven interaktiven Benutzersitzung. Bei bekannten Anwendungen wie Greenshot wird die Option automatisch vorgeschlagen."),
|
||||
"setup_analyzer.start_application_help": ("Starts the configured application in the active interactive user session after installation detection succeeds. This option is preselected for known applications with a matching analyzer profile.", "Startet die konfigurierte Anwendung nach erfolgreicher Installationserkennung in der aktiven interaktiven Benutzersitzung. Bei bekannten Anwendungen mit passendem Analyzer-Profil wird die Option automatisch vorgeschlagen."),
|
||||
"setup_analyzer.start_executable": ("Application executable", "Programmdatei"),
|
||||
"setup_analyzer.start_arguments": ("Application arguments", "Programmparameter"),
|
||||
"setup_analyzer.start_only_if_user_logged_on": ("Start only when an interactive user is logged on", "Nur starten, wenn ein interaktiver Benutzer angemeldet ist"),
|
||||
@@ -1612,7 +1650,7 @@ BASE_TRANSLATIONS.update({
|
||||
"software_packages.post_install_help": ("Optionally start an application after install or reinstall. Because software jobs run as SYSTEM, AssetManager launches the application explicitly in the active interactive user session.", "Optional eine Anwendung nach Installation oder Neuinstallation starten. Da Softwarejobs unter SYSTEM laufen, startet AssetManager die Anwendung gezielt in der aktiven interaktiven Benutzersitzung."),
|
||||
"software_packages.start_application": ("Start application automatically", "Anwendung automatisch starten"),
|
||||
"software_packages.start_executable": ("Application executable", "Programmdatei"),
|
||||
"software_packages.start_executable_help": ("Use the full executable path, for example C:\\Program Files\\Greenshot\\Greenshot.exe. System environment variables such as %ProgramFiles% are supported.", "Vollständigen Pfad zur EXE angeben, z. B. C:\\Program Files\\Greenshot\\Greenshot.exe. System-Umgebungsvariablen wie %ProgramFiles% werden unterstützt."),
|
||||
"software_packages.start_executable_help": ("Use the full executable path, for example C:\\Program Files\\ExampleApp\\ExampleApp.exe. System environment variables such as %ProgramFiles% are supported.", "Vollständigen Pfad zur EXE angeben, z. B. C:\\Program Files\\ExampleApp\\ExampleApp.exe. System-Umgebungsvariablen wie %ProgramFiles% werden unterstützt."),
|
||||
"software_packages.start_arguments": ("Application arguments", "Programmparameter"),
|
||||
"software_packages.start_only_if_user_logged_on": ("Start only when an interactive user is logged on", "Nur starten, wenn ein interaktiver Benutzer angemeldet ist"),
|
||||
"software_packages.start_only_if_user_logged_on_help": ("Without an active user session the start is skipped. This does not fail the installation job.", "Ohne aktive Benutzersitzung wird der Start übersprungen. Der Installationsjob wird dadurch nicht als fehlgeschlagen gewertet."),
|
||||
@@ -1620,3 +1658,71 @@ BASE_TRANSLATIONS.update({
|
||||
"software_packages.post_install_saved": ("Post-install settings were saved.", "Einstellungen nach der Installation wurden gespeichert."),
|
||||
"software_packages.post_install_error": ("Post-install settings could not be saved: {error}", "Einstellungen nach der Installation konnten nicht gespeichert werden: {error}"),
|
||||
})
|
||||
|
||||
# v0.5.5.90 analyzer profiles and portable package import/export
|
||||
BASE_TRANSLATIONS.update({
|
||||
"setup_profiles.manage": ("Analyzer profiles", "Analyzer-Profile"),
|
||||
"setup_profiles.title": ("Setup Analyzer profiles", "Setup-Analyzer-Profile"),
|
||||
"setup_profiles.subtitle": ("Manage declarative detection profiles without changing AssetManager code.", "Deklarative Erkennungsprofile verwalten, ohne den AssetManager-Code zu ändern."),
|
||||
"setup_profiles.back": ("Back to Setup Analyzer", "Zurück zum Setup-Analyzer"),
|
||||
"setup_profiles.import_title": ("Import analyzer profile", "Analyzer-Profil importieren"),
|
||||
"setup_profiles.import_help": (".amprofile bundles contain only declarative JSON rules and no executable plugin code.", ".amprofile-Pakete enthalten ausschließlich deklarative JSON-Regeln und keinen ausführbaren Plugin-Code."),
|
||||
"setup_profiles.file": ("Profile file", "Profildatei"),
|
||||
"setup_profiles.source": ("Source", "Quelle"),
|
||||
"setup_profiles.source.system": ("System", "System"),
|
||||
"setup_profiles.source.community": ("Community", "Community"),
|
||||
"setup_profiles.source.local": ("Local", "Lokal"),
|
||||
"setup_profiles.import_button": ("Import profile", "Profil importieren"),
|
||||
"setup_profiles.installed_title": ("Installed analyzer profiles", "Installierte Analyzer-Profile"),
|
||||
"setup_profiles.name": ("Profile", "Profil"),
|
||||
"setup_profiles.id": ("Profile ID", "Profil-ID"),
|
||||
"setup_profiles.kind": ("Type", "Typ"),
|
||||
"setup_profiles.stage": ("Analysis stage", "Analysestufe"),
|
||||
"setup_profiles.export_button": ("Export", "Exportieren"),
|
||||
"setup_profiles.enable": ("Enable", "Aktivieren"),
|
||||
"setup_profiles.disable": ("Disable", "Deaktivieren"),
|
||||
"setup_profiles.delete_confirm": ('Really delete analyzer profile "{profile}"?', 'Analyzer-Profil "{profile}" wirklich löschen?'),
|
||||
"setup_profiles.none": ("No analyzer profiles are installed.", "Es sind keine Analyzer-Profile installiert."),
|
||||
"setup_profiles.repository_title": ("Community profile repository", "Community-Profil-Repository"),
|
||||
"setup_profiles.repository_url": ("Repository:", "Repository:"),
|
||||
"setup_profiles.repository_load": ("Load repository catalog", "Repository-Katalog laden"),
|
||||
"setup_profiles.repository_install": ("Install profile", "Profil installieren"),
|
||||
"setup_profiles.repository_empty": ("The repository contains no profiles.", "Das Repository enthält keine Profile."),
|
||||
"setup_profiles.repository_not_configured": ("No analyzer-profile repository is configured yet. Configure an HTTPS index URL with ANALYZER_PROFILE_REPOSITORY_URL.", "Es ist noch kein Analyzer-Profil-Repository konfiguriert. Eine HTTPS-Index-URL kann mit ANALYZER_PROFILE_REPOSITORY_URL hinterlegt werden."),
|
||||
"setup_profiles.matched_profile": ("Matched analyzer profile", "Verwendetes Analyzer-Profil"),
|
||||
"setup_profiles.profile_source": ("Profile source", "Profilquelle"),
|
||||
"software_packages.import_title": ("Import software package", "Softwarepaket importieren"),
|
||||
"software_packages.import_help": ("Import an AssetManager .ampkg package or a compatible package ZIP exported by the Setup Analyzer.", "Ein AssetManager-.ampkg-Paket oder ein kompatibles, vom Setup-Analyzer exportiertes Paket-ZIP importieren."),
|
||||
"software_packages.import_file": ("Package file", "Paketdatei"),
|
||||
"software_packages.import_script_warning": ("I understand that imported software packages can contain executable PowerShell scripts which will run on managed devices.", "Mir ist bewusst, dass importierte Softwarepakete ausführbare PowerShell-Skripte enthalten können, die auf verwalteten Geräten ausgeführt werden."),
|
||||
"software_packages.import_button": ("Import package", "Paket importieren"),
|
||||
"software_packages.import_confirm_required": ("Confirm that imported packages can contain executable scripts.", "Bestätige, dass importierte Pakete ausführbare Skripte enthalten können."),
|
||||
"software_packages.import_invalid_type": ("Select an AssetManager .ampkg or compatible .zip package.", "Wähle ein AssetManager-.ampkg- oder kompatibles .zip-Paket aus."),
|
||||
"software_packages.import_failed": ("Software package import failed: {error}", "Softwarepaket konnte nicht importiert werden: {error}"),
|
||||
"software_packages.imported": ('Software package "{package}" was imported.', 'Softwarepaket "{package}" wurde importiert.'),
|
||||
"software_packages.export_button": ("Export", "Exportieren"),
|
||||
"software_packages.export_failed": ("Software package export failed: {error}", "Softwarepaket konnte nicht exportiert werden: {error}"),
|
||||
})
|
||||
|
||||
BASE_TRANSLATIONS.update({
|
||||
"setup_analyzer.signal.profile_marker": ("Analyzer profile marker matched", "Analyzer-Profil-Merkmal erkannt"),
|
||||
"setup_analyzer.warning.online_bootstrapper": ("This profile identifies a network-dependent online bootstrapper. The installed version can be dynamic; prefer a version-pinned offline package for reproducible managed deployment when available.", "Dieses Profil erkennt einen netzwerkabhängigen Online-Bootstrapper. Die installierte Version kann dynamisch sein; für reproduzierbare Softwareverteilung sollte nach Möglichkeit ein versionsgebundenes Offline-Paket verwendet werden."),
|
||||
})
|
||||
BASE_TRANSLATIONS.update({
|
||||
"software_packages.import_profile": ("Also import an analyzer profile embedded in the package as a Community profile", "Ein im Paket enthaltenes Analyzer-Profil ebenfalls als Community-Profil importieren"),
|
||||
})
|
||||
|
||||
|
||||
# v0.5.5.90 file-picker localization and remote client job cleanup
|
||||
BASE_TRANSLATIONS.update({
|
||||
"common.choose_file": ("Choose file", "Datei auswählen"),
|
||||
"common.no_file_selected": ("No file selected", "Keine Datei ausgewählt"),
|
||||
"software.settings.remote_cleanup_title": ("Client job files", "Jobdateien auf Clients"),
|
||||
"software.settings.remote_cleanup_help": ("Automatically remove stale AssetManager job directories from managed clients. Cleanup runs about once per hour for online clients and additionally before a new file-based job is dispatched.", "Entfernt veraltete AssetManager-Jobverzeichnisse auf verwalteten Clients automatisch. Die Bereinigung läuft bei erreichbaren Clients etwa einmal pro Stunde und zusätzlich vor dem Versand eines neuen dateibasierten Jobs."),
|
||||
"software.settings.remote_cleanup_badge": ("Client cleanup", "Client-Bereinigung"),
|
||||
"software.settings.remote_cleanup_enabled": ("Automatically remove stale client job files", "Veraltete Jobdateien auf Clients automatisch löschen"),
|
||||
"software.settings.remote_cleanup_enabled_help": ("Only AssetManager job directories named JobID-Attempt below the dedicated job root are considered. Current job files are never removed.", "Berücksichtigt werden ausschließlich AssetManager-Jobverzeichnisse im Schema JobID-Versuch unterhalb des vorgesehenen Jobordners. Dateien des aktuellen Jobs werden niemals entfernt."),
|
||||
"software.settings.remote_cleanup_hours": ("Retention on client in hours", "Aufbewahrung auf dem Client in Stunden"),
|
||||
"software.settings.remote_cleanup_hours_help": ("Job directories whose creation time is older than this value are treated as stale. Active jobs are excluded. Default: 24 hours (1 day).", "Jobverzeichnisse, deren Erstellzeit älter als dieser Wert ist, gelten als veraltet. Aktive Jobs werden ausgeschlossen. Standard: 24 Stunden (1 Tag)."),
|
||||
"software.settings.remote_cleanup_paths": ("Managed job roots", "Verwaltete Jobpfade"),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user