Add server check script for i18n fixes

This commit is contained in:
Torsten Schulz (local)
2025-11-21 14:15:21 +01:00
parent b0e610f3ab
commit 08b0be78ad
2 changed files with 241 additions and 0 deletions

86
CHECK_SERVER.md Normal file
View File

@@ -0,0 +1,86 @@
# Server-Prüfung: i18n-Fixes
## Lokale Prüfung (bereits durchgeführt)
✅ Alle Dateien sind lokal korrekt:
- `TeamManagementView.vue` - Alle `$t()` durch `t()` ersetzt, `t` im return Statement
- `PermissionsView.vue` - Alle `$t()` durch `t()` ersetzt, `t` im return Statement
- `LogsView.vue` - Alle `$t()` durch `t()` ersetzt, `t` im return Statement
- `SeasonSelector.vue` - Bereits korrekt
## Server-Prüfung
### 1. Prüfskript auf den Server kopieren
```bash
# Vom lokalen Rechner aus:
scp check-i18n-fixes.sh rv2756:/var/www/tt-tagebuch.de/
```
### 2. Auf dem Server ausführen
```bash
# Auf dem Server:
cd /var/www/tt-tagebuch.de
chmod +x check-i18n-fixes.sh
./check-i18n-fixes.sh
```
### 3. Falls Dateien nicht aktualisiert sind
```bash
# Auf dem Server:
cd /var/www/tt-tagebuch.de
git pull origin main
cd backend
npm install # Erstellt automatisch den Frontend-Build (via postinstall script)
```
### 4. Backend neu starten (falls nötig)
```bash
# Falls als systemd-Service:
sudo systemctl restart tt-tagebuch
# Oder falls als PM2-Prozess:
pm2 restart tt-tagebuch-backend
```
## Erwartete Ergebnisse
Das Prüfskript sollte folgende Ausgabe zeigen:
```
1. TeamManagementView.vue:
✓ Enthält 'const t = (key, params) => i18n.global.t'
✓ Enthält keine $t() Aufrufe mehr
✓ 't' ist im return Statement enthalten
2. PermissionsView.vue:
✓ Enthält 'const t = (key, params) => i18n.global.t'
✓ Enthält keine $t() Aufrufe mehr
✓ 't' ist im return Statement enthalten
3. LogsView.vue:
✓ Enthält 'const t = (key, params) => i18n.global.t'
✓ Enthält keine $t() Aufrufe mehr
✓ 't' ist im return Statement enthalten
4. SeasonSelector.vue:
✓ Enthält 'const t = (key, params) => i18n.global.t'
✓ Enthält keine $t() Aufrufe mehr
```
## Commits, die auf den Server müssen
Die folgenden Commits müssen auf dem Server sein:
- `b0e610f` - Fix: Replace all $t() calls with t() in PermissionsView and LogsView templates
- `0285c05` - Fix: Replace all $t() calls with t() in TeamManagementView template
- `5d4f2eb` - Update localization handling in TeamManagementView
Prüfe mit:
```bash
git log --oneline -5
```

155
check-i18n-fixes.sh Executable file
View File

@@ -0,0 +1,155 @@
#!/bin/bash
# Skript zum Prüfen der i18n-Fixes auf dem Server
# Führe dieses Skript auf dem Server aus: /var/www/tt-tagebuch.de/
echo "=== Prüfe i18n-Fixes auf dem Server ==="
echo ""
FRONTEND_DIR="${1:-/var/www/tt-tagebuch.de/frontend}"
if [ ! -d "$FRONTEND_DIR" ]; then
echo "✗ Frontend-Verzeichnis nicht gefunden: $FRONTEND_DIR"
exit 1
fi
echo "Prüfe Dateien in: $FRONTEND_DIR"
echo ""
# Prüfe TeamManagementView.vue
echo "1. TeamManagementView.vue:"
FILE="$FRONTEND_DIR/src/views/TeamManagementView.vue"
if [ -f "$FILE" ]; then
if grep -q "const t = (key, params) => i18n.global.t" "$FILE"; then
echo " ✓ Enthält 'const t = (key, params) => i18n.global.t'"
else
echo " ✗ Enthält NICHT 'const t = (key, params) => i18n.global.t'"
fi
if grep -q '\$t(' "$FILE"; then
COUNT=$(grep -c '\$t(' "$FILE")
echo " ✗ Enthält noch $COUNT \$t() Aufrufe"
else
echo " ✓ Enthält keine \$t() Aufrufe mehr"
fi
if grep -q "return {" "$FILE" && grep -A 30 "return {" "$FILE" | grep -q "^\s*t,"; then
echo " ✓ 't' ist im return Statement enthalten"
else
echo " ✗ 't' ist NICHT im return Statement enthalten"
fi
else
echo " ✗ Datei nicht gefunden: $FILE"
fi
echo ""
# Prüfe PermissionsView.vue
echo "2. PermissionsView.vue:"
FILE="$FRONTEND_DIR/src/views/PermissionsView.vue"
if [ -f "$FILE" ]; then
if grep -q "const t = (key, params) => i18n.global.t" "$FILE"; then
echo " ✓ Enthält 'const t = (key, params) => i18n.global.t'"
else
echo " ✗ Enthält NICHT 'const t = (key, params) => i18n.global.t'"
fi
if grep -q '\$t(' "$FILE"; then
COUNT=$(grep -c '\$t(' "$FILE")
echo " ✗ Enthält noch $COUNT \$t() Aufrufe"
else
echo " ✓ Enthält keine \$t() Aufrufe mehr"
fi
if grep -q "return {" "$FILE" && grep -A 30 "return {" "$FILE" | grep -q "^\s*t,"; then
echo " ✓ 't' ist im return Statement enthalten"
else
echo " ✗ 't' ist NICHT im return Statement enthalten"
fi
else
echo " ✗ Datei nicht gefunden: $FILE"
fi
echo ""
# Prüfe LogsView.vue
echo "3. LogsView.vue:"
FILE="$FRONTEND_DIR/src/views/LogsView.vue"
if [ -f "$FILE" ]; then
if grep -q "const t = (key, params) => i18n.global.t" "$FILE"; then
echo " ✓ Enthält 'const t = (key, params) => i18n.global.t'"
else
echo " ✗ Enthält NICHT 'const t = (key, params) => i18n.global.t'"
fi
if grep -q '\$t(' "$FILE"; then
COUNT=$(grep -c '\$t(' "$FILE")
echo " ✗ Enthält noch $COUNT \$t() Aufrufe"
else
echo " ✓ Enthält keine \$t() Aufrufe mehr"
fi
if grep -q "return {" "$FILE" && grep -A 30 "return {" "$FILE" | grep -q "^\s*t,"; then
echo " ✓ 't' ist im return Statement enthalten"
else
echo " ✗ 't' ist NICHT im return Statement enthalten"
fi
else
echo " ✗ Datei nicht gefunden: $FILE"
fi
echo ""
# Prüfe SeasonSelector.vue
echo "4. SeasonSelector.vue:"
FILE="$FRONTEND_DIR/src/components/SeasonSelector.vue"
if [ -f "$FILE" ]; then
if grep -q "const t = (key, params) => i18n.global.t" "$FILE"; then
echo " ✓ Enthält 'const t = (key, params) => i18n.global.t'"
else
echo " ✗ Enthält NICHT 'const t = (key, params) => i18n.global.t'"
fi
if grep -q '\$t(' "$FILE"; then
COUNT=$(grep -c '\$t(' "$FILE")
echo " ✗ Enthält noch $COUNT \$t() Aufrufe"
else
echo " ✓ Enthält keine \$t() Aufrufe mehr"
fi
else
echo " ✗ Datei nicht gefunden: $FILE"
fi
echo ""
# Prüfe Build-Dateien
echo "5. Build-Dateien:"
DIST_DIR="$FRONTEND_DIR/dist/assets"
if [ -d "$DIST_DIR" ]; then
BUILD_FILE=$(ls -t "$DIST_DIR"/index-*.js 2>/dev/null | head -1)
if [ -n "$BUILD_FILE" ]; then
echo " Gefundene Build-Datei: $(basename $BUILD_FILE)"
BUILD_TIME=$(stat -c %y "$BUILD_FILE" 2>/dev/null || stat -f %Sm "$BUILD_FILE" 2>/dev/null)
echo " Build-Zeit: $BUILD_TIME"
# Prüfe, ob der Build die neuen Änderungen enthält
# (minifizierter Code, daher schwer zu prüfen)
if strings "$BUILD_FILE" | grep -q "i18n"; then
echo " ✓ Build enthält i18n-Referenzen"
else
echo " ⚠ Build enthält keine i18n-Referenzen (möglicherweise minifiziert)"
fi
else
echo " ✗ Keine Build-Datei gefunden in $DIST_DIR"
fi
else
echo " ✗ Dist-Verzeichnis nicht gefunden: $DIST_DIR"
fi
echo ""
echo "=== Prüfung abgeschlossen ==="
echo ""
echo "Hinweis: Falls die Dateien nicht aktualisiert sind, führe auf dem Server aus:"
echo " cd /var/www/tt-tagebuch.de"
echo " git pull origin main"
echo " cd backend && npm install # Erstellt automatisch den Frontend-Build"