- Feature: Added automatic default language recognition for the supported ones (FR,DE,SP,EN)

This commit is contained in:
fdbozzo
2018-03-24 16:49:55 +01:00
2 changed files with 50 additions and 14 deletions

View File

@@ -3,7 +3,7 @@ Lparameters toUpdateInfo
Local lcNote
With toUpdateInfo
.VersionNumber = 'v1.19.51'
.VersionDate = Date(2018,03,16)
.VersionDate = Date(2018,03,24)
.SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip'
.Link = 'https://github.com/fdbozzo/foxbin2prg/wiki'
@@ -21,9 +21,10 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg
Change History -------------------------------------------------------------
2018-03-16 v1.19.51
2018-03-24 v1.19.51
- Add LOG info about config.fpw used and CodePage
- Enhanced HELP dialog info when running FoxBin2Prg with double-click
- Feature: Added automatic default language recognition for the supported ones (FR,DE,SP,EN)
2018-03-15 v1.19.50.3
- Bug Fix: When adding some non-VFP text files like html,css,etc, in the text section of the project, FoxBin2Prg does not keep this selection when regenerating the PJX, leaving them in the files section (Darko Kezic)

View File

@@ -896,7 +896,8 @@ DEFINE CLASS c_foxbin2prg AS Session
LOCAL THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
LOCAL lcSys16, lnPosProg, lc_Foxbin2prg_EXE, laValues(1,5), lcPicturePath, laDir(1,5)
LOCAL lcSys16, lnPosProg, lc_Foxbin2prg_EXE, laValues(1,5), lcPicturePath, laDir(1,5) ;
, lcLang
SET DELETED ON
SET DATE YMD
SET HOURS TO 24
@@ -958,7 +959,23 @@ DEFINE CLASS c_foxbin2prg AS Session
THIS.writeLog( REPLICATE( '*', 100 ) )
THIS.writeLog( 'FoxBin2Prg: [' + THIS.c_Foxbin2prg_FullPath + '] (EXE Version: ' + THIS.c_FB2PRG_EXE_Version + ', FoxPro Version: ' + VERSION(4) + ')' )
THIS.writeLog( TEXTMERGE( '- Internal CFG: <<SYS(2019,2)>> / External CFG: <<SYS(2019,1)>> / CodePage Used: <<CPCURRENT()>>)' ) )
THIS.changeLanguage()
* Get default language info
* ISO 639-2 Language Codes: https://www.loc.gov/standards/iso639-2/php/code_list.php
lcLang = THIS.getLocaleInfo(0x00000067) && ie: spa
DO CASE
CASE lcLang = 'spa'
lcLang = 'ES'
CASE INLIST(lcLang, 'den', 'deu', 'ger', 'gmh', 'goh', 'gsw', 'nds')
lcLang = 'DE'
CASE INLIST(lcLang, 'cpf', 'fra', 'fre', 'frm', 'fro')
lcLang = 'FR'
OTHERWISE && Default: EN
lcLang = 'EN'
ENDCASE
THIS.changeLanguage(lcLang)
THIS.o_FSO = CREATEOBJECT("Scripting.FileSystemObject")
*THIS.o_WSH = CREATEOBJECT("WScript.Shell")
@@ -5320,6 +5337,27 @@ DEFINE CLASS c_foxbin2prg AS Session
ENDFUNC
FUNCTION GetLocaleInfo
LPARAMETERS tnSetting, tcLocale
#DEFINE C_NULL CHR(0)
LOCAL lcLocale, lnLen, lcBuffer, lnReturn, lcReturn
IF VARTYPE(tcLocale) = 'C' AND NOT EMPTY(tcLocale)
lcLocale = STRCONV(tcLocale, 5) + C_NULL
ELSE
lcLocale = .NULL.
ENDIF
DECLARE INTEGER GetLocaleInfoEx in Win32API ;
string locale, long type, string @buffer, integer len
lnLen = 255
lcBuffer = SPACE(lnLen)
lnReturn = GetLocaleInfoEx(lcLocale, tnSetting, @lcBuffer, lnLen)
lcReturn = STRCONV(LEFT(lcBuffer, 2 * (lnReturn - 1)), 6)
RETURN lcReturn
ENDFUNC
ENDDEFINE
@@ -28512,7 +28550,7 @@ DEFINE CLASS CL_LANG AS Custom
.C_FILE_NOT_FOUND_LOC = "Fichier introuvable"
.C_FILENAME_LOC = "Fichier"
.C_FOXBIN2PRG_ERROR_CAPTION_LOC = "ERREUR"
.C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX INFO"
.C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX AND PARAMETERS INFO"
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>FoxBin2Prg Home Page and download: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25)
<<>>
@@ -28677,7 +28715,7 @@ DEFINE CLASS CL_LANG AS Custom
.C_FILE_NOT_FOUND_LOC = "No se encontró el archivo"
.C_FILENAME_LOC = "Archivo"
.C_FOXBIN2PRG_ERROR_CAPTION_LOC = "ERROR"
.C_FOXBIN2PRG_SYNTAX_INFO_LOC = "INFORMACIÓN DE SINTAXIS"
.C_FOXBIN2PRG_SYNTAX_INFO_LOC = "INFORMACIÓN DE SINTAXIS Y PARÁMETROS"
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>Página principal y descarga de FoxBin2Prg: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25)
<<>>
@@ -28842,7 +28880,7 @@ DEFINE CLASS CL_LANG AS Custom
.C_FILE_NOT_FOUND_LOC = "Datei nicht gefunden"
.C_FILENAME_LOC = "Datei"
.C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FEHLER"
.C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX INFO"
.C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX AND PARAMETERS INFO"
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>FoxBin2Prg Home Page and download: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25)
<<>>
@@ -29007,7 +29045,7 @@ DEFINE CLASS CL_LANG AS Custom
.C_FILE_NOT_FOUND_LOC = "File not found"
.C_FILENAME_LOC = "File"
.C_FOXBIN2PRG_ERROR_CAPTION_LOC = "ERROR"
.C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX INFO"
.C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX AND PARAMETERS INFO"
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>FoxBin2Prg Home Page and download: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25)
<<>>
@@ -29253,7 +29291,7 @@ DEFINE CLASS CL_MACRO AS CL_COL_BASE
loColl.Add( loMRec, loMRec.get_Macro_Keystrokes(loMRec.Keystroke, .T.) )
loMRec = NULL
ENDFOR
* Ordenar alfabéticamente por keystroke
loColl.KeySort = 2
@@ -29927,17 +29965,14 @@ DEFINE CLASS CL_MACRO_RECORD AS CL_CUS_BASE
ENDCASE
ENDCASE
IF EMPTY(lcKeyName)
*OTHERWISE &&CASE INLIST( lnKey, 0x00, 0x10, 0x80) OR lnCntMod > 1
*llComplementar = NOT EMPTY(lcKeyMod)
DO CASE
CASE BETWEEN(lnKey, 0x41, 0x5A) OR BETWEEN(lnKey, 0x61, 0x7A) OR INLIST(lnKey, 0x7C, 0x7E) && A..Z, a..z, |, ~
lcKeyName = lcKey
llKeyCodeShift = .F.
*CASE BETWEEN(lnKey, 0x21, 0x7A) AND NOT (tlLiteralForCaption AND lnKey = 0x3B)
CASE BETWEEN(lnKey, 0x21, 0x7A) AND NOT (lnKey = 0x3B)
llKeyCodeShift = .F.
lcKeyName = lcKey
@@ -29978,7 +30013,7 @@ DEFINE CLASS CL_MACRO_RECORD AS CL_CUS_BASE
ENDCASE
*ENDCASE
*ENDCASE
ENDIF
* Tratamiento de modificadores