@echo off&set FileName=%~n0&shift :: ============================================= :: AutoHelp PlugLab Concept: 2006 by Reatogo :: ============================================= :: Help Info: :: ======================= set Routine_Type=1 :: 1=Getting Data 2=Prompts 3=Getting Files 4=Creating Files 5=General set Routine_Vers=1 set Routine_Date=2007-02-15 set RoutineName=AutoLang set RoutineAuthor=Siegfried set Using_work_from= set Example_call_1=special :: Note: A not defined "%Example_call_1%" will supress the creation of a help file and use a premade file present in the pluglab help :: This is necessary for this particular routine as the helpfile is too elaborate to fit the standard help creation procedure. if "%~1" == "GetHelp" goto :EOF echo.&echo %* :: ============================================= set langINI= if not "%~1" == "" if exist %DATs%\%~1 set langINI=%DATs%\%~1&goto LangINI_found if not exist %DATs%\LANG.txt ( if exist %DATs%\LANG.ini ( call :Convert_LangINI_2_LANG.txt if exist %DATs%\LANG.txt ( copy %DATs%\LANG.ini old-LANG.ini del %DATs%\LANG.ini ) ) else ( if exist "%PLUGLAB_SCRIPTSdir%\DATs\LANG.txt" copy "%PLUGLAB_SCRIPTSdir%\DATs\LANG.txt" "SCRIPTS\DATs\LANG.txt" > NUL ) set langINI=%DATs%\LANG.txt ) if exist %DATs%\LANG.txt set langINI=%DATs%\LANG.txt&goto LangINI_found set LANG=English echo ERRORR: No LANG-INI was found in SCRIPTS\DATs echo autodetection of %%LANG%% aborted. echo %%LANG%% is now set to default "English" goto :EOF :LangINI_found if not defined OSLang %VarsSystemEtc% :: ******************** ::set AutoLangID=%OSlang% :: For testing localisations: force a language by e.g. set AutoLangID=1009 in autoHelp.cmd (vars section) :: 1009_English_Canadian=Canadian :: set AutoLangID=1009 if not defined AutoLangID set AutoLangID=%OSlang% :: ******************** set AutoLangIDMain=%AutoLangID:~-2% ::=================== if "%langINI%" == "" goto _end :: Import vars from LangDAT if exist "%temp%\TempLab.cmd" del "%temp%\TempLab.cmd" SETLOCAL ENABLEDELAYEDEXPANSION :: exact match for /F "tokens=1-2* delims==" %%i IN (%langINI%) do ( set first=%%i set LANGID=!first:~0,+4! set SubID=!LangID:~0,+2! set MainID=!LangID:~-2! if "!LANGID!" == "%AutoLangID%" ( if not "%%j" == "" echo set LANG=%%j>"%temp%\TempLab.cmd" ) ) :: match main ID and **MainID is defined in LANG.txt if not exist "%temp%\TempLab.cmd" ( for /F "tokens=1-2* delims==" %%i IN (%langINI%) do ( set first=%%i set LANGID=!first:~0,+4! set SubID=!LangID:~0,+2! set MainID=!LangID:~-2! if not exist "%temp%\TempLab.cmd" ( if "!LANGID!" == "**%AutoLangIDMain%" ( if not "%%j" == "" echo set LANG=%%j>"%temp%\TempLab.cmd" ) ) ) ) :: Selection dialog if nothing was found to this point :: If the Lang.txt is totally empty (no lang defined) the prompt is supressed. if not exist "%temp%\TempLab.cmd" ( if exist "%DATs%\AUTOLANG_SELECT_D.dat" del "%DATs%\AUTOLANG_SELECT_D.dat" for /F "tokens=1-2* delims==" %%i IN (%langINI%) do ( if not "%%j" == "" echo %%i=%%j>> "%DATs%\AUTOLANG_SELECT_D.dat" ) if exist "%DATs%\AUTOLANG_SELECT_D.dat" ( call :LangSelPrompt echo set LANG=!result!>"%temp%\TempLab.cmd" ) else ( echo set LANG=>"%temp%\TempLab.cmd" ) ) ENDLOCAL if exist "%temp%\TempLab.cmd" ( call "%temp%\TempLab.cmd" del "%temp%\TempLab.cmd" ) goto :EOF ::======================================== :LangSelPrompt ::======================================== ECHO Language selection for your plugin.> "%DATs%\AUTOLANG_SELECT_T.dat" ECHO .>> "%DATs%\AUTOLANG_SELECT_T.dat" ECHO No exact match to your system language has been found in the language definition files.>> "%DATs%\AUTOLANG_SELECT_T.dat" ECHO .>> "%DATs%\AUTOLANG_SELECT_T.dat" ECHO Please select one of the available languages listed below.>> "%DATs%\AUTOLANG_SELECT_T.dat" %COMBO% "1" "Select the language for your plugin..." "AUTOLANG_SELECT_D.dat" "AUTOLANG_SELECT_T.dat" "" if exist "%DATs%\AUTOLANG_SELECT_T.dat" del "%DATs%\AUTOLANG_SELECT_T.dat" if exist "%DATs%\AUTOLANG_SELECT_D.dat" del "%DATs%\AUTOLANG_SELECT_D.dat" goto :EOF ::======================================== :Convert_LangINI_2_LANG.txt ::======================================== echo.> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "English"&call :PrintRes "**09_English" echo 0409_English_United_States=>> "%DATs%\LANG.txt" echo 0809_English_United_Kingdom=>> "%DATs%\LANG.txt" echo 0c09_English_Australian=>> "%DATs%\LANG.txt" echo 1009_English_Canadian=>> "%DATs%\LANG.txt" echo 1409_English_New_Zealand=>> "%DATs%\LANG.txt" echo 1809_English_Irish=>> "%DATs%\LANG.txt" echo 1c09_English_South_Africa=>> "%DATs%\LANG.txt" echo 2009_English_Jamaica=>> "%DATs%\LANG.txt" echo 2409_English_Caribbean=>> "%DATs%\LANG.txt" echo 2809_English_Belize=>> "%DATs%\LANG.txt" echo 2c09_English_Trinidad=>> "%DATs%\LANG.txt" echo 3009_English_Zimbabwe=>> "%DATs%\LANG.txt" echo 3409_English_Philippines=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" echo **36_Afrikaans=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Albanian"&call :PrintRes "**1c_Albanian" echo.>> "%DATs%\LANG.txt" echo **01_Arabic=>> "%DATs%\LANG.txt" echo 0401_Arabic_Saudi_Arabia=>> "%DATs%\LANG.txt" echo 0801_Arabic_Iraq=>> "%DATs%\LANG.txt" echo 0c01_Arabic_Egypt=>> "%DATs%\LANG.txt" echo 1001_Arabic_Libya=>> "%DATs%\LANG.txt" echo 1401_Arabic_Algeria=>> "%DATs%\LANG.txt" echo 1801_Arabic_Morocco=>> "%DATs%\LANG.txt" echo 1c01_Arabic_Tunisia=>> "%DATs%\LANG.txt" echo 2001_Arabic_Oman=>> "%DATs%\LANG.txt" echo 2401_Arabic_Yemen=>> "%DATs%\LANG.txt" echo 2801_Arabic_Syria=>> "%DATs%\LANG.txt" echo 2c01_Arabic_Jordan=>> "%DATs%\LANG.txt" echo 3001_Arabic_Lebanon=>> "%DATs%\LANG.txt" echo 3401_Arabic_Kuwait=>> "%DATs%\LANG.txt" echo 3801_Arabic_UAE=>> "%DATs%\LANG.txt" echo 3c01_Arabic_Bahrain=>> "%DATs%\LANG.txt" echo 4001_Arabic_Qatar=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Armenian"&call :PrintRes "**2b_Armenian" echo.>> "%DATs%\LANG.txt" echo **2c_Azeri=>> "%DATs%\LANG.txt" echo 042c_Azeri_Latin=>> "%DATs%\LANG.txt" echo 082c_Azeri_Cyrillic=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" echo **2d_Basque=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Belarusian"&call :PrintRes "**23_Belarusian" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Bulgarian"&call :PrintRes "**02_Bulgarian" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Catalan"&call :PrintRes "**03_Catalan" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Chinese"&call :PrintRes "**04_Chinese" echo 0404_Chinese_Taiwan=>> "%DATs%\LANG.txt" echo 0804_Chinese_PRC=>> "%DATs%\LANG.txt" echo 0c04_Chinese_Hong_Kong=>> "%DATs%\LANG.txt" echo 1004_Chinese_Singapore=>> "%DATs%\LANG.txt" echo 1404_Chinese_Macau=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Croatian"&call :PrintRes "**1a_Croatian" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Czech"&call :PrintRes "**05_Czech" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Danish"&call :PrintRes "**06_Danish" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Dutch"&call :PrintRes "**13_Dutch" echo 0413_Dutch_Standard=>> "%DATs%\LANG.txt" echo 0813_Dutch_Belgian=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Estonian"&call :PrintRes "**25_Estonian" echo.>> "%DATs%\LANG.txt" echo **38_Faeroese=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" echo **29_Farsi=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Finnish"&call :PrintRes "**0b_Finnish" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "French"&call :PrintRes "**0c_French" echo 040c_French_Standard=>> "%DATs%\LANG.txt" echo 080c_French_Belgian=>> "%DATs%\LANG.txt" echo 0c0c_French_Canadian=>> "%DATs%\LANG.txt" echo 100c_French_Swiss=>> "%DATs%\LANG.txt" echo 140c_French_Luxembourg=>> "%DATs%\LANG.txt" echo 180c_French_Monaco=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Georgian"&call :PrintRes "**37_Georgian" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "German"&call :PrintRes "**07_German" echo 0407_German_Standard=>> "%DATs%\LANG.txt" echo 0807_German_Swiss=>> "%DATs%\LANG.txt" echo 0c07_German_Austrian=>> "%DATs%\LANG.txt" echo 1007_German_Luxembourg=>> "%DATs%\LANG.txt" echo 1407_German_Liechtenstei=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Greek"&call :PrintRes "**08_Greek" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Hebrew"&call :PrintRes "**0d_Hebrew" echo.>> "%DATs%\LANG.txt" echo **39_Hindi=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Hungarian"&call :PrintRes "**0e_Hungarian" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Icelandic"&call :PrintRes "**0f_Icelandic" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Indonesian"&call :PrintRes "**21_Indonesian" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Italian"&call :PrintRes "**10_Italian" echo 0410_Italian_Standard=>> "%DATs%\LANG.txt" echo 0810_Italian_Swiss=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Japanese"&call :PrintRes "**11_Japanese" echo.>> "%DATs%\LANG.txt" echo **3f_Kazakh=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" echo **57_Konkani=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Korean"&call :PrintRes "**12_Korean" echo.>> "%DATs%\LANG.txt" echo **26_Latvian=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Lithuanian"&call :PrintRes "**27_Lithuanian" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Macedonian"&call :PrintRes "**2f_Macedonian" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Malaysian"&call :PrintRes "**3e_Malay" echo 043e_Malay_Malaysia=>> "%DATs%\LANG.txt" echo 083e_Malay_Brunei_Darussalam=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Norwegian"&call :PrintRes "**14_Norwegian" echo 0414_Norwegian_Bokmal=>> "%DATs%\LANG.txt" echo 0814_Norwegian_Nynorsk=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Polish"&call :PrintRes "**15_Polish" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Portuguese"&call :PrintRes "**16_Portuguese" echo 0416_Portuguese_Brazilian=>> "%DATs%\LANG.txt" echo 0816_Portuguese_Standard=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Romanian"&call :PrintRes "**18_Romanian" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Russian"&call :PrintRes "**19_Russian" echo.>> "%DATs%\LANG.txt" echo **4f_Sanskrit=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Serbian"&call :PrintRes "**1a_Serbian" echo 081a_Serbian_Latin=>> "%DATs%\LANG.txt" echo 0c1a_Serbian_Cyrillic=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Slovak"&call :PrintRes "**1b_Slovak" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Slovenian"&call :PrintRes "**24_Slovenian" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Spanish"&call :PrintRes "**0a_Spanish" echo 040a_Spanish_Traditional_Sort=>> "%DATs%\LANG.txt" echo 080a_Spanish_Mexican=>> "%DATs%\LANG.txt" echo 0c0a_Spanish_Modern_Sort=>> "%DATs%\LANG.txt" echo 100a_Spanish_Guatemala=>> "%DATs%\LANG.txt" echo 140a_Spanish_Costa_Rica=>> "%DATs%\LANG.txt" echo 180a_Spanish_Panama=>> "%DATs%\LANG.txt" echo 1c0a_Spanish_Dominican_Republic=>> "%DATs%\LANG.txt" echo 200a_Spanish_Venezuela=>> "%DATs%\LANG.txt" echo 240a_Spanish_Colombia=>> "%DATs%\LANG.txt" echo 280a_Spanish_Peru=>> "%DATs%\LANG.txt" echo 2c0a_Spanish_Argentina=>> "%DATs%\LANG.txt" echo 300a_Spanish_Ecuador=>> "%DATs%\LANG.txt" echo 340a_Spanish_Chile=>> "%DATs%\LANG.txt" echo 380a_Spanish_Uruguay=>> "%DATs%\LANG.txt" echo 3c0a_Spanish_Paraguay=>> "%DATs%\LANG.txt" echo 400a_Spanish_Bolivia=>> "%DATs%\LANG.txt" echo 440a_Spanish_El_Salvador=>> "%DATs%\LANG.txt" echo 480a_Spanish_Honduras=>> "%DATs%\LANG.txt" echo 4c0a_Spanish_Nicaragua=>> "%DATs%\LANG.txt" echo 500a_Spanish_Puerto_Rico=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" echo **41_Swahili=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Swedish"&call :PrintRes "**1d_Swedish" echo 041d_Swedish=>> "%DATs%\LANG.txt" echo 081d_Swedish_Finland=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" echo **49_Tamil=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" echo **44_Tatar=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" echo **1e_Thai=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Turkish"&call :PrintRes "**1f_Turkish" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Ukrainian"&call :PrintRes "**22_Ukrainian" echo.>> "%DATs%\LANG.txt" echo **20_Urdu=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" echo **43_Uzbek=>> "%DATs%\LANG.txt" echo 0443_Uzbek_Latin=>> "%DATs%\LANG.txt" echo 0843_Uzbek_Cyrillic=>> "%DATs%\LANG.txt" echo.>> "%DATs%\LANG.txt" %IniGet% "%DATs%\LANG.ini" "LANGUAGE" "Vietnamese"&call :PrintRes "***2a_Vietnamese" echo.>> "%DATs%\LANG.txt" goto :EOF :PrintRes if "%result%" == "$empty$" set result= if "%result%" == "$notfound$" set result= echo %~1=%result%>> "%DATs%\LANG.txt" set result= goto :EOF ::========================================