@echo off
rem TagAlly Engine — Doppelklick-Starter fuer Windows.
rem Diese Datei ist der Startknopf. Alles Uebrige liegt im Ordner "programm".
rem Startet den lokalen Hilfsdienst (lauscht nur auf 127.0.0.1:8474).
rem
rem Die eigentliche Arbeit macht start.js: Es vergleicht die laufende Engine
rem mit der auf der Platte und loest eine veraltete selbstaendig ab.
rem
rem Dieses Skript gibt nur die wenigen Saetze aus, die fallen muessen, BEVOR
rem Node ueberhaupt laeuft. Die Uebersetzungen liegen in
rem strings\shell\<code>.txt und stammen aus derselben Quelle wie alles andere.
setlocal enabledelayedexpansion
rem Der Code liegt im Unterordner, damit hier oben nur das Noetige sichtbar ist.
if exist "%~dp0programm\start.js" (cd /d "%~dp0programm") else (cd /d "%~dp0")

rem UTF-8 im Konsolenfenster, sonst werden Umlaute und Akzente zerlegt.
chcp 65001 >nul 2>nul

rem --- Notfall-Vorgaben, falls die Sprachdatei fehlt ---------------------------
set "NODE_MISSING=Node.js was not found."
set "NODE_MISSING_HINT=Please install it from https://nodejs.org and run this script again."
set "ENGINE_STOPPED=The engine has stopped."
set "PRESS_ENTER=Press Enter to close this window ..."

rem --- Sprache bestimmen ------------------------------------------------------
set "LC="
for /f "usebackq delims=" %%i in (`powershell -NoProfile -Command "[Globalization.CultureInfo]::CurrentUICulture.TwoLetterISOLanguageName" 2^>nul`) do set "LC=%%i"
if not defined LC set "LC=en"
set "SPRACHDATEI=strings\shell\%LC%.txt"
if not exist "%SPRACHDATEI%" set "SPRACHDATEI=strings\shell\en.txt"

if exist "%SPRACHDATEI%" (
  for /f "usebackq tokens=1,* delims==" %%a in ("%SPRACHDATEI%") do set "%%a=%%b"
)

rem --- Start ------------------------------------------------------------------
where node >nul 2>nul
if errorlevel 1 (
  echo !NODE_MISSING!
  echo !NODE_MISSING_HINT!
  set /p "=!PRESS_ENTER!" <nul
  pause >nul
  exit /b 1
)

node start.js
echo.
echo !ENGINE_STOPPED!
set /p "=!PRESS_ENTER!" <nul
pause >nul
