Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Installer/Installer.iss
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#define MyAppPublisher "ThreadPilot"
#define MyAppURL "https://github.com/"
#define MyAppExeName "ThreadPilot.exe"
#define MyAppVersion "1.5.3"
#define MyAppVersion "1.6.0"

#ifndef MyWizardStyle
#define MyWizardStyle "modern dynamic windows11"
Expand Down
2 changes: 1 addition & 1 deletion Installer/ThreadPilot.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<Package
Name="ThreadPilot"
Manufacturer="Prime Build"
Version="1.5.3.0"
Version="1.6.0.0"
UpgradeCode="PUT-GENERATED-UPGRADE-CODE-HERE"
Language="1033">
<SummaryInformation Description="ThreadPilot MSI template" />
Expand Down
2 changes: 1 addition & 1 deletion Installer/setup.iss
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#endif

#ifndef MyAppVersion
#define MyAppVersion "1.5.3"
#define MyAppVersion "1.6.0"
#endif

#ifndef MyAppSourceDir
Expand Down
42 changes: 32 additions & 10 deletions Locales/de-DE.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -264,10 +264,10 @@
<sys:String x:Key="ProcessView_SetPowerPlanTooltip">Aktivieren Sie den ausgewählten Windows-Energieplan</sys:String>

<sys:String x:Key="ProcessView_PendingCoreMask">Ausstehende Kernmaske</sys:String>
<sys:String x:Key="ProcessView_StageMaskTooltip">Wählen Sie eine Maske aus, um sie bereitzustellen. Dadurch wird die Betriebssystemaffinität erst geändert, wenn auf „Affinität anwenden“ geklickt wird.</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinity">Wenden Sie Affinität an</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinityTooltip">Wenden Sie die ausstehende Kernmaske auf den ausgewählten Prozess an und überprüfen Sie den Affinitätsstatus Windows</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinitySaveRule">Affinität anwenden und als Regel speichern</sys:String>
<sys:String x:Key="ProcessView_StageMaskTooltip">Wählen Sie eine Maske zum Vormerken. Erst CPU-Zuweisung anwenden ändert den Zustand.</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinity">CPU-Zuweisung anwenden</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinityTooltip">Wendet die CPU-Auswahl im gewählten Modus an und überprüft den Windows-Status</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinitySaveRule">CPU-Zuweisung anwenden und als Regel speichern</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinitySaveRuleTooltip">Aktuelle Prozesseinstellungen grundsätzlich speichern. Diese Einstellungen werden automatisch angewendet, wenn dieser Prozess in Zukunft startet.</sys:String>

<sys:String x:Key="ProcessView_SetCpuPriority">Legen Sie die Priorität CPU fest</sys:String>
Expand Down Expand Up @@ -306,7 +306,7 @@
<sys:String x:Key="ProcessView_ColCpuUsage">CPU-Auslastung</sys:String>
<sys:String x:Key="ProcessView_ColMemory">Speicherauslastung</sys:String>

<sys:String x:Key="ProcessView_AffinityStagedTooltip">Affinität in der Benutzeroberfläche inszeniert. Es wird erst angewendet, wenn auf „Affinität anwenden“ geklickt wird.</sys:String>
<sys:String x:Key="ProcessView_AffinityStagedTooltip">CPU-Auswahl vorgemerkt. Sie wird erst über CPU-Zuweisung anwenden übernommen.</sys:String>
<sys:String x:Key="ProcessView_AffinityCurrentTooltip">Affinität, die derzeit von Windows für den ausgewählten Prozess gemeldet wird</sys:String>
<sys:String x:Key="ProcessView_CpuSelectionPreviewTooltip">Schreibgeschützte Vorschau der aktuellen oder ausstehenden CPU-Auswahl</sys:String>
<sys:String x:Key="ProcessView_OpenMasksTabTooltip">Öffnen Sie die Registerkarte CPU Masken, um eine neue benutzerdefinierte Maske zu erstellen</sys:String>
Expand Down Expand Up @@ -626,11 +626,11 @@
<sys:String x:Key="Notification_GameBoostDeactivatedTitle">Game Boost deaktiviert</sys:String>
<sys:String x:Key="Notification_GameBoostDeactivatedFormat">Game Boost-Modus nach {0} deaktiviert</sys:String>
<sys:String x:Key="Notification_ProcessMonitorErrorTitle">Fehler im Prozessmonitor</sys:String>
<sys:String x:Key="Notification_AffinityBlockedTitle">Affinität blockiert</sys:String>
<sys:String x:Key="Notification_AffinityAppliedTitle">Affinität angewendet</sys:String>
<sys:String x:Key="Notification_AffinityAdjustedTitle">Affinität angepasst</sys:String>
<sys:String x:Key="Notification_AffinityFailedTitle">Affinität ist fehlgeschlagen</sys:String>
<sys:String x:Key="Notification_AffinityErrorTitle">Affinitätsfehler</sys:String>
<sys:String x:Key="Notification_AffinityBlockedTitle">CPU-Zuweisung blockiert</sys:String>
<sys:String x:Key="Notification_AffinityAppliedTitle">CPU-Zuweisung angewendet</sys:String>
<sys:String x:Key="Notification_AffinityAdjustedTitle">CPU-Zuweisung angepasst</sys:String>
<sys:String x:Key="Notification_AffinityFailedTitle">CPU-Zuweisung fehlgeschlagen</sys:String>
<sys:String x:Key="Notification_AffinityErrorTitle">Fehler bei der CPU-Zuweisung</sys:String>
<sys:String x:Key="Notification_PriorityBlockedTitle">Priorität blockiert</sys:String>
<sys:String x:Key="Notification_PriorityWarningTitle">Vorrangige Warnung</sys:String>
<sys:String x:Key="Notification_PriorityAppliedTitle">Priorität angewendet</sys:String>
Expand Down Expand Up @@ -659,6 +659,28 @@
<sys:String x:Key="Notification_SettingsSaveFailed">Einstellungen konnten nicht gespeichert werden</sys:String>
<sys:String x:Key="Notification_TestNotificationMessage">Dies ist eine Testbenachrichtigung, um zu überprüfen, ob Ihre Einstellungen korrekt funktionieren.</sys:String>

<!-- CPU-Zuweisung -->
<sys:String x:Key="SettingsView_CpuAssignment">CPU-Zuweisung</sys:String>
<sys:String x:Key="SettingsView_DefaultCpuAssignment">Standardmäßige CPU-Zuweisung</sys:String>
<sys:String x:Key="SettingsView_CpuAssignmentTooltip">Legt fest, wie neue manuelle Aktionen und Regeln die ausgewählten CPUs zuweisen.</sys:String>
<sys:String x:Key="SettingsView_CpuAssignmentInfo">Informationen zum CPU-Zuweisungsmodus</sys:String>
<sys:String x:Key="CpuAssignmentMode_AffinityMask">Affinitätsmaske</sys:String>
<sys:String x:Key="CpuAssignmentMode_AffinityMaskTooltip">Harte Einschränkung. Multi-Group-Auswahlen werden pro Thread angewendet; neue Threads werden bei aktiver Automatisierungsüberwachung erfasst.</sys:String>
<sys:String x:Key="CpuAssignmentMode_IdealProcessor">Idealer Prozessor</sys:String>
<sys:String x:Key="CpuAssignmentMode_IdealProcessorTooltip">Weiche Präferenz pro Thread mit stabiler Round-Robin-Verteilung. Neue Threads werden bei aktiver Automatisierungsüberwachung erfasst.</sys:String>
<sys:String x:Key="CpuAssignmentMode_CpuSets">CPU-Sets</sys:String>
<sys:String x:Key="CpuAssignmentMode_CpuSetsTooltip">Weiche prozessweite Zuweisung, die neue Threads erben. Der explizite Modus fällt nie auf Affinität zurück.</sys:String>
<sys:String x:Key="CpuAssignmentMode_Automatic">ThreadPilot automatisch</sys:String>
<sys:String x:Key="CpuAssignmentMode_AutomaticTooltip">Kompatibel mit alten Regeln: CPU-Sets mit Affinitäts-Fallback nur, wenn es sicher ist.</sys:String>
<sys:String x:Key="SettingsView_CpuAssignmentDescription">Wird für neue Aktionen und Regeln verwendet, sofern keine gespeicherte Regel sie überschreibt.</sys:String>
<sys:String x:Key="SettingsView_ReservedCpuSetsWarning">Reservierte CPU-Sets sind hier schreibgeschützt. Sie gelten systemweit, erfordern einen Neustart und sind für dedizierte Soft-Real-Time-Geräte vorgesehen; unvollständige Konfiguration kann schwere Fehlfunktionen verursachen.</sys:String>
<sys:String x:Key="SettingsView_ReservedCpuSetsTooltip">ThreadPilot ändert ReservedCpuSets nicht. Die obigen prozessbezogenen Modi sind von dieser globalen Windows-Konfiguration unabhängig.</sys:String>
<sys:String x:Key="SettingsView_ReservedCpuSetsUnknown">Reservierte CPU-Sets: Status nicht verfügbar.</sys:String>
<sys:String x:Key="SettingsView_ReservedCpuSetsNone">Reservierte CPU-Sets: keine erkannt.</sys:String>
<sys:String x:Key="SettingsView_ReservedCpuSetsDetectedFormat">Reservierte CPU-Sets auf logischen Prozessoren erkannt: {0}.</sys:String>
<sys:String x:Key="ProcessView_CpuAssignmentMode">CPU-Zuweisungsmodus</sys:String>
<sys:String x:Key="ProcessView_CpuAssignmentModeTooltip">Dieser vorgemerkte Modus folgt einer passenden Regel; andernfalls gilt der globale Standard.</sys:String>

<!-- Elevation Service -->
<sys:String x:Key="Elevation_RequestPromptText">ThreadPilot erfordert Administratorrechte, um Prozessaffinität und Energiepläne zu verwalten.&#x0a;&#x0a;Möchten Sie die Anwendung mit Administratorrechten neu starten?</sys:String>
<sys:String x:Key="Elevation_RequestPromptTitle">Administratorrechte erforderlich</sys:String>
Expand Down
42 changes: 32 additions & 10 deletions Locales/en-US.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -264,10 +264,10 @@
<sys:String x:Key="ProcessView_SetPowerPlanTooltip">Activate the selected Windows power plan</sys:String>

<sys:String x:Key="ProcessView_PendingCoreMask">Pending core mask</sys:String>
<sys:String x:Key="ProcessView_StageMaskTooltip">Select a mask to stage it. This does not change OS affinity until Apply Affinity is clicked.</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinity">Apply Affinity</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinityTooltip">Apply the pending core mask to the selected process and verify the Windows affinity state</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinitySaveRule">Apply Affinity and Save as Rule</sys:String>
<sys:String x:Key="ProcessView_StageMaskTooltip">Select a mask to stage it. Nothing changes until Apply CPU Assignment is clicked.</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinity">Apply CPU Assignment</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinityTooltip">Apply the pending CPU selection with the selected mode and verify the Windows state</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinitySaveRule">Apply CPU Assignment and Save as Rule</sys:String>
<sys:String x:Key="ProcessView_ApplyAffinitySaveRuleTooltip">Save current process settings as a rule. These settings will be automatically applied when this process starts in the future.</sys:String>

<sys:String x:Key="ProcessView_SetCpuPriority">Set CPU Priority</sys:String>
Expand Down Expand Up @@ -306,7 +306,7 @@
<sys:String x:Key="ProcessView_ColCpuUsage">CPU Usage</sys:String>
<sys:String x:Key="ProcessView_ColMemory">Memory Usage</sys:String>

<sys:String x:Key="ProcessView_AffinityStagedTooltip">Affinity staged in the UI. It is not applied until Apply Affinity is clicked.</sys:String>
<sys:String x:Key="ProcessView_AffinityStagedTooltip">CPU selection staged in the UI. It is applied only through Apply CPU Assignment.</sys:String>
<sys:String x:Key="ProcessView_AffinityCurrentTooltip">Affinity currently reported by Windows for the selected process</sys:String>
<sys:String x:Key="ProcessView_CpuSelectionPreviewTooltip">Read-only preview of current or pending CPU selection</sys:String>
<sys:String x:Key="ProcessView_OpenMasksTabTooltip">Open CPU Masks tab to create a new custom mask</sys:String>
Expand Down Expand Up @@ -626,11 +626,11 @@
<sys:String x:Key="Notification_GameBoostDeactivatedTitle">Game Boost Deactivated</sys:String>
<sys:String x:Key="Notification_GameBoostDeactivatedFormat">Game Boost mode deactivated after {0}</sys:String>
<sys:String x:Key="Notification_ProcessMonitorErrorTitle">Process Monitor Error</sys:String>
<sys:String x:Key="Notification_AffinityBlockedTitle">Affinity blocked</sys:String>
<sys:String x:Key="Notification_AffinityAppliedTitle">Affinity applied</sys:String>
<sys:String x:Key="Notification_AffinityAdjustedTitle">Affinity adjusted</sys:String>
<sys:String x:Key="Notification_AffinityFailedTitle">Affinity failed</sys:String>
<sys:String x:Key="Notification_AffinityErrorTitle">Affinity error</sys:String>
<sys:String x:Key="Notification_AffinityBlockedTitle">CPU assignment blocked</sys:String>
<sys:String x:Key="Notification_AffinityAppliedTitle">CPU assignment applied</sys:String>
<sys:String x:Key="Notification_AffinityAdjustedTitle">CPU assignment adjusted</sys:String>
<sys:String x:Key="Notification_AffinityFailedTitle">CPU assignment failed</sys:String>
<sys:String x:Key="Notification_AffinityErrorTitle">CPU assignment error</sys:String>
<sys:String x:Key="Notification_PriorityBlockedTitle">Priority blocked</sys:String>
<sys:String x:Key="Notification_PriorityWarningTitle">Priority warning</sys:String>
<sys:String x:Key="Notification_PriorityAppliedTitle">Priority applied</sys:String>
Expand Down Expand Up @@ -659,6 +659,28 @@
<sys:String x:Key="Notification_SettingsSaveFailed">Failed to save settings</sys:String>
<sys:String x:Key="Notification_TestNotificationMessage">This is a test notification to verify your settings are working correctly.</sys:String>

<!-- CPU assignment -->
<sys:String x:Key="SettingsView_CpuAssignment">CPU assignment</sys:String>
<sys:String x:Key="SettingsView_DefaultCpuAssignment">Default CPU assignment</sys:String>
<sys:String x:Key="SettingsView_CpuAssignmentTooltip">Choose how new manual actions and rules assign the selected CPUs.</sys:String>
<sys:String x:Key="SettingsView_CpuAssignmentInfo">CPU assignment mode information</sys:String>
<sys:String x:Key="CpuAssignmentMode_AffinityMask">Affinity Mask</sys:String>
<sys:String x:Key="CpuAssignmentMode_AffinityMaskTooltip">Hard constraint. Multi-group selections are applied per thread; new threads are covered while automation monitoring is enabled.</sys:String>
<sys:String x:Key="CpuAssignmentMode_IdealProcessor">Ideal Processor</sys:String>
<sys:String x:Key="CpuAssignmentMode_IdealProcessorTooltip">Soft per-thread preference with stable round-robin distribution. New threads are covered while automation monitoring is enabled.</sys:String>
<sys:String x:Key="CpuAssignmentMode_CpuSets">CPU Sets</sys:String>
<sys:String x:Key="CpuAssignmentMode_CpuSetsTooltip">Soft process-wide assignment inherited by new threads. Explicit mode never falls back to affinity.</sys:String>
<sys:String x:Key="CpuAssignmentMode_Automatic">ThreadPilot automatic</sys:String>
<sys:String x:Key="CpuAssignmentMode_AutomaticTooltip">Legacy-compatible behavior: CPU Sets with affinity fallback only when safe.</sys:String>
<sys:String x:Key="SettingsView_CpuAssignmentDescription">Used by new actions and rules unless a saved rule overrides it.</sys:String>
<sys:String x:Key="SettingsView_ReservedCpuSetsWarning">Reserved CPU Sets are read-only here. They are system-wide, require a restart, and are intended for dedicated Soft Real-Time devices; incomplete configuration can cause serious malfunction.</sys:String>
<sys:String x:Key="SettingsView_ReservedCpuSetsTooltip">ThreadPilot does not modify ReservedCpuSets. Per-process CPU assignment modes above are independent from this global Windows configuration.</sys:String>
<sys:String x:Key="SettingsView_ReservedCpuSetsUnknown">Reserved CPU Sets: status unavailable.</sys:String>
<sys:String x:Key="SettingsView_ReservedCpuSetsNone">Reserved CPU Sets: none detected.</sys:String>
<sys:String x:Key="SettingsView_ReservedCpuSetsDetectedFormat">Reserved CPU Sets detected on logical processors: {0}.</sys:String>
<sys:String x:Key="ProcessView_CpuAssignmentMode">CPU assignment mode</sys:String>
<sys:String x:Key="ProcessView_CpuAssignmentModeTooltip">This staged mode follows the matching rule when one exists; otherwise it uses the global default.</sys:String>

<!-- Elevation Service -->
<sys:String x:Key="Elevation_RequestPromptText">ThreadPilot requires administrator privileges to manage process affinity and power plans.&#x0a;&#x0a;Would you like to restart the application with administrator privileges?</sys:String>
<sys:String x:Key="Elevation_RequestPromptTitle">Administrator Privileges Required</sys:String>
Expand Down
Loading
Loading