@echo off

REM Zentrale Batch-Datei f�r DXF/JSON-�bersetzungen
REM Wird von tr2dxf_XX.bat Dateien mit Sprachparameter aufgerufen

if [%1]==[] goto usage
if [%2]==[] goto usage

set "LANG=%1"
set "INPUT_FILE=%2"

for %%i in ("%INPUT_FILE%") do (
    set "FILENAME=%%~ni"
    set "EXT=%%~xi"
    set "DIR=%%~dpi"
)

call "%~dp0setenv.bat"

REM echo Dateiname ohne Erweiterung: %FILENAME%
REM echo Erweiterung: %EXT%
REM echo Verzeichnis: %DIR%
REM echo Sprache: %LANG%

REM Zielverzeichnis
set TARGET_DIR=%PROJECT_WORK%
mkdir "%TARGET_DIR%"

REM Pr�fe Dateityp und w�hle entsprechenden Workflow
if /I "%EXT%"==".json" goto retranslate_json
if /I "%EXT%"==".txt"  goto retranslate_txt
if /I "%EXT%"==".dxf" goto translate_dxf
if /I "%EXT%"==".dwg" goto translate_dxf
goto invalid_filetype

:translate_dxf
REM Namen der Ergebnisdateien
set RESULT_DXF=%FILENAME%_%LANG%.dxf

echo.
echo === Extracting TEXT, MTEXT and symbols, translating to %LANG% ===
call translate.bat --filename "%INPUT_FILE%" --translate %LANG% --todxf %RESULT_DXF%
if not exist "%PROJECT_WORK%\%RESULT_DXF%" (
    @echo == failed: extracting texts
    pause
    goto :eof
)
move %PROJECT_WORK%\%RESULT_DXF% %DIR%
echo.
echo === Translation file created: %DIR%\%RESULT_DXF% ===
pause
goto :eof

:retranslate_json
echo.
echo === Re-translating JSON file with current %LANG%.cfg ===
call translate.bat --retranslate-json "%INPUT_FILE%" --translate %LANG%
if errorlevel 1 (
    @echo == failed: re-translating JSON
    pause
    goto :eof
)
echo.
echo === JSON file updated: %INPUT_FILE% ===
pause
goto :eof

:retranslate_txt
echo.
echo === Re-translating TXT file with current %LANG%.cfg ===
call translate.bat --retranslate-txt "%INPUT_FILE%" --translate %LANG%
if errorlevel 1 (
    @echo == failed: re-translating TXT
    pause
    goto :eof
)
echo.
echo === TXT file updated: %INPUT_FILE% ===
pause
goto :eof

:invalid_filetype
@echo FEHLER: Ung�ltiger Dateityp: %EXT%
@echo Erlaubt sind: .dxf, .dwg, .json, .txt
pause
goto :eof

:usage
@echo Usage: %0 ^<LANG^> ^<file.dxf^|file.json^|file.txt^>
@echo   LANG: Zielsprache (CS, EN, FR, IT, ES)
@echo   - .dxf/.dwg: Extrahiert und �bersetzt Texte zur angegebenen Sprache
@echo   - .json: Re-�bersetzt vorhandene �bersetzungen mit aktueller LANG.cfg
@echo   - .txt:  Re-�bersetzt TXT-Datei (translations/untranslated) mit aktueller LANG.cfg
@echo.
@echo Beispiele:
@echo   %0 CS myfile.dxf
@echo   %0 EN translations.json
@echo   %0 CS translations_texts.txt
exit /B 1
goto :eof
