From 44385dc81d4848194305d1be31e6ab844188df75 Mon Sep 17 00:00:00 2001 From: Dave Date: Mon, 27 Jul 2026 03:32:57 +0200 Subject: [PATCH 1/2] fix(game-mode): unblock activation when a restore step can never succeed A deactivation that leaves any item unrestored persists a residual snapshot with active:false, and activation refuses while one exists. Retry cleanup re-runs the same steps, so a step that fails deterministically - a vanished registry key, a removed service, a virtual network adapter gone after a reboot - locks Game Mode out permanently with no way back short of deleting game-mode-snapshot.json by hand. - Add a Discard escape hatch (IPC + confirm-on-second-click button) that drops a residual snapshot. Refuses while Game Mode is still active. - Surface the failure reason: persist it on the snapshot, expose it via GameModeStatus.pendingReason, and show it in the banner and retry toast instead of a bare count. - Scrub grouped steps per item, so one stuck registry value or network interface no longer keeps the healthy ones pending and re-applied forever. - Treat structurally unrestorable targets as restored: missing service, missing registry key, and a powerSaveBlocker ID left by a previous process. - Move the banner strings into the gameMode namespace (they were hardcoded). Fixes #241 --- src/main/ipc/game-mode.ipc.test.ts | 295 ++++++++++++++++++++- src/main/ipc/game-mode.ipc.ts | 157 ++++++++--- src/preload/index.ts | 2 + src/renderer/src/locales/en/gameMode.json | 11 + src/renderer/src/pages/GameModePage.tsx | 75 ++++-- src/renderer/src/stores/game-mode-store.ts | 10 +- src/shared/channels.ts | 1 + src/shared/types.ts | 5 + 8 files changed, 505 insertions(+), 51 deletions(-) diff --git a/src/main/ipc/game-mode.ipc.test.ts b/src/main/ipc/game-mode.ipc.test.ts index b09a95ae..f6af8162 100644 --- a/src/main/ipc/game-mode.ipc.test.ts +++ b/src/main/ipc/game-mode.ipc.test.ts @@ -1,4 +1,73 @@ -import { describe, it, expect } from 'vitest' +import { describe, it, expect, vi, beforeEach } from 'vitest' + +// ── Mocks ── +// game-mode.ipc pulls in electron, child_process and a handful of services. +// Stub them all so the restore/deactivate logic can be exercised in-process: +// a fake in-memory snapshot file plus a scriptable PowerShell double. + +const psCalls: string[] = [] +/** Substrings that make the fake PowerShell call reject, mimicking a stuck step */ +let psFailOn: string[] = [] +/** Canned stdout per matching substring */ +let psOutput: Array<[string, string]> = [] + +const fakeFs = new Map() + +vi.mock('electron', () => ({ + app: { isPackaged: true, getPath: () => 'C:\\kudu-test-userdata' }, + ipcMain: { handle: vi.fn() }, + powerSaveBlocker: { start: vi.fn(() => 7), stop: vi.fn(), isStarted: vi.fn(() => false) }, +})) + +vi.mock('fs', () => ({ + existsSync: (p: string) => fakeFs.has(p), + readFileSync: (p: string) => { + const v = fakeFs.get(p) + if (v === undefined) throw new Error('ENOENT') + return v + }, + writeFileSync: (p: string, data: string) => { fakeFs.set(p, data) }, + unlinkSync: (p: string) => { + if (!fakeFs.delete(p)) throw new Error('ENOENT') + }, +})) + +vi.mock('child_process', () => ({ + execFile: ( + _file: string, + args: string[], + _opts: unknown, + cb: (err: Error | null, res?: { stdout: string; stderr: string }) => void, + ) => { + const script = args[args.length - 1] + psCalls.push(script) + const failure = psFailOn.find((needle) => script.includes(needle)) + if (failure) { + cb(new Error(`fake failure for ${failure}`)) + return + } + const canned = psOutput.find(([needle]) => script.includes(needle)) + cb(null, { stdout: canned?.[1] ?? '', stderr: '' }) + }, +})) + +vi.mock('../services/exec-utf8', () => ({ psUtf8: (s: string) => s })) +vi.mock('../services/elevation', () => ({ isAdmin: () => true })) +vi.mock('../platform', () => ({ getPlatform: () => ({ network: { flushDnsCache: async () => true } }) })) +vi.mock('../services/game-detector', () => ({ + startGameDetector: vi.fn(), + stopGameDetector: vi.fn(), + suppressCurrentGame: vi.fn(), + isDetectorRunning: () => false, +})) +vi.mock('../services/settings-store', () => ({ getSettings: () => ({ gameMode: { autoDetect: false } }) })) + +import { join } from 'path' +import { deactivateGameMode, discardPendingRestore, getGameModeStatus } from './game-mode.ipc' + +// Built with join() rather than hardcoded so the fake fs keys match on both +// Windows and the Linux CI runner. +const SNAPSHOT_PATH = join('C:\\kudu-test-userdata', 'game-mode-snapshot.json') // We test the exported validateSnapshot logic by importing the module's internal // validation indirectly through its exported functions. Since validateSnapshot @@ -78,6 +147,17 @@ function validateSnapshot(raw: unknown): boolean { if (tv.originalValue !== null && (typeof tv.originalValue !== 'number' || !Number.isInteger(tv.originalValue))) return false } + if ('restoreErrors' in s) { + if (!Array.isArray(s.restoreErrors)) return false + if (s.restoreErrors.length > 20) return false + for (const e of s.restoreErrors) { + if (typeof e !== 'object' || e === null) return false + const ev = e as Record + if (typeof ev.optimizationId !== 'string' || ev.optimizationId.length > 100) return false + if (typeof ev.reason !== 'string' || ev.reason.length > 500) return false + } + } + return true } @@ -303,6 +383,26 @@ describe('snapshot validation', () => { expect(validateSnapshot(snap)).toBe(false) }) + // ── Restore errors validation ── + + it('accepts a snapshot carrying restore errors', () => { + const snap = validSnapshot() + ;(snap as any).restoreErrors = [{ optimizationId: 'sys-registry-tweaks', reason: 'Access denied' }] + expect(validateSnapshot(snap)).toBe(true) + }) + + it('rejects restore errors with a non-string reason', () => { + const snap = validSnapshot() + ;(snap as any).restoreErrors = [{ optimizationId: 'sys-registry-tweaks', reason: 42 }] + expect(validateSnapshot(snap)).toBe(false) + }) + + it('rejects an unbounded restore error reason', () => { + const snap = validSnapshot() + ;(snap as any).restoreErrors = [{ optimizationId: 'sys-registry-tweaks', reason: 'x'.repeat(501) }] + expect(validateSnapshot(snap)).toBe(false) + }) + it('rejects registry tweaks with string originalValue', () => { const snap = validSnapshot() ;(snap as any).registryTweaks = [ @@ -396,6 +496,199 @@ describe('IPC config validation', () => { // ── Service map and optimization ID consistency ── +// ── Deactivation / residual handling (issue #241) ── + +const GAME_DVR = 'HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\GameDVR' +const GAME_CONFIG_STORE = 'HKCU:\\System\\GameConfigStore' +const IFACE_A = 'Microsoft.PowerShell.Core\\Registry::HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\{aaaaaaaa-1111-2222-3333-444444444444}' +const IFACE_B = 'Microsoft.PowerShell.Core\\Registry::HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\{bbbbbbbb-1111-2222-3333-444444444444}' + +function seedSnapshot(overrides: Record = {}): void { + fakeFs.set(SNAPSHOT_PATH, JSON.stringify({ + activatedAt: '2026-07-21T22:00:00.000Z', + active: true, + services: [], + killedProcesses: [], + originalPowerPlanGuid: null, + originalFocusAssistState: null, + powerSaveBlockerId: null, + nagleInterfaces: [], + registryTweaks: [], + ...overrides, + })) +} + +function storedSnapshot(): any { + const raw = fakeFs.get(SNAPSHOT_PATH) + return raw === undefined ? null : JSON.parse(raw) +} + +const noop = () => {} + +describe('deactivateGameMode residual handling', () => { + beforeEach(() => { + fakeFs.clear() + psCalls.length = 0 + psFailOn = [] + psOutput = [] + }) + + it('keeps only the failed registry tweak pending, not the whole group', async () => { + seedSnapshot({ + registryTweaks: [ + { path: GAME_DVR, name: 'AppCaptureEnabled', originalValue: 1 }, + { path: GAME_CONFIG_STORE, name: 'GameDVR_Enabled', originalValue: 1 }, + ], + }) + psFailOn = ['GameDVR_Enabled'] + + const result = await deactivateGameMode(noop) + + expect(result.failed).toBe(1) + const stored = storedSnapshot() + expect(stored.active).toBe(false) + expect(stored.registryTweaks).toEqual([ + { path: GAME_CONFIG_STORE, name: 'GameDVR_Enabled', originalValue: 1 }, + ]) + }) + + it('persists the failure reason so the banner can name the stuck step', async () => { + seedSnapshot({ + registryTweaks: [{ path: GAME_DVR, name: 'AppCaptureEnabled', originalValue: 1 }], + }) + psFailOn = ['AppCaptureEnabled'] + + await deactivateGameMode(noop) + + const stored = storedSnapshot() + expect(stored.restoreErrors).toHaveLength(1) + expect(stored.restoreErrors[0].optimizationId).toBe('sys-registry-tweaks') + expect(stored.restoreErrors[0].reason).toContain('fake failure') + expect(getGameModeStatus().pendingReason).toContain('fake failure') + }) + + it('drops the snapshot once a retry clears the remaining item', async () => { + seedSnapshot({ + active: false, + registryTweaks: [{ path: GAME_DVR, name: 'AppCaptureEnabled', originalValue: 1 }], + restoreErrors: [{ optimizationId: 'sys-registry-tweaks', reason: 'earlier failure' }], + }) + + const result = await deactivateGameMode(noop) + + expect(result.failed).toBe(0) + expect(fakeFs.has(SNAPSHOT_PATH)).toBe(false) + expect(getGameModeStatus().pendingRestore).toBe(false) + }) + + it('recreates a vanished registry key instead of failing forever', async () => { + seedSnapshot({ + registryTweaks: [{ path: GAME_DVR, name: 'AppCaptureEnabled', originalValue: 1 }], + }) + + await deactivateGameMode(noop) + + const script = psCalls.find((s) => s.includes('AppCaptureEnabled')) + expect(script).toContain('if (!(Test-Path $p)) { New-Item -Path $p -Force | Out-Null }') + }) + + it('skips Nagle interfaces whose registry key no longer exists', async () => { + seedSnapshot({ + nagleInterfaces: [{ path: IFACE_A, originalTcpNoDelay: 0, originalTcpAckFrequency: 2 }], + }) + + const result = await deactivateGameMode(noop) + + expect(result.failed).toBe(0) + const script = psCalls.find((s) => s.includes(IFACE_A)) + expect(script).toContain('if (Test-Path $p)') + }) + + it('keeps only the failed Nagle interface pending', async () => { + seedSnapshot({ + nagleInterfaces: [ + { path: IFACE_A, originalTcpNoDelay: 0, originalTcpAckFrequency: 2 }, + { path: IFACE_B, originalTcpNoDelay: 0, originalTcpAckFrequency: 2 }, + ], + }) + psFailOn = ['{bbbbbbbb-'] + + const result = await deactivateGameMode(noop) + + expect(result.failed).toBe(1) + expect(storedSnapshot().nagleInterfaces).toHaveLength(1) + expect(storedSnapshot().nagleInterfaces[0].path).toBe(IFACE_B) + }) + + it('guards service restore against a service that no longer exists', async () => { + seedSnapshot({ + services: [{ name: 'WSearch', originalStartType: 'Automatic', wasRunning: true }], + }) + + await deactivateGameMode(noop) + + const script = psCalls.find((s) => s.includes('Set-Service')) + expect(script).toContain("if (Get-Service -Name 'WSearch' -ErrorAction SilentlyContinue)") + }) + + it('ignores a powerSaveBlocker ID left behind by a previous process', async () => { + // Written by an older run; the blocker died with that process, so this must + // not queue a step that keeps the snapshot alive. + seedSnapshot({ active: false, powerSaveBlockerId: 7 }) + + const result = await deactivateGameMode(noop) + + expect(result.restored).toBe(0) + expect(result.failed).toBe(0) + expect(fakeFs.has(SNAPSHOT_PATH)).toBe(false) + }) +}) + +describe('discardPendingRestore', () => { + beforeEach(() => { + fakeFs.clear() + psCalls.length = 0 + psFailOn = [] + psOutput = [] + }) + + it('clears a residual snapshot so activation is unblocked', () => { + seedSnapshot({ + active: false, + registryTweaks: [{ path: GAME_DVR, name: 'AppCaptureEnabled', originalValue: 1 }], + restoreErrors: [{ optimizationId: 'sys-registry-tweaks', reason: 'Access denied' }], + }) + expect(getGameModeStatus().pendingRestore).toBe(true) + + expect(discardPendingRestore()).toEqual({ discarded: true }) + expect(fakeFs.has(SNAPSHOT_PATH)).toBe(false) + expect(getGameModeStatus()).toEqual({ + active: false, + activatedAt: null, + pendingRestore: false, + pendingReason: null, + }) + }) + + it('refuses while Game Mode is still active', () => { + seedSnapshot({ + registryTweaks: [{ path: GAME_DVR, name: 'AppCaptureEnabled', originalValue: 1 }], + }) + + const result = discardPendingRestore() + + expect(result.discarded).toBe(false) + expect(fakeFs.has(SNAPSHOT_PATH)).toBe(true) + }) + + it('removes a corrupt snapshot file that validation rejects', () => { + fakeFs.set(SNAPSHOT_PATH, '{ not json') + + expect(discardPendingRestore().discarded).toBe(true) + expect(fakeFs.has(SNAPSHOT_PATH)).toBe(false) + }) +}) + describe('optimization ID consistency', () => { const SERVICE_MAP_KEYS = new Set(['svc-wsearch', 'svc-sysmain', 'svc-wuauserv', 'svc-spooler', 'svc-diagtrack']) diff --git a/src/main/ipc/game-mode.ipc.ts b/src/main/ipc/game-mode.ipc.ts index 9f1e3775..045977ec 100644 --- a/src/main/ipc/game-mode.ipc.ts +++ b/src/main/ipc/game-mode.ipc.ts @@ -136,15 +136,40 @@ function validateSnapshot(raw: unknown): GameModeSnapshot | null { if (tv.originalValue !== null && (typeof tv.originalValue !== 'number' || !Number.isInteger(tv.originalValue))) return null } + // Validate restoreErrors — display-only diagnostics, never fed back into a + // shell command, but still bounded so a tampered file can't bloat the UI. + if ('restoreErrors' in s) { + if (!Array.isArray(s.restoreErrors)) return null + if (s.restoreErrors.length > 20) return null + for (const e of s.restoreErrors) { + if (typeof e !== 'object' || e === null) return null + const ev = e as Record + if (typeof ev.optimizationId !== 'string' || ev.optimizationId.length > 100) return null + if (typeof ev.reason !== 'string' || ev.reason.length > 500) return null + } + } + return s as unknown as GameModeSnapshot } +// In-memory reference to the powerSaveBlocker ID (also stored in snapshot for restart recovery) +let activePowerBlockerId: number | null = null + function readSnapshot(): GameModeSnapshot | null { try { const path = getSnapshotPath() if (!existsSync(path)) return null const raw = JSON.parse(readFileSync(path, 'utf-8')) - return validateSnapshot(raw) + const snapshot = validateSnapshot(raw) + if (!snapshot) return null + + // A powerSaveBlocker ID only means anything inside the process that created + // it. If this process didn't, the blocker died with the old process and the + // ID is dead weight — carrying it would queue a restore step that can never + // do anything. Drop it so it can't keep a residual snapshot alive. + if (activePowerBlockerId === null) snapshot.powerSaveBlockerId = null + + return snapshot } catch { return null } @@ -244,7 +269,12 @@ async function restoreService( '4': 'Disabled', } const targetType = typeMap[entry.originalStartType] ?? 'Manual' - await ps(`Set-Service -Name '${entry.name}' -StartupType ${targetType} -ErrorAction Stop`) + // A service that no longer exists has nothing left to restore. Without this + // guard `Set-Service -ErrorAction Stop` would throw on every retry forever. + await ps( + `if (Get-Service -Name '${entry.name}' -ErrorAction SilentlyContinue) { ` + + `Set-Service -Name '${entry.name}' -StartupType ${targetType} -ErrorAction Stop }` + ) if (entry.wasRunning && targetType !== 'Disabled') { await ps(`Start-Service -Name '${entry.name}' -ErrorAction SilentlyContinue`) } @@ -356,6 +386,7 @@ async function restoreFocusAssist(originalState: number | null): Promise { if (originalState === null) return await ps( `$p = 'HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Notifications\\Settings'; ` + + `if (!(Test-Path $p)) { New-Item -Path $p -Force | Out-Null }; ` + `Set-ItemProperty -Path $p -Name NOC_GLOBAL_SETTING_TOASTS_ENABLED -Value ${originalState} -Type DWord -Force` ) } @@ -391,25 +422,41 @@ async function applyRegistryTweak( ) } -/** Restore all registry tweaks from snapshot */ +/** + * Restore all registry tweaks from snapshot. + * Reports the tweaks that failed so the caller can keep only those pending — + * re-running the ones that already succeeded on every retry is pointless. + */ async function restoreRegistryTweaks( tweaks: GameModeSnapshot['registryTweaks'], -): Promise<{ restored: number; errors: Array<{ path: string; name: string; reason: string }> }> { +): Promise<{ + restored: number + failed: GameModeSnapshot['registryTweaks'] + errors: Array<{ path: string; name: string; reason: string }> +}> { let restored = 0 + const failed: GameModeSnapshot['registryTweaks'] = [] const errors: Array<{ path: string; name: string; reason: string }> = [] for (const tweak of tweaks) { try { if (tweak.originalValue !== null) { - await ps(`Set-ItemProperty -Path '${tweak.path}' -Name '${tweak.name}' -Value ${tweak.originalValue} -Type DWord -Force`) + // Recreate the key if it vanished — otherwise Set-ItemProperty throws + // and this tweak stays pending forever. + await ps( + `$p = '${tweak.path}'; ` + + `if (!(Test-Path $p)) { New-Item -Path $p -Force | Out-Null }; ` + + `Set-ItemProperty -Path $p -Name '${tweak.name}' -Value ${tweak.originalValue} -Type DWord -Force` + ) } else { await ps(`Remove-ItemProperty -Path '${tweak.path}' -Name '${tweak.name}' -ErrorAction SilentlyContinue`) } restored++ } catch (err: any) { + failed.push(tweak) errors.push({ path: tweak.path, name: tweak.name, reason: err?.message ?? 'unknown' }) } } - return { restored, errors } + return { restored, failed, errors } } // ── Game Bar / DVR ────────────────────────────────────────── @@ -467,37 +514,42 @@ async function disableNagle(snapshot: GameModeSnapshot): Promise { ) } +/** + * Restore per-interface Nagle settings. + * Interfaces that no longer exist (VPN / virtual adapters routinely disappear + * across a reboot) count as restored — there is nothing left to write to. + * Returns the interfaces still pending so the caller can scrub the rest. + */ async function restoreNagle( interfaces: GameModeSnapshot['nagleInterfaces'], -): Promise { - if (!interfaces.length) return - const failed: string[] = [] +): Promise<{ + restored: number + failed: GameModeSnapshot['nagleInterfaces'] + errors: string[] +}> { + let restored = 0 + const failed: GameModeSnapshot['nagleInterfaces'] = [] + const errors: string[] = [] for (const iface of interfaces) { + const noDelay = iface.originalTcpNoDelay !== null + ? `Set-ItemProperty -Path $p -Name TcpNoDelay -Value ${iface.originalTcpNoDelay} -Type DWord -Force` + : `Remove-ItemProperty -Path $p -Name TcpNoDelay -ErrorAction SilentlyContinue` + const ackFreq = iface.originalTcpAckFrequency !== null + ? `Set-ItemProperty -Path $p -Name TcpAckFrequency -Value ${iface.originalTcpAckFrequency} -Type DWord -Force` + : `Remove-ItemProperty -Path $p -Name TcpAckFrequency -ErrorAction SilentlyContinue` try { - if (iface.originalTcpNoDelay !== null) { - await ps(`Set-ItemProperty -Path '${iface.path}' -Name TcpNoDelay -Value ${iface.originalTcpNoDelay} -Type DWord -Force`) - } else { - await ps(`Remove-ItemProperty -Path '${iface.path}' -Name TcpNoDelay -ErrorAction SilentlyContinue`) - } - if (iface.originalTcpAckFrequency !== null) { - await ps(`Set-ItemProperty -Path '${iface.path}' -Name TcpAckFrequency -Value ${iface.originalTcpAckFrequency} -Type DWord -Force`) - } else { - await ps(`Remove-ItemProperty -Path '${iface.path}' -Name TcpAckFrequency -ErrorAction SilentlyContinue`) - } + await ps(`$p = '${iface.path}'; if (Test-Path $p) { ${noDelay}; ${ackFreq} }`) + restored++ } catch (err: any) { - failed.push(err?.message ?? 'unknown') + failed.push(iface) + errors.push(err?.message ?? 'unknown') } } - if (failed.length > 0) { - throw new Error(`Failed to restore ${failed.length} network interface(s)`) - } + return { restored, failed, errors } } // ── Activate / Deactivate ──────────────────────────────────── -// In-memory reference to the powerSaveBlocker ID (also stored in snapshot for restart recovery) -let activePowerBlockerId: number | null = null - export async function activateGameMode( config: GameModeConfig, onProgress: (p: GameModeProgress) => void, @@ -706,11 +758,19 @@ export async function deactivateGameMode( }) } - // Restore Nagle + // Restore Nagle. Grouped steps narrow the residual to the entries that + // actually failed before throwing, so a single stuck interface doesn't drag + // the healthy ones into every future retry. if (snapshot.nagleInterfaces.length > 0) { steps.push({ id: 'net-disable-nagle', - fn: () => restoreNagle(snapshot.nagleInterfaces), + fn: async () => { + const r = await restoreNagle(snapshot.nagleInterfaces) + residual.nagleInterfaces = r.failed + if (r.failed.length > 0) { + throw new Error(`${r.failed.length} network interface(s) failed to restore: ${r.errors[0]}`) + } + }, clear: () => { residual.nagleInterfaces = [] }, }) } @@ -721,7 +781,10 @@ export async function deactivateGameMode( id: 'sys-registry-tweaks', fn: async () => { const r = await restoreRegistryTweaks(snapshot.registryTweaks) - if (r.errors.length > 0) throw new Error(`${r.errors.length} registry value(s) failed to restore`) + residual.registryTweaks = r.failed + if (r.failed.length > 0) { + throw new Error(`${r.failed.length} registry value(s) failed to restore: ${r.errors[0].reason}`) + } }, clear: () => { residual.registryTweaks = [] }, }) @@ -747,17 +810,41 @@ export async function deactivateGameMode( deleteSnapshot() } else { residual.active = false + // Persist why, so the cleanup banner can name the stuck step even after + // the app restarts. + residual.restoreErrors = errors.map((e) => ({ + optimizationId: e.optimizationId, + reason: (e.reason ?? 'Unknown error').slice(0, 500), + })) writeSnapshot(residual) } return { restored, failed: errors.length, errors } } +/** + * Drop a residual snapshot without restoring it. The escape hatch for a + * restore step that can never succeed on this machine — without it, activation + * stays blocked forever and the only fix is deleting the file by hand. + * Refuses while Game Mode is live: discarding then would strand real changes. + */ +export function discardPendingRestore(): { discarded: boolean; reason?: string } { + const snapshot = readSnapshot() + if (snapshot?.active === true) { + return { discarded: false, reason: 'Game Mode is still active — deactivate it first' } + } + // A snapshot that fails validation reads back as null but the file is still + // on disk blocking nothing; deleting it here also clears that case. + deleteSnapshot() + return { discarded: true } +} + export function getGameModeStatus(): GameModeStatus { const snapshot = readSnapshot() return { active: snapshot?.active === true, activatedAt: snapshot?.activatedAt ?? null, pendingRestore: snapshot !== null && snapshot.active === false, + pendingReason: snapshot?.restoreErrors?.[0]?.reason ?? null, } } @@ -831,10 +918,16 @@ export function registerGameModeIpc(getWindow: WindowGetter): void { return { succeeded: 0, failed: 1, errors: [{ optimizationId: 'config', reason: 'Game Mode is already active' }], snapshot: null } } if (existing) { + const detail = existing.restoreErrors?.[0]?.reason return { succeeded: 0, failed: 1, - errors: [{ optimizationId: 'config', reason: 'Previous deactivation left unrestored items — please retry deactivation first' }], + errors: [{ + optimizationId: 'config', + reason: detail + ? `Previous deactivation left unrestored items (${detail}) — retry the cleanup, or discard it to unblock Game Mode` + : 'Previous deactivation left unrestored items — retry the cleanup, or discard it to unblock Game Mode', + }], snapshot: null, } } @@ -855,6 +948,10 @@ export function registerGameModeIpc(getWindow: WindowGetter): void { return getGameModeStatus() }) + ipcMain.handle(IPC.GAME_MODE_DISCARD_PENDING, () => { + return discardPendingRestore() + }) + // ── Auto-detect lifecycle ──────────────────────────────────── initGameDetector(getWindow, sendProgress, sendAutoEvent) } diff --git a/src/preload/index.ts b/src/preload/index.ts index e1f403a6..1445ca77 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -563,6 +563,8 @@ const api = { ipcRenderer.invoke(IPC.GAME_MODE_DEACTIVATE), gameModeStatus: (): Promise => ipcRenderer.invoke(IPC.GAME_MODE_STATUS), + gameModeDiscardPending: (): Promise<{ discarded: boolean; reason?: string }> => + ipcRenderer.invoke(IPC.GAME_MODE_DISCARD_PENDING), onGameModeProgress: (callback: (data: GameModeProgress) => void) => { const handler = (_event: Electron.IpcRendererEvent, data: GameModeProgress) => callback(data) ipcRenderer.on(IPC.GAME_MODE_PROGRESS, handler) diff --git a/src/renderer/src/locales/en/gameMode.json b/src/renderer/src/locales/en/gameMode.json index ff9e2998..f63e9996 100644 --- a/src/renderer/src/locales/en/gameMode.json +++ b/src/renderer/src/locales/en/gameMode.json @@ -79,6 +79,17 @@ "noOptimizationsSelected": "Select at least one optimization to activate Game Mode", "configLockedWhileActive": "Deactivate Game Mode to change settings", + "pendingRestoreBanner": "Some settings from the last session couldn't be restored automatically. Retry once the cause (e.g. admin rights) is resolved.", + "pendingRestoreDiscardHint": "If it keeps failing, discard the pending state to unblock Game Mode. Any settings still changed stay as they are.", + "retryCleanup": "Retry cleanup", + "retryingCleanup": "Retrying…", + "discardPending": "Discard", + "discardConfirm": "Confirm discard", + "discardDone": "Pending cleanup discarded — Game Mode can be activated again", + "discardFailed": "Could not discard the pending cleanup", + "restoreFailedToast": "Cleanup incomplete — {{count}} still pending: {{reason}}", + "restoreReasonUnknown": "unknown error", + "statOptimizationsActive": "Optimizations Active", "statServicesDisabled": "Services Paused", "statSessionTimer": "Session Timer", diff --git a/src/renderer/src/pages/GameModePage.tsx b/src/renderer/src/pages/GameModePage.tsx index 7674cdce..c5ea4111 100644 --- a/src/renderer/src/pages/GameModePage.tsx +++ b/src/renderer/src/pages/GameModePage.tsx @@ -182,6 +182,7 @@ export function GameModePage() { const active = useGameModeStore((s) => s.active) const activatedAt = useGameModeStore((s) => s.activatedAt) const pendingRestore = useGameModeStore((s) => s.pendingRestore) + const pendingReason = useGameModeStore((s) => s.pendingReason) const status = useGameModeStore((s) => s.status) const progress = useGameModeStore((s) => s.progress) const lastResult = useGameModeStore((s) => s.lastResult) @@ -192,6 +193,7 @@ export function GameModePage() { const [elapsed, setElapsed] = useState(0) const [customInput, setCustomInput] = useState('') const [gameInput, setGameInput] = useState('') + const [confirmDiscard, setConfirmDiscard] = useState(false) const progressCleanupRef = useRef<(() => void) | null>(null) // Cleanup progress listener on unmount @@ -199,6 +201,11 @@ export function GameModePage() { return () => { progressCleanupRef.current?.() } }, []) + // Drop the discard confirmation whenever the banner is no longer showing + useEffect(() => { + if (!pendingRestore) setConfirmDiscard(false) + }, [pendingRestore]) + // Session timer useEffect(() => { if (!active || !activatedAt) { @@ -266,9 +273,10 @@ export function GameModePage() { try { const result = await window.kudu.gameModeDeactivate() store.getState().setActive(false, null) - store.getState().setPendingRestore(result.failed > 0) + const reason = result.errors[0]?.reason ?? null + store.getState().setPendingRestore(result.failed > 0, reason) if (result.failed > 0) { - toast.warning(`${result.failed} setting(s) could not be restored — use the cleanup banner below to retry once the cause is fixed`) + toast.warning(t('restoreFailedToast', { count: result.failed, reason: reason ?? t('restoreReasonUnknown') })) } store.getState().setLastResult({ type: 'deactivate', succeeded: result.restored, failed: result.failed }) } catch (err: any) { @@ -279,7 +287,21 @@ export function GameModePage() { progressCleanupRef.current?.() progressCleanupRef.current = null } - }, []) + }, [t]) + + const handleDiscardPending = useCallback(async () => { + try { + const result = await window.kudu.gameModeDiscardPending() + if (!result.discarded) { + toast.error(result.reason ?? t('discardFailed')) + return + } + store.getState().setPendingRestore(false, null) + toast.success(t('discardDone')) + } catch (err: any) { + toast.error(err?.message ?? t('discardFailed')) + } + }, [t]) const handleAddCustomProcess = useCallback(() => { const name = customInput.trim() @@ -561,21 +583,42 @@ export function GameModePage() { {/* ── Pending restore banner ──────────────────── */} {!active && pendingRestore && (
- - - Some settings from the last session couldn't be restored automatically. Retry once the cause (e.g. admin rights) is resolved. - - + +
+ {t('pendingRestoreBanner')} + {pendingReason && ( +
{pendingReason}
+ )} +
{t('pendingRestoreDiscardHint')}
+
+
+ + +
)} diff --git a/src/renderer/src/stores/game-mode-store.ts b/src/renderer/src/stores/game-mode-store.ts index c6f472f8..1bfd8046 100644 --- a/src/renderer/src/stores/game-mode-store.ts +++ b/src/renderer/src/stores/game-mode-store.ts @@ -10,6 +10,7 @@ interface GameModeStoreState { active: boolean activatedAt: string | null pendingRestore: boolean + pendingReason: string | null // UI state status: 'idle' | 'activating' | 'deactivating' @@ -25,7 +26,7 @@ interface GameModeStoreState { // Actions setActive: (active: boolean, activatedAt: string | null) => void - setPendingRestore: (pending: boolean) => void + setPendingRestore: (pending: boolean, reason?: string | null) => void setStatus: (status: 'idle' | 'activating' | 'deactivating') => void setProgress: (progress: GameModeProgress | null) => void setLastResult: (result: { type: 'activate' | 'deactivate'; succeeded: number; failed: number } | null) => void @@ -58,6 +59,7 @@ export const useGameModeStore = create((set, get) => ({ active: false, activatedAt: null, pendingRestore: false, + pendingReason: null, status: 'idle', progress: null, @@ -69,7 +71,7 @@ export const useGameModeStore = create((set, get) => ({ expandedCategories: new Set(), setActive: (active, activatedAt) => set({ active, activatedAt }), - setPendingRestore: (pendingRestore) => set({ pendingRestore }), + setPendingRestore: (pendingRestore, pendingReason = null) => set({ pendingRestore, pendingReason }), setStatus: (status) => set({ status }), setProgress: (progress) => set({ progress }), setLastResult: (lastResult) => set({ lastResult }), @@ -137,7 +139,7 @@ export function initGameModeStore(): void { window.kudu?.gameModeStatus?.().then((status) => { const s = useGameModeStore.getState() s.setActive(status.active, status.activatedAt) - s.setPendingRestore(status.pendingRestore ?? false) + s.setPendingRestore(status.pendingRestore ?? false, status.pendingReason ?? null) }).catch(() => {}) // Listen for auto-detect events globally so the store stays in sync @@ -153,7 +155,7 @@ export function initGameModeStore(): void { window.kudu?.gameModeStatus?.().then((status) => { const st = useGameModeStore.getState() st.setActive(status.active, status.activatedAt) - st.setPendingRestore(status.pendingRestore ?? false) + st.setPendingRestore(status.pendingRestore ?? false, status.pendingReason ?? null) }).catch(() => {}) }) } diff --git a/src/shared/channels.ts b/src/shared/channels.ts index a4880b91..94645361 100644 --- a/src/shared/channels.ts +++ b/src/shared/channels.ts @@ -253,6 +253,7 @@ export const IPC = { GAME_MODE_ACTIVATE: 'game-mode:activate', GAME_MODE_DEACTIVATE: 'game-mode:deactivate', GAME_MODE_STATUS: 'game-mode:status', + GAME_MODE_DISCARD_PENDING: 'game-mode:discard-pending', GAME_MODE_PROGRESS: 'game-mode:progress', GAME_MODE_AUTO_EVENT: 'game-mode:auto-event', diff --git a/src/shared/types.ts b/src/shared/types.ts index aca50f9a..77a2ba55 100644 --- a/src/shared/types.ts +++ b/src/shared/types.ts @@ -731,6 +731,9 @@ export interface GameModeSnapshot { powerSaveBlockerId: number | null nagleInterfaces: Array<{ path: string; originalTcpNoDelay: number | null; originalTcpAckFrequency: number | null }> registryTweaks: Array<{ path: string; name: string; originalValue: number | null }> + // Why the last deactivation left items behind. Persisted so the cleanup + // banner can name the offending step after an app restart. + restoreErrors?: Array<{ optimizationId: string; reason: string }> } export interface GameModeActivateResult { @@ -759,6 +762,8 @@ export interface GameModeStatus { /** True when a previous deactivation left items unrestored. The toggle is * not "on", but a cleanup retry is available. */ pendingRestore: boolean + /** Reason the first unrestored item failed, or null when unknown. */ + pendingReason: string | null } // ─── Service Manager ──────────────────────────────────────── From 428b6aff1fefa21ccfd8718b247336b1de8bf1bb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 27 Jul 2026 01:35:00 +0000 Subject: [PATCH 2/2] chore: auto-update translations --- src/renderer/src/locales/.checksums.json | 58 ++++++------ src/renderer/src/locales/ar/gameMode.json | 28 ++++-- src/renderer/src/locales/cs/gameMode.json | 24 +++-- src/renderer/src/locales/da/gameMode.json | 36 ++++--- src/renderer/src/locales/de/gameMode.json | 26 ++++-- src/renderer/src/locales/el/gameMode.json | 84 +++++++++-------- src/renderer/src/locales/es/gameMode.json | 32 ++++--- src/renderer/src/locales/fi/gameMode.json | 26 ++++-- src/renderer/src/locales/fr/gameMode.json | 54 ++++++----- src/renderer/src/locales/he/gameMode.json | 98 +++++++++++--------- src/renderer/src/locales/hi/gameMode.json | 42 +++++---- src/renderer/src/locales/hu/gameMode.json | 66 +++++++------ src/renderer/src/locales/id/gameMode.json | 18 +++- src/renderer/src/locales/it/gameMode.json | 40 +++++--- src/renderer/src/locales/ja/gameMode.json | 70 ++++++++------ src/renderer/src/locales/ko/gameMode.json | 34 ++++--- src/renderer/src/locales/ms/gameMode.json | 28 ++++-- src/renderer/src/locales/nl/gameMode.json | 26 ++++-- src/renderer/src/locales/no/gameMode.json | 24 +++-- src/renderer/src/locales/pl/gameMode.json | 28 ++++-- src/renderer/src/locales/pt/gameMode.json | 54 ++++++----- src/renderer/src/locales/ro/gameMode.json | 50 ++++++---- src/renderer/src/locales/ru/gameMode.json | 36 ++++--- src/renderer/src/locales/sv/gameMode.json | 34 ++++--- src/renderer/src/locales/th/gameMode.json | 42 +++++---- src/renderer/src/locales/tr/gameMode.json | 38 +++++--- src/renderer/src/locales/uk/gameMode.json | 64 +++++++------ src/renderer/src/locales/vi/gameMode.json | 48 ++++++---- src/renderer/src/locales/zh-CN/gameMode.json | 20 +++- src/renderer/src/locales/zh-TW/gameMode.json | 30 ++++-- 30 files changed, 774 insertions(+), 484 deletions(-) diff --git a/src/renderer/src/locales/.checksums.json b/src/renderer/src/locales/.checksums.json index 58378045..f0ba3a87 100644 --- a/src/renderer/src/locales/.checksums.json +++ b/src/renderer/src/locales/.checksums.json @@ -551,63 +551,63 @@ "hu/uninstaller": "557dfc2f5580f17bcffba45d03e2c5eb6472592f2dafde3f4f9eecfe41aec3f6", "hu/updates": "a8f4fc03dede88d4597f3acab0b0f5aa737821cbe53d9bc29259cc6b097f9f70", "es/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "es/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "es/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "fr/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "fr/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "fr/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "de/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "de/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "de/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "pt/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "pt/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "pt/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "it/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "it/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "it/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "ja/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "ja/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "ja/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "ko/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "ko/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "ko/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "zh-CN/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "zh-CN/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "zh-CN/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "zh-TW/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "zh-TW/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "zh-TW/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "ru/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "ru/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "ru/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "ar/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "ar/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "ar/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "hi/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "hi/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "hi/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "tr/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "tr/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "tr/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "nl/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "nl/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "nl/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "pl/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "pl/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "pl/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "sv/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "sv/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "sv/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "no/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "no/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "no/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "da/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "da/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "da/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "fi/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "fi/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "fi/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "cs/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "cs/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "cs/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "th/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "th/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "th/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "vi/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "vi/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "vi/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "id/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "id/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "id/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "ms/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "ms/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "ms/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "uk/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "uk/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "uk/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "ro/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "ro/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "ro/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "el/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "el/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "el/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "he/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "he/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "he/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "hu/duplicates": "165718f82076f04ad0b87fac1c05f04b13e907c9ecb1da426bac61bc85e964cc", - "hu/gameMode": "dcb9871b239daedd89438b05978ed3528afb5415e91b82e40045b699788992e0", + "hu/gameMode": "787be41e8ca4ffb0e8ffad74b9c88d197494d46aab765c8cce875d6eeffffd8a", "es/cveScanner": "c5b4fe568dedac25a5324aa3a91d0d43e0772cfb333feabebef66d4632fafb1d", "fr/cveScanner": "c5b4fe568dedac25a5324aa3a91d0d43e0772cfb333feabebef66d4632fafb1d", "de/cveScanner": "c5b4fe568dedac25a5324aa3a91d0d43e0772cfb333feabebef66d4632fafb1d", diff --git a/src/renderer/src/locales/ar/gameMode.json b/src/renderer/src/locales/ar/gameMode.json index e8369618..4dc6d93d 100644 --- a/src/renderer/src/locales/ar/gameMode.json +++ b/src/renderer/src/locales/ar/gameMode.json @@ -32,15 +32,15 @@ "optSvcWuauserv": "إيقاف Windows Update مؤقتًا", "optSvcWuauservDesc": "يوقف مؤقتًا تنزيلات التحديث في الخلفية", "optSvcSpooler": "تعطيل Print Spooler", - "optSvcSpoolerDesc": "يوقف خدمة الطباعة إذا لم تكن لديك طابعة متصلة", + "optSvcSpoolerDesc": "يوقف خدمة الطباعة إذا لم تكن هناك طابعة متصلة", "optSvcDiagtrack": "تعطيل التشخيص", "optSvcDiagtrackDesc": "يوقف خدمات القياس عن بُعد وتتبع التشخيص", "optProcBrowsers": "إغلاق المتصفحات", - "optProcBrowsersDesc": "إنهاء Chrome وFirefox وEdge وغيرها من المتصفحات", + "optProcBrowsersDesc": "إنهاء Chrome وFirefox وEdge والمتصفحات الأخرى", "optProcChat": "إغلاق تطبيقات الدردشة", - "optProcChatDesc": "إنهاء Discord وSlack وTeams وغيرها من تطبيقات الدردشة", + "optProcChatDesc": "إنهاء Discord وSlack وTeams وتطبيقات الدردشة الأخرى", "optProcUpdaters": "إيقاف برامج التحديث في الخلفية", - "optProcUpdatersDesc": "إنهاء عوامل تحديث البرامج العاملة في الخلفية", + "optProcUpdatersDesc": "إنهاء عوامل تحديث البرامج التي تعمل في الخلفية", "optProcCustom": "قائمة عمليات مخصصة", "optProcCustomDesc": "إنهاء العمليات التي تحددها بالاسم", "customProcessPlaceholder": "اسم العملية (مثل spotify.exe)", @@ -48,7 +48,7 @@ "customProcessEmpty": "لم يتم تكوين أي عمليات مخصصة", "optMemStandby": "مسح ذاكرة الاستعداد", "optMemStandbyDesc": "تفريغ RAM المخزنة مؤقتًا لتحرير الذاكرة للعبتك", - "optSysFocusAssist": "تمكين مساعد التركيز", + "optSysFocusAssist": "تمكين \"التركيز\"", "optSysFocusAssistDesc": "كتم إشعارات Windows والتنبيهات", "optSysPowerPlan": "خطة طاقة الأداء العالي", "optSysPowerPlanDesc": "التبديل إلى ملف تعريف الطاقة لأقصى أداء", @@ -57,11 +57,11 @@ "optSysGameBar": "تعطيل Game Bar / DVR", "optSysGameBarDesc": "إيقاف تراكب Xbox Game Bar والتسجيل في الخلفية", "optSysFseOpt": "تعطيل تحسينات ملء الشاشة", - "optSysFseOptDesc": "منع Windows من تطبيق تركيب DWM على الألعاب بملء الشاشة", + "optSysFseOptDesc": "منع Windows من تطبيق DWM composition على الألعاب بملء الشاشة", "optSysTransparency": "تعطيل تأثيرات الشفافية", - "optSysTransparencyDesc": "إيقاف شفافية النوافذ لتقليل حمل التركيب على GPU", + "optSysTransparencyDesc": "إيقاف شفافية النوافذ لتقليل عبء التركيب على GPU", "optNetFlushDns": "مسح ذاكرة DNS المؤقتة", - "optNetFlushDnsDesc": "مسح ذاكرة محلل DNS المؤقتة لإجراء عمليات بحث جديدة", + "optNetFlushDnsDesc": "مسح ذاكرة التخزين المؤقت لمحلل DNS لإجراء عمليات بحث جديدة", "optNetNagle": "تعطيل خوارزمية Nagle", "optNetNagleDesc": "تقليل زمن استجابة الشبكة عبر تعطيل تجميع حزم TCP", "enabledCount": "تم تمكين {{count}}", @@ -69,6 +69,16 @@ "warningProcesses": "لا يمكن إعادة تشغيل العمليات التي تم إنهاؤها تلقائيًا عند إلغاء تفعيل وضع الألعاب.", "noOptimizationsSelected": "حدد تحسينًا واحدًا على الأقل لتفعيل وضع الألعاب", "configLockedWhileActive": "قم بإلغاء تفعيل وضع الألعاب لتغيير الإعدادات", + "pendingRestoreBanner": "تعذر استعادة بعض الإعدادات من الجلسة السابقة تلقائيًا. أعد المحاولة بعد حل السبب (مثل صلاحيات المسؤول).", + "pendingRestoreDiscardHint": "إذا استمر الفشل، فتجاهل الحالة المعلقة لإلغاء حظر وضع الألعاب. ستبقى أي إعدادات ما تزال متغيرة كما هي.", + "retryCleanup": "إعادة محاولة التنظيف", + "retryingCleanup": "جارٍ إعادة المحاولة…", + "discardPending": "تجاهل", + "discardConfirm": "تأكيد التجاهل", + "discardDone": "تم تجاهل التنظيف المعلق — يمكن تفعيل وضع الألعاب مرة أخرى", + "discardFailed": "تعذر تجاهل التنظيف المعلق", + "restoreFailedToast": "التنظيف غير مكتمل — ما يزال {{count}} معلقًا: {{reason}}", + "restoreReasonUnknown": "خطأ غير معروف", "statOptimizationsActive": "التحسينات النشطة", "statServicesDisabled": "الخدمات المتوقفة مؤقتًا", "statSessionTimer": "مؤقت الجلسة", @@ -76,7 +86,7 @@ "autoDetectLabel": "اكتشاف الألعاب تلقائيًا", "autoDetectDesc": "تفعيل وضع الألعاب تلقائيًا عند تشغيل لعبة", "autoDeactivateLabel": "إلغاء التفعيل تلقائيًا عند الخروج", - "autoDeactivateDesc": "استعادة إعدادات النظام عند الخروج من اللعبة", + "autoDeactivateDesc": "استعادة إعدادات النظام عند إغلاق اللعبة", "customGameProcessesLabel": "عمليات ألعاب مخصصة", "customGameProcessesDesc": "أضف أسماء الملفات التنفيذية للألعاب غير الموجودة في القائمة المضمنة", "customGamePlaceholder": "الملف التنفيذي للعبة (مثل mygame.exe)", diff --git a/src/renderer/src/locales/cs/gameMode.json b/src/renderer/src/locales/cs/gameMode.json index 6a1cd1bd..aa0d98a7 100644 --- a/src/renderer/src/locales/cs/gameMode.json +++ b/src/renderer/src/locales/cs/gameMode.json @@ -1,6 +1,6 @@ { "pageTitle": "Herní režim", - "pageDescription": "Optimalizujte systém pro maximální herní výkon", + "pageDescription": "Optimalizujte svůj systém pro maximální herní výkon", "activateButton": "AKTIVOVAT", "deactivateButton": "DEAKTIVOVAT", "activeLabel": "AKTIVNÍ", @@ -11,14 +11,14 @@ "applyingOptimization": "Používá se: {{label}}", "restoringOptimization": "Obnovuje se: {{label}}", "resultActivated": "Herní režim aktivován — použita {{count}} optimalizace", - "resultActivated_plural": "Herní režim aktivován — použito {{count}} optimalizací", + "resultActivated_plural": "Herní režim aktivován — použity {{count}} optimalizace", "resultDeactivated": "Systém obnoven — vráceno {{count}} nastavení", - "resultDeactivated_plural": "Systém obnoven — vráceno {{count}} nastavení", + "resultDeactivated_plural": "Systém obnoven — vrácena {{count}} nastavení", "resultErrors": "{{count}} selhalo", "categoryServices": "Služby", "categoryServicesDesc": "Zakáže služby Windows náročné na prostředky", "categoryProcesses": "Procesy", - "categoryProcessesDesc": "Ukončí aplikace na pozadí využívající prostředky", + "categoryProcessesDesc": "Ukončí aplikace na pozadí spotřebovávající prostředky", "categoryMemory": "Paměť", "categoryMemoryDesc": "Uvolní RAM pro vaši hru", "categorySystem": "Systém", @@ -39,7 +39,7 @@ "optProcBrowsersDesc": "Ukončí Chrome, Firefox, Edge a další prohlížeče", "optProcChat": "Zavřít chatovací aplikace", "optProcChatDesc": "Ukončí Discord, Slack, Teams a další chatovací aplikace", - "optProcUpdaters": "Zastavit aktualizátory na pozadí", + "optProcUpdaters": "Zastavit aktualizace na pozadí", "optProcUpdatersDesc": "Ukončí agenty aktualizací softwaru běžící na pozadí", "optProcCustom": "Vlastní seznam procesů", "optProcCustomDesc": "Ukončí procesy, které zadáte podle názvu", @@ -59,9 +59,9 @@ "optSysFseOpt": "Zakázat optimalizace pro režim celé obrazovky", "optSysFseOptDesc": "Zabrání systému Windows používat kompozici DWM u her v režimu celé obrazovky", "optSysTransparency": "Zakázat efekty průhlednosti", - "optSysTransparencyDesc": "Vypne průhlednost oken, aby se snížila zátěž GPU při kompozici", + "optSysTransparencyDesc": "Vypne průhlednost oken, aby se snížila režie kompozice GPU", "optNetFlushDns": "Vyprázdnit mezipaměť DNS", - "optNetFlushDnsDesc": "Vymaže mezipaměť překladače DNS pro nové dotazy", + "optNetFlushDnsDesc": "Vymaže mezipaměť překladače DNS pro nová vyhledání", "optNetNagle": "Zakázat Nagleův algoritmus", "optNetNagleDesc": "Sníží latenci sítě zakázáním dávkování TCP paketů", "enabledCount": "{{count}} zapnuto", @@ -69,6 +69,16 @@ "warningProcesses": "Ukončené procesy nelze po deaktivaci Herního režimu automaticky znovu spustit.", "noOptimizationsSelected": "Pro aktivaci Herního režimu vyberte alespoň jednu optimalizaci", "configLockedWhileActive": "Chcete-li změnit nastavení, deaktivujte Herní režim", + "pendingRestoreBanner": "Některá nastavení z poslední relace se nepodařilo automaticky obnovit. Opakujte akci, jakmile bude příčina vyřešena (např. oprávnění správce).", + "pendingRestoreDiscardHint": "Pokud se to stále nedaří, zahoďte čekající stav, aby bylo možné Herní režim znovu použít. Všechna dosud změněná nastavení zůstanou beze změny.", + "retryCleanup": "Opakovat vyčištění", + "retryingCleanup": "Opakuje se…", + "discardPending": "Zahodit", + "discardConfirm": "Potvrdit zahození", + "discardDone": "Čekající vyčištění zahozeno — Herní režim lze znovu aktivovat", + "discardFailed": "Čekající vyčištění se nepodařilo zahodit", + "restoreFailedToast": "Vyčištění není dokončeno — stále čeká {{count}}: {{reason}}", + "restoreReasonUnknown": "neznámá chyba", "statOptimizationsActive": "Aktivní optimalizace", "statServicesDisabled": "Pozastavené služby", "statSessionTimer": "Časovač relace", diff --git a/src/renderer/src/locales/da/gameMode.json b/src/renderer/src/locales/da/gameMode.json index 6fec7a33..c788d399 100644 --- a/src/renderer/src/locales/da/gameMode.json +++ b/src/renderer/src/locales/da/gameMode.json @@ -1,8 +1,8 @@ { "pageTitle": "Spiltilstand", - "pageDescription": "Optimer dit system til maksimal spilydelse", - "activateButton": "AKTIVER", - "deactivateButton": "DEAKTIVER", + "pageDescription": "Optimer dit system for maksimal spilydelse", + "activateButton": "AKTIVÉR", + "deactivateButton": "DEAKTIVÉR", "activeLabel": "AKTIV", "inactiveLabel": "KLAR", "activeSince": "Aktiv i {{time}}", @@ -24,11 +24,11 @@ "categorySystem": "System", "categorySystemDesc": "Bloker meddelelser og maksimer ydeevnen", "categoryNetwork": "Netværk", - "categoryNetworkDesc": "Optimer netværkslatens", + "categoryNetworkDesc": "Optimer netværksforsinkelse", "optSvcWsearch": "Deaktiver Windows Search", "optSvcWsearchDesc": "Stopper indekseringstjenesten, som bruger CPU og disk", "optSvcSysmain": "Deaktiver SysMain (Superfetch)", - "optSvcSysmainDesc": "Stopper tjenesten til forhåndsindlæsning i hukommelsen", + "optSvcSysmainDesc": "Stopper tjenesten til forhåndsindlæsning af hukommelse", "optSvcWuauserv": "Sæt Windows Update på pause", "optSvcWuauservDesc": "Stopper midlertidigt download af opdateringer i baggrunden", "optSvcSpooler": "Deaktiver Print Spooler", @@ -46,14 +46,14 @@ "customProcessPlaceholder": "Procesnavn (f.eks. spotify.exe)", "customProcessAdd": "Tilføj", "customProcessEmpty": "Ingen brugerdefinerede processer konfigureret", - "optMemStandby": "Ryd standbyhukommelse", + "optMemStandby": "Ryd standby-hukommelse", "optMemStandbyDesc": "Ryd cachelagret RAM for at frigøre hukommelse til dit spil", - "optSysFocusAssist": "Aktiver Fokusassistent", + "optSysFocusAssist": "Aktivér Fokusassistent", "optSysFocusAssistDesc": "Undertryk Windows-meddelelser og advarsler", - "optSysPowerPlan": "Strømstyringsplanen Høj ydeevne", + "optSysPowerPlan": "Strømstyringsplan med høj ydeevne", "optSysPowerPlanDesc": "Skift til strømprofilen for maksimal ydeevne", - "optSysPreventSleep": "Forhindr slumring", - "optSysPreventSleepDesc": "Hold skærmen tændt, og forhindre systemet i at gå i slumring", + "optSysPreventSleep": "Forhindr slumretilstand", + "optSysPreventSleepDesc": "Hold skærmen tændt, og forhindre systemet i at gå i slumretilstand", "optSysGameBar": "Deaktiver Game Bar / DVR", "optSysGameBarDesc": "Slå Xbox Game Bar-overlay og baggrundsoptagelse fra", "optSysFseOpt": "Deaktiver fuldskærmsoptimeringer", @@ -62,19 +62,29 @@ "optSysTransparencyDesc": "Slå vinduesgennemsigtighed fra for at reducere GPU-belastning fra komposition", "optNetFlushDns": "Ryd DNS-cache", "optNetFlushDnsDesc": "Ryd DNS-resolvercachen for nye opslag", - "optNetNagle": "Deaktiver Nagle's algoritme", - "optNetNagleDesc": "Reducer netværkslatens ved at deaktivere batching af TCP-pakker", + "optNetNagle": "Deaktiver Nagle's Algorithm", + "optNetNagleDesc": "Reducer netværksforsinkelse ved at deaktivere batching af TCP-pakker", "enabledCount": "{{count}} aktiveret", "adminBadge": "ADMIN", "warningProcesses": "Afsluttede processer kan ikke genstartes automatisk, når Spiltilstand deaktiveres.", "noOptimizationsSelected": "Vælg mindst én optimering for at aktivere Spiltilstand", "configLockedWhileActive": "Deaktiver Spiltilstand for at ændre indstillinger", + "pendingRestoreBanner": "Nogle indstillinger fra den sidste session kunne ikke gendannes automatisk. Prøv igen, når årsagen (f.eks. administratorrettigheder) er løst.", + "pendingRestoreDiscardHint": "Hvis det fortsat mislykkes, kan du kassere den afventende tilstand for at ophæve blokeringen af Spiltilstand. Eventuelle indstillinger, der stadig er ændret, forbliver som de er.", + "retryCleanup": "Prøv oprydning igen", + "retryingCleanup": "Prøver igen…", + "discardPending": "Kassér", + "discardConfirm": "Bekræft kassering", + "discardDone": "Afventende oprydning kasseret — Spiltilstand kan aktiveres igen", + "discardFailed": "Den afventende oprydning kunne ikke kasseres", + "restoreFailedToast": "Oprydning ufuldstændig — {{count}} afventer stadig: {{reason}}", + "restoreReasonUnknown": "ukendt fejl", "statOptimizationsActive": "Aktive optimeringer", "statServicesDisabled": "Tjenester sat på pause", "statSessionTimer": "Sessionstimer", "autoDetectTitle": "Automatisk registrering", "autoDetectLabel": "Registrer spil automatisk", - "autoDetectDesc": "Aktiver automatisk Spiltilstand, når et spil startes", + "autoDetectDesc": "Aktivér automatisk Spiltilstand, når et spil startes", "autoDeactivateLabel": "Deaktiver automatisk ved afslutning", "autoDeactivateDesc": "Gendan systemindstillinger, når spillet afsluttes", "customGameProcessesLabel": "Brugerdefinerede spilprocesser", diff --git a/src/renderer/src/locales/de/gameMode.json b/src/renderer/src/locales/de/gameMode.json index 76147c4f..ebe28715 100644 --- a/src/renderer/src/locales/de/gameMode.json +++ b/src/renderer/src/locales/de/gameMode.json @@ -28,9 +28,9 @@ "optSvcWsearch": "Windows Search deaktivieren", "optSvcWsearchDesc": "Beendet den Indizierungsdienst, der CPU und Datenträger nutzt", "optSvcSysmain": "SysMain (Superfetch) deaktivieren", - "optSvcSysmainDesc": "Beendet den Dienst für das Vorabladen in den Arbeitsspeicher", + "optSvcSysmainDesc": "Beendet den Dienst für das Vorabladen von Speicherinhalten", "optSvcWuauserv": "Windows Update anhalten", - "optSvcWuauservDesc": "Stoppt vorübergehend Update-Downloads im Hintergrund", + "optSvcWuauservDesc": "Beendet vorübergehend Update-Downloads im Hintergrund", "optSvcSpooler": "Druckwarteschlange deaktivieren", "optSvcSpoolerDesc": "Beendet den Druckdienst, wenn kein Drucker angeschlossen ist", "optSvcDiagtrack": "Diagnose deaktivieren", @@ -42,7 +42,7 @@ "optProcUpdaters": "Hintergrund-Updater beenden", "optProcUpdatersDesc": "Beendet Software-Update-Agenten, die im Hintergrund ausgeführt werden", "optProcCustom": "Benutzerdefinierte Prozessliste", - "optProcCustomDesc": "Beendet Prozesse, die Sie namentlich angeben", + "optProcCustomDesc": "Beendet Prozesse, die Sie per Namen angeben", "customProcessPlaceholder": "Prozessname (z. B. spotify.exe)", "customProcessAdd": "Hinzufügen", "customProcessEmpty": "Keine benutzerdefinierten Prozesse konfiguriert", @@ -50,25 +50,35 @@ "optMemStandbyDesc": "Bereinigt zwischengespeicherten RAM, um Speicher für Ihr Spiel freizugeben", "optSysFocusAssist": "Fokus-Assistent aktivieren", "optSysFocusAssistDesc": "Unterdrückt Windows-Benachrichtigungen und Warnungen", - "optSysPowerPlan": "Energiesparplan Höchstleistung", + "optSysPowerPlan": "Energiesparplan „Höchstleistung“", "optSysPowerPlanDesc": "Wechselt zum Energieprofil für maximale Leistung", "optSysPreventSleep": "Standbymodus verhindern", "optSysPreventSleepDesc": "Lässt den Bildschirm eingeschaltet und verhindert den Standbymodus des Systems", "optSysGameBar": "Game Bar / DVR deaktivieren", "optSysGameBarDesc": "Deaktiviert das Xbox Game Bar-Overlay und die Hintergrundaufzeichnung", "optSysFseOpt": "Vollbildoptimierungen deaktivieren", - "optSysFseOptDesc": "Verhindert, dass Windows die DWM-Komposition auf Vollbildspiele anwendet", + "optSysFseOptDesc": "Verhindert, dass Windows DWM-Komposition auf Vollbildspiele anwendet", "optSysTransparency": "Transparenzeffekte deaktivieren", - "optSysTransparencyDesc": "Deaktiviert Fenstertransparenz, um den GPU-Aufwand für die Komposition zu reduzieren", + "optSysTransparencyDesc": "Deaktiviert Fenstertransparenz, um den GPU-Aufwand für die Komposition zu verringern", "optNetFlushDns": "DNS-Cache leeren", - "optNetFlushDnsDesc": "Leert den DNS-Resolvercache für neue Auflösungen", + "optNetFlushDnsDesc": "Leert den DNS-Resolvercache für neue Abfragen", "optNetNagle": "Nagle-Algorithmus deaktivieren", - "optNetNagleDesc": "Reduziert die Netzwerklatenz durch Deaktivieren der TCP-Paketbündelung", + "optNetNagleDesc": "Verringert die Netzwerklatenz durch Deaktivieren der TCP-Paketbündelung", "enabledCount": "{{count}} aktiviert", "adminBadge": "ADMIN", "warningProcesses": "Beendete Prozesse können beim Deaktivieren des Spielmodus nicht automatisch neu gestartet werden.", "noOptimizationsSelected": "Wählen Sie mindestens eine Optimierung aus, um den Spielmodus zu aktivieren", "configLockedWhileActive": "Deaktivieren Sie den Spielmodus, um die Einstellungen zu ändern", + "pendingRestoreBanner": "Einige Einstellungen aus der letzten Sitzung konnten nicht automatisch wiederhergestellt werden. Versuchen Sie es erneut, sobald die Ursache (z. B. Administratorrechte) behoben ist.", + "pendingRestoreDiscardHint": "Wenn es weiterhin fehlschlägt, verwerfen Sie den ausstehenden Zustand, um den Spielmodus wieder freizugeben. Noch geänderte Einstellungen bleiben unverändert.", + "retryCleanup": "Bereinigung erneut versuchen", + "retryingCleanup": "Erneuter Versuch…", + "discardPending": "Verwerfen", + "discardConfirm": "Verwerfen bestätigen", + "discardDone": "Ausstehende Bereinigung verworfen — Spielmodus kann wieder aktiviert werden", + "discardFailed": "Die ausstehende Bereinigung konnte nicht verworfen werden", + "restoreFailedToast": "Bereinigung unvollständig — {{count}} noch ausstehend: {{reason}}", + "restoreReasonUnknown": "unbekannter Fehler", "statOptimizationsActive": "Aktive Optimierungen", "statServicesDisabled": "Angehaltene Dienste", "statSessionTimer": "Sitzungstimer", diff --git a/src/renderer/src/locales/el/gameMode.json b/src/renderer/src/locales/el/gameMode.json index 324198d0..cd106b5c 100644 --- a/src/renderer/src/locales/el/gameMode.json +++ b/src/renderer/src/locales/el/gameMode.json @@ -1,22 +1,22 @@ { - "pageTitle": "Λειτουργία Παιχνιδιού", + "pageTitle": "Λειτουργία παιχνιδιού", "pageDescription": "Βελτιστοποιήστε το σύστημά σας για μέγιστη απόδοση στα παιχνίδια", "activateButton": "ΕΝΕΡΓΟΠΟΙΗΣΗ", "deactivateButton": "ΑΠΕΝΕΡΓΟΠΟΙΗΣΗ", "activeLabel": "ΕΝΕΡΓΗ", - "inactiveLabel": "ΕΤΟΙΜΟ", - "activeSince": "Ενεργή εδώ και {{time}}", + "inactiveLabel": "ΕΤΟΙΜΗ", + "activeSince": "Ενεργή για {{time}}", "activatingProgress": "Ενεργοποίηση βελτιστοποιήσεων...", "deactivatingProgress": "Επαναφορά κατάστασης συστήματος...", "applyingOptimization": "Εφαρμογή: {{label}}", "restoringOptimization": "Επαναφορά: {{label}}", - "resultActivated": "Η Λειτουργία Παιχνιδιού ενεργοποιήθηκε — εφαρμόστηκε {{count}} βελτιστοποίηση", - "resultActivated_plural": "Η Λειτουργία Παιχνιδιού ενεργοποιήθηκε — εφαρμόστηκαν {{count}} βελτιστοποιήσεις", + "resultActivated": "Η Λειτουργία παιχνιδιού ενεργοποιήθηκε — εφαρμόστηκε {{count}} βελτιστοποίηση", + "resultActivated_plural": "Η Λειτουργία παιχνιδιού ενεργοποιήθηκε — εφαρμόστηκαν {{count}} βελτιστοποιήσεις", "resultDeactivated": "Το σύστημα επαναφέρθηκε — αναιρέθηκε {{count}} ρύθμιση", "resultDeactivated_plural": "Το σύστημα επαναφέρθηκε — αναιρέθηκαν {{count}} ρυθμίσεις", "resultErrors": "{{count}} απέτυχαν", "categoryServices": "Υπηρεσίες", - "categoryServicesDesc": "Απενεργοποιήστε υπηρεσίες των Windows με υψηλή κατανάλωση πόρων", + "categoryServicesDesc": "Απενεργοποιήστε υπηρεσίες των Windows που καταναλώνουν πολλούς πόρους", "categoryProcesses": "Διεργασίες", "categoryProcessesDesc": "Τερματίστε εφαρμογές παρασκηνίου που καταναλώνουν πόρους", "categoryMemory": "Μνήμη", @@ -33,54 +33,64 @@ "optSvcWuauservDesc": "Διακόπτει προσωρινά τις λήψεις ενημερώσεων στο παρασκήνιο", "optSvcSpooler": "Απενεργοποίηση Print Spooler", "optSvcSpoolerDesc": "Διακόπτει την υπηρεσία εκτύπωσης αν δεν έχετε συνδεδεμένο εκτυπωτή", - "optSvcDiagtrack": "Απενεργοποίηση Διαγνωστικών", - "optSvcDiagtrackDesc": "Διακόπτει τις υπηρεσίες τηλεμετρίας και διαγνωστικής παρακολούθησης", - "optProcBrowsers": "Κλείσιμο Προγραμμάτων Περιήγησης", - "optProcBrowsersDesc": "Τερματίζει τα Chrome, Firefox, Edge και άλλα προγράμματα περιήγησης", - "optProcChat": "Κλείσιμο Εφαρμογών Συνομιλίας", - "optProcChatDesc": "Τερματίζει τα Discord, Slack, Teams και άλλες εφαρμογές συνομιλίας", - "optProcUpdaters": "Διακοπή Ενημερωτών Παρασκηνίου", + "optSvcDiagtrack": "Απενεργοποίηση διαγνωστικών", + "optSvcDiagtrackDesc": "Διακόπτει τις υπηρεσίες τηλεμετρίας και παρακολούθησης διαγνωστικών", + "optProcBrowsers": "Κλείσιμο προγραμμάτων περιήγησης", + "optProcBrowsersDesc": "Τερματίζει το Chrome, το Firefox, το Edge και άλλα προγράμματα περιήγησης", + "optProcChat": "Κλείσιμο εφαρμογών συνομιλίας", + "optProcChatDesc": "Τερματίζει το Discord, το Slack, το Teams και άλλες εφαρμογές συνομιλίας", + "optProcUpdaters": "Διακοπή ενημερωτών παρασκηνίου", "optProcUpdatersDesc": "Τερματίζει παράγοντες ενημέρωσης λογισμικού που εκτελούνται στο παρασκήνιο", - "optProcCustom": "Προσαρμοσμένη Λίστα Διεργασιών", - "optProcCustomDesc": "Τερματίζει διεργασίες που καθορίζετε βάσει ονόματος", + "optProcCustom": "Προσαρμοσμένη λίστα διεργασιών", + "optProcCustomDesc": "Τερματίζει διεργασίες που καθορίζετε με βάση το όνομα", "customProcessPlaceholder": "Όνομα διεργασίας (π.χ. spotify.exe)", "customProcessAdd": "Προσθήκη", - "customProcessEmpty": "Δεν έχουν ρυθμιστεί προσαρμοσμένες διεργασίες", - "optMemStandby": "Εκκαθάριση Μνήμης Αναμονής", + "customProcessEmpty": "Δεν έχουν οριστεί προσαρμοσμένες διεργασίες", + "optMemStandby": "Εκκαθάριση μνήμης αναμονής", "optMemStandbyDesc": "Εκκαθαρίζει την προσωρινά αποθηκευμένη RAM για να ελευθερώσει μνήμη για το παιχνίδι σας", "optSysFocusAssist": "Ενεργοποίηση Focus Assist", "optSysFocusAssistDesc": "Καταστέλλει τις ειδοποιήσεις και τις προειδοποιήσεις των Windows", - "optSysPowerPlan": "Σχέδιο Παροχής Ενέργειας Υψηλής Απόδοσης", - "optSysPowerPlanDesc": "Μετάβαση στο προφίλ ενέργειας μέγιστης απόδοσης", - "optSysPreventSleep": "Αποτροπή Αναστολής Λειτουργίας", + "optSysPowerPlan": "Σχέδιο παροχής ενέργειας υψηλής απόδοσης", + "optSysPowerPlanDesc": "Μεταβαίνει στο προφίλ ενέργειας μέγιστης απόδοσης", + "optSysPreventSleep": "Αποτροπή αναστολής λειτουργίας", "optSysPreventSleepDesc": "Διατηρεί την οθόνη ενεργή και αποτρέπει την αναστολή λειτουργίας του συστήματος", "optSysGameBar": "Απενεργοποίηση Game Bar / DVR", "optSysGameBarDesc": "Απενεργοποιεί την επικάλυψη Xbox Game Bar και την εγγραφή στο παρασκήνιο", - "optSysFseOpt": "Απενεργοποίηση Βελτιστοποιήσεων Πλήρους Οθόνης", + "optSysFseOpt": "Απενεργοποίηση βελτιστοποιήσεων πλήρους οθόνης", "optSysFseOptDesc": "Αποτρέπει τα Windows από την εφαρμογή σύνθεσης DWM σε παιχνίδια πλήρους οθόνης", - "optSysTransparency": "Απενεργοποίηση Εφέ Διαφάνειας", - "optSysTransparencyDesc": "Απενεργοποιεί τη διαφάνεια παραθύρων για μείωση της επιβάρυνσης σύνθεσης GPU", - "optNetFlushDns": "Εκκαθάριση DNS Cache", - "optNetFlushDnsDesc": "Εκκαθαρίζει την cache του επιλυτή DNS για νέες αναζητήσεις", - "optNetNagle": "Απενεργοποίηση του Αλγορίθμου Nagle", - "optNetNagleDesc": "Μειώνει την καθυστέρηση δικτύου απενεργοποιώντας την ομαδοποίηση πακέτων TCP", + "optSysTransparency": "Απενεργοποίηση εφέ διαφάνειας", + "optSysTransparencyDesc": "Απενεργοποιεί τη διαφάνεια παραθύρων για μείωση του φόρτου σύνθεσης GPU", + "optNetFlushDns": "Εκκαθάριση cache DNS", + "optNetFlushDnsDesc": "Εκκαθαρίζει την cache του επιλύτη DNS για νέες αναζητήσεις", + "optNetNagle": "Απενεργοποίηση αλγορίθμου Nagle", + "optNetNagleDesc": "Μειώνει την καθυστέρηση δικτύου απενεργοποιώντας τη ομαδοποίηση πακέτων TCP", "enabledCount": "{{count}} ενεργοποιημένα", "adminBadge": "ΔΙΑΧΕΙΡΙΣΤΗΣ", - "warningProcesses": "Οι διεργασίες που τερματίζονται δεν μπορούν να επανεκκινηθούν αυτόματα όταν απενεργοποιηθεί η Λειτουργία Παιχνιδιού.", - "noOptimizationsSelected": "Επιλέξτε τουλάχιστον μία βελτιστοποίηση για να ενεργοποιήσετε τη Λειτουργία Παιχνιδιού", - "configLockedWhileActive": "Απενεργοποιήστε τη Λειτουργία Παιχνιδιού για να αλλάξετε τις ρυθμίσεις", - "statOptimizationsActive": "Ενεργές Βελτιστοποιήσεις", - "statServicesDisabled": "Υπηρεσίες σε Παύση", - "statSessionTimer": "Χρονομετρητής Συνεδρίας", - "autoDetectTitle": "Αυτόματος Εντοπισμός", + "warningProcesses": "Οι διεργασίες που τερματίζονται δεν μπορούν να επανεκκινηθούν αυτόματα όταν απενεργοποιηθεί η Λειτουργία παιχνιδιού.", + "noOptimizationsSelected": "Επιλέξτε τουλάχιστον μία βελτιστοποίηση για να ενεργοποιήσετε τη Λειτουργία παιχνιδιού", + "configLockedWhileActive": "Απενεργοποιήστε τη Λειτουργία παιχνιδιού για να αλλάξετε ρυθμίσεις", + "pendingRestoreBanner": "Ορισμένες ρυθμίσεις από την τελευταία συνεδρία δεν ήταν δυνατό να επαναφερθούν αυτόματα. Δοκιμάστε ξανά μόλις επιλυθεί η αιτία (π.χ. δικαιώματα διαχειριστή).", + "pendingRestoreDiscardHint": "Αν συνεχίζει να αποτυγχάνει, απορρίψτε την εκκρεμή κατάσταση για να ξεμπλοκάρετε τη Λειτουργία παιχνιδιού. Τυχόν ρυθμίσεις που παραμένουν αλλαγμένες θα διατηρηθούν ως έχουν.", + "retryCleanup": "Επανάληψη εκκαθάρισης", + "retryingCleanup": "Γίνεται επανάληψη…", + "discardPending": "Απόρριψη", + "discardConfirm": "Επιβεβαίωση απόρριψης", + "discardDone": "Η εκκρεμής εκκαθάριση απορρίφθηκε — η Λειτουργία παιχνιδιού μπορεί να ενεργοποιηθεί ξανά", + "discardFailed": "Δεν ήταν δυνατή η απόρριψη της εκκρεμούς εκκαθάρισης", + "restoreFailedToast": "Η εκκαθάριση δεν ολοκληρώθηκε — {{count}} εξακολουθούν να εκκρεμούν: {{reason}}", + "restoreReasonUnknown": "άγνωστο σφάλμα", + "statOptimizationsActive": "Ενεργές βελτιστοποιήσεις", + "statServicesDisabled": "Υπηρεσίες σε παύση", + "statSessionTimer": "Χρονόμετρο συνεδρίας", + "autoDetectTitle": "Αυτόματος εντοπισμός", "autoDetectLabel": "Αυτόματος εντοπισμός παιχνιδιών", - "autoDetectDesc": "Ενεργοποιεί αυτόματα τη Λειτουργία Παιχνιδιού όταν εκκινείται ένα παιχνίδι", + "autoDetectDesc": "Ενεργοποιεί αυτόματα τη Λειτουργία παιχνιδιού όταν εκκινείται ένα παιχνίδι", "autoDeactivateLabel": "Αυτόματη απενεργοποίηση κατά την έξοδο", "autoDeactivateDesc": "Επαναφέρει τις ρυθμίσεις συστήματος όταν κλείνει το παιχνίδι", "customGameProcessesLabel": "Προσαρμοσμένες διεργασίες παιχνιδιών", - "customGameProcessesDesc": "Προσθέστε ονόματα εκτελέσιμων αρχείων για παιχνίδια που δεν περιλαμβάνονται στην ενσωματωμένη λίστα", + "customGameProcessesDesc": "Προσθέστε ονόματα εκτελέσιμων αρχείων για παιχνίδια που δεν υπάρχουν στην ενσωματωμένη λίστα", "customGamePlaceholder": "Εκτελέσιμο παιχνιδιού (π.χ. mygame.exe)", "customGameAdd": "Προσθήκη", - "customGameEmpty": "Δεν έχουν ρυθμιστεί προσαρμοσμένες διεργασίες παιχνιδιών", + "customGameEmpty": "Δεν έχουν οριστεί προσαρμοσμένες διεργασίες παιχνιδιών", "autoDetectedBanner": "Ενεργοποιήθηκε αυτόματα — εντοπίστηκε το {{name}}" } diff --git a/src/renderer/src/locales/es/gameMode.json b/src/renderer/src/locales/es/gameMode.json index 4b6e98c5..b97d753a 100644 --- a/src/renderer/src/locales/es/gameMode.json +++ b/src/renderer/src/locales/es/gameMode.json @@ -10,11 +10,11 @@ "deactivatingProgress": "Restaurando el estado del sistema...", "applyingOptimization": "Aplicando: {{label}}", "restoringOptimization": "Restaurando: {{label}}", - "resultActivated": "Modo Juego activado — se aplicó {{count}} optimización", - "resultActivated_plural": "Modo Juego activado — se aplicaron {{count}} optimizaciones", - "resultDeactivated": "Sistema restaurado — se revirtió {{count}} ajuste", - "resultDeactivated_plural": "Sistema restaurado — se revirtieron {{count}} ajustes", - "resultErrors": "{{count}} fallaron", + "resultActivated": "Modo Juego activado — {{count}} optimización aplicada", + "resultActivated_plural": "Modo Juego activado — {{count}} optimizaciones aplicadas", + "resultDeactivated": "Sistema restaurado — {{count}} configuración revertida", + "resultDeactivated_plural": "Sistema restaurado — {{count}} configuraciones revertidas", + "resultErrors": "{{count}} fallidos", "categoryServices": "Servicios", "categoryServicesDesc": "Desactive servicios de Windows que consumen muchos recursos", "categoryProcesses": "Procesos", @@ -32,7 +32,7 @@ "optSvcWuauserv": "Pausar Windows Update", "optSvcWuauservDesc": "Detiene temporalmente las descargas de actualizaciones en segundo plano", "optSvcSpooler": "Desactivar Cola de impresión", - "optSvcSpoolerDesc": "Detiene el servicio de impresión si no tiene ninguna impresora conectada", + "optSvcSpoolerDesc": "Detiene el servicio de impresión si no tiene una impresora conectada", "optSvcDiagtrack": "Desactivar diagnósticos", "optSvcDiagtrackDesc": "Detiene los servicios de telemetría y seguimiento de diagnósticos", "optProcBrowsers": "Cerrar navegadores", @@ -47,7 +47,7 @@ "customProcessAdd": "Agregar", "customProcessEmpty": "No hay procesos personalizados configurados", "optMemStandby": "Vaciar memoria en espera", - "optMemStandbyDesc": "Purga la RAM en caché para liberar memoria para su juego", + "optMemStandbyDesc": "Purgue la RAM en caché para liberar memoria para su juego", "optSysFocusAssist": "Activar Asistente de concentración", "optSysFocusAssistDesc": "Suprime las notificaciones y alertas de Windows", "optSysPowerPlan": "Plan de energía de alto rendimiento", @@ -57,18 +57,28 @@ "optSysGameBar": "Desactivar Game Bar / DVR", "optSysGameBarDesc": "Desactiva la superposición de Xbox Game Bar y la grabación en segundo plano", "optSysFseOpt": "Desactivar optimizaciones de pantalla completa", - "optSysFseOptDesc": "Evita que Windows aplique la composición de DWM a los juegos en pantalla completa", + "optSysFseOptDesc": "Evita que Windows aplique la composición DWM a los juegos en pantalla completa", "optSysTransparency": "Desactivar efectos de transparencia", "optSysTransparencyDesc": "Desactiva la transparencia de las ventanas para reducir la carga de composición de la GPU", - "optNetFlushDns": "Vaciar caché de DNS", + "optNetFlushDns": "Vaciar caché DNS", "optNetFlushDnsDesc": "Borra la caché del resolvedor DNS para realizar búsquedas nuevas", "optNetNagle": "Desactivar el algoritmo de Nagle", - "optNetNagleDesc": "Reduce la latencia de red al desactivar la agrupación de paquetes TCP", + "optNetNagleDesc": "Reduce la latencia de red desactivando la agrupación de paquetes TCP", "enabledCount": "{{count}} activadas", "adminBadge": "ADMIN", "warningProcesses": "Los procesos finalizados no pueden reiniciarse automáticamente cuando se desactiva el Modo Juego.", "noOptimizationsSelected": "Seleccione al menos una optimización para activar el Modo Juego", "configLockedWhileActive": "Desactive el Modo Juego para cambiar la configuración", + "pendingRestoreBanner": "No se pudieron restaurar automáticamente algunas configuraciones de la última sesión. Vuelva a intentarlo cuando se resuelva la causa (p. ej., permisos de administrador).", + "pendingRestoreDiscardHint": "Si sigue fallando, descarte el estado pendiente para desbloquear el Modo Juego. Las configuraciones que sigan cambiadas permanecerán así.", + "retryCleanup": "Reintentar limpieza", + "retryingCleanup": "Reintentando…", + "discardPending": "Descartar", + "discardConfirm": "Confirmar descarte", + "discardDone": "Limpieza pendiente descartada — el Modo Juego puede activarse de nuevo", + "discardFailed": "No se pudo descartar la limpieza pendiente", + "restoreFailedToast": "Limpieza incompleta — {{count}} aún pendientes: {{reason}}", + "restoreReasonUnknown": "error desconocido", "statOptimizationsActive": "Optimizaciones activas", "statServicesDisabled": "Servicios en pausa", "statSessionTimer": "Temporizador de sesión", @@ -78,7 +88,7 @@ "autoDeactivateLabel": "Desactivar automáticamente al salir", "autoDeactivateDesc": "Restaura la configuración del sistema cuando se cierra el juego", "customGameProcessesLabel": "Procesos de juego personalizados", - "customGameProcessesDesc": "Agregue nombres de ejecutables de juegos que no estén en la lista integrada", + "customGameProcessesDesc": "Agregue los nombres de ejecutables de juegos que no estén en la lista integrada", "customGamePlaceholder": "Ejecutable del juego (p. ej. mygame.exe)", "customGameAdd": "Agregar", "customGameEmpty": "No hay procesos de juego personalizados configurados", diff --git a/src/renderer/src/locales/fi/gameMode.json b/src/renderer/src/locales/fi/gameMode.json index 5ed05ee2..20cb2a7e 100644 --- a/src/renderer/src/locales/fi/gameMode.json +++ b/src/renderer/src/locales/fi/gameMode.json @@ -7,7 +7,7 @@ "inactiveLabel": "VALMIS", "activeSince": "Aktiivisena {{time}}", "activatingProgress": "Aktivoidaan optimointeja...", - "deactivatingProgress": "Palautetaan järjestelmän tila...", + "deactivatingProgress": "Palautetaan järjestelmän tilaa...", "applyingOptimization": "Käytetään: {{label}}", "restoringOptimization": "Palautetaan: {{label}}", "resultActivated": "Pelitila aktivoitu — {{count}} optimointi käytössä", @@ -28,13 +28,13 @@ "optSvcWsearch": "Poista Windows Search käytöstä", "optSvcWsearchDesc": "Pysäyttää indeksointipalvelun, joka käyttää CPU:ta ja levyä", "optSvcSysmain": "Poista SysMain (Superfetch) käytöstä", - "optSvcSysmainDesc": "Pysäyttää muistin esilatauspalvelun", + "optSvcSysmainDesc": "Pysäyttää muistin ennakkolatauspalvelun", "optSvcWuauserv": "Keskeytä Windows Update", "optSvcWuauservDesc": "Pysäyttää väliaikaisesti taustalla tapahtuvat päivityslataukset", "optSvcSpooler": "Poista Print Spooler käytöstä", "optSvcSpoolerDesc": "Pysäyttää tulostuspalvelun, jos tulostinta ei ole liitetty", "optSvcDiagtrack": "Poista diagnostiikka käytöstä", - "optSvcDiagtrackDesc": "Pysäyttää telemetria- ja diagnostiikan seurantapalvelut", + "optSvcDiagtrackDesc": "Pysäyttää telemetria- ja diagnostiikkaseurantapalvelut", "optProcBrowsers": "Sulje selaimet", "optProcBrowsersDesc": "Lopeta Chrome, Firefox, Edge ja muut selaimet", "optProcChat": "Sulje chat-sovellukset", @@ -48,14 +48,14 @@ "customProcessEmpty": "Mukautettuja prosesseja ei ole määritetty", "optMemStandby": "Tyhjennä valmiusmuisti", "optMemStandbyDesc": "Tyhjentää välimuistissa olevan RAM-muistin vapauttaakseen muistia peliäsi varten", - "optSysFocusAssist": "Ota käyttöön keskittymisavustin", + "optSysFocusAssist": "Ota keskittymisavustus käyttöön", "optSysFocusAssistDesc": "Vaimentaa Windows-ilmoitukset ja hälytykset", "optSysPowerPlan": "Korkean suorituskyvyn virrankäyttösuunnitelma", "optSysPowerPlanDesc": "Vaihda suurimman suorituskyvyn virrankäyttöprofiiliin", "optSysPreventSleep": "Estä lepotila", "optSysPreventSleepDesc": "Pidä näyttö päällä ja estä järjestelmää siirtymästä lepotilaan", "optSysGameBar": "Poista Game Bar / DVR käytöstä", - "optSysGameBarDesc": "Poista Xbox Game Bar -peittokuva ja taustatallennus käytöstä", + "optSysGameBarDesc": "Poista Xbox Game Bar -peite ja taustatallennus käytöstä", "optSysFseOpt": "Poista koko näytön optimoinnit käytöstä", "optSysFseOptDesc": "Estä Windowsia käyttämästä DWM-koostamista koko näytön peleissä", "optSysTransparency": "Poista läpinäkyvyystehosteet käytöstä", @@ -63,12 +63,22 @@ "optNetFlushDns": "Tyhjennä DNS-välimuisti", "optNetFlushDnsDesc": "Tyhjentää DNS-resolverin välimuistin uusia hakuja varten", "optNetNagle": "Poista Nagle's Algorithm käytöstä", - "optNetNagleDesc": "Vähennä verkkoviivettä poistamalla TCP-pakettien niputus käytöstä", + "optNetNagleDesc": "Vähennä verkkoviivettä poistamalla TCP-pakettien eräajo käytöstä", "enabledCount": "{{count}} käytössä", "adminBadge": "JÄRJESTELMÄNVALVOJA", "warningProcesses": "Lopetettuja prosesseja ei voida käynnistää automaattisesti uudelleen, kun Pelitila poistetaan käytöstä.", "noOptimizationsSelected": "Valitse vähintään yksi optimointi aktivoidaksesi Pelitilan", "configLockedWhileActive": "Poista Pelitila käytöstä muuttaaksesi asetuksia", + "pendingRestoreBanner": "Joidenkin edellisen istunnon asetusten palauttaminen ei onnistunut automaattisesti. Yritä uudelleen, kun syy (esim. järjestelmänvalvojan oikeudet) on korjattu.", + "pendingRestoreDiscardHint": "Jos tämä epäonnistuu jatkuvasti, hylkää odottava tila vapauttaaksesi Pelitilan. Mahdollisesti edelleen muutetut asetukset jäävät ennalleen.", + "retryCleanup": "Yritä puhdistusta uudelleen", + "retryingCleanup": "Yritetään uudelleen…", + "discardPending": "Hylkää", + "discardConfirm": "Vahvista hylkäys", + "discardDone": "Odottava puhdistus hylätty — Pelitila voidaan aktivoida uudelleen", + "discardFailed": "Odottavan puhdistuksen hylkääminen ei onnistunut", + "restoreFailedToast": "Puhdistus on kesken — {{count}} edelleen odottaa: {{reason}}", + "restoreReasonUnknown": "tuntematon virhe", "statOptimizationsActive": "Aktiiviset optimoinnit", "statServicesDisabled": "Keskeytetyt palvelut", "statSessionTimer": "Istunnon ajastin", @@ -78,8 +88,8 @@ "autoDeactivateLabel": "Poista käytöstä automaattisesti suljettaessa", "autoDeactivateDesc": "Palauta järjestelmäasetukset, kun peli suljetaan", "customGameProcessesLabel": "Mukautetut peliprosessit", - "customGameProcessesDesc": "Lisää sellaisten pelien suoritustiedostojen nimet, joita ei ole sisäisessä luettelossa", - "customGamePlaceholder": "Pelin suoritustiedosto (esim. mygame.exe)", + "customGameProcessesDesc": "Lisää sellaisten pelien suoritettavien tiedostojen nimet, joita ei ole sisäisessä luettelossa", + "customGamePlaceholder": "Pelin suoritettava tiedosto (esim. mygame.exe)", "customGameAdd": "Lisää", "customGameEmpty": "Mukautettuja peliprosesseja ei ole määritetty", "autoDetectedBanner": "Aktivoitu automaattisesti — havaittu {{name}}" diff --git a/src/renderer/src/locales/fr/gameMode.json b/src/renderer/src/locales/fr/gameMode.json index 8899d0b0..8e4de5e0 100644 --- a/src/renderer/src/locales/fr/gameMode.json +++ b/src/renderer/src/locales/fr/gameMode.json @@ -18,7 +18,7 @@ "categoryServices": "Services", "categoryServicesDesc": "Désactiver les services Windows gourmands en ressources", "categoryProcesses": "Processus", - "categoryProcessesDesc": "Arrêter les applications en arrière-plan qui consomment des ressources", + "categoryProcessesDesc": "Fermer les applications en arrière-plan qui consomment des ressources", "categoryMemory": "Mémoire", "categoryMemoryDesc": "Libérer de la RAM pour votre jeu", "categorySystem": "Système", @@ -28,57 +28,67 @@ "optSvcWsearch": "Désactiver Windows Search", "optSvcWsearchDesc": "Arrête le service d’indexation qui utilise le CPU et le disque", "optSvcSysmain": "Désactiver SysMain (Superfetch)", - "optSvcSysmainDesc": "Arrête le service de préchargement en mémoire", + "optSvcSysmainDesc": "Arrête le service de préchargement de la mémoire", "optSvcWuauserv": "Mettre en pause Windows Update", "optSvcWuauservDesc": "Arrête temporairement les téléchargements de mises à jour en arrière-plan", - "optSvcSpooler": "Désactiver le Spouleur d’impression", + "optSvcSpooler": "Désactiver le spouleur d’impression", "optSvcSpoolerDesc": "Arrête le service d’impression si aucune imprimante n’est connectée", "optSvcDiagtrack": "Désactiver les diagnostics", "optSvcDiagtrackDesc": "Arrête les services de télémétrie et de suivi des diagnostics", "optProcBrowsers": "Fermer les navigateurs", - "optProcBrowsersDesc": "Arrêter Chrome, Firefox, Edge et les autres navigateurs", - "optProcChat": "Fermer les applications de discussion", - "optProcChatDesc": "Arrêter Discord, Slack, Teams et les autres applications de discussion", + "optProcBrowsersDesc": "Ferme Chrome, Firefox, Edge et les autres navigateurs", + "optProcChat": "Fermer les applications de messagerie", + "optProcChatDesc": "Ferme Discord, Slack, Teams et les autres applications de messagerie", "optProcUpdaters": "Arrêter les programmes de mise à jour en arrière-plan", - "optProcUpdatersDesc": "Arrêter les agents de mise à jour logicielle exécutés en arrière-plan", + "optProcUpdatersDesc": "Ferme les agents de mise à jour logicielle exécutés en arrière-plan", "optProcCustom": "Liste de processus personnalisée", - "optProcCustomDesc": "Arrêter les processus que vous spécifiez par leur nom", + "optProcCustomDesc": "Ferme les processus que vous indiquez par leur nom", "customProcessPlaceholder": "Nom du processus (ex. spotify.exe)", "customProcessAdd": "Ajouter", "customProcessEmpty": "Aucun processus personnalisé configuré", "optMemStandby": "Vider la mémoire en veille", - "optMemStandbyDesc": "Purger la RAM mise en cache pour libérer de la mémoire pour votre jeu", + "optMemStandbyDesc": "Purge la RAM mise en cache pour libérer de la mémoire pour votre jeu", "optSysFocusAssist": "Activer l’Assistant de concentration", "optSysFocusAssistDesc": "Supprime les notifications et alertes Windows", - "optSysPowerPlan": "Mode de gestion de l’alimentation Performances élevées", - "optSysPowerPlanDesc": "Basculer vers le profil d’alimentation à performances maximales", + "optSysPowerPlan": "Mode d’alimentation Performances élevées", + "optSysPowerPlanDesc": "Bascule vers le profil d’alimentation offrant les performances maximales", "optSysPreventSleep": "Empêcher la mise en veille", - "optSysPreventSleepDesc": "Garder l’écran allumé et empêcher la mise en veille du système", + "optSysPreventSleepDesc": "Garde l’écran allumé et empêche le système de se mettre en veille", "optSysGameBar": "Désactiver Game Bar / DVR", - "optSysGameBarDesc": "Désactiver la superposition Xbox Game Bar et l’enregistrement en arrière-plan", + "optSysGameBarDesc": "Désactive la surcouche Xbox Game Bar et l’enregistrement en arrière-plan", "optSysFseOpt": "Désactiver les optimisations plein écran", - "optSysFseOptDesc": "Empêcher Windows d’appliquer la composition DWM aux jeux en plein écran", + "optSysFseOptDesc": "Empêche Windows d’appliquer la composition DWM aux jeux en plein écran", "optSysTransparency": "Désactiver les effets de transparence", - "optSysTransparencyDesc": "Désactiver la transparence des fenêtres pour réduire la charge de composition GPU", + "optSysTransparencyDesc": "Désactive la transparence des fenêtres pour réduire la charge de composition GPU", "optNetFlushDns": "Vider le cache DNS", - "optNetFlushDnsDesc": "Effacer le cache du résolveur DNS pour de nouvelles résolutions", + "optNetFlushDnsDesc": "Efface le cache du résolveur DNS pour de nouvelles résolutions", "optNetNagle": "Désactiver l’algorithme de Nagle", - "optNetNagleDesc": "Réduire la latence réseau en désactivant le regroupement des paquets TCP", + "optNetNagleDesc": "Réduit la latence réseau en désactivant le regroupement des paquets TCP", "enabledCount": "{{count}} activé(s)", "adminBadge": "ADMIN", - "warningProcesses": "Les processus arrêtés ne peuvent pas être redémarrés automatiquement lorsque le Mode Jeu est désactivé.", + "warningProcesses": "Les processus fermés ne peuvent pas être redémarrés automatiquement lorsque le Mode Jeu est désactivé.", "noOptimizationsSelected": "Sélectionnez au moins une optimisation pour activer le Mode Jeu", "configLockedWhileActive": "Désactivez le Mode Jeu pour modifier les paramètres", + "pendingRestoreBanner": "Certains paramètres de la dernière session n’ont pas pu être restaurés automatiquement. Réessayez une fois la cause résolue (par ex. les droits administrateur).", + "pendingRestoreDiscardHint": "Si cela continue d’échouer, ignorez l’état en attente pour débloquer le Mode Jeu. Les paramètres encore modifiés resteront en l’état.", + "retryCleanup": "Réessayer le nettoyage", + "retryingCleanup": "Nouvelle tentative…", + "discardPending": "Ignorer", + "discardConfirm": "Confirmer l’abandon", + "discardDone": "Nettoyage en attente ignoré — le Mode Jeu peut être réactivé", + "discardFailed": "Impossible d’ignorer le nettoyage en attente", + "restoreFailedToast": "Nettoyage incomplet — {{count}} encore en attente : {{reason}}", + "restoreReasonUnknown": "erreur inconnue", "statOptimizationsActive": "Optimisations actives", "statServicesDisabled": "Services en pause", - "statSessionTimer": "Minuteur de session", + "statSessionTimer": "Durée de la session", "autoDetectTitle": "Détection automatique", "autoDetectLabel": "Détecter automatiquement les jeux", - "autoDetectDesc": "Activer automatiquement le Mode Jeu lorsqu’un jeu est lancé", + "autoDetectDesc": "Active automatiquement le Mode Jeu lorsqu’un jeu est lancé", "autoDeactivateLabel": "Désactiver automatiquement à la fermeture", - "autoDeactivateDesc": "Restaurer les paramètres système lorsque le jeu se ferme", + "autoDeactivateDesc": "Restaure les paramètres système lorsque le jeu se ferme", "customGameProcessesLabel": "Processus de jeu personnalisés", - "customGameProcessesDesc": "Ajouter les noms d’exécutables des jeux absents de la liste intégrée", + "customGameProcessesDesc": "Ajoutez les noms d’exécutables des jeux absents de la liste intégrée", "customGamePlaceholder": "Exécutable du jeu (ex. mygame.exe)", "customGameAdd": "Ajouter", "customGameEmpty": "Aucun processus de jeu personnalisé configuré", diff --git a/src/renderer/src/locales/he/gameMode.json b/src/renderer/src/locales/he/gameMode.json index 088265c8..d629b6d4 100644 --- a/src/renderer/src/locales/he/gameMode.json +++ b/src/renderer/src/locales/he/gameMode.json @@ -12,73 +12,83 @@ "restoringOptimization": "משחזר: {{label}}", "resultActivated": "מצב משחק הופעל — הוחל מיטוב {{count}}", "resultActivated_plural": "מצב משחק הופעל — הוחלו {{count}} מיטובים", - "resultDeactivated": "המערכת שוחזרה — הגדרה {{count}} הוחזרה לקדמותה", - "resultDeactivated_plural": "המערכת שוחזרה — {{count}} הגדרות הוחזרו לקדמותן", + "resultDeactivated": "המערכת שוחזרה — הגדרה {{count}} הוחזרה", + "resultDeactivated_plural": "המערכת שוחזרה — {{count}} הגדרות הוחזרו", "resultErrors": "{{count}} נכשלו", "categoryServices": "שירותים", - "categoryServicesDesc": "השבת שירותי Windows שצורכים משאבים רבים", + "categoryServicesDesc": "השבתת שירותי Windows שצורכים משאבים רבים", "categoryProcesses": "תהליכים", - "categoryProcessesDesc": "סגור יישומי רקע שצורכים משאבים", + "categoryProcessesDesc": "סגירת יישומי רקע שצורכים משאבים", "categoryMemory": "זיכרון", - "categoryMemoryDesc": "פנה RAM עבור המשחק שלך", + "categoryMemoryDesc": "פינוי RAM עבור המשחק שלך", "categorySystem": "מערכת", - "categorySystemDesc": "חסום התראות ומקסם את הביצועים", + "categorySystemDesc": "חסימת התראות ומיטוב הביצועים", "categoryNetwork": "רשת", - "categoryNetworkDesc": "מטב את השהיית הרשת", - "optSvcWsearch": "השבת את Windows Search", + "categoryNetworkDesc": "מיטוב השהיית הרשת", + "optSvcWsearch": "השבתת Windows Search", "optSvcWsearchDesc": "עוצר את שירות יצירת האינדקס שמשתמש ב-CPU ובדיסק", - "optSvcSysmain": "השבת את SysMain (Superfetch)", - "optSvcSysmainDesc": "עוצר את שירות הטעינה המוקדמת לזיכרון", - "optSvcWuauserv": "השהה את Windows Update", + "optSvcSysmain": "השבתת SysMain (Superfetch)", + "optSvcSysmainDesc": "עוצר את שירות הטעינה המוקדמת של הזיכרון", + "optSvcWuauserv": "השהיית Windows Update", "optSvcWuauservDesc": "עוצר זמנית הורדות עדכונים ברקע", - "optSvcSpooler": "השבת את Print Spooler", + "optSvcSpooler": "השבתת Print Spooler", "optSvcSpoolerDesc": "עוצר את שירות ההדפסה אם אין מדפסת מחוברת", - "optSvcDiagtrack": "השבת אבחון", - "optSvcDiagtrackDesc": "עוצר שירותי טלמטריה ומעקב אבחון", - "optProcBrowsers": "סגור דפדפנים", - "optProcBrowsersDesc": "סגור את Chrome, Firefox, Edge ודפדפנים אחרים", - "optProcChat": "סגור יישומי צ'אט", - "optProcChatDesc": "סגור את Discord, Slack, Teams ויישומי צ'אט אחרים", - "optProcUpdaters": "עצור מעדכני רקע", - "optProcUpdatersDesc": "סגור סוכני עדכון תוכנה שפועלים ברקע", + "optSvcDiagtrack": "השבתת אבחון", + "optSvcDiagtrackDesc": "עוצר שירותי Telemetry ומעקב אבחון", + "optProcBrowsers": "סגירת דפדפנים", + "optProcBrowsersDesc": "סוגר את Chrome, Firefox, Edge ודפדפנים אחרים", + "optProcChat": "סגירת יישומי צ'אט", + "optProcChatDesc": "סוגר את Discord, Slack, Teams ויישומי צ'אט אחרים", + "optProcUpdaters": "עצירת מעדכני רקע", + "optProcUpdatersDesc": "סוגר סוכני עדכון תוכנה שפועלים ברקע", "optProcCustom": "רשימת תהליכים מותאמת אישית", - "optProcCustomDesc": "סגור תהליכים שתציין לפי שם", + "optProcCustomDesc": "סוגר תהליכים שציינת לפי שם", "customProcessPlaceholder": "שם תהליך (למשל spotify.exe)", "customProcessAdd": "הוסף", "customProcessEmpty": "לא הוגדרו תהליכים מותאמים אישית", - "optMemStandby": "נקה זיכרון המתנה", - "optMemStandbyDesc": "נקה RAM שמור במטמון כדי לפנות זיכרון עבור המשחק שלך", - "optSysFocusAssist": "הפעל את Focus Assist", - "optSysFocusAssistDesc": "השתק התראות ואזהרות של Windows", + "optMemStandby": "ניקוי זיכרון המתנה", + "optMemStandbyDesc": "מנקה RAM שמור במטמון כדי לפנות זיכרון עבור המשחק שלך", + "optSysFocusAssist": "הפעלת Focus Assist", + "optSysFocusAssistDesc": "משתיק התראות ואזהרות של Windows", "optSysPowerPlan": "תוכנית צריכת חשמל לביצועים גבוהים", - "optSysPowerPlanDesc": "עבור לפרופיל צריכת החשמל לביצועים מרביים", - "optSysPreventSleep": "מנע מצב שינה", - "optSysPreventSleepDesc": "השאר את התצוגה פועלת ומנע מהמערכת להיכנס למצב שינה", - "optSysGameBar": "השבת את Game Bar / DVR", - "optSysGameBarDesc": "כבה את שכבת העל של Xbox Game Bar ואת ההקלטה ברקע", - "optSysFseOpt": "השבת מיטובי מסך מלא", - "optSysFseOptDesc": "מנע מ-Windows להחיל הרכבת DWM על משחקים במסך מלא", - "optSysTransparency": "השבת אפקטי שקיפות", - "optSysTransparencyDesc": "כבה את שקיפות החלונות כדי להפחית את עומס ההרכבה על ה-GPU", - "optNetFlushDns": "נקה מטמון DNS", - "optNetFlushDnsDesc": "נקה את מטמון פותר ה-DNS לצורך חיפושים חדשים", - "optNetNagle": "השבת את האלגוריתם של Nagle", - "optNetNagleDesc": "הפחת את השהיית הרשת על ידי השבתת אצוות מנות TCP", + "optSysPowerPlanDesc": "מעביר לפרופיל צריכת החשמל לביצועים מרביים", + "optSysPreventSleep": "מניעת שינה", + "optSysPreventSleepDesc": "משאיר את התצוגה פועלת ומונע מהמערכת להיכנס למצב שינה", + "optSysGameBar": "השבתת Game Bar / DVR", + "optSysGameBarDesc": "מכבה את שכבת העל של Xbox Game Bar ואת ההקלטה ברקע", + "optSysFseOpt": "השבתת מיטובי מסך מלא", + "optSysFseOptDesc": "מונע מ-Windows להחיל הרכבת DWM על משחקים במסך מלא", + "optSysTransparency": "השבתת אפקטי שקיפות", + "optSysTransparencyDesc": "מכבה שקיפות חלונות כדי להפחית את עומס ההרכבה על ה-GPU", + "optNetFlushDns": "ניקוי מטמון DNS", + "optNetFlushDnsDesc": "מנקה את מטמון פותר ה-DNS לצורך חיפושים חדשים", + "optNetNagle": "השבתת האלגוריתם של Nagle", + "optNetNagleDesc": "מפחית את השהיית הרשת על ידי השבתת קיבוץ מנות TCP", "enabledCount": "{{count}} הופעלו", "adminBadge": "מנהל", "warningProcesses": "לא ניתן להפעיל מחדש באופן אוטומטי תהליכים שנסגרו כאשר מצב משחק מושבת.", - "noOptimizationsSelected": "בחר לפחות מיטוב אחד כדי להפעיל את מצב משחק", + "noOptimizationsSelected": "יש לבחור לפחות מיטוב אחד כדי להפעיל את מצב משחק", "configLockedWhileActive": "השבת את מצב משחק כדי לשנות הגדרות", + "pendingRestoreBanner": "לא ניתן היה לשחזר באופן אוטומטי חלק מההגדרות מההפעלה הקודמת. נסה שוב לאחר שהגורם לכך (למשל הרשאות מנהל) ייפתר.", + "pendingRestoreDiscardHint": "אם הפעולה ממשיכה להיכשל, אפשר לבטל את המצב הממתין כדי לאפשר שוב את מצב משחק. כל ההגדרות שעדיין שונו יישארו כפי שהן.", + "retryCleanup": "נסה שוב לנקות", + "retryingCleanup": "מנסה שוב…", + "discardPending": "בטל", + "discardConfirm": "אשר ביטול", + "discardDone": "הניקוי הממתין בוטל — ניתן להפעיל שוב את מצב משחק", + "discardFailed": "לא ניתן היה לבטל את הניקוי הממתין", + "restoreFailedToast": "הניקוי לא הושלם — {{count}} עדיין ממתינים: {{reason}}", + "restoreReasonUnknown": "שגיאה לא ידועה", "statOptimizationsActive": "מיטובים פעילים", "statServicesDisabled": "שירותים מושהים", "statSessionTimer": "טיימר הפעלה", "autoDetectTitle": "זיהוי אוטומטי", - "autoDetectLabel": "זהה משחקים באופן אוטומטי", - "autoDetectDesc": "הפעל את מצב משחק באופן אוטומטי כאשר משחק מופעל", - "autoDeactivateLabel": "השבת אוטומטית ביציאה", - "autoDeactivateDesc": "שחזר את הגדרות המערכת כאשר המשחק נסגר", + "autoDetectLabel": "זיהוי אוטומטי של משחקים", + "autoDetectDesc": "הפעלת מצב משחק באופן אוטומטי בעת הפעלת משחק", + "autoDeactivateLabel": "השבתה אוטומטית ביציאה", + "autoDeactivateDesc": "שחזור הגדרות המערכת כאשר יוצאים מהמשחק", "customGameProcessesLabel": "תהליכי משחק מותאמים אישית", - "customGameProcessesDesc": "הוסף שמות קבצי הפעלה של משחקים שאינם ברשימה המובנית", + "customGameProcessesDesc": "הוסף שמות קובצי הפעלה של משחקים שאינם ברשימה המובנית", "customGamePlaceholder": "קובץ הפעלה של משחק (למשל mygame.exe)", "customGameAdd": "הוסף", "customGameEmpty": "לא הוגדרו תהליכי משחק מותאמים אישית", diff --git a/src/renderer/src/locales/hi/gameMode.json b/src/renderer/src/locales/hi/gameMode.json index 531c2a5c..57616a09 100644 --- a/src/renderer/src/locales/hi/gameMode.json +++ b/src/renderer/src/locales/hi/gameMode.json @@ -1,5 +1,5 @@ { - "pageTitle": "Game Mode", + "pageTitle": "गेम मोड", "pageDescription": "अधिकतम गेमिंग प्रदर्शन के लिए अपने सिस्टम को अनुकूलित करें", "activateButton": "सक्रिय करें", "deactivateButton": "निष्क्रिय करें", @@ -10,19 +10,19 @@ "deactivatingProgress": "सिस्टम स्थिति पुनर्स्थापित की जा रही है...", "applyingOptimization": "लागू किया जा रहा है: {{label}}", "restoringOptimization": "पुनर्स्थापित किया जा रहा है: {{label}}", - "resultActivated": "Game Mode सक्रिय किया गया — {{count}} अनुकूलन लागू किया गया", - "resultActivated_plural": "Game Mode सक्रिय किया गया — {{count}} अनुकूलन लागू किए गए", + "resultActivated": "गेम मोड सक्रिय किया गया — {{count}} अनुकूलन लागू किया गया", + "resultActivated_plural": "गेम मोड सक्रिय किया गया — {{count}} अनुकूलन लागू किए गए", "resultDeactivated": "सिस्टम पुनर्स्थापित किया गया — {{count}} सेटिंग वापस बदली गई", "resultDeactivated_plural": "सिस्टम पुनर्स्थापित किया गया — {{count}} सेटिंग्स वापस बदली गईं", "resultErrors": "{{count}} विफल", "categoryServices": "सेवाएँ", "categoryServicesDesc": "अधिक संसाधन उपयोग करने वाली Windows सेवाओं को अक्षम करें", "categoryProcesses": "प्रक्रियाएँ", - "categoryProcessesDesc": "संसाधन उपयोग करने वाले पृष्ठभूमि ऐप्स बंद करें", + "categoryProcessesDesc": "संसाधनों का उपयोग करने वाले पृष्ठभूमि ऐप्स बंद करें", "categoryMemory": "मेमोरी", "categoryMemoryDesc": "अपने गेम के लिए RAM खाली करें", "categorySystem": "सिस्टम", - "categorySystemDesc": "सूचनाएँ रोकें और प्रदर्शन अधिकतम करें", + "categorySystemDesc": "सूचनाएँ रोकें और प्रदर्शन को अधिकतम करें", "categoryNetwork": "नेटवर्क", "categoryNetworkDesc": "नेटवर्क विलंबता को अनुकूलित करें", "optSvcWsearch": "Windows Search अक्षम करें", @@ -45,42 +45,52 @@ "optProcCustomDesc": "आपके द्वारा नाम से निर्दिष्ट प्रक्रियाएँ बंद करें", "customProcessPlaceholder": "प्रक्रिया का नाम (उदा. spotify.exe)", "customProcessAdd": "जोड़ें", - "customProcessEmpty": "कोई कस्टम प्रक्रिया कॉन्फ़िगर नहीं की गई", + "customProcessEmpty": "कोई कस्टम प्रक्रिया कॉन्फ़िगर नहीं की गई है", "optMemStandby": "Standby Memory साफ़ करें", "optMemStandbyDesc": "अपने गेम के लिए मेमोरी खाली करने हेतु कैश की गई RAM हटाएँ", "optSysFocusAssist": "Focus Assist सक्षम करें", "optSysFocusAssistDesc": "Windows सूचनाएँ और अलर्ट दबाएँ", - "optSysPowerPlan": "High Performance पावर प्लान", + "optSysPowerPlan": "उच्च प्रदर्शन पावर प्लान", "optSysPowerPlanDesc": "अधिकतम प्रदर्शन पावर प्रोफ़ाइल पर स्विच करें", - "optSysPreventSleep": "Sleep रोकें", - "optSysPreventSleepDesc": "डिस्प्ले चालू रखें और सिस्टम को Sleep में जाने से रोकें", + "optSysPreventSleep": "स्लीप रोकें", + "optSysPreventSleepDesc": "डिस्प्ले चालू रखें और सिस्टम को स्लीप में जाने से रोकें", "optSysGameBar": "Game Bar / DVR अक्षम करें", "optSysGameBarDesc": "Xbox Game Bar ओवरले और पृष्ठभूमि रिकॉर्डिंग बंद करें", "optSysFseOpt": "Fullscreen Optimizations अक्षम करें", "optSysFseOptDesc": "Windows को फुलस्क्रीन गेम्स पर DWM composition लागू करने से रोकें", "optSysTransparency": "पारदर्शिता प्रभाव अक्षम करें", "optSysTransparencyDesc": "GPU compositing ओवरहेड कम करने के लिए विंडो पारदर्शिता बंद करें", - "optNetFlushDns": "DNS Cache फ्लश करें", - "optNetFlushDnsDesc": "नई लुकअप के लिए DNS resolver cache साफ़ करें", + "optNetFlushDns": "DNS कैश साफ़ करें", + "optNetFlushDnsDesc": "नई लुकअप के लिए DNS resolver कैश साफ़ करें", "optNetNagle": "Nagle's Algorithm अक्षम करें", "optNetNagleDesc": "TCP packet batching अक्षम करके नेटवर्क विलंबता कम करें", "enabledCount": "{{count}} सक्षम", "adminBadge": "एडमिन", - "warningProcesses": "बंद की गई प्रक्रियाएँ Game Mode निष्क्रिय होने पर स्वचालित रूप से पुनः प्रारंभ नहीं की जा सकतीं।", - "noOptimizationsSelected": "Game Mode सक्रिय करने के लिए कम से कम एक अनुकूलन चुनें", - "configLockedWhileActive": "सेटिंग्स बदलने के लिए Game Mode निष्क्रिय करें", + "warningProcesses": "बंद की गई प्रक्रियाएँ गेम मोड निष्क्रिय होने पर स्वचालित रूप से पुनः प्रारंभ नहीं की जा सकतीं।", + "noOptimizationsSelected": "गेम मोड सक्रिय करने के लिए कम से कम एक अनुकूलन चुनें", + "configLockedWhileActive": "सेटिंग्स बदलने के लिए गेम मोड निष्क्रिय करें", + "pendingRestoreBanner": "पिछले सत्र की कुछ सेटिंग्स स्वचालित रूप से पुनर्स्थापित नहीं की जा सकीं। कारण (उदा. एडमिन अधिकार) ठीक होने पर पुनः प्रयास करें।", + "pendingRestoreDiscardHint": "यदि यह बार-बार विफल हो, तो गेम मोड को अनब्लॉक करने के लिए लंबित स्थिति को त्याग दें। जो सेटिंग्स अभी भी बदली हुई हैं, वे वैसी ही रहेंगी।", + "retryCleanup": "क्लीनअप पुनः प्रयास करें", + "retryingCleanup": "पुनः प्रयास किया जा रहा है…", + "discardPending": "त्यागें", + "discardConfirm": "त्याग की पुष्टि करें", + "discardDone": "लंबित क्लीनअप त्याग दिया गया — गेम मोड फिर से सक्रिय किया जा सकता है", + "discardFailed": "लंबित क्लीनअप त्यागा नहीं जा सका", + "restoreFailedToast": "क्लीनअप अधूरा — {{count}} अभी भी लंबित: {{reason}}", + "restoreReasonUnknown": "अज्ञात त्रुटि", "statOptimizationsActive": "सक्रिय अनुकूलन", "statServicesDisabled": "रोक दी गई सेवाएँ", "statSessionTimer": "सत्र टाइमर", "autoDetectTitle": "स्वतः-पहचान", "autoDetectLabel": "गेम्स की स्वतः पहचान करें", - "autoDetectDesc": "जब कोई गेम शुरू हो, तो Game Mode स्वतः सक्रिय करें", + "autoDetectDesc": "जब कोई गेम शुरू हो, तो गेम मोड स्वचालित रूप से सक्रिय करें", "autoDeactivateLabel": "बंद होने पर स्वतः निष्क्रिय करें", "autoDeactivateDesc": "गेम बंद होने पर सिस्टम सेटिंग्स पुनर्स्थापित करें", "customGameProcessesLabel": "कस्टम गेम प्रक्रियाएँ", "customGameProcessesDesc": "अंतर्निहित सूची में न होने वाले गेम्स के executable नाम जोड़ें", "customGamePlaceholder": "गेम executable (उदा. mygame.exe)", "customGameAdd": "जोड़ें", - "customGameEmpty": "कोई कस्टम गेम प्रक्रिया कॉन्फ़िगर नहीं की गई", + "customGameEmpty": "कोई कस्टम गेम प्रक्रिया कॉन्फ़िगर नहीं की गई है", "autoDetectedBanner": "स्वतः सक्रिय किया गया — {{name}} का पता चला" } diff --git a/src/renderer/src/locales/hu/gameMode.json b/src/renderer/src/locales/hu/gameMode.json index a5aaac93..62bd76be 100644 --- a/src/renderer/src/locales/hu/gameMode.json +++ b/src/renderer/src/locales/hu/gameMode.json @@ -1,6 +1,6 @@ { - "pageTitle": "Játékmód", - "pageDescription": "Optimalizálja rendszerét a lehető legjobb játékbeli teljesítmény érdekében", + "pageTitle": "Játék mód", + "pageDescription": "Optimalizálja rendszerét a maximális játékbeli teljesítmény érdekében", "activateButton": "AKTIVÁLÁS", "deactivateButton": "KIKAPCSOLÁS", "activeLabel": "AKTÍV", @@ -10,8 +10,8 @@ "deactivatingProgress": "Rendszerállapot visszaállítása...", "applyingOptimization": "Alkalmazás: {{label}}", "restoringOptimization": "Visszaállítás: {{label}}", - "resultActivated": "Játékmód aktiválva — {{count}} optimalizálás alkalmazva", - "resultActivated_plural": "Játékmód aktiválva — {{count}} optimalizálás alkalmazva", + "resultActivated": "Játék mód aktiválva — {{count}} optimalizálás alkalmazva", + "resultActivated_plural": "Játék mód aktiválva — {{count}} optimalizálás alkalmazva", "resultDeactivated": "Rendszer visszaállítva — {{count}} beállítás visszaállítva", "resultDeactivated_plural": "Rendszer visszaállítva — {{count}} beállítás visszaállítva", "resultErrors": "{{count}} sikertelen", @@ -26,7 +26,7 @@ "categoryNetwork": "Hálózat", "categoryNetworkDesc": "Hálózati késleltetés optimalizálása", "optSvcWsearch": "Windows Search letiltása", - "optSvcWsearchDesc": "Leállítja a CPU-t és a lemezt használó indexelési szolgáltatást", + "optSvcWsearchDesc": "Leállítja a CPU-t és a lemezt használó indexelő szolgáltatást", "optSvcSysmain": "SysMain (Superfetch) letiltása", "optSvcSysmainDesc": "Leállítja a memória-előtöltési szolgáltatást", "optSvcWuauserv": "Windows Update szüneteltetése", @@ -34,53 +34,63 @@ "optSvcSpooler": "Print Spooler letiltása", "optSvcSpoolerDesc": "Leállítja a nyomtatási szolgáltatást, ha nincs nyomtató csatlakoztatva", "optSvcDiagtrack": "Diagnosztika letiltása", - "optSvcDiagtrackDesc": "Leállítja a telemetriai és diagnosztikai nyomkövetési szolgáltatásokat", + "optSvcDiagtrackDesc": "Leállítja a telemetriai és diagnosztikai követési szolgáltatásokat", "optProcBrowsers": "Böngészők bezárása", - "optProcBrowsersDesc": "Leállítja a Chrome, Firefox, Edge és egyéb böngészőket", + "optProcBrowsersDesc": "Leállítja a Chrome, Firefox, Edge és más böngészőket", "optProcChat": "Csevegőalkalmazások bezárása", - "optProcChatDesc": "Leállítja a Discord, Slack, Teams és egyéb csevegőalkalmazásokat", + "optProcChatDesc": "Leállítja a Discord, Slack, Teams és más csevegőalkalmazásokat", "optProcUpdaters": "Háttérben futó frissítők leállítása", "optProcUpdatersDesc": "Leállítja a háttérben futó szoftverfrissítő ügynököket", "optProcCustom": "Egyéni folyamatlista", "optProcCustomDesc": "Leállítja az Ön által név szerint megadott folyamatokat", "customProcessPlaceholder": "Folyamat neve (pl. spotify.exe)", "customProcessAdd": "Hozzáadás", - "customProcessEmpty": "Nincs beállítva egyéni folyamat", + "customProcessEmpty": "Nincsenek beállítva egyéni folyamatok", "optMemStandby": "Készenléti memória ürítése", "optMemStandbyDesc": "Kiüríti a gyorsítótárazott RAM-ot, hogy memóriát szabadítson fel a játék számára", - "optSysFocusAssist": "Fókuszsegéd bekapcsolása", - "optSysFocusAssistDesc": "Elnyomja a Windows értesítéseit és riasztásait", + "optSysFocusAssist": "Fókuszsegéd engedélyezése", + "optSysFocusAssistDesc": "Elnyomja a Windows-értesítéseket és riasztásokat", "optSysPowerPlan": "Nagy teljesítményű energiagazdálkodási séma", - "optSysPowerPlanDesc": "Átvált a maximális teljesítményt nyújtó energiaellátási profilra", + "optSysPowerPlanDesc": "Átvált a maximális teljesítményt nyújtó energiagazdálkodási profilra", "optSysPreventSleep": "Alvó állapot megakadályozása", - "optSysPreventSleepDesc": "Bekapcsolva tartja a kijelzőt, és megakadályozza a rendszer alvó állapotba lépését", + "optSysPreventSleepDesc": "Bekapcsolva tartja a kijelzőt, és megakadályozza, hogy a rendszer alvó állapotba lépjen", "optSysGameBar": "Game Bar / DVR letiltása", - "optSysGameBarDesc": "Kikapcsolja az Xbox Game Bar átfedést és a háttérben történő rögzítést", + "optSysGameBarDesc": "Kikapcsolja az Xbox Game Bar átfedést és a háttérbeli rögzítést", "optSysFseOpt": "Teljes képernyős optimalizálások letiltása", "optSysFseOptDesc": "Megakadályozza, hogy a Windows DWM-kompozíciót alkalmazzon a teljes képernyős játékokra", - "optSysTransparency": "Átlátszósági effektusok letiltása", - "optSysTransparencyDesc": "Kikapcsolja az ablakok átlátszóságát a GPU-kompozitálás terhelésének csökkentése érdekében", + "optSysTransparency": "Áttetszőségi effektusok letiltása", + "optSysTransparencyDesc": "Kikapcsolja az ablakok áttetszőségét a GPU-kompozitálási terhelés csökkentése érdekében", "optNetFlushDns": "DNS-gyorsítótár ürítése", "optNetFlushDnsDesc": "Törli a DNS-feloldó gyorsítótárát a friss lekérdezésekhez", "optNetNagle": "Nagle-algoritmus letiltása", - "optNetNagleDesc": "Csökkenti a hálózati késleltetést a TCP-csomagok kötegelésének letiltásával", + "optNetNagleDesc": "Csökkenti a hálózati késleltetést a TCP-csomagok kötegelt küldésének letiltásával", "enabledCount": "{{count}} engedélyezve", - "adminBadge": "RENDSZERGAZDA", - "warningProcesses": "A leállított folyamatok nem indíthatók újra automatikusan a Játékmód kikapcsolásakor.", - "noOptimizationsSelected": "A Játékmód aktiválásához válasszon ki legalább egy optimalizálást", - "configLockedWhileActive": "A beállítások módosításához kapcsolja ki a Játékmódot", + "adminBadge": "ADMIN", + "warningProcesses": "A leállított folyamatok nem indíthatók újra automatikusan, amikor a Játék mód kikapcsol.", + "noOptimizationsSelected": "A Játék mód aktiválásához válasszon ki legalább egy optimalizálást", + "configLockedWhileActive": "A beállítások módosításához kapcsolja ki a Játék módot", + "pendingRestoreBanner": "Az előző munkamenet egyes beállításait nem sikerült automatikusan visszaállítani. Próbálja újra, ha az ok (pl. rendszergazdai jogosultság) megszűnt.", + "pendingRestoreDiscardHint": "Ha továbbra is sikertelen, a függőben lévő állapot elvetésével feloldhatja a Játék módot. A még módosított beállítások változatlanok maradnak.", + "retryCleanup": "Tisztítás újrapróbálása", + "retryingCleanup": "Újrapróbálás…", + "discardPending": "Elvetés", + "discardConfirm": "Elvetés megerősítése", + "discardDone": "A függőben lévő tisztítás elvetve — a Játék mód újra aktiválható", + "discardFailed": "A függőben lévő tisztítást nem sikerült elvetni", + "restoreFailedToast": "A tisztítás nem teljes — {{count}} még függőben: {{reason}}", + "restoreReasonUnknown": "ismeretlen hiba", "statOptimizationsActive": "Aktív optimalizálások", "statServicesDisabled": "Szüneteltetett szolgáltatások", - "statSessionTimer": "Munkamenet időtartama", - "autoDetectTitle": "Automatikus felismerés", - "autoDetectLabel": "Játékok automatikus felismerése", - "autoDetectDesc": "Automatikusan aktiválja a Játékmódot egy játék indításakor", + "statSessionTimer": "Munkamenet időzítő", + "autoDetectTitle": "Automatikus észlelés", + "autoDetectLabel": "Játékok automatikus észlelése", + "autoDetectDesc": "Automatikusan aktiválja a Játék módot, amikor egy játék elindul", "autoDeactivateLabel": "Automatikus kikapcsolás kilépéskor", - "autoDeactivateDesc": "Visszaállítja a rendszerbeállításokat a játék bezárásakor", + "autoDeactivateDesc": "Visszaállítja a rendszerbeállításokat, amikor a játék bezárul", "customGameProcessesLabel": "Egyéni játékfolyamatok", - "customGameProcessesDesc": "Adja hozzá azon játékok futtatható fájlneveit, amelyek nem szerepelnek a beépített listában", + "customGameProcessesDesc": "Adja hozzá azoknak a játékoknak a futtatható fájlnevét, amelyek nem szerepelnek a beépített listában", "customGamePlaceholder": "Játék futtatható fájlja (pl. mygame.exe)", "customGameAdd": "Hozzáadás", - "customGameEmpty": "Nincs beállítva egyéni játékfolyamat", + "customGameEmpty": "Nincsenek beállítva egyéni játékfolyamatok", "autoDetectedBanner": "Automatikusan aktiválva — {{name}} észlelve" } diff --git a/src/renderer/src/locales/id/gameMode.json b/src/renderer/src/locales/id/gameMode.json index bbfd2319..77ee18a0 100644 --- a/src/renderer/src/locales/id/gameMode.json +++ b/src/renderer/src/locales/id/gameMode.json @@ -32,7 +32,7 @@ "optSvcWuauserv": "Jeda Windows Update", "optSvcWuauservDesc": "Menghentikan sementara unduhan pembaruan di latar belakang", "optSvcSpooler": "Nonaktifkan Print Spooler", - "optSvcSpoolerDesc": "Menghentikan layanan pencetakan jika tidak ada printer yang terhubung", + "optSvcSpoolerDesc": "Menghentikan layanan cetak jika tidak ada printer yang terhubung", "optSvcDiagtrack": "Nonaktifkan Diagnostik", "optSvcDiagtrackDesc": "Menghentikan layanan telemetri dan pelacakan diagnostik", "optProcBrowsers": "Tutup Browser", @@ -52,8 +52,8 @@ "optSysFocusAssistDesc": "Sembunyikan notifikasi dan peringatan Windows", "optSysPowerPlan": "Paket Daya Performa Tinggi", "optSysPowerPlanDesc": "Beralih ke profil daya performa maksimum", - "optSysPreventSleep": "Cegah Mode Tidur", - "optSysPreventSleepDesc": "Biarkan layar tetap menyala dan cegah sistem masuk mode tidur", + "optSysPreventSleep": "Cegah Tidur", + "optSysPreventSleepDesc": "Biarkan layar tetap menyala dan cegah sistem masuk ke mode tidur", "optSysGameBar": "Nonaktifkan Game Bar / DVR", "optSysGameBarDesc": "Matikan overlay Xbox Game Bar dan perekaman latar belakang", "optSysFseOpt": "Nonaktifkan Pengoptimalan Layar Penuh", @@ -61,7 +61,7 @@ "optSysTransparency": "Nonaktifkan Efek Transparansi", "optSysTransparencyDesc": "Matikan transparansi jendela untuk mengurangi beban komposisi GPU", "optNetFlushDns": "Bersihkan Cache DNS", - "optNetFlushDnsDesc": "Kosongkan cache resolver DNS untuk pencarian baru", + "optNetFlushDnsDesc": "Hapus cache resolver DNS untuk pencarian baru", "optNetNagle": "Nonaktifkan Algoritma Nagle", "optNetNagleDesc": "Kurangi latensi jaringan dengan menonaktifkan pengelompokan paket TCP", "enabledCount": "{{count}} diaktifkan", @@ -69,6 +69,16 @@ "warningProcesses": "Proses yang dihentikan tidak dapat dimulai ulang secara otomatis saat Mode Game dinonaktifkan.", "noOptimizationsSelected": "Pilih setidaknya satu pengoptimalan untuk mengaktifkan Mode Game", "configLockedWhileActive": "Nonaktifkan Mode Game untuk mengubah pengaturan", + "pendingRestoreBanner": "Beberapa pengaturan dari sesi terakhir tidak dapat dipulihkan secara otomatis. Coba lagi setelah penyebabnya (mis. hak admin) diselesaikan.", + "pendingRestoreDiscardHint": "Jika terus gagal, buang status tertunda untuk membuka kembali akses ke Mode Game. Pengaturan yang masih berubah akan tetap seperti itu.", + "retryCleanup": "Coba lagi pembersihan", + "retryingCleanup": "Mencoba lagi…", + "discardPending": "Buang", + "discardConfirm": "Konfirmasi pembuangan", + "discardDone": "Pembersihan tertunda dibuang — Mode Game dapat diaktifkan lagi", + "discardFailed": "Tidak dapat membuang pembersihan tertunda", + "restoreFailedToast": "Pembersihan belum selesai — {{count}} masih tertunda: {{reason}}", + "restoreReasonUnknown": "kesalahan tidak diketahui", "statOptimizationsActive": "Pengoptimalan Aktif", "statServicesDisabled": "Layanan Dijeda", "statSessionTimer": "Timer Sesi", diff --git a/src/renderer/src/locales/it/gameMode.json b/src/renderer/src/locales/it/gameMode.json index 31ef86f3..898b1c27 100644 --- a/src/renderer/src/locales/it/gameMode.json +++ b/src/renderer/src/locales/it/gameMode.json @@ -3,20 +3,20 @@ "pageDescription": "Ottimizza il sistema per ottenere le massime prestazioni di gioco", "activateButton": "ATTIVA", "deactivateButton": "DISATTIVA", - "activeLabel": "ATTIVO", - "inactiveLabel": "PRONTO", - "activeSince": "Attivo da {{time}}", + "activeLabel": "ATTIVA", + "inactiveLabel": "PRONTA", + "activeSince": "Attiva da {{time}}", "activatingProgress": "Attivazione delle ottimizzazioni...", "deactivatingProgress": "Ripristino dello stato del sistema...", "applyingOptimization": "Applicazione: {{label}}", "restoringOptimization": "Ripristino: {{label}}", - "resultActivated": "Modalità Gioco attivata — {{count}} ottimizzazione applicata", - "resultActivated_plural": "Modalità Gioco attivata — {{count}} ottimizzazioni applicate", - "resultDeactivated": "Sistema ripristinato — {{count}} impostazione annullata", - "resultDeactivated_plural": "Sistema ripristinato — {{count}} impostazioni annullate", + "resultActivated": "Modalità Gioco attivata — applicata {{count}} ottimizzazione", + "resultActivated_plural": "Modalità Gioco attivata — applicate {{count}} ottimizzazioni", + "resultDeactivated": "Sistema ripristinato — annullata {{count}} impostazione", + "resultDeactivated_plural": "Sistema ripristinato — annullate {{count}} impostazioni", "resultErrors": "{{count}} non riusciti", "categoryServices": "Servizi", - "categoryServicesDesc": "Disattiva i servizi Windows che usano molte risorse", + "categoryServicesDesc": "Disattiva i servizi Windows che consumano molte risorse", "categoryProcesses": "Processi", "categoryProcessesDesc": "Termina le app in background che consumano risorse", "categoryMemory": "Memoria", @@ -33,7 +33,7 @@ "optSvcWuauservDesc": "Arresta temporaneamente i download degli aggiornamenti in background", "optSvcSpooler": "Disattiva Spooler di stampa", "optSvcSpoolerDesc": "Arresta il servizio di stampa se non è collegata alcuna stampante", - "optSvcDiagtrack": "Disattiva diagnostica", + "optSvcDiagtrack": "Disattiva Diagnostica", "optSvcDiagtrackDesc": "Arresta i servizi di telemetria e monitoraggio diagnostico", "optProcBrowsers": "Chiudi browser", "optProcBrowsersDesc": "Termina Chrome, Firefox, Edge e altri browser", @@ -46,14 +46,14 @@ "customProcessPlaceholder": "Nome processo (es. spotify.exe)", "customProcessAdd": "Aggiungi", "customProcessEmpty": "Nessun processo personalizzato configurato", - "optMemStandby": "Svuota memoria standby", - "optMemStandbyDesc": "Libera la RAM memorizzata nella cache per lasciare più memoria al gioco", + "optMemStandby": "Cancella memoria standby", + "optMemStandbyDesc": "Svuota la RAM memorizzata nella cache per liberare memoria per il gioco", "optSysFocusAssist": "Attiva Assistente notifiche", - "optSysFocusAssistDesc": "Disattiva notifiche e avvisi di Windows", + "optSysFocusAssistDesc": "Sopprime notifiche e avvisi di Windows", "optSysPowerPlan": "Piano di alimentazione Prestazioni elevate", "optSysPowerPlanDesc": "Passa al profilo di alimentazione con prestazioni massime", "optSysPreventSleep": "Impedisci sospensione", - "optSysPreventSleepDesc": "Mantiene acceso lo schermo e impedisce la sospensione del sistema", + "optSysPreventSleepDesc": "Mantiene lo schermo acceso e impedisce la sospensione del sistema", "optSysGameBar": "Disattiva Game Bar / DVR", "optSysGameBarDesc": "Disattiva l'overlay Xbox Game Bar e la registrazione in background", "optSysFseOpt": "Disattiva ottimizzazioni schermo intero", @@ -69,6 +69,16 @@ "warningProcesses": "I processi terminati non possono essere riavviati automaticamente quando la Modalità Gioco viene disattivata.", "noOptimizationsSelected": "Seleziona almeno un'ottimizzazione per attivare la Modalità Gioco", "configLockedWhileActive": "Disattiva la Modalità Gioco per modificare le impostazioni", + "pendingRestoreBanner": "Alcune impostazioni dell'ultima sessione non hanno potuto essere ripristinate automaticamente. Riprova una volta risolta la causa (ad es. diritti di amministratore).", + "pendingRestoreDiscardHint": "Se il problema persiste, elimina lo stato in sospeso per sbloccare la Modalità Gioco. Le impostazioni ancora modificate resteranno invariate.", + "retryCleanup": "Riprova pulizia", + "retryingCleanup": "Nuovo tentativo…", + "discardPending": "Elimina", + "discardConfirm": "Conferma eliminazione", + "discardDone": "Pulizia in sospeso eliminata — la Modalità Gioco può essere attivata di nuovo", + "discardFailed": "Impossibile eliminare la pulizia in sospeso", + "restoreFailedToast": "Pulizia incompleta — {{count}} ancora in sospeso: {{reason}}", + "restoreReasonUnknown": "errore sconosciuto", "statOptimizationsActive": "Ottimizzazioni attive", "statServicesDisabled": "Servizi sospesi", "statSessionTimer": "Timer sessione", @@ -76,9 +86,9 @@ "autoDetectLabel": "Rileva automaticamente i giochi", "autoDetectDesc": "Attiva automaticamente la Modalità Gioco all'avvio di un gioco", "autoDeactivateLabel": "Disattiva automaticamente all'uscita", - "autoDeactivateDesc": "Ripristina le impostazioni del sistema alla chiusura del gioco", + "autoDeactivateDesc": "Ripristina le impostazioni del sistema quando il gioco viene chiuso", "customGameProcessesLabel": "Processi di gioco personalizzati", - "customGameProcessesDesc": "Aggiungi i nomi eseguibili dei giochi non presenti nell'elenco integrato", + "customGameProcessesDesc": "Aggiungi i nomi degli eseguibili dei giochi non presenti nell'elenco integrato", "customGamePlaceholder": "Eseguibile del gioco (es. mygame.exe)", "customGameAdd": "Aggiungi", "customGameEmpty": "Nessun processo di gioco personalizzato configurato", diff --git a/src/renderer/src/locales/ja/gameMode.json b/src/renderer/src/locales/ja/gameMode.json index 7439aa08..76a8652b 100644 --- a/src/renderer/src/locales/ja/gameMode.json +++ b/src/renderer/src/locales/ja/gameMode.json @@ -1,6 +1,6 @@ { "pageTitle": "ゲーム モード", - "pageDescription": "ゲーム性能を最大限に引き出すようシステムを最適化します", + "pageDescription": "ゲーム性能を最大限に引き出せるようにシステムを最適化します", "activateButton": "有効化", "deactivateButton": "無効化", "activeLabel": "有効", @@ -10,13 +10,13 @@ "deactivatingProgress": "システムの状態を復元しています...", "applyingOptimization": "適用中: {{label}}", "restoringOptimization": "復元中: {{label}}", - "resultActivated": "ゲーム モードを有効化しました — {{count}} 件の最適化を適用", - "resultActivated_plural": "ゲーム モードを有効化しました — {{count}} 件の最適化を適用", + "resultActivated": "ゲーム モードを有効化しました — {{count}} 件の最適化を適用しました", + "resultActivated_plural": "ゲーム モードを有効化しました — {{count}} 件の最適化を適用しました", "resultDeactivated": "システムを復元しました — {{count}} 件の設定を元に戻しました", "resultDeactivated_plural": "システムを復元しました — {{count}} 件の設定を元に戻しました", "resultErrors": "{{count}} 件失敗", "categoryServices": "サービス", - "categoryServicesDesc": "リソース消費の大きい Windows サービスを無効化します", + "categoryServicesDesc": "リソース消費の大きい Windows サービスを無効にします", "categoryProcesses": "プロセス", "categoryProcessesDesc": "リソースを消費しているバックグラウンド アプリを終了します", "categoryMemory": "メモリ", @@ -25,62 +25,72 @@ "categorySystemDesc": "通知をブロックし、パフォーマンスを最大化します", "categoryNetwork": "ネットワーク", "categoryNetworkDesc": "ネットワーク遅延を最適化します", - "optSvcWsearch": "Windows Search を無効化", + "optSvcWsearch": "Windows Search を無効にする", "optSvcWsearchDesc": "CPU とディスクを使用するインデックス サービスを停止します", - "optSvcSysmain": "SysMain (Superfetch) を無効化", + "optSvcSysmain": "SysMain (Superfetch) を無効にする", "optSvcSysmainDesc": "メモリの先読みサービスを停止します", - "optSvcWuauserv": "Windows Update を一時停止", + "optSvcWuauserv": "Windows Update を一時停止する", "optSvcWuauservDesc": "バックグラウンドでの更新プログラムのダウンロードを一時的に停止します", - "optSvcSpooler": "Print Spooler を無効化", + "optSvcSpooler": "Print Spooler を無効にする", "optSvcSpoolerDesc": "プリンターが接続されていない場合に印刷サービスを停止します", - "optSvcDiagtrack": "診断を無効化", + "optSvcDiagtrack": "診断を無効にする", "optSvcDiagtrackDesc": "テレメトリおよび診断追跡サービスを停止します", - "optProcBrowsers": "ブラウザーを終了", + "optProcBrowsers": "ブラウザーを閉じる", "optProcBrowsersDesc": "Chrome、Firefox、Edge などのブラウザーを終了します", - "optProcChat": "チャット アプリを終了", + "optProcChat": "チャット アプリを閉じる", "optProcChatDesc": "Discord、Slack、Teams などのチャット アプリを終了します", - "optProcUpdaters": "バックグラウンド アップデーターを停止", + "optProcUpdaters": "バックグラウンド アップデーターを停止する", "optProcUpdatersDesc": "バックグラウンドで実行中のソフトウェア更新エージェントを終了します", "optProcCustom": "カスタム プロセス一覧", "optProcCustomDesc": "指定した名前のプロセスを終了します", "customProcessPlaceholder": "プロセス名 (例: spotify.exe)", "customProcessAdd": "追加", "customProcessEmpty": "カスタム プロセスは設定されていません", - "optMemStandby": "スタンバイ メモリをクリア", - "optMemStandbyDesc": "キャッシュされた RAM を解放して、ゲーム用のメモリを確保します", - "optSysFocusAssist": "集中モードを有効化", + "optMemStandby": "スタンバイ メモリをクリアする", + "optMemStandbyDesc": "キャッシュされた RAM を解放してゲーム用のメモリを確保します", + "optSysFocusAssist": "集中モードを有効にする", "optSysFocusAssistDesc": "Windows の通知とアラートを抑制します", "optSysPowerPlan": "高パフォーマンス電源プラン", "optSysPowerPlanDesc": "最大パフォーマンスの電源プロファイルに切り替えます", - "optSysPreventSleep": "スリープを防止", - "optSysPreventSleepDesc": "ディスプレイをオンのままにし、システムのスリープを防止します", - "optSysGameBar": "Game Bar / DVR を無効化", + "optSysPreventSleep": "スリープを防止する", + "optSysPreventSleepDesc": "ディスプレイをオンのままにし、システムがスリープしないようにします", + "optSysGameBar": "Game Bar / DVR を無効にする", "optSysGameBarDesc": "Xbox Game Bar のオーバーレイとバックグラウンド録画をオフにします", - "optSysFseOpt": "全画面表示の最適化を無効化", - "optSysFseOptDesc": "Windows が全画面ゲームに DWM コンポジションを適用しないようにします", - "optSysTransparency": "透明効果を無効化", - "optSysTransparencyDesc": "ウィンドウの透明効果をオフにして、GPU の合成負荷を軽減します", - "optNetFlushDns": "DNS キャッシュをフラッシュ", - "optNetFlushDnsDesc": "DNS リゾルバー キャッシュをクリアして、新しい名前解決を行います", - "optNetNagle": "Nagle のアルゴリズムを無効化", + "optSysFseOpt": "フルスクリーン最適化を無効にする", + "optSysFseOptDesc": "Windows がフルスクリーン ゲームに DWM コンポジションを適用しないようにします", + "optSysTransparency": "透明効果を無効にする", + "optSysTransparencyDesc": "ウィンドウの透明効果をオフにして GPU 合成の負荷を軽減します", + "optNetFlushDns": "DNS キャッシュをフラッシュする", + "optNetFlushDnsDesc": "DNS リゾルバー キャッシュをクリアして新しい名前解決を行います", + "optNetNagle": "Nagle のアルゴリズムを無効にする", "optNetNagleDesc": "TCP パケットのバッチ処理を無効にしてネットワーク遅延を低減します", "enabledCount": "{{count}} 件有効", "adminBadge": "管理者", "warningProcesses": "終了したプロセスは、ゲーム モードを無効化しても自動的には再起動されません。", "noOptimizationsSelected": "ゲーム モードを有効化するには、少なくとも 1 つの最適化を選択してください", "configLockedWhileActive": "設定を変更するには、ゲーム モードを無効化してください", + "pendingRestoreBanner": "前回のセッションの一部の設定を自動的に復元できませんでした。原因 (例: 管理者権限) を解消してから再試行してください。", + "pendingRestoreDiscardHint": "失敗が続く場合は、保留中の状態を破棄してゲーム モードを再び有効化できるようにしてください。変更されたままの設定はその状態が維持されます。", + "retryCleanup": "クリーンアップを再試行", + "retryingCleanup": "再試行しています…", + "discardPending": "破棄", + "discardConfirm": "破棄を確認", + "discardDone": "保留中のクリーンアップを破棄しました — ゲーム モードを再び有効化できます", + "discardFailed": "保留中のクリーンアップを破棄できませんでした", + "restoreFailedToast": "クリーンアップが完了していません — {{count}} 件がまだ保留中: {{reason}}", + "restoreReasonUnknown": "不明なエラー", "statOptimizationsActive": "有効な最適化", "statServicesDisabled": "一時停止中のサービス", "statSessionTimer": "セッション タイマー", "autoDetectTitle": "自動検出", - "autoDetectLabel": "ゲームを自動検出", + "autoDetectLabel": "ゲームを自動検出する", "autoDetectDesc": "ゲームの起動時にゲーム モードを自動的に有効化します", - "autoDeactivateLabel": "終了時に自動で無効化", - "autoDeactivateDesc": "ゲーム終了時にシステム設定を復元します", + "autoDeactivateLabel": "終了時に自動的に無効化する", + "autoDeactivateDesc": "ゲームの終了時にシステム設定を復元します", "customGameProcessesLabel": "カスタム ゲーム プロセス", "customGameProcessesDesc": "組み込み一覧にないゲームの実行ファイル名を追加します", - "customGamePlaceholder": "ゲーム実行ファイル (例: mygame.exe)", + "customGamePlaceholder": "ゲームの実行ファイル (例: mygame.exe)", "customGameAdd": "追加", "customGameEmpty": "カスタム ゲーム プロセスは設定されていません", - "autoDetectedBanner": "自動で有効化しました — {{name}} を検出" + "autoDetectedBanner": "自動的に有効化しました — {{name}} を検出しました" } diff --git a/src/renderer/src/locales/ko/gameMode.json b/src/renderer/src/locales/ko/gameMode.json index f5f20a8f..cad98189 100644 --- a/src/renderer/src/locales/ko/gameMode.json +++ b/src/renderer/src/locales/ko/gameMode.json @@ -6,19 +6,19 @@ "activeLabel": "활성", "inactiveLabel": "준비됨", "activeSince": "{{time}} 동안 활성화됨", - "activatingProgress": "최적화를 활성화하는 중...", + "activatingProgress": "최적화를 적용하는 중...", "deactivatingProgress": "시스템 상태를 복원하는 중...", "applyingOptimization": "적용 중: {{label}}", "restoringOptimization": "복원 중: {{label}}", - "resultActivated": "게임 모드가 활성화됨 — {{count}}개 최적화 적용됨", - "resultActivated_plural": "게임 모드가 활성화됨 — {{count}}개 최적화 적용됨", - "resultDeactivated": "시스템 복원됨 — {{count}}개 설정 되돌림", - "resultDeactivated_plural": "시스템 복원됨 — {{count}}개 설정 되돌림", + "resultActivated": "게임 모드가 활성화됨 — 최적화 {{count}}개 적용됨", + "resultActivated_plural": "게임 모드가 활성화됨 — 최적화 {{count}}개 적용됨", + "resultDeactivated": "시스템이 복원됨 — 설정 {{count}}개 되돌림", + "resultDeactivated_plural": "시스템이 복원됨 — 설정 {{count}}개 되돌림", "resultErrors": "{{count}}개 실패", "categoryServices": "서비스", "categoryServicesDesc": "리소스를 많이 사용하는 Windows 서비스를 사용 안 함으로 설정합니다", "categoryProcesses": "프로세스", - "categoryProcessesDesc": "리소스를 사용하는 백그라운드 앱을 종료합니다", + "categoryProcessesDesc": "리소스를 소비하는 백그라운드 앱을 종료합니다", "categoryMemory": "메모리", "categoryMemoryDesc": "게임을 위해 RAM을 확보합니다", "categorySystem": "시스템", @@ -27,7 +27,7 @@ "categoryNetworkDesc": "네트워크 지연 시간을 최적화합니다", "optSvcWsearch": "Windows Search 사용 안 함", "optSvcWsearchDesc": "CPU와 디스크를 사용하는 인덱싱 서비스를 중지합니다", - "optSvcSysmain": "SysMain (Superfetch) 사용 안 함", + "optSvcSysmain": "SysMain(Superfetch) 사용 안 함", "optSvcSysmainDesc": "메모리 프리페치 서비스를 중지합니다", "optSvcWuauserv": "Windows Update 일시 중지", "optSvcWuauservDesc": "백그라운드 업데이트 다운로드를 일시적으로 중지합니다", @@ -42,20 +42,20 @@ "optProcUpdaters": "백그라운드 업데이트 프로그램 중지", "optProcUpdatersDesc": "백그라운드에서 실행 중인 소프트웨어 업데이트 에이전트를 종료합니다", "optProcCustom": "사용자 지정 프로세스 목록", - "optProcCustomDesc": "지정한 이름의 프로세스를 종료합니다", + "optProcCustomDesc": "이름으로 지정한 프로세스를 종료합니다", "customProcessPlaceholder": "프로세스 이름(예: spotify.exe)", "customProcessAdd": "추가", "customProcessEmpty": "구성된 사용자 지정 프로세스가 없습니다", "optMemStandby": "대기 메모리 지우기", - "optMemStandbyDesc": "캐시된 RAM을 비워 게임용 메모리를 확보합니다", + "optMemStandbyDesc": "캐시된 RAM을 비워 게임을 위한 메모리를 확보합니다", "optSysFocusAssist": "집중 지원 사용", - "optSysFocusAssistDesc": "Windows 알림 및 경고를 숨깁니다", + "optSysFocusAssistDesc": "Windows 알림 및 경고를 억제합니다", "optSysPowerPlan": "고성능 전원 관리 옵션", "optSysPowerPlanDesc": "최대 성능 전원 프로필로 전환합니다", "optSysPreventSleep": "절전 모드 방지", "optSysPreventSleepDesc": "디스플레이를 켜진 상태로 유지하고 시스템이 절전 모드로 전환되지 않도록 합니다", "optSysGameBar": "게임 바 / DVR 사용 안 함", - "optSysGameBarDesc": "Xbox 게임 바 오버레이와 백그라운드 녹화를 끕니다", + "optSysGameBarDesc": "Xbox 게임 바 오버레이 및 백그라운드 녹화를 끕니다", "optSysFseOpt": "전체 화면 최적화 사용 안 함", "optSysFseOptDesc": "Windows가 전체 화면 게임에 DWM 컴포지션을 적용하지 않도록 합니다", "optSysTransparency": "투명 효과 사용 안 함", @@ -67,8 +67,18 @@ "enabledCount": "{{count}}개 활성화됨", "adminBadge": "관리자", "warningProcesses": "종료된 프로세스는 게임 모드를 비활성화할 때 자동으로 다시 시작할 수 없습니다.", - "noOptimizationsSelected": "게임 모드를 활성화하려면 하나 이상의 최적화를 선택하세요", + "noOptimizationsSelected": "게임 모드를 활성화하려면 최적화를 하나 이상 선택하세요", "configLockedWhileActive": "설정을 변경하려면 게임 모드를 비활성화하세요", + "pendingRestoreBanner": "지난 세션의 일부 설정을 자동으로 복원할 수 없습니다. 원인(예: 관리자 권한)이 해결되면 다시 시도하세요.", + "pendingRestoreDiscardHint": "계속 실패하면 대기 중 상태를 삭제하여 게임 모드를 다시 사용할 수 있습니다. 아직 변경된 설정은 현재 상태로 유지됩니다.", + "retryCleanup": "정리 다시 시도", + "retryingCleanup": "다시 시도하는 중…", + "discardPending": "삭제", + "discardConfirm": "삭제 확인", + "discardDone": "대기 중인 정리가 삭제됨 — 게임 모드를 다시 활성화할 수 있습니다", + "discardFailed": "대기 중인 정리를 삭제할 수 없습니다", + "restoreFailedToast": "정리가 완료되지 않음 — {{count}}개가 아직 대기 중: {{reason}}", + "restoreReasonUnknown": "알 수 없는 오류", "statOptimizationsActive": "활성화된 최적화", "statServicesDisabled": "일시 중지된 서비스", "statSessionTimer": "세션 타이머", diff --git a/src/renderer/src/locales/ms/gameMode.json b/src/renderer/src/locales/ms/gameMode.json index bb0db66d..cd03cad2 100644 --- a/src/renderer/src/locales/ms/gameMode.json +++ b/src/renderer/src/locales/ms/gameMode.json @@ -8,10 +8,10 @@ "activeSince": "Aktif selama {{time}}", "activatingProgress": "Mengaktifkan pengoptimuman...", "deactivatingProgress": "Memulihkan keadaan sistem...", - "applyingOptimization": "Sedang digunakan: {{label}}", - "restoringOptimization": "Sedang dipulihkan: {{label}}", - "resultActivated": "Mod Permainan diaktifkan — {{count}} pengoptimuman digunakan", - "resultActivated_plural": "Mod Permainan diaktifkan — {{count}} pengoptimuman digunakan", + "applyingOptimization": "Menerapkan: {{label}}", + "restoringOptimization": "Memulihkan: {{label}}", + "resultActivated": "Mod Permainan diaktifkan — {{count}} pengoptimuman diterapkan", + "resultActivated_plural": "Mod Permainan diaktifkan — {{count}} pengoptimuman diterapkan", "resultDeactivated": "Sistem dipulihkan — {{count}} tetapan dikembalikan", "resultDeactivated_plural": "Sistem dipulihkan — {{count}} tetapan dikembalikan", "resultErrors": "{{count}} gagal", @@ -34,7 +34,7 @@ "optSvcSpooler": "Nyahaktifkan Print Spooler", "optSvcSpoolerDesc": "Menghentikan perkhidmatan cetakan jika tiada pencetak disambungkan", "optSvcDiagtrack": "Nyahaktifkan Diagnostik", - "optSvcDiagtrackDesc": "Menghentikan telemetri dan perkhidmatan penjejakan diagnostik", + "optSvcDiagtrackDesc": "Menghentikan perkhidmatan telemetri dan penjejakan diagnostik", "optProcBrowsers": "Tutup Pelayar", "optProcBrowsersDesc": "Tamatkan Chrome, Firefox, Edge dan pelayar lain", "optProcChat": "Tutup Aplikasi Sembang", @@ -47,7 +47,7 @@ "customProcessAdd": "Tambah", "customProcessEmpty": "Tiada proses tersuai dikonfigurasikan", "optMemStandby": "Kosongkan Memori Siap Sedia", - "optMemStandbyDesc": "Buang RAM cache untuk mengosongkan memori bagi permainan anda", + "optMemStandbyDesc": "Bersihkan RAM cache untuk mengosongkan memori bagi permainan anda", "optSysFocusAssist": "Aktifkan Focus Assist", "optSysFocusAssistDesc": "Sekat pemberitahuan dan amaran Windows", "optSysPowerPlan": "Pelan Kuasa Prestasi Tinggi", @@ -57,9 +57,9 @@ "optSysGameBar": "Nyahaktifkan Game Bar / DVR", "optSysGameBarDesc": "Matikan tindanan Xbox Game Bar dan rakaman latar belakang", "optSysFseOpt": "Nyahaktifkan Pengoptimuman Skrin Penuh", - "optSysFseOptDesc": "Cegah Windows daripada menggunakan komposisi DWM pada permainan skrin penuh", + "optSysFseOptDesc": "Cegah Windows daripada menerapkan komposisi DWM pada permainan skrin penuh", "optSysTransparency": "Nyahaktifkan Kesan Ketelusan", - "optSysTransparencyDesc": "Matikan ketelusan tetingkap untuk mengurangkan overhed penggubahan GPU", + "optSysTransparencyDesc": "Matikan ketelusan tetingkap untuk mengurangkan beban komposisi GPU", "optNetFlushDns": "Kosongkan Cache DNS", "optNetFlushDnsDesc": "Kosongkan cache penyelesai DNS untuk carian baharu", "optNetNagle": "Nyahaktifkan Algoritma Nagle", @@ -69,10 +69,20 @@ "warningProcesses": "Proses yang ditamatkan tidak boleh dimulakan semula secara automatik apabila Mod Permainan dinyahaktifkan.", "noOptimizationsSelected": "Pilih sekurang-kurangnya satu pengoptimuman untuk mengaktifkan Mod Permainan", "configLockedWhileActive": "Nyahaktifkan Mod Permainan untuk menukar tetapan", + "pendingRestoreBanner": "Sesetengah tetapan daripada sesi terakhir tidak dapat dipulihkan secara automatik. Cuba semula setelah puncanya (cth. hak pentadbir) diselesaikan.", + "pendingRestoreDiscardHint": "Jika ia terus gagal, buang keadaan tertunda untuk menyahsekat Mod Permainan. Sebarang tetapan yang masih berubah akan kekal seperti sedia ada.", + "retryCleanup": "Cuba semula pembersihan", + "retryingCleanup": "Mencuba semula…", + "discardPending": "Buang", + "discardConfirm": "Sahkan pembuangan", + "discardDone": "Pembersihan tertunda dibuang — Mod Permainan boleh diaktifkan semula", + "discardFailed": "Tidak dapat membuang pembersihan tertunda", + "restoreFailedToast": "Pembersihan tidak lengkap — {{count}} masih tertunda: {{reason}}", + "restoreReasonUnknown": "ralat tidak diketahui", "statOptimizationsActive": "Pengoptimuman Aktif", "statServicesDisabled": "Perkhidmatan Dijeda", "statSessionTimer": "Pemasa Sesi", - "autoDetectTitle": "Kesan Automatik", + "autoDetectTitle": "Pengesanan Automatik", "autoDetectLabel": "Kesan permainan secara automatik", "autoDetectDesc": "Aktifkan Mod Permainan secara automatik apabila permainan dilancarkan", "autoDeactivateLabel": "Nyahaktifkan secara automatik apabila keluar", diff --git a/src/renderer/src/locales/nl/gameMode.json b/src/renderer/src/locales/nl/gameMode.json index 3169e2ed..77c44822 100644 --- a/src/renderer/src/locales/nl/gameMode.json +++ b/src/renderer/src/locales/nl/gameMode.json @@ -18,7 +18,7 @@ "categoryServices": "Services", "categoryServicesDesc": "Schakel Windows-services uit die veel systeembronnen gebruiken", "categoryProcesses": "Processen", - "categoryProcessesDesc": "Beëindig achtergrond-apps die systeembronnen gebruiken", + "categoryProcessesDesc": "Beëindig achtergrondapps die systeembronnen gebruiken", "categoryMemory": "Geheugen", "categoryMemoryDesc": "Maak RAM vrij voor uw game", "categorySystem": "Systeem", @@ -39,36 +39,46 @@ "optProcBrowsersDesc": "Beëindig Chrome, Firefox, Edge en andere browsers", "optProcChat": "Chat-apps sluiten", "optProcChatDesc": "Beëindig Discord, Slack, Teams en andere chat-apps", - "optProcUpdaters": "Achtergrond-updaters stoppen", + "optProcUpdaters": "Achtergrondupdaters stoppen", "optProcUpdatersDesc": "Beëindig software-updateagents die op de achtergrond worden uitgevoerd", - "optProcCustom": "Aangepaste processenlijst", + "optProcCustom": "Aangepaste proceslijst", "optProcCustomDesc": "Beëindig processen die u op naam opgeeft", "customProcessPlaceholder": "Procesnaam (bijv. spotify.exe)", "customProcessAdd": "Toevoegen", "customProcessEmpty": "Geen aangepaste processen geconfigureerd", "optMemStandby": "Stand-bygeheugen wissen", - "optMemStandbyDesc": "Leeg gecachet RAM om geheugen vrij te maken voor uw game", + "optMemStandbyDesc": "Maak RAM-cache leeg om geheugen vrij te maken voor uw game", "optSysFocusAssist": "Focus Assist inschakelen", "optSysFocusAssistDesc": "Onderdrukt Windows-meldingen en waarschuwingen", "optSysPowerPlan": "Energiebeheerschema Hoge prestaties", "optSysPowerPlanDesc": "Schakel over naar het energieprofiel voor maximale prestaties", "optSysPreventSleep": "Slaapstand voorkomen", - "optSysPreventSleepDesc": "Houd het scherm ingeschakeld en voorkom dat het systeem in slaapstand gaat", + "optSysPreventSleepDesc": "Houd het beeldscherm ingeschakeld en voorkom dat het systeem in slaapstand gaat", "optSysGameBar": "Game Bar / DVR uitschakelen", "optSysGameBarDesc": "Schakel de Xbox Game Bar-overlay en achtergrondopname uit", "optSysFseOpt": "Optimalisaties voor volledig scherm uitschakelen", "optSysFseOptDesc": "Voorkom dat Windows DWM-compositie toepast op games in volledig scherm", "optSysTransparency": "Transparantie-effecten uitschakelen", - "optSysTransparencyDesc": "Schakel venstertransparantie uit om de GPU-belasting door compositing te verminderen", + "optSysTransparencyDesc": "Schakel venstertransparantie uit om de GPU-belasting door compositie te verminderen", "optNetFlushDns": "DNS-cache leegmaken", "optNetFlushDnsDesc": "Wis de DNS-resolvercache voor nieuwe opzoekingen", - "optNetNagle": "Nagle-algoritme uitschakelen", - "optNetNagleDesc": "Verlaag de netwerklatentie door TCP-pakketbundeling uit te schakelen", + "optNetNagle": "Nagle's Algorithm uitschakelen", + "optNetNagleDesc": "Verminder de netwerklatentie door TCP-pakketbundeling uit te schakelen", "enabledCount": "{{count}} ingeschakeld", "adminBadge": "ADMIN", "warningProcesses": "Beëindigde processen kunnen niet automatisch opnieuw worden gestart wanneer Spelmodus wordt gedeactiveerd.", "noOptimizationsSelected": "Selecteer ten minste één optimalisatie om Spelmodus te activeren", "configLockedWhileActive": "Deactiveer Spelmodus om instellingen te wijzigen", + "pendingRestoreBanner": "Sommige instellingen uit de vorige sessie konden niet automatisch worden hersteld. Probeer het opnieuw zodra de oorzaak (bijv. beheerdersrechten) is opgelost.", + "pendingRestoreDiscardHint": "Als het blijft mislukken, verwerp dan de openstaande status om Spelmodus weer beschikbaar te maken. Instellingen die nog gewijzigd zijn, blijven ongewijzigd.", + "retryCleanup": "Opschonen opnieuw proberen", + "retryingCleanup": "Opnieuw proberen…", + "discardPending": "Verwerpen", + "discardConfirm": "Verwerpen bevestigen", + "discardDone": "Openstaande opschoning verworpen — Spelmodus kan opnieuw worden geactiveerd", + "discardFailed": "De openstaande opschoning kon niet worden verworpen", + "restoreFailedToast": "Opschonen onvolledig — {{count}} nog openstaand: {{reason}}", + "restoreReasonUnknown": "onbekende fout", "statOptimizationsActive": "Actieve optimalisaties", "statServicesDisabled": "Onderbroken services", "statSessionTimer": "Sessietimer", diff --git a/src/renderer/src/locales/no/gameMode.json b/src/renderer/src/locales/no/gameMode.json index 35423fbc..6d5f1ffc 100644 --- a/src/renderer/src/locales/no/gameMode.json +++ b/src/renderer/src/locales/no/gameMode.json @@ -28,7 +28,7 @@ "optSvcWsearch": "Deaktiver Windows Search", "optSvcWsearchDesc": "Stopper indekseringstjenesten som bruker CPU og disk", "optSvcSysmain": "Deaktiver SysMain (Superfetch)", - "optSvcSysmainDesc": "Stopper tjenesten for forhåndshenting til minnet", + "optSvcSysmainDesc": "Stopper tjenesten for forhåndshenting i minnet", "optSvcWuauserv": "Sett Windows Update på pause", "optSvcWuauservDesc": "Stopper midlertidig nedlasting av oppdateringer i bakgrunnen", "optSvcSpooler": "Deaktiver Print Spooler", @@ -50,7 +50,7 @@ "optMemStandbyDesc": "Tøm bufret RAM for å frigjøre minne til spillet ditt", "optSysFocusAssist": "Aktiver Fokusassistent", "optSysFocusAssistDesc": "Undertrykk Windows-varsler og meldinger", - "optSysPowerPlan": "Strømplan for høy ytelse", + "optSysPowerPlan": "Strømplanen Høy ytelse", "optSysPowerPlanDesc": "Bytt til strømprofilen for maksimal ytelse", "optSysPreventSleep": "Forhindre hvilemodus", "optSysPreventSleepDesc": "Hold skjermen på og forhindre at systemet går i hvilemodus", @@ -62,17 +62,27 @@ "optSysTransparencyDesc": "Slå av vindusgjennomsiktighet for å redusere belastningen fra GPU-kompositering", "optNetFlushDns": "Tøm DNS-buffer", "optNetFlushDnsDesc": "Tøm DNS-resolverbufferen for nye oppslag", - "optNetNagle": "Deaktiver Nagle-algoritmen", - "optNetNagleDesc": "Reduser nettverksforsinkelse ved å deaktivere TCP-pakkebatching", + "optNetNagle": "Deaktiver Nagle's Algorithm", + "optNetNagleDesc": "Reduser nettverksforsinkelse ved å deaktivere sammenslåing av TCP-pakker", "enabledCount": "{{count}} aktivert", "adminBadge": "ADMIN", - "warningProcesses": "Avsluttede prosesser kan ikke startes automatisk på nytt når Spillmodus deaktiveres.", + "warningProcesses": "Avsluttede prosesser kan ikke startes på nytt automatisk når Spillmodus deaktiveres.", "noOptimizationsSelected": "Velg minst én optimalisering for å aktivere Spillmodus", "configLockedWhileActive": "Deaktiver Spillmodus for å endre innstillinger", + "pendingRestoreBanner": "Noen innstillinger fra forrige økt kunne ikke gjenopprettes automatisk. Prøv på nytt når årsaken (f.eks. administratorrettigheter) er løst.", + "pendingRestoreDiscardHint": "Hvis det fortsatt mislykkes, forkast den ventende tilstanden for å låse opp Spillmodus. Eventuelle innstillinger som fortsatt er endret, forblir som de er.", + "retryCleanup": "Prøv opprydding på nytt", + "retryingCleanup": "Prøver på nytt…", + "discardPending": "Forkast", + "discardConfirm": "Bekreft forkasting", + "discardDone": "Ventende opprydding forkastet — Spillmodus kan aktiveres igjen", + "discardFailed": "Kunne ikke forkaste den ventende oppryddingen", + "restoreFailedToast": "Opprydding ufullstendig — {{count}} fortsatt ventende: {{reason}}", + "restoreReasonUnknown": "ukjent feil", "statOptimizationsActive": "Aktive optimaliseringer", "statServicesDisabled": "Tjenester satt på pause", - "statSessionTimer": "Økttid", - "autoDetectTitle": "Automatisk oppdaging", + "statSessionTimer": "Økttidtaker", + "autoDetectTitle": "Automatisk gjenkjenning", "autoDetectLabel": "Oppdag spill automatisk", "autoDetectDesc": "Aktiver Spillmodus automatisk når et spill startes", "autoDeactivateLabel": "Deaktiver automatisk ved avslutning", diff --git a/src/renderer/src/locales/pl/gameMode.json b/src/renderer/src/locales/pl/gameMode.json index 967903bd..4098a380 100644 --- a/src/renderer/src/locales/pl/gameMode.json +++ b/src/renderer/src/locales/pl/gameMode.json @@ -26,7 +26,7 @@ "categoryNetwork": "Sieć", "categoryNetworkDesc": "Zoptymalizuj opóźnienia sieciowe", "optSvcWsearch": "Wyłącz Windows Search", - "optSvcWsearchDesc": "Zatrzymuje usługę indeksowania, która wykorzystuje CPU i dysk", + "optSvcWsearchDesc": "Zatrzymuje usługę indeksowania, która używa CPU i dysku", "optSvcSysmain": "Wyłącz SysMain (Superfetch)", "optSvcSysmainDesc": "Zatrzymuje usługę wstępnego ładowania do pamięci", "optSvcWuauserv": "Wstrzymaj Windows Update", @@ -36,18 +36,18 @@ "optSvcDiagtrack": "Wyłącz diagnostykę", "optSvcDiagtrackDesc": "Zatrzymuje usługi telemetrii i śledzenia diagnostycznego", "optProcBrowsers": "Zamknij przeglądarki", - "optProcBrowsersDesc": "Zamknij Chrome, Firefox, Edge i inne przeglądarki", + "optProcBrowsersDesc": "Zamyka Chrome, Firefox, Edge i inne przeglądarki", "optProcChat": "Zamknij aplikacje do czatu", - "optProcChatDesc": "Zamknij Discord, Slack, Teams i inne aplikacje do czatu", + "optProcChatDesc": "Zamyka Discord, Slack, Teams i inne aplikacje do czatu", "optProcUpdaters": "Zatrzymaj aktualizatory działające w tle", - "optProcUpdatersDesc": "Zamknij agenty aktualizacji oprogramowania działające w tle", + "optProcUpdatersDesc": "Zamyka agenty aktualizacji oprogramowania działające w tle", "optProcCustom": "Niestandardowa lista procesów", - "optProcCustomDesc": "Zamknij procesy wskazane według nazwy", + "optProcCustomDesc": "Zamyka procesy wskazane przez nazwę", "customProcessPlaceholder": "Nazwa procesu (np. spotify.exe)", "customProcessAdd": "Dodaj", "customProcessEmpty": "Nie skonfigurowano niestandardowych procesów", "optMemStandby": "Wyczyść pamięć wstrzymaną", - "optMemStandbyDesc": "Wyczyść pamięć podręczną RAM, aby zwolnić pamięć dla gry", + "optMemStandbyDesc": "Czyści pamięć RAM z pamięci podręcznej, aby zwolnić ją dla gry", "optSysFocusAssist": "Włącz Asystenta koncentracji", "optSysFocusAssistDesc": "Wycisza powiadomienia i alerty Windows", "optSysPowerPlan": "Plan zasilania Wysoka wydajność", @@ -61,7 +61,7 @@ "optSysTransparency": "Wyłącz efekty przezroczystości", "optSysTransparencyDesc": "Wyłącza przezroczystość okien, aby zmniejszyć obciążenie GPU związane z kompozycją", "optNetFlushDns": "Wyczyść pamięć podręczną DNS", - "optNetFlushDnsDesc": "Czyści pamięć podręczną resolvera DNS, aby odświeżyć wyszukiwanie adresów", + "optNetFlushDnsDesc": "Czyści pamięć podręczną resolvera DNS, aby wymusić nowe wyszukiwania", "optNetNagle": "Wyłącz algorytm Nagle’a", "optNetNagleDesc": "Zmniejsza opóźnienia sieciowe przez wyłączenie grupowania pakietów TCP", "enabledCount": "Włączono: {{count}}", @@ -69,14 +69,24 @@ "warningProcesses": "Zamkniętych procesów nie można automatycznie uruchomić ponownie po dezaktywacji Trybu gry.", "noOptimizationsSelected": "Wybierz co najmniej jedną optymalizację, aby aktywować Tryb gry", "configLockedWhileActive": "Dezaktywuj Tryb gry, aby zmienić ustawienia", + "pendingRestoreBanner": "Niektórych ustawień z ostatniej sesji nie udało się przywrócić automatycznie. Spróbuj ponownie, gdy przyczyna problemu (np. uprawnienia administratora) zostanie usunięta.", + "pendingRestoreDiscardHint": "Jeśli problem nadal występuje, odrzuć oczekujący stan, aby odblokować Tryb gry. Wszelkie nadal zmienione ustawienia pozostaną bez zmian.", + "retryCleanup": "Ponów czyszczenie", + "retryingCleanup": "Ponawianie…", + "discardPending": "Odrzuć", + "discardConfirm": "Potwierdź odrzucenie", + "discardDone": "Oczekujące czyszczenie odrzucone — Tryb gry można ponownie aktywować", + "discardFailed": "Nie udało się odrzucić oczekującego czyszczenia", + "restoreFailedToast": "Czyszczenie nie zostało ukończone — nadal oczekuje: {{count}}; powód: {{reason}}", + "restoreReasonUnknown": "nieznany błąd", "statOptimizationsActive": "Aktywne optymalizacje", "statServicesDisabled": "Wstrzymane usługi", "statSessionTimer": "Czas sesji", "autoDetectTitle": "Automatyczne wykrywanie", "autoDetectLabel": "Automatycznie wykrywaj gry", - "autoDetectDesc": "Automatycznie aktywuje Tryb gry po uruchomieniu gry", + "autoDetectDesc": "Automatycznie aktywuj Tryb gry po uruchomieniu gry", "autoDeactivateLabel": "Automatycznie dezaktywuj po zamknięciu", - "autoDeactivateDesc": "Przywraca ustawienia systemu po zamknięciu gry", + "autoDeactivateDesc": "Przywracaj ustawienia systemu po zamknięciu gry", "customGameProcessesLabel": "Niestandardowe procesy gier", "customGameProcessesDesc": "Dodaj nazwy plików wykonywalnych gier, których nie ma na wbudowanej liście", "customGamePlaceholder": "Plik wykonywalny gry (np. mygame.exe)", diff --git a/src/renderer/src/locales/pt/gameMode.json b/src/renderer/src/locales/pt/gameMode.json index 5b7f5074..d39d4967 100644 --- a/src/renderer/src/locales/pt/gameMode.json +++ b/src/renderer/src/locales/pt/gameMode.json @@ -14,7 +14,7 @@ "resultActivated_plural": "Modo de Jogo ativado — {{count}} otimizações aplicadas", "resultDeactivated": "Sistema restaurado — {{count}} definição revertida", "resultDeactivated_plural": "Sistema restaurado — {{count}} definições revertidas", - "resultErrors": "{{count}} falhou", + "resultErrors": "{{count}} falha(s)", "categoryServices": "Serviços", "categoryServicesDesc": "Desative serviços do Windows que consomem muitos recursos", "categoryProcesses": "Processos", @@ -31,48 +31,58 @@ "optSvcSysmainDesc": "Interrompe o serviço de pré-carregamento de memória", "optSvcWuauserv": "Pausar Windows Update", "optSvcWuauservDesc": "Interrompe temporariamente as transferências de atualizações em segundo plano", - "optSvcSpooler": "Desativar Print Spooler", + "optSvcSpooler": "Desativar Spooler de Impressão", "optSvcSpoolerDesc": "Interrompe o serviço de impressão se não tiver nenhuma impressora ligada", "optSvcDiagtrack": "Desativar Diagnóstico", "optSvcDiagtrackDesc": "Interrompe os serviços de telemetria e rastreio de diagnóstico", - "optProcBrowsers": "Fechar navegadores", + "optProcBrowsers": "Fechar Navegadores", "optProcBrowsersDesc": "Termina Chrome, Firefox, Edge e outros navegadores", - "optProcChat": "Fechar aplicações de chat", - "optProcChatDesc": "Termina Discord, Slack, Teams e outras aplicações de chat", - "optProcUpdaters": "Interromper atualizadores em segundo plano", + "optProcChat": "Fechar Aplicações de Conversação", + "optProcChatDesc": "Termina Discord, Slack, Teams e outras aplicações de conversação", + "optProcUpdaters": "Parar Atualizadores em Segundo Plano", "optProcUpdatersDesc": "Termina agentes de atualização de software em execução em segundo plano", - "optProcCustom": "Lista de processos personalizada", - "optProcCustomDesc": "Termina processos especificados por nome", + "optProcCustom": "Lista de Processos Personalizada", + "optProcCustomDesc": "Termina os processos que indicar pelo nome", "customProcessPlaceholder": "Nome do processo (ex.: spotify.exe)", "customProcessAdd": "Adicionar", "customProcessEmpty": "Nenhum processo personalizado configurado", - "optMemStandby": "Limpar memória em espera", + "optMemStandby": "Limpar Memória em Espera", "optMemStandbyDesc": "Limpa a RAM em cache para libertar memória para o seu jogo", - "optSysFocusAssist": "Ativar Assistência de concentração", + "optSysFocusAssist": "Ativar Assistência de Concentração", "optSysFocusAssistDesc": "Suprime notificações e alertas do Windows", - "optSysPowerPlan": "Plano de energia de elevado desempenho", + "optSysPowerPlan": "Plano de Energia de Alto Desempenho", "optSysPowerPlanDesc": "Muda para o perfil de energia de desempenho máximo", - "optSysPreventSleep": "Impedir suspensão", - "optSysPreventSleepDesc": "Mantém o ecrã ligado e impede a suspensão do sistema", + "optSysPreventSleep": "Impedir Suspensão", + "optSysPreventSleepDesc": "Mantém o ecrã ligado e impede o sistema de entrar em suspensão", "optSysGameBar": "Desativar Game Bar / DVR", "optSysGameBarDesc": "Desativa a sobreposição Xbox Game Bar e a gravação em segundo plano", - "optSysFseOpt": "Desativar otimizações de ecrã inteiro", + "optSysFseOpt": "Desativar Otimizações de Ecrã Inteiro", "optSysFseOptDesc": "Impede o Windows de aplicar composição DWM a jogos em ecrã inteiro", - "optSysTransparency": "Desativar efeitos de transparência", + "optSysTransparency": "Desativar Efeitos de Transparência", "optSysTransparencyDesc": "Desativa a transparência das janelas para reduzir a sobrecarga de composição da GPU", - "optNetFlushDns": "Limpar cache DNS", - "optNetFlushDnsDesc": "Limpa a cache do resolvedor DNS para novas consultas", - "optNetNagle": "Desativar algoritmo de Nagle", + "optNetFlushDns": "Limpar Cache DNS", + "optNetFlushDnsDesc": "Limpa a cache do resolvedor DNS para novas pesquisas", + "optNetNagle": "Desativar o Algoritmo de Nagle", "optNetNagleDesc": "Reduz a latência da rede ao desativar o agrupamento de pacotes TCP", "enabledCount": "{{count}} ativado(s)", "adminBadge": "ADMIN", "warningProcesses": "Os processos terminados não podem ser reiniciados automaticamente quando o Modo de Jogo for desativado.", "noOptimizationsSelected": "Selecione pelo menos uma otimização para ativar o Modo de Jogo", "configLockedWhileActive": "Desative o Modo de Jogo para alterar as definições", - "statOptimizationsActive": "Otimizações ativas", - "statServicesDisabled": "Serviços em pausa", - "statSessionTimer": "Temporizador da sessão", - "autoDetectTitle": "Deteção automática", + "pendingRestoreBanner": "Algumas definições da última sessão não puderam ser restauradas automaticamente. Tente novamente quando a causa (ex.: direitos de administrador) estiver resolvida.", + "pendingRestoreDiscardHint": "Se continuar a falhar, descarte o estado pendente para desbloquear o Modo de Jogo. Quaisquer definições ainda alteradas permanecerão como estão.", + "retryCleanup": "Tentar limpeza novamente", + "retryingCleanup": "A tentar novamente…", + "discardPending": "Descartar", + "discardConfirm": "Confirmar descarte", + "discardDone": "Limpeza pendente descartada — o Modo de Jogo pode ser ativado novamente", + "discardFailed": "Não foi possível descartar a limpeza pendente", + "restoreFailedToast": "Limpeza incompleta — {{count}} ainda pendente(s): {{reason}}", + "restoreReasonUnknown": "erro desconhecido", + "statOptimizationsActive": "Otimizações Ativas", + "statServicesDisabled": "Serviços em Pausa", + "statSessionTimer": "Temporizador da Sessão", + "autoDetectTitle": "Deteção Automática", "autoDetectLabel": "Detetar jogos automaticamente", "autoDetectDesc": "Ativa automaticamente o Modo de Jogo quando um jogo é iniciado", "autoDeactivateLabel": "Desativar automaticamente ao sair", diff --git a/src/renderer/src/locales/ro/gameMode.json b/src/renderer/src/locales/ro/gameMode.json index 4098764a..b0945078 100644 --- a/src/renderer/src/locales/ro/gameMode.json +++ b/src/renderer/src/locales/ro/gameMode.json @@ -1,5 +1,5 @@ { - "pageTitle": "Mod Joc", + "pageTitle": "Mod joc", "pageDescription": "Optimizează sistemul pentru performanță maximă în jocuri", "activateButton": "ACTIVEAZĂ", "deactivateButton": "DEZACTIVEAZĂ", @@ -10,8 +10,8 @@ "deactivatingProgress": "Se restaurează starea sistemului...", "applyingOptimization": "Se aplică: {{label}}", "restoringOptimization": "Se restaurează: {{label}}", - "resultActivated": "Mod Joc activat — {{count}} optimizare aplicată", - "resultActivated_plural": "Mod Joc activat — {{count}} optimizări aplicate", + "resultActivated": "Mod joc activat — {{count}} optimizare aplicată", + "resultActivated_plural": "Mod joc activat — {{count}} optimizări aplicate", "resultDeactivated": "Sistem restaurat — {{count}} setare revenită", "resultDeactivated_plural": "Sistem restaurat — {{count}} setări revenite", "resultErrors": "{{count}} eșuate", @@ -29,12 +29,12 @@ "optSvcWsearchDesc": "Oprește serviciul de indexare care utilizează CPU și discul", "optSvcSysmain": "Dezactivează SysMain (Superfetch)", "optSvcSysmainDesc": "Oprește serviciul de preîncărcare a memoriei", - "optSvcWuauserv": "Pune pe pauză Windows Update", + "optSvcWuauserv": "Pune în pauză Windows Update", "optSvcWuauservDesc": "Oprește temporar descărcările de actualizări din fundal", "optSvcSpooler": "Dezactivează Print Spooler", "optSvcSpoolerDesc": "Oprește serviciul de imprimare dacă nu ai nicio imprimantă conectată", - "optSvcDiagtrack": "Dezactivează diagnosticele", - "optSvcDiagtrackDesc": "Oprește serviciile de telemetrie și urmărire a diagnosticelor", + "optSvcDiagtrack": "Dezactivează diagnosticarea", + "optSvcDiagtrackDesc": "Oprește serviciile de telemetrie și urmărire pentru diagnosticare", "optProcBrowsers": "Închide browserele", "optProcBrowsersDesc": "Închide Chrome, Firefox, Edge și alte browsere", "optProcChat": "Închide aplicațiile de chat", @@ -42,15 +42,15 @@ "optProcUpdaters": "Oprește actualizatoarele din fundal", "optProcUpdatersDesc": "Închide agenții de actualizare software care rulează în fundal", "optProcCustom": "Listă personalizată de procese", - "optProcCustomDesc": "Închide procesele specificate după nume", + "optProcCustomDesc": "Închide procesele specificate de tine după nume", "customProcessPlaceholder": "Nume proces (de ex. spotify.exe)", "customProcessAdd": "Adaugă", "customProcessEmpty": "Nu sunt configurate procese personalizate", "optMemStandby": "Golește memoria standby", "optMemStandbyDesc": "Curăță RAM-ul din cache pentru a elibera memorie pentru jocul tău", - "optSysFocusAssist": "Activează Asistență la focalizare", + "optSysFocusAssist": "Activează Asistență la concentrare", "optSysFocusAssistDesc": "Suprimă notificările și alertele Windows", - "optSysPowerPlan": "Plan de alimentare Performanță înaltă", + "optSysPowerPlan": "Plan de alimentare de înaltă performanță", "optSysPowerPlanDesc": "Comută la profilul de alimentare pentru performanță maximă", "optSysPreventSleep": "Împiedică repausul", "optSysPreventSleepDesc": "Menține ecranul pornit și împiedică sistemul să intre în repaus", @@ -59,28 +59,38 @@ "optSysFseOpt": "Dezactivează optimizările pentru ecran complet", "optSysFseOptDesc": "Împiedică Windows să aplice compoziția DWM jocurilor pe ecran complet", "optSysTransparency": "Dezactivează efectele de transparență", - "optSysTransparencyDesc": "Dezactivează transparența ferestrelor pentru a reduce sarcina de compoziție GPU", - "optNetFlushDns": "Golește memoria cache DNS", - "optNetFlushDnsDesc": "Șterge memoria cache a rezolvatorului DNS pentru interogări noi", + "optSysTransparencyDesc": "Dezactivează transparența ferestrelor pentru a reduce încărcarea de compoziție pe GPU", + "optNetFlushDns": "Golește cache-ul DNS", + "optNetFlushDnsDesc": "Șterge cache-ul rezolvatorului DNS pentru interogări noi", "optNetNagle": "Dezactivează algoritmul Nagle", "optNetNagleDesc": "Reduce latența rețelei prin dezactivarea grupării pachetelor TCP", "enabledCount": "{{count}} activate", "adminBadge": "ADMIN", - "warningProcesses": "Procesele închise nu pot fi repornite automat când Mod Joc este dezactivat.", - "noOptimizationsSelected": "Selectează cel puțin o optimizare pentru a activa Mod Joc", - "configLockedWhileActive": "Dezactivează Mod Joc pentru a modifica setările", + "warningProcesses": "Procesele închise nu pot fi repornite automat când Mod joc este dezactivat.", + "noOptimizationsSelected": "Selectează cel puțin o optimizare pentru a activa Mod joc", + "configLockedWhileActive": "Dezactivează Mod joc pentru a modifica setările", + "pendingRestoreBanner": "Unele setări din ultima sesiune nu au putut fi restaurate automat. Reîncearcă după ce cauza (de ex. drepturile de administrator) este rezolvată.", + "pendingRestoreDiscardHint": "Dacă problema persistă, elimină starea în așteptare pentru a debloca Mod joc. Orice setări încă modificate vor rămâne așa cum sunt.", + "retryCleanup": "Reîncearcă curățarea", + "retryingCleanup": "Se reîncearcă…", + "discardPending": "Elimină", + "discardConfirm": "Confirmă eliminarea", + "discardDone": "Curățarea în așteptare a fost eliminată — Mod joc poate fi activat din nou", + "discardFailed": "Curățarea în așteptare nu a putut fi eliminată", + "restoreFailedToast": "Curățare incompletă — {{count}} încă în așteptare: {{reason}}", + "restoreReasonUnknown": "eroare necunoscută", "statOptimizationsActive": "Optimizări active", - "statServicesDisabled": "Servicii puse pe pauză", + "statServicesDisabled": "Servicii puse în pauză", "statSessionTimer": "Cronometru sesiune", "autoDetectTitle": "Detectare automată", "autoDetectLabel": "Detectează automat jocurile", - "autoDetectDesc": "Activează automat Mod Joc când este lansat un joc", + "autoDetectDesc": "Activează automat Mod joc când este lansat un joc", "autoDeactivateLabel": "Dezactivează automat la ieșire", - "autoDeactivateDesc": "Restaurează setările sistemului când jocul este închis", - "customGameProcessesLabel": "Procese de joc personalizate", + "autoDeactivateDesc": "Restaurează setările sistemului când jocul se închide", + "customGameProcessesLabel": "Procese personalizate de joc", "customGameProcessesDesc": "Adaugă numele executabilelor jocurilor care nu sunt în lista integrată", "customGamePlaceholder": "Executabil joc (de ex. mygame.exe)", "customGameAdd": "Adaugă", - "customGameEmpty": "Nu sunt configurate procese de joc personalizate", + "customGameEmpty": "Nu sunt configurate procese personalizate de joc", "autoDetectedBanner": "Activat automat — a fost detectat {{name}}" } diff --git a/src/renderer/src/locales/ru/gameMode.json b/src/renderer/src/locales/ru/gameMode.json index f3075fa1..6283eca0 100644 --- a/src/renderer/src/locales/ru/gameMode.json +++ b/src/renderer/src/locales/ru/gameMode.json @@ -14,7 +14,7 @@ "resultActivated_plural": "Игровой режим активирован — применено {{count}} оптимизаций", "resultDeactivated": "Система восстановлена — отменён {{count}} параметр", "resultDeactivated_plural": "Система восстановлена — отменено {{count}} параметров", - "resultErrors": "Сбоев: {{count}}", + "resultErrors": "Сбой: {{count}}", "categoryServices": "Службы", "categoryServicesDesc": "Отключение ресурсоёмких служб Windows", "categoryProcesses": "Процессы", @@ -31,7 +31,7 @@ "optSvcSysmainDesc": "Останавливает службу предварительной загрузки в память", "optSvcWuauserv": "Приостановить Windows Update", "optSvcWuauservDesc": "Временно останавливает фоновую загрузку обновлений", - "optSvcSpooler": "Отключить диспетчер очереди печати", + "optSvcSpooler": "Отключить диспетчер печати", "optSvcSpoolerDesc": "Останавливает службу печати, если принтер не подключён", "optSvcDiagtrack": "Отключить диагностику", "optSvcDiagtrackDesc": "Останавливает службы телеметрии и диагностического отслеживания", @@ -39,7 +39,7 @@ "optProcBrowsersDesc": "Завершает Chrome, Firefox, Edge и другие браузеры", "optProcChat": "Закрыть приложения для общения", "optProcChatDesc": "Завершает Discord, Slack, Teams и другие приложения для общения", - "optProcUpdaters": "Остановить фоновые средства обновления", + "optProcUpdaters": "Остановить фоновые обновления", "optProcUpdatersDesc": "Завершает агенты обновления программ, работающие в фоновом режиме", "optProcCustom": "Пользовательский список процессов", "optProcCustomDesc": "Завершает процессы, указанные вами по имени", @@ -57,26 +57,36 @@ "optSysGameBar": "Отключить Game Bar / DVR", "optSysGameBarDesc": "Отключает оверлей Xbox Game Bar и фоновую запись", "optSysFseOpt": "Отключить оптимизации для полноэкранного режима", - "optSysFseOptDesc": "Запрещает Windows применять компоновку DWM к полноэкранным играм", + "optSysFseOptDesc": "Предотвращает применение Windows композиции DWM к полноэкранным играм", "optSysTransparency": "Отключить эффекты прозрачности", - "optSysTransparencyDesc": "Отключает прозрачность окон, чтобы снизить нагрузку компоновки на GPU", + "optSysTransparencyDesc": "Отключает прозрачность окон для снижения нагрузки компоновки на GPU", "optNetFlushDns": "Очистить кэш DNS", "optNetFlushDnsDesc": "Очищает кэш DNS-резолвера для новых запросов", "optNetNagle": "Отключить алгоритм Нейгла", - "optNetNagleDesc": "Снижает сетевую задержку, отключая пакетную отправку TCP", + "optNetNagleDesc": "Снижает сетевую задержку за счёт отключения пакетной обработки TCP-пакетов", "enabledCount": "Включено: {{count}}", "adminBadge": "АДМИН", - "warningProcesses": "Завершённые процессы нельзя автоматически перезапустить после отключения игрового режима.", - "noOptimizationsSelected": "Выберите хотя бы одну оптимизацию для активации игрового режима", - "configLockedWhileActive": "Отключите игровой режим, чтобы изменить параметры", + "warningProcesses": "Завершённые процессы нельзя автоматически перезапустить при отключении Игрового режима.", + "noOptimizationsSelected": "Выберите хотя бы одну оптимизацию для активации Игрового режима", + "configLockedWhileActive": "Отключите Игровой режим, чтобы изменить параметры", + "pendingRestoreBanner": "Некоторые параметры из прошлого сеанса не удалось восстановить автоматически. Повторите попытку после устранения причины (например, прав администратора).", + "pendingRestoreDiscardHint": "Если ошибка повторяется, сбросьте ожидающее состояние, чтобы снова разблокировать Игровой режим. Все параметры, которые всё ещё изменены, останутся без изменений.", + "retryCleanup": "Повторить очистку", + "retryingCleanup": "Повторная попытка…", + "discardPending": "Сбросить", + "discardConfirm": "Подтвердить сброс", + "discardDone": "Ожидающая очистка сброшена — Игровой режим можно снова активировать", + "discardFailed": "Не удалось сбросить ожидающую очистку", + "restoreFailedToast": "Очистка не завершена — ещё ожидается: {{count}}; причина: {{reason}}", + "restoreReasonUnknown": "неизвестная ошибка", "statOptimizationsActive": "Активные оптимизации", "statServicesDisabled": "Приостановленные службы", "statSessionTimer": "Таймер сеанса", - "autoDetectTitle": "Автоопределение", - "autoDetectLabel": "Автоматически определять игры", - "autoDetectDesc": "Автоматически активирует игровой режим при запуске игры", + "autoDetectTitle": "Автообнаружение", + "autoDetectLabel": "Автоматически обнаруживать игры", + "autoDetectDesc": "Автоматически активировать Игровой режим при запуске игры", "autoDeactivateLabel": "Автоматически отключать при выходе", - "autoDeactivateDesc": "Восстанавливает параметры системы при выходе из игры", + "autoDeactivateDesc": "Восстанавливать параметры системы при выходе из игры", "customGameProcessesLabel": "Пользовательские игровые процессы", "customGameProcessesDesc": "Добавьте имена исполняемых файлов игр, которых нет во встроенном списке", "customGamePlaceholder": "Исполняемый файл игры (например, mygame.exe)", diff --git a/src/renderer/src/locales/sv/gameMode.json b/src/renderer/src/locales/sv/gameMode.json index cef31ef1..505cd4aa 100644 --- a/src/renderer/src/locales/sv/gameMode.json +++ b/src/renderer/src/locales/sv/gameMode.json @@ -4,7 +4,7 @@ "activateButton": "AKTIVERA", "deactivateButton": "INAKTIVERA", "activeLabel": "AKTIVT", - "inactiveLabel": "KLAR", + "inactiveLabel": "REDO", "activeSince": "Aktivt i {{time}}", "activatingProgress": "Aktiverar optimeringar...", "deactivatingProgress": "Återställer systemstatus...", @@ -20,7 +20,7 @@ "categoryProcesses": "Processer", "categoryProcessesDesc": "Avsluta bakgrundsappar som förbrukar resurser", "categoryMemory": "Minne", - "categoryMemoryDesc": "Frigör RAM för spelet", + "categoryMemoryDesc": "Frigör RAM för ditt spel", "categorySystem": "System", "categorySystemDesc": "Blockera aviseringar och maximera prestandan", "categoryNetwork": "Nätverk", @@ -30,38 +30,38 @@ "optSvcSysmain": "Inaktivera SysMain (Superfetch)", "optSvcSysmainDesc": "Stoppar tjänsten för minnesförhämtning", "optSvcWuauserv": "Pausa Windows Update", - "optSvcWuauservDesc": "Stoppar tillfälligt nedladdning av uppdateringar i bakgrunden", + "optSvcWuauservDesc": "Stoppar tillfälligt hämtning av uppdateringar i bakgrunden", "optSvcSpooler": "Inaktivera Print Spooler", - "optSvcSpoolerDesc": "Stoppar utskriftstjänsten om ingen skrivare är ansluten", + "optSvcSpoolerDesc": "Stoppar utskriftstjänsten om du inte har någon skrivare ansluten", "optSvcDiagtrack": "Inaktivera diagnostik", - "optSvcDiagtrackDesc": "Stoppar telemetri och tjänster för diagnostikspårning", + "optSvcDiagtrackDesc": "Stoppar telemetri- och diagnostikspårningstjänster", "optProcBrowsers": "Stäng webbläsare", "optProcBrowsersDesc": "Avsluta Chrome, Firefox, Edge och andra webbläsare", "optProcChat": "Stäng chattappar", "optProcChatDesc": "Avsluta Discord, Slack, Teams och andra chattappar", "optProcUpdaters": "Stoppa bakgrundsuppdaterare", - "optProcUpdatersDesc": "Avsluta programuppdateringsagenter som körs i bakgrunden", + "optProcUpdatersDesc": "Avsluta programvaruuppdaterare som körs i bakgrunden", "optProcCustom": "Anpassad processlista", "optProcCustomDesc": "Avsluta processer som du anger med namn", "customProcessPlaceholder": "Processnamn (t.ex. spotify.exe)", "customProcessAdd": "Lägg till", "customProcessEmpty": "Inga anpassade processer har konfigurerats", "optMemStandby": "Rensa standby-minne", - "optMemStandbyDesc": "Töm cachelagrat RAM för att frigöra minne för spelet", + "optMemStandbyDesc": "Rensa cachelagrat RAM för att frigöra minne för ditt spel", "optSysFocusAssist": "Aktivera Fokusstöd", - "optSysFocusAssistDesc": "Undertryck Windows-aviseringar och varningar", + "optSysFocusAssistDesc": "Dölj Windows-aviseringar och varningar", "optSysPowerPlan": "Energischema för hög prestanda", "optSysPowerPlanDesc": "Växla till energiprofilen för maximal prestanda", - "optSysPreventSleep": "Förhindra strömsparläge", - "optSysPreventSleepDesc": "Håll skärmen på och förhindra att systemet går i strömsparläge", + "optSysPreventSleep": "Förhindra viloläge", + "optSysPreventSleepDesc": "Håll skärmen på och förhindra att systemet går i viloläge", "optSysGameBar": "Inaktivera Game Bar / DVR", "optSysGameBarDesc": "Stäng av Xbox Game Bar-överlägget och bakgrundsinspelning", "optSysFseOpt": "Inaktivera helskärmsoptimeringar", - "optSysFseOptDesc": "Förhindra att Windows tillämpar DWM-komposition på spel i helskärmsläge", + "optSysFseOptDesc": "Förhindra att Windows tillämpar DWM-komposition på spel i helskärm", "optSysTransparency": "Inaktivera transparenseffekter", "optSysTransparencyDesc": "Stäng av fönstertransparens för att minska belastningen från GPU-komposition", "optNetFlushDns": "Töm DNS-cache", - "optNetFlushDnsDesc": "Rensa DNS-resolvercache för nya uppslagningar", + "optNetFlushDnsDesc": "Rensa DNS-resolvercachen för nya uppslagningar", "optNetNagle": "Inaktivera Nagle-algoritmen", "optNetNagleDesc": "Minska nätverkslatens genom att inaktivera batchning av TCP-paket", "enabledCount": "{{count}} aktiverade", @@ -69,6 +69,16 @@ "warningProcesses": "Avslutade processer kan inte startas om automatiskt när Spelläge inaktiveras.", "noOptimizationsSelected": "Välj minst en optimering för att aktivera Spelläge", "configLockedWhileActive": "Inaktivera Spelläge för att ändra inställningar", + "pendingRestoreBanner": "Vissa inställningar från den senaste sessionen kunde inte återställas automatiskt. Försök igen när orsaken (t.ex. administratörsbehörighet) har åtgärdats.", + "pendingRestoreDiscardHint": "Om det fortsätter att misslyckas kan du kassera det väntande tillståndet för att låsa upp Spelläge. Inställningar som fortfarande är ändrade förblir som de är.", + "retryCleanup": "Försök rensa igen", + "retryingCleanup": "Försöker igen…", + "discardPending": "Kassera", + "discardConfirm": "Bekräfta kassering", + "discardDone": "Väntande rensning kasserad — Spelläge kan aktiveras igen", + "discardFailed": "Det gick inte att kassera den väntande rensningen", + "restoreFailedToast": "Rensningen är inte slutförd — {{count}} väntar fortfarande: {{reason}}", + "restoreReasonUnknown": "okänt fel", "statOptimizationsActive": "Aktiva optimeringar", "statServicesDisabled": "Pausade tjänster", "statSessionTimer": "Sessionstimer", diff --git a/src/renderer/src/locales/th/gameMode.json b/src/renderer/src/locales/th/gameMode.json index fe84264f..7cd2c487 100644 --- a/src/renderer/src/locales/th/gameMode.json +++ b/src/renderer/src/locales/th/gameMode.json @@ -3,9 +3,9 @@ "pageDescription": "ปรับแต่งระบบของคุณเพื่อประสิทธิภาพการเล่นเกมสูงสุด", "activateButton": "เปิดใช้งาน", "deactivateButton": "ปิดใช้งาน", - "activeLabel": "เปิดใช้งานอยู่", + "activeLabel": "กำลังทำงาน", "inactiveLabel": "พร้อม", - "activeSince": "เปิดใช้งานมาแล้ว {{time}}", + "activeSince": "ทำงานมาแล้ว {{time}}", "activatingProgress": "กำลังเปิดใช้การปรับแต่ง...", "deactivatingProgress": "กำลังกู้คืนสถานะระบบ...", "applyingOptimization": "กำลังใช้: {{label}}", @@ -16,7 +16,7 @@ "resultDeactivated_plural": "กู้คืนระบบแล้ว — ย้อนกลับการตั้งค่า {{count}} รายการ", "resultErrors": "ล้มเหลว {{count}} รายการ", "categoryServices": "บริการ", - "categoryServicesDesc": "ปิดใช้งานบริการของ Windows ที่ใช้ทรัพยากรมาก", + "categoryServicesDesc": "ปิดใช้งานบริการ Windows ที่ใช้ทรัพยากรมาก", "categoryProcesses": "กระบวนการ", "categoryProcessesDesc": "ยุติแอปเบื้องหลังที่ใช้ทรัพยากร", "categoryMemory": "หน่วยความจำ", @@ -24,15 +24,15 @@ "categorySystem": "ระบบ", "categorySystemDesc": "บล็อกการแจ้งเตือนและเพิ่มประสิทธิภาพสูงสุด", "categoryNetwork": "เครือข่าย", - "categoryNetworkDesc": "ปรับเวลาแฝงของเครือข่ายให้เหมาะสม", + "categoryNetworkDesc": "ปรับปรุงเวลาแฝงของเครือข่าย", "optSvcWsearch": "ปิดใช้งาน Windows Search", "optSvcWsearchDesc": "หยุดบริการจัดทำดัชนีที่ใช้ CPU และดิสก์", "optSvcSysmain": "ปิดใช้งาน SysMain (Superfetch)", - "optSvcSysmainDesc": "หยุดบริการพรีเฟตช์หน่วยความจำ", + "optSvcSysmainDesc": "หยุดบริการดึงข้อมูลล่วงหน้าเข้าสู่หน่วยความจำ", "optSvcWuauserv": "หยุดพัก Windows Update", - "optSvcWuauservDesc": "หยุดการดาวน์โหลดการอัปเดตเบื้องหลังชั่วคราว", + "optSvcWuauservDesc": "หยุดการดาวน์โหลดอัปเดตเบื้องหลังชั่วคราว", "optSvcSpooler": "ปิดใช้งาน Print Spooler", - "optSvcSpoolerDesc": "หยุดบริการพิมพ์หากคุณไม่ได้เชื่อมต่อเครื่องพิมพ์", + "optSvcSpoolerDesc": "หยุดบริการการพิมพ์หากคุณไม่ได้เชื่อมต่อเครื่องพิมพ์", "optSvcDiagtrack": "ปิดใช้งานการวินิจฉัย", "optSvcDiagtrackDesc": "หยุดบริการ telemetry และการติดตามการวินิจฉัย", "optProcBrowsers": "ปิดเบราว์เซอร์", @@ -46,8 +46,8 @@ "customProcessPlaceholder": "ชื่อกระบวนการ (เช่น spotify.exe)", "customProcessAdd": "เพิ่ม", "customProcessEmpty": "ยังไม่ได้กำหนดค่ากระบวนการแบบกำหนดเอง", - "optMemStandby": "ล้างหน่วยความจำสแตนด์บาย", - "optMemStandbyDesc": "ล้าง RAM ที่แคชไว้เพื่อเพิ่มหน่วยความจำให้เกมของคุณ", + "optMemStandby": "ล้างหน่วยความจำ Standby", + "optMemStandbyDesc": "ล้าง RAM ที่แคชไว้เพื่อเพิ่มหน่วยความจำว่างสำหรับเกมของคุณ", "optSysFocusAssist": "เปิดใช้ Focus Assist", "optSysFocusAssistDesc": "ระงับการแจ้งเตือนและการเตือนของ Windows", "optSysPowerPlan": "แผนการใช้พลังงานประสิทธิภาพสูง", @@ -56,21 +56,31 @@ "optSysPreventSleepDesc": "เปิดหน้าจอไว้และป้องกันไม่ให้ระบบเข้าสู่โหมดสลีป", "optSysGameBar": "ปิดใช้งาน Game Bar / DVR", "optSysGameBarDesc": "ปิดโอเวอร์เลย์ Xbox Game Bar และการบันทึกเบื้องหลัง", - "optSysFseOpt": "ปิดใช้งานการเพิ่มประสิทธิภาพแบบเต็มหน้าจอ", + "optSysFseOpt": "ปิดใช้งาน Fullscreen Optimizations", "optSysFseOptDesc": "ป้องกันไม่ให้ Windows ใช้ DWM composition กับเกมแบบเต็มหน้าจอ", "optSysTransparency": "ปิดใช้งานเอฟเฟ็กต์ความโปร่งใส", - "optSysTransparencyDesc": "ปิดความโปร่งใสของหน้าต่างเพื่อลดภาระการประมวลผลรวมของ GPU", + "optSysTransparencyDesc": "ปิดความโปร่งใสของหน้าต่างเพื่อลดภาระการประมวลผลของ GPU", "optNetFlushDns": "ล้างแคช DNS", "optNetFlushDnsDesc": "ล้างแคชตัวแก้ไข DNS เพื่อให้ค้นหาใหม่อีกครั้ง", "optNetNagle": "ปิดใช้งานอัลกอริทึมของ Nagle", - "optNetNagleDesc": "ลดเวลาแฝงของเครือข่ายโดยปิดการรวมกลุ่มแพ็กเก็ต TCP", - "enabledCount": "เปิดใช้งาน {{count}} รายการ", + "optNetNagleDesc": "ลดเวลาแฝงของเครือข่ายโดยปิดการรวมแพ็กเก็ต TCP", + "enabledCount": "เปิดใช้งานแล้ว {{count}} รายการ", "adminBadge": "ผู้ดูแลระบบ", "warningProcesses": "กระบวนการที่ถูกยุติจะไม่สามารถเริ่มใหม่โดยอัตโนมัติได้เมื่อปิดใช้งานโหมดเกม", "noOptimizationsSelected": "เลือกการปรับแต่งอย่างน้อยหนึ่งรายการเพื่อเปิดใช้งานโหมดเกม", "configLockedWhileActive": "ปิดใช้งานโหมดเกมเพื่อเปลี่ยนการตั้งค่า", - "statOptimizationsActive": "การปรับแต่งที่เปิดใช้งาน", - "statServicesDisabled": "บริการที่หยุดพัก", + "pendingRestoreBanner": "การตั้งค่าบางอย่างจากเซสชันล่าสุดไม่สามารถกู้คืนโดยอัตโนมัติได้ โปรดลองอีกครั้งเมื่อสาเหตุได้รับการแก้ไขแล้ว (เช่น สิทธิ์ผู้ดูแลระบบ)", + "pendingRestoreDiscardHint": "หากยังคงล้มเหลว ให้ละทิ้งสถานะที่ค้างอยู่เพื่อปลดล็อกโหมดเกม การตั้งค่าที่ยังคงถูกเปลี่ยนแปลงจะคงไว้ตามเดิม", + "retryCleanup": "ลองล้างข้อมูลอีกครั้ง", + "retryingCleanup": "กำลังลองอีกครั้ง…", + "discardPending": "ละทิ้ง", + "discardConfirm": "ยืนยันการละทิ้ง", + "discardDone": "ละทิ้งการล้างข้อมูลที่ค้างอยู่แล้ว — สามารถเปิดใช้งานโหมดเกมได้อีกครั้ง", + "discardFailed": "ไม่สามารถละทิ้งการล้างข้อมูลที่ค้างอยู่ได้", + "restoreFailedToast": "การล้างข้อมูลไม่สมบูรณ์ — ยังเหลือ {{count}} รายการที่รอดำเนินการ: {{reason}}", + "restoreReasonUnknown": "ข้อผิดพลาดที่ไม่ทราบสาเหตุ", + "statOptimizationsActive": "การปรับแต่งที่กำลังทำงาน", + "statServicesDisabled": "บริการที่ถูกหยุดพัก", "statSessionTimer": "ตัวจับเวลาเซสชัน", "autoDetectTitle": "ตรวจหาอัตโนมัติ", "autoDetectLabel": "ตรวจหาเกมอัตโนมัติ", @@ -82,5 +92,5 @@ "customGamePlaceholder": "ไฟล์ปฏิบัติการของเกม (เช่น mygame.exe)", "customGameAdd": "เพิ่ม", "customGameEmpty": "ยังไม่ได้กำหนดค่ากระบวนการเกมแบบกำหนดเอง", - "autoDetectedBanner": "เปิดใช้งานอัตโนมัติ — ตรวจพบ {{name}}" + "autoDetectedBanner": "เปิดใช้งานอัตโนมัติแล้ว — ตรวจพบ {{name}}" } diff --git a/src/renderer/src/locales/tr/gameMode.json b/src/renderer/src/locales/tr/gameMode.json index 7d261a68..3393d0fb 100644 --- a/src/renderer/src/locales/tr/gameMode.json +++ b/src/renderer/src/locales/tr/gameMode.json @@ -1,6 +1,6 @@ { "pageTitle": "Oyun Modu", - "pageDescription": "Maksimum oyun performansı için sisteminizi optimize edin", + "pageDescription": "Sisteminizi en yüksek oyun performansı için optimize edin", "activateButton": "ETKİNLEŞTİR", "deactivateButton": "DEVRE DIŞI BIRAK", "activeLabel": "ETKİN", @@ -16,7 +16,7 @@ "resultDeactivated_plural": "Sistem geri yüklendi — {{count}} ayar geri alındı", "resultErrors": "{{count}} başarısız", "categoryServices": "Hizmetler", - "categoryServicesDesc": "Kaynak yoğun Windows hizmetlerini devre dışı bırakın", + "categoryServicesDesc": "Kaynak tüketimi yüksek Windows hizmetlerini devre dışı bırakın", "categoryProcesses": "İşlemler", "categoryProcessesDesc": "Kaynak tüketen arka plan uygulamalarını sonlandırın", "categoryMemory": "Bellek", @@ -28,11 +28,11 @@ "optSvcWsearch": "Windows Search'ü devre dışı bırak", "optSvcWsearchDesc": "CPU ve diski kullanan dizin oluşturma hizmetini durdurur", "optSvcSysmain": "SysMain'i (Superfetch) devre dışı bırak", - "optSvcSysmainDesc": "Bellek ön getirme hizmetini durdurur", + "optSvcSysmainDesc": "Bellek önceden getirme hizmetini durdurur", "optSvcWuauserv": "Windows Update'i duraklat", "optSvcWuauservDesc": "Arka plandaki güncelleştirme indirmelerini geçici olarak durdurur", - "optSvcSpooler": "Yazdırma Biriktiricisi'ni devre dışı bırak", - "optSvcSpoolerDesc": "Yazıcı bağlı değilse yazdırma hizmetini durdurur", + "optSvcSpooler": "Print Spooler'ı devre dışı bırak", + "optSvcSpoolerDesc": "Yazıcınız bağlı değilse yazdırma hizmetini durdurur", "optSvcDiagtrack": "Tanılama'yı devre dışı bırak", "optSvcDiagtrackDesc": "Telemetri ve tanılama izleme hizmetlerini durdurur", "optProcBrowsers": "Tarayıcıları kapat", @@ -40,26 +40,26 @@ "optProcChat": "Sohbet uygulamalarını kapat", "optProcChatDesc": "Discord, Slack, Teams ve diğer sohbet uygulamalarını sonlandırır", "optProcUpdaters": "Arka plan güncelleyicilerini durdur", - "optProcUpdatersDesc": "Arka planda çalışan yazılım güncelleme aracılarının işlemlerini sonlandırır", + "optProcUpdatersDesc": "Arka planda çalışan yazılım güncelleme aracılarını sonlandırır", "optProcCustom": "Özel işlem listesi", - "optProcCustomDesc": "Adlarına göre belirttiğiniz işlemleri sonlandırır", + "optProcCustomDesc": "Adına göre belirttiğiniz işlemleri sonlandırır", "customProcessPlaceholder": "İşlem adı (örn. spotify.exe)", "customProcessAdd": "Ekle", "customProcessEmpty": "Yapılandırılmış özel işlem yok", "optMemStandby": "Bekleme belleğini temizle", - "optMemStandbyDesc": "Oyununuz için bellek boşaltmak amacıyla önbelleğe alınmış RAM'i temizler", + "optMemStandbyDesc": "Oyununuz için bellek boşaltmak üzere önbelleğe alınmış RAM'i temizler", "optSysFocusAssist": "Odak Yardımı'nı etkinleştir", "optSysFocusAssistDesc": "Windows bildirimlerini ve uyarılarını bastırır", "optSysPowerPlan": "Yüksek Performans güç planı", - "optSysPowerPlanDesc": "Maksimum performans güç profiline geçer", + "optSysPowerPlanDesc": "En yüksek performans güç profiline geçer", "optSysPreventSleep": "Uyku modunu engelle", "optSysPreventSleepDesc": "Ekranı açık tutar ve sistemin uyku moduna geçmesini engeller", "optSysGameBar": "Game Bar / DVR'yi devre dışı bırak", "optSysGameBarDesc": "Xbox Game Bar katmanını ve arka plan kaydını kapatır", "optSysFseOpt": "Tam ekran optimizasyonlarını devre dışı bırak", - "optSysFseOptDesc": "Windows'un tam ekran oyunlara DWM bileşimini uygulamasını engeller", + "optSysFseOptDesc": "Windows'un tam ekran oyunlara DWM bileşimi uygulamasını engeller", "optSysTransparency": "Saydamlık efektlerini devre dışı bırak", - "optSysTransparencyDesc": "GPU birleştirme yükünü azaltmak için pencere saydamlığını kapatır", + "optSysTransparencyDesc": "GPU bileşim yükünü azaltmak için pencere saydamlığını kapatır", "optNetFlushDns": "DNS önbelleğini temizle", "optNetFlushDnsDesc": "Yeni çözümlemeler için DNS çözümleyici önbelleğini temizler", "optNetNagle": "Nagle algoritmasını devre dışı bırak", @@ -69,9 +69,19 @@ "warningProcesses": "Sonlandırılan işlemler, Oyun Modu devre dışı bırakıldığında otomatik olarak yeniden başlatılamaz.", "noOptimizationsSelected": "Oyun Modu'nu etkinleştirmek için en az bir optimizasyon seçin", "configLockedWhileActive": "Ayarları değiştirmek için Oyun Modu'nu devre dışı bırakın", - "statOptimizationsActive": "Etkin Optimizasyonlar", - "statServicesDisabled": "Duraklatılan Hizmetler", - "statSessionTimer": "Oturum Zamanlayıcısı", + "pendingRestoreBanner": "Son oturumdaki bazı ayarlar otomatik olarak geri yüklenemedi. Neden çözüldüğünde (örn. yönetici hakları) yeniden deneyin.", + "pendingRestoreDiscardHint": "Sorun devam ederse, Oyun Modu'nun engelini kaldırmak için bekleyen durumu silin. Hâlâ değiştirilmiş olan ayarlar olduğu gibi kalır.", + "retryCleanup": "Temizlemeyi yeniden dene", + "retryingCleanup": "Yeniden deneniyor…", + "discardPending": "Sil", + "discardConfirm": "Silmeyi onayla", + "discardDone": "Bekleyen temizleme silindi — Oyun Modu yeniden etkinleştirilebilir", + "discardFailed": "Bekleyen temizleme silinemedi", + "restoreFailedToast": "Temizleme tamamlanmadı — {{count}} hâlâ bekliyor: {{reason}}", + "restoreReasonUnknown": "bilinmeyen hata", + "statOptimizationsActive": "Etkin optimizasyonlar", + "statServicesDisabled": "Duraklatılan hizmetler", + "statSessionTimer": "Oturum zamanlayıcısı", "autoDetectTitle": "Otomatik Algılama", "autoDetectLabel": "Oyunları otomatik algıla", "autoDetectDesc": "Bir oyun başlatıldığında Oyun Modu'nu otomatik olarak etkinleştir", diff --git a/src/renderer/src/locales/uk/gameMode.json b/src/renderer/src/locales/uk/gameMode.json index 8411eaf7..f76aa9b1 100644 --- a/src/renderer/src/locales/uk/gameMode.json +++ b/src/renderer/src/locales/uk/gameMode.json @@ -5,8 +5,8 @@ "deactivateButton": "ДЕАКТИВУВАТИ", "activeLabel": "АКТИВНО", "inactiveLabel": "ГОТОВО", - "activeSince": "Активно протягом {{time}}", - "activatingProgress": "Активація оптимізацій...", + "activeSince": "Активно {{time}}", + "activatingProgress": "Застосування оптимізацій...", "deactivatingProgress": "Відновлення стану системи...", "applyingOptimization": "Застосування: {{label}}", "restoringOptimization": "Відновлення: {{label}}", @@ -16,15 +16,15 @@ "resultDeactivated_plural": "Систему відновлено — скасовано {{count}} параметри", "resultErrors": "Не вдалося: {{count}}", "categoryServices": "Служби", - "categoryServicesDesc": "Вимкнути ресурсоємні служби Windows", + "categoryServicesDesc": "Вимкнення ресурсоємних служб Windows", "categoryProcesses": "Процеси", - "categoryProcessesDesc": "Завершити фонові програми, що споживають ресурси", + "categoryProcessesDesc": "Завершення фонових програм, що споживають ресурси", "categoryMemory": "Пам’ять", - "categoryMemoryDesc": "Звільнити RAM для вашої гри", + "categoryMemoryDesc": "Звільнення RAM для гри", "categorySystem": "Система", - "categorySystemDesc": "Блокувати сповіщення та максимально підвищити продуктивність", + "categorySystemDesc": "Блокування сповіщень і максимізація продуктивності", "categoryNetwork": "Мережа", - "categoryNetworkDesc": "Оптимізувати мережеву затримку", + "categoryNetworkDesc": "Оптимізація мережевої затримки", "optSvcWsearch": "Вимкнути Windows Search", "optSvcWsearchDesc": "Зупиняє службу індексування, яка використовує CPU і диск", "optSvcSysmain": "Вимкнути SysMain (Superfetch)", @@ -36,51 +36,61 @@ "optSvcDiagtrack": "Вимкнути діагностику", "optSvcDiagtrackDesc": "Зупиняє служби телеметрії та діагностичного відстеження", "optProcBrowsers": "Закрити браузери", - "optProcBrowsersDesc": "Завершити Chrome, Firefox, Edge та інші браузери", + "optProcBrowsersDesc": "Завершує Chrome, Firefox, Edge та інші браузери", "optProcChat": "Закрити програми для спілкування", - "optProcChatDesc": "Завершити Discord, Slack, Teams та інші програми для спілкування", + "optProcChatDesc": "Завершує Discord, Slack, Teams та інші програми для спілкування", "optProcUpdaters": "Зупинити фонові засоби оновлення", - "optProcUpdatersDesc": "Завершити агенти оновлення програм, що працюють у фоновому режимі", + "optProcUpdatersDesc": "Завершує агенти оновлення програм, що працюють у фоновому режимі", "optProcCustom": "Власний список процесів", - "optProcCustomDesc": "Завершити процеси, які ви вкажете за назвою", + "optProcCustomDesc": "Завершує процеси, які ви вкажете за назвою", "customProcessPlaceholder": "Назва процесу (наприклад, spotify.exe)", "customProcessAdd": "Додати", "customProcessEmpty": "Власні процеси не налаштовано", "optMemStandby": "Очистити резервну пам’ять", - "optMemStandbyDesc": "Очистити кешовану RAM, щоб звільнити пам’ять для вашої гри", + "optMemStandbyDesc": "Очищає кешовану RAM, щоб звільнити пам’ять для гри", "optSysFocusAssist": "Увімкнути фокусування уваги", - "optSysFocusAssistDesc": "Приглушити сповіщення та попередження Windows", + "optSysFocusAssistDesc": "Приглушує сповіщення та попередження Windows", "optSysPowerPlan": "Схема живлення «Висока продуктивність»", - "optSysPowerPlanDesc": "Перемкнутися на профіль живлення з максимальною продуктивністю", + "optSysPowerPlanDesc": "Перемикає на профіль живлення з максимальною продуктивністю", "optSysPreventSleep": "Запобігти переходу в режим сну", - "optSysPreventSleepDesc": "Не вимикати дисплей і не дозволяти системі переходити в режим сну", + "optSysPreventSleepDesc": "Залишає дисплей увімкненим і не дає системі перейти в режим сну", "optSysGameBar": "Вимкнути Game Bar / DVR", - "optSysGameBarDesc": "Вимкнути накладку Xbox Game Bar і фоновий запис", + "optSysGameBarDesc": "Вимикає накладку Xbox Game Bar і фоновий запис", "optSysFseOpt": "Вимкнути оптимізації для повноекранного режиму", - "optSysFseOptDesc": "Заборонити Windows застосовувати компонування DWM до повноекранних ігор", + "optSysFseOptDesc": "Не дозволяє Windows застосовувати компонування DWM до повноекранних ігор", "optSysTransparency": "Вимкнути ефекти прозорості", - "optSysTransparencyDesc": "Вимкнути прозорість вікон, щоб зменшити навантаження на GPU під час компонування", + "optSysTransparencyDesc": "Вимикає прозорість вікон, щоб зменшити навантаження на компонування GPU", "optNetFlushDns": "Очистити кеш DNS", - "optNetFlushDnsDesc": "Очистити кеш DNS-резолвера для нових запитів", + "optNetFlushDnsDesc": "Очищає кеш DNS-резолвера для нових запитів", "optNetNagle": "Вимкнути алгоритм Nagle", - "optNetNagleDesc": "Зменшити мережеву затримку, вимкнувши пакетування TCP-пакетів", + "optNetNagleDesc": "Зменшує мережеву затримку, вимикаючи пакетування TCP-пакетів", "enabledCount": "Увімкнено: {{count}}", "adminBadge": "АДМІН", - "warningProcesses": "Завершені процеси не можна автоматично перезапустити після деактивації Ігрового режиму.", + "warningProcesses": "Завершені процеси не можна автоматично перезапустити після вимкнення Ігрового режиму.", "noOptimizationsSelected": "Виберіть принаймні одну оптимізацію, щоб активувати Ігровий режим", - "configLockedWhileActive": "Деактивуйте Ігровий режим, щоб змінити параметри", + "configLockedWhileActive": "Щоб змінити параметри, деактивуйте Ігровий режим", + "pendingRestoreBanner": "Деякі параметри з попереднього сеансу не вдалося відновити автоматично. Повторіть спробу, коли причину (наприклад, права адміністратора) буде усунено.", + "pendingRestoreDiscardHint": "Якщо помилка повторюється, відкиньте незавершений стан, щоб знову розблокувати Ігровий режим. Усі параметри, які все ще змінені, залишаться без змін.", + "retryCleanup": "Повторити очищення", + "retryingCleanup": "Повторна спроба…", + "discardPending": "Відкинути", + "discardConfirm": "Підтвердити відкидання", + "discardDone": "Незавершене очищення відкинуто — Ігровий режим можна знову активувати", + "discardFailed": "Не вдалося відкинути незавершене очищення", + "restoreFailedToast": "Очищення не завершено — ще очікується: {{count}}: {{reason}}", + "restoreReasonUnknown": "невідома помилка", "statOptimizationsActive": "Активні оптимізації", - "statServicesDisabled": "Служби призупинено", + "statServicesDisabled": "Призупинені служби", "statSessionTimer": "Таймер сеансу", "autoDetectTitle": "Автовиявлення", "autoDetectLabel": "Автоматично виявляти ігри", - "autoDetectDesc": "Автоматично активувати Ігровий режим під час запуску гри", + "autoDetectDesc": "Автоматично активує Ігровий режим під час запуску гри", "autoDeactivateLabel": "Автоматично деактивувати після виходу", - "autoDeactivateDesc": "Відновлювати параметри системи після виходу з гри", - "customGameProcessesLabel": "Власні ігрові процеси", + "autoDeactivateDesc": "Відновлює параметри системи після виходу з гри", + "customGameProcessesLabel": "Власні процеси ігор", "customGameProcessesDesc": "Додайте назви виконуваних файлів ігор, яких немає у вбудованому списку", "customGamePlaceholder": "Виконуваний файл гри (наприклад, mygame.exe)", "customGameAdd": "Додати", - "customGameEmpty": "Власні ігрові процеси не налаштовано", + "customGameEmpty": "Власні процеси ігор не налаштовано", "autoDetectedBanner": "Автоматично активовано — виявлено {{name}}" } diff --git a/src/renderer/src/locales/vi/gameMode.json b/src/renderer/src/locales/vi/gameMode.json index c65930b4..02716dcf 100644 --- a/src/renderer/src/locales/vi/gameMode.json +++ b/src/renderer/src/locales/vi/gameMode.json @@ -1,17 +1,17 @@ { - "pageTitle": "Chế độ chơi game", - "pageDescription": "Tối ưu hóa hệ thống để đạt hiệu năng chơi game tối đa", + "pageTitle": "Chế độ Trò chơi", + "pageDescription": "Tối ưu hóa hệ thống để đạt hiệu suất chơi game tối đa", "activateButton": "KÍCH HOẠT", "deactivateButton": "TẮT", "activeLabel": "ĐANG HOẠT ĐỘNG", "inactiveLabel": "SẴN SÀNG", "activeSince": "Đã hoạt động trong {{time}}", - "activatingProgress": "Đang kích hoạt tối ưu hóa...", + "activatingProgress": "Đang kích hoạt các tối ưu hóa...", "deactivatingProgress": "Đang khôi phục trạng thái hệ thống...", "applyingOptimization": "Đang áp dụng: {{label}}", "restoringOptimization": "Đang khôi phục: {{label}}", - "resultActivated": "Đã kích hoạt Chế độ chơi game — đã áp dụng {{count}} tối ưu hóa", - "resultActivated_plural": "Đã kích hoạt Chế độ chơi game — đã áp dụng {{count}} tối ưu hóa", + "resultActivated": "Đã kích hoạt Chế độ Trò chơi — đã áp dụng {{count}} tối ưu hóa", + "resultActivated_plural": "Đã kích hoạt Chế độ Trò chơi — đã áp dụng {{count}} tối ưu hóa", "resultDeactivated": "Đã khôi phục hệ thống — đã hoàn nguyên {{count}} cài đặt", "resultDeactivated_plural": "Đã khôi phục hệ thống — đã hoàn nguyên {{count}} cài đặt", "resultErrors": "{{count}} mục thất bại", @@ -22,9 +22,9 @@ "categoryMemory": "Bộ nhớ", "categoryMemoryDesc": "Giải phóng RAM cho trò chơi của bạn", "categorySystem": "Hệ thống", - "categorySystemDesc": "Chặn thông báo và tối đa hóa hiệu năng", + "categorySystemDesc": "Chặn thông báo và tối đa hóa hiệu suất", "categoryNetwork": "Mạng", - "categoryNetworkDesc": "Tối ưu độ trễ mạng", + "categoryNetworkDesc": "Tối ưu hóa độ trễ mạng", "optSvcWsearch": "Tắt Windows Search", "optSvcWsearchDesc": "Dừng dịch vụ lập chỉ mục sử dụng CPU và đĩa", "optSvcSysmain": "Tắt SysMain (Superfetch)", @@ -42,16 +42,16 @@ "optProcUpdaters": "Dừng trình cập nhật nền", "optProcUpdatersDesc": "Kết thúc các tác nhân cập nhật phần mềm đang chạy nền", "optProcCustom": "Danh sách tiến trình tùy chỉnh", - "optProcCustomDesc": "Kết thúc các tiến trình bạn chỉ định theo tên", + "optProcCustomDesc": "Kết thúc các tiến trình do bạn chỉ định theo tên", "customProcessPlaceholder": "Tên tiến trình (ví dụ: spotify.exe)", "customProcessAdd": "Thêm", "customProcessEmpty": "Chưa cấu hình tiến trình tùy chỉnh nào", "optMemStandby": "Xóa bộ nhớ chờ", - "optMemStandbyDesc": "Dọn RAM được lưu đệm để giải phóng bộ nhớ cho trò chơi của bạn", + "optMemStandbyDesc": "Xóa RAM được lưu đệm để giải phóng bộ nhớ cho trò chơi của bạn", "optSysFocusAssist": "Bật Hỗ trợ tập trung", "optSysFocusAssistDesc": "Ẩn thông báo và cảnh báo của Windows", - "optSysPowerPlan": "Gói nguồn hiệu năng cao", - "optSysPowerPlanDesc": "Chuyển sang cấu hình nguồn hiệu năng tối đa", + "optSysPowerPlan": "Gói điện năng hiệu suất cao", + "optSysPowerPlanDesc": "Chuyển sang cấu hình điện năng hiệu suất tối đa", "optSysPreventSleep": "Ngăn chế độ ngủ", "optSysPreventSleepDesc": "Giữ màn hình luôn bật và ngăn hệ thống chuyển sang chế độ ngủ", "optSysGameBar": "Tắt Game Bar / DVR", @@ -59,22 +59,32 @@ "optSysFseOpt": "Tắt tối ưu hóa toàn màn hình", "optSysFseOptDesc": "Ngăn Windows áp dụng DWM composition cho trò chơi toàn màn hình", "optSysTransparency": "Tắt hiệu ứng trong suốt", - "optSysTransparencyDesc": "Tắt độ trong suốt của cửa sổ để giảm tải tổng hợp GPU", - "optNetFlushDns": "Xóa bộ nhớ đệm DNS", - "optNetFlushDnsDesc": "Xóa bộ nhớ đệm phân giải DNS để tra cứu mới", + "optSysTransparencyDesc": "Tắt độ trong suốt của cửa sổ để giảm tải kết hợp GPU", + "optNetFlushDns": "Xóa bộ đệm DNS", + "optNetFlushDnsDesc": "Xóa bộ đệm phân giải DNS để tra cứu mới", "optNetNagle": "Tắt thuật toán Nagle", - "optNetNagleDesc": "Giảm độ trễ mạng bằng cách tắt gộp gói TCP", + "optNetNagleDesc": "Giảm độ trễ mạng bằng cách tắt gom nhóm gói TCP", "enabledCount": "Đã bật {{count}}", "adminBadge": "QUẢN TRỊ VIÊN", - "warningProcesses": "Các tiến trình đã kết thúc không thể tự động khởi động lại khi tắt Chế độ chơi game.", - "noOptimizationsSelected": "Chọn ít nhất một tối ưu hóa để kích hoạt Chế độ chơi game", - "configLockedWhileActive": "Tắt Chế độ chơi game để thay đổi cài đặt", + "warningProcesses": "Các tiến trình đã bị kết thúc không thể tự động khởi động lại khi Chế độ Trò chơi bị tắt.", + "noOptimizationsSelected": "Chọn ít nhất một tối ưu hóa để kích hoạt Chế độ Trò chơi", + "configLockedWhileActive": "Tắt Chế độ Trò chơi để thay đổi cài đặt", + "pendingRestoreBanner": "Một số cài đặt từ phiên trước không thể được khôi phục tự động. Hãy thử lại sau khi nguyên nhân (ví dụ: quyền quản trị) được khắc phục.", + "pendingRestoreDiscardHint": "Nếu vẫn tiếp tục thất bại, hãy loại bỏ trạng thái đang chờ để mở khóa Chế độ Trò chơi. Mọi cài đặt vẫn còn thay đổi sẽ được giữ nguyên.", + "retryCleanup": "Thử dọn dẹp lại", + "retryingCleanup": "Đang thử lại…", + "discardPending": "Loại bỏ", + "discardConfirm": "Xác nhận loại bỏ", + "discardDone": "Đã loại bỏ tác vụ dọn dẹp đang chờ — có thể kích hoạt lại Chế độ Trò chơi", + "discardFailed": "Không thể loại bỏ tác vụ dọn dẹp đang chờ", + "restoreFailedToast": "Dọn dẹp chưa hoàn tất — vẫn còn {{count}} mục đang chờ: {{reason}}", + "restoreReasonUnknown": "lỗi không xác định", "statOptimizationsActive": "Tối ưu hóa đang hoạt động", "statServicesDisabled": "Dịch vụ đã tạm dừng", "statSessionTimer": "Bộ đếm thời gian phiên", "autoDetectTitle": "Tự động phát hiện", "autoDetectLabel": "Tự động phát hiện trò chơi", - "autoDetectDesc": "Tự động kích hoạt Chế độ chơi game khi khởi chạy trò chơi", + "autoDetectDesc": "Tự động kích hoạt Chế độ Trò chơi khi khởi chạy trò chơi", "autoDeactivateLabel": "Tự động tắt khi thoát", "autoDeactivateDesc": "Khôi phục cài đặt hệ thống khi thoát trò chơi", "customGameProcessesLabel": "Tiến trình trò chơi tùy chỉnh", diff --git a/src/renderer/src/locales/zh-CN/gameMode.json b/src/renderer/src/locales/zh-CN/gameMode.json index a5713e2f..1541443a 100644 --- a/src/renderer/src/locales/zh-CN/gameMode.json +++ b/src/renderer/src/locales/zh-CN/gameMode.json @@ -28,7 +28,7 @@ "optSvcWsearch": "禁用 Windows Search", "optSvcWsearchDesc": "停止占用 CPU 和磁盘的索引服务", "optSvcSysmain": "禁用 SysMain(Superfetch)", - "optSvcSysmainDesc": "停止内存预读取服务", + "optSvcSysmainDesc": "停止内存预取服务", "optSvcWuauserv": "暂停 Windows Update", "optSvcWuauservDesc": "临时停止后台更新下载", "optSvcSpooler": "禁用打印后台处理程序", @@ -46,14 +46,14 @@ "customProcessPlaceholder": "进程名称(例如 spotify.exe)", "customProcessAdd": "添加", "customProcessEmpty": "未配置自定义进程", - "optMemStandby": "清理待机内存", - "optMemStandbyDesc": "清除缓存的 RAM,为您的游戏释放内存", + "optMemStandby": "清除待机内存", + "optMemStandbyDesc": "清理缓存的 RAM,为您的游戏释放内存", "optSysFocusAssist": "启用专注助手", "optSysFocusAssistDesc": "抑制 Windows 通知和提醒", "optSysPowerPlan": "高性能电源计划", "optSysPowerPlanDesc": "切换到最高性能电源配置文件", "optSysPreventSleep": "阻止睡眠", - "optSysPreventSleepDesc": "保持显示器开启并阻止系统进入睡眠", + "optSysPreventSleepDesc": "保持显示器开启并阻止系统进入睡眠状态", "optSysGameBar": "禁用游戏栏 / DVR", "optSysGameBarDesc": "关闭 Xbox 游戏栏覆盖层和后台录制", "optSysFseOpt": "禁用全屏优化", @@ -69,6 +69,16 @@ "warningProcesses": "已结束的进程在停用游戏模式后无法自动重新启动。", "noOptimizationsSelected": "请至少选择一项优化后再启用游戏模式", "configLockedWhileActive": "请先停用游戏模式以更改设置", + "pendingRestoreBanner": "上一次会话中的某些设置无法自动还原。请在问题原因(例如管理员权限)解决后重试。", + "pendingRestoreDiscardHint": "如果仍然失败,请丢弃待处理状态以解除对游戏模式的阻止。任何仍处于更改状态的设置将保持不变。", + "retryCleanup": "重试清理", + "retryingCleanup": "正在重试…", + "discardPending": "丢弃", + "discardConfirm": "确认丢弃", + "discardDone": "已丢弃待处理的清理状态 — 现在可以再次启用游戏模式", + "discardFailed": "无法丢弃待处理的清理状态", + "restoreFailedToast": "清理未完成 — 仍有 {{count}} 项待处理:{{reason}}", + "restoreReasonUnknown": "未知错误", "statOptimizationsActive": "已启用的优化", "statServicesDisabled": "已暂停的服务", "statSessionTimer": "会话计时器", @@ -78,7 +88,7 @@ "autoDeactivateLabel": "退出时自动停用", "autoDeactivateDesc": "在游戏退出时还原系统设置", "customGameProcessesLabel": "自定义游戏进程", - "customGameProcessesDesc": "添加内置列表中没有的游戏可执行文件名称", + "customGameProcessesDesc": "添加内置列表中未包含的游戏可执行文件名称", "customGamePlaceholder": "游戏可执行文件(例如 mygame.exe)", "customGameAdd": "添加", "customGameEmpty": "未配置自定义游戏进程", diff --git a/src/renderer/src/locales/zh-TW/gameMode.json b/src/renderer/src/locales/zh-TW/gameMode.json index c7f376f7..6e6867ef 100644 --- a/src/renderer/src/locales/zh-TW/gameMode.json +++ b/src/renderer/src/locales/zh-TW/gameMode.json @@ -1,6 +1,6 @@ { "pageTitle": "遊戲模式", - "pageDescription": "最佳化您的系統以獲得最高遊戲效能", + "pageDescription": "將您的系統最佳化,以獲得最高遊戲效能", "activateButton": "啟用", "deactivateButton": "停用", "activeLabel": "已啟用", @@ -16,11 +16,11 @@ "resultDeactivated_plural": "系統已還原 — 已還原 {{count}} 項設定", "resultErrors": "{{count}} 項失敗", "categoryServices": "服務", - "categoryServicesDesc": "停用占用大量資源的 Windows 服務", + "categoryServicesDesc": "停用耗用資源較高的 Windows 服務", "categoryProcesses": "處理程序", - "categoryProcessesDesc": "結束占用資源的背景應用程式", + "categoryProcessesDesc": "結束耗用資源的背景應用程式", "categoryMemory": "記憶體", - "categoryMemoryDesc": "釋放 RAM 供您的遊戲使用", + "categoryMemoryDesc": "釋放 RAM 供遊戲使用", "categorySystem": "系統", "categorySystemDesc": "封鎖通知並將效能最大化", "categoryNetwork": "網路", @@ -32,7 +32,7 @@ "optSvcWuauserv": "暫停 Windows Update", "optSvcWuauservDesc": "暫時停止背景更新下載", "optSvcSpooler": "停用 Print Spooler", - "optSvcSpoolerDesc": "若您未連接印表機,則停止列印服務", + "optSvcSpoolerDesc": "如果您未連接印表機,則停止列印服務", "optSvcDiagtrack": "停用診斷", "optSvcDiagtrackDesc": "停止遙測與診斷追蹤服務", "optProcBrowsers": "關閉瀏覽器", @@ -47,7 +47,7 @@ "customProcessAdd": "新增", "customProcessEmpty": "尚未設定自訂處理程序", "optMemStandby": "清除待命記憶體", - "optMemStandbyDesc": "清除快取 RAM,釋放記憶體供您的遊戲使用", + "optMemStandbyDesc": "清除快取 RAM,釋放記憶體供遊戲使用", "optSysFocusAssist": "啟用專注輔助", "optSysFocusAssistDesc": "抑制 Windows 通知與警示", "optSysPowerPlan": "高效能電源計畫", @@ -55,20 +55,30 @@ "optSysPreventSleep": "防止睡眠", "optSysPreventSleepDesc": "保持顯示器開啟並防止系統進入睡眠", "optSysGameBar": "停用 Game Bar / DVR", - "optSysGameBarDesc": "關閉 Xbox Game Bar 覆疊與背景錄製", + "optSysGameBarDesc": "關閉 Xbox Game Bar 覆蓋層與背景錄製", "optSysFseOpt": "停用全螢幕最佳化", "optSysFseOptDesc": "防止 Windows 對全螢幕遊戲套用 DWM 組合", "optSysTransparency": "停用透明效果", "optSysTransparencyDesc": "關閉視窗透明效果以降低 GPU 合成負擔", "optNetFlushDns": "清除 DNS 快取", - "optNetFlushDnsDesc": "清除 DNS 解析器快取以重新取得最新查詢結果", - "optNetNagle": "停用 Nagle's Algorithm", - "optNetNagleDesc": "透過停用 TCP 封包批次處理來降低網路延遲", + "optNetFlushDnsDesc": "清除 DNS 解析器快取以重新查詢最新結果", + "optNetNagle": "停用 Nagle 演算法", + "optNetNagleDesc": "停用 TCP 封包批次處理以降低網路延遲", "enabledCount": "已啟用 {{count}} 項", "adminBadge": "系統管理員", "warningProcesses": "已結束的處理程序在停用遊戲模式後無法自動重新啟動。", "noOptimizationsSelected": "請至少選取一項最佳化後再啟用遊戲模式", "configLockedWhileActive": "請先停用遊戲模式以變更設定", + "pendingRestoreBanner": "上次工作階段中的部分設定無法自動還原。請在問題原因(例如系統管理員權限)排除後重試。", + "pendingRestoreDiscardHint": "如果持續失敗,您可以捨棄待處理狀態以解除遊戲模式封鎖。任何仍維持變更的設定將保持目前狀態。", + "retryCleanup": "重試清理", + "retryingCleanup": "正在重試…", + "discardPending": "捨棄", + "discardConfirm": "確認捨棄", + "discardDone": "已捨棄待處理清理 — 現在可以再次啟用遊戲模式", + "discardFailed": "無法捨棄待處理清理", + "restoreFailedToast": "清理未完成 — 仍有 {{count}} 項待處理:{{reason}}", + "restoreReasonUnknown": "未知錯誤", "statOptimizationsActive": "已啟用的最佳化", "statServicesDisabled": "已暫停的服務", "statSessionTimer": "工作階段計時器",