Refactor code structure for improved readability and maintainability

This commit is contained in:
2025-12-10 13:47:34 +01:00
parent 67f967aa09
commit bcb96213ee
73 changed files with 4307 additions and 1315 deletions

View File

@@ -0,0 +1,35 @@
# Requires PowerShell 5+
# Scans all .ui files under src/ and runs pyside6-lupdate to generate/update .ts files next to them.
# Usage: Run from repository root: `pwsh dev/update_translations.ps1` or `powershell -ExecutionPolicy Bypass -File dev/update_translations.ps1`
$ErrorActionPreference = 'Stop'
# Use current working directory (CWD) for relative paths
$cwd = Get-Location
$lupdate = Join-Path $cwd '.venv\Scripts\pyside6-lupdate.exe'
if (-not (Test-Path $lupdate)) {
Write-Error "Qt for Python lupdate not found at '$lupdate'. Ensure venv is created and PySide6 tools installed."
}
$uiFiles = Get-ChildItem -Path (Join-Path $cwd 'src') -Filter '*.ui' -Recurse -File
if ($uiFiles.Count -eq 0) {
Write-Host 'No .ui files found under src/. Nothing to update.'
exit 0
}
foreach ($ui in $uiFiles) {
# Compute .ts path next to the .ui file
$tsPath = [System.IO.Path]::ChangeExtension($ui.FullName, '.ts')
# Ensure target directory exists
$tsDir = Split-Path -Parent $tsPath
if (-not (Test-Path $tsDir)) { New-Item -ItemType Directory -Path $tsDir | Out-Null }
# Use absolute paths to avoid path resolution issues
$uiAbs = $ui.FullName
$tsAbs = $tsPath
Write-Host "Updating translations: $uiAbs -> $tsAbs"
& $lupdate $uiAbs '-ts' $tsAbs
}
Write-Host 'Translation update completed.'