Refactor code structure for improved readability and maintainability
This commit is contained in:
31
dev/update_translations.sh
Normal file
31
dev/update_translations.sh
Normal file
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
# Scans all .ui files under src/ and runs pyside6-lupdate to generate/update .ts files next to them.
|
||||
# Usage: Run from repository root: `bash dev/update_translations.sh`
|
||||
set -euo pipefail
|
||||
|
||||
# Ensure we are in repo root (script's directory is dev/)
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
REPO_ROOT="$(dirname "$SCRIPT_DIR")"
|
||||
cd "$REPO_ROOT"
|
||||
|
||||
LUPDATE=".venv/bin/pyside6-lupdate"
|
||||
if [[ ! -x "$LUPDATE" ]]; then
|
||||
echo "Qt for Python lupdate not found at '$LUPDATE'. Ensure venv is created and PySide6 tools installed." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
shopt -s nullglob
|
||||
mapfile -t UI_FILES < <(find src -type f -name '*.ui')
|
||||
|
||||
if [[ ${#UI_FILES[@]} -eq 0 ]]; then
|
||||
echo "No .ui files found under src/. Nothing to update."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
for ui in "${UI_FILES[@]}"; do
|
||||
ts="${ui%.ui}.ts"
|
||||
echo "Updating translations: $ui -> $ts"
|
||||
"$LUPDATE" "$ui" -ts "$ts"
|
||||
done
|
||||
|
||||
echo "Translation update completed."
|
||||
Reference in New Issue
Block a user