From c886d5f28e76f9bc696a1797435fb6adcd3c3b57 Mon Sep 17 00:00:00 2001 From: nocci Date: Tue, 29 Apr 2025 14:46:55 +0200 Subject: [PATCH] translations of setup.sh --- setup.sh | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/setup.sh b/setup.sh index a56f879..0793758 100644 --- a/setup.sh +++ b/setup.sh @@ -75,12 +75,12 @@ else fi -# Konfiguration +# Configuration PROJECT_DIR="steam-gift-manager" TRANSLATIONS_DIR="../translations" DATA_DIR="../data" -# 1. Projektordner & Übersetzungsordner erstellen +# 1. Create project folder & translations folder mkdir -p "$PROJECT_DIR"/{templates,static} mkdir -p "$TRANSLATIONS_DIR"/de/LC_MESSAGES mkdir -p "$TRANSLATIONS_DIR"/en/LC_MESSAGES @@ -111,7 +111,7 @@ pillow gunicorn EOL -# 3. .env-Datei im übergeordneten Verzeichnis erstellen +# 3. Create .env file in parent directory cd .. SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_hex(24))') REDEEM_SECRET=$(python3 -c 'import secrets; print(secrets.token_hex(16))') @@ -154,10 +154,10 @@ MATRIX_ACCESS_TOKEN="" MATRIX_ROOM_ID="" EOL -# Zurück ins Projektverzeichnis +# Back to project directory cd $PROJECT_DIR -# 4. app.py (vollständige korrigierte Version) +# 4. app.py (the main app) cat <<'PYTHON_END' > app.py import os import logging @@ -220,7 +220,7 @@ load_dotenv(override=True) # Lade Umgebungsvariablen aus .env mit override load_dotenv(override=True) -# Konfiguration +# App-Configuration app.config.update( SECRET_KEY=os.getenv('SECRET_KEY'), SQLALCHEMY_DATABASE_URI=('sqlite:////app/data/games.db'), @@ -235,7 +235,7 @@ app.config.update( interval_hours = int(os.getenv('CHECK_EXPIRING_KEYS_INTERVAL_HOURS', 12)) -# Initialisierung +# Initialisation db = SQLAlchemy(app, metadata=metadata) migrate = Migrate(app, db) login_manager = LoginManager(app) @@ -259,7 +259,7 @@ def inject_template_vars(): theme='dark' if request.cookies.get('dark_mode') == 'true' else 'light' ) -# Datenbankmodelle +# DB Models class User(db.Model, UserMixin): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) @@ -590,7 +590,7 @@ def export_pdf(): game.redeem_date.strftime('%d.%m.%y') if game.redeem_date else '' ]) - # Tabelle formatieren + # Table format table = Table(data, colWidths=col_widths, repeatRows=1) table.setStyle(TableStyle([ ('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'), @@ -814,7 +814,7 @@ def check_expiring_keys(): send_notification(user, game) -# Optional: Cleanup-Funktion für regelmäßiges Löschen abgelaufener Tokens +# Optional: cleaning up old tokens def cleanup_expired_tokens(): now = datetime.utcnow() expired = RedeemToken.query.filter(RedeemToken.expires < now).all() @@ -823,13 +823,13 @@ def cleanup_expired_tokens(): db.session.commit() -# Scheduler initialisieren und starten +# Scheduler start scheduler = BackgroundScheduler() scheduler.add_job(func=check_expiring_keys, trigger="interval", hours=interval_hours) scheduler.add_job(func=cleanup_expired_tokens, trigger="interval", hours=1) scheduler.start() -# Shutdown des Schedulers bei Beendigung der App +# Shutdown of the Schedulers when stopping the app atexit.register(lambda: scheduler.shutdown()) if __name__ == '__main__': @@ -839,7 +839,7 @@ if __name__ == '__main__': PYTHON_END -# Babel Konfiguration erstellen +# Create Babel configuration cat < babel.cfg [python: **.py] [jinja2: **/templates/**.html] @@ -903,11 +903,11 @@ services: restart: unless-stopped COMPOSE_END -# 7. Verzeichnisse und Berechtigungen +# 7. Directories and permissions mkdir -p ../data ../translations chmod -R a+rwX ../data ../translations -# 8. Übersetzungs- und Upgrade-Scripte +# 8. Translation and upgrade scripts cat <<'SCRIPT_END' > ../translate.sh #!/bin/bash set -e @@ -919,10 +919,10 @@ declare -A locales=( ["en"]="en" ) -# POT-Datei erstellen +# create POT-file docker-compose exec steam-manager pybabel extract -F babel.cfg -o translations/messages.pot . -# Für jede Sprache prüfen und ggf. initialisieren +# Check for each language and initialize if necessary for lang in "${!locales[@]}"; do if [ ! -f "translations/${locales[$lang]}/LC_MESSAGES/messages.po" ]; then docker-compose exec steam-manager pybabel init \ @@ -932,11 +932,11 @@ for lang in "${!locales[@]}"; do fi done -# Übersetzungen aktualisieren und kompilieren +# Update and compile translations docker-compose exec steam-manager pybabel update -i translations/messages.pot -d translations docker-compose exec steam-manager pybabel compile -d translations -echo "✅ Übersetzungen aktualisiert!" +echo "✅ Translations updated!" SCRIPT_END chmod +x ../translate.sh @@ -944,25 +944,25 @@ cat <<'SCRIPT_END' > ../upgrade.sh #!/bin/bash set -e -# Setze das Arbeitsverzeichnis auf das Projektverzeichnis +# Set the working directory to the project directory cd "$(dirname "$0")/steam-gift-manager" # Setze FLASK_APP, falls nötig export FLASK_APP=app.py -# Initialisiere migrations, falls noch nicht vorhanden +# Initialize migrations, if not yet available if [ ! -d migrations ]; then echo "Starting Flask-Migrate..." docker-compose exec steam-manager flask db init fi -# Erzeuge Migration (nur wenn sich Modelle geändert haben) +# Create migration (only if models have changed) docker-compose exec steam-manager flask db migrate -m "Automatic Migration" -# Wende Migration an +# Apply migration docker-compose exec steam-manager flask db upgrade -echo "✅ Database-Migration abgeschlossen!" +echo "✅ Database migration completed!" SCRIPT_END chmod +x ../upgrade.sh @@ -1482,7 +1482,7 @@ function updateCountdown() { updateProgressBar(percent); } -// Initialisierung +// run countdown updateCountdown(); const timer = setInterval(updateCountdown, 1000); @@ -1558,7 +1558,7 @@ body { color: #ff6b6b; } -/* Progressbar-Animationen */ +/* Progressbar-Animations */ #expiry-bar { transition: width 1s linear, background-color 0.5s ease; }