diff --git a/bin/tr2dxf.bat b/bin/tr2dxf.bat new file mode 100644 index 0000000..fafe8e7 --- /dev/null +++ b/bin/tr2dxf.bat @@ -0,0 +1,86 @@ +@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 C:\kabellaengen\bin\setenv.bat + +REM echo Dateiname ohne Erweiterung: %FILENAME% +REM echo Erweiterung: %EXT% +REM echo Verzeichnis: %DIR% +REM echo Sprache: %LANG% + +if exist "%~dp0_setenv.bat" ( + echo Lade lokale Umgebungseinstellungen aus _setenv.bat... + call "%~dp0_setenv.bat" +) +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%"==".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 +) +echo. +echo === Translation file created: %PROJECT_WORK%\%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 + +:invalid_filetype +@echo FEHLER: Ungültiger Dateityp: %EXT% +@echo Erlaubt sind: .dxf, .dwg, .json +pause +goto :eof + +:usage +@echo Usage: %0 ^ ^ +@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. +@echo Beispiele: +@echo %0 CS myfile.dxf +@echo %0 EN translations.json +exit /B 1 +goto :eof