101 lines
2.5 KiB
Batchfile
101 lines
2.5 KiB
Batchfile
@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% %PROJECT_BOM_RESULTS%
|
|
echo.
|
|
echo === Translation file created: %PROJECT_BOM_RESULTS%\%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
|