Import initial din SVN ROAAUTO/Trunk @HEAD
This commit is contained in:
108
COMUN/programe/locale_genmenu.prg
Normal file
108
COMUN/programe/locale_genmenu.prg
Normal file
@@ -0,0 +1,108 @@
|
||||
* Program: _LOCALE_GENMENU.PRG
|
||||
* Description: Loader to GenMenu.prg to adjust PROMPT and MESSAGE clauses for Localization.
|
||||
* Created: 02/16/2004
|
||||
* Developer: Gregory L Reichert
|
||||
* Copyright: Copyright (c) 2004 GLR software
|
||||
*------------------------------------------------------------
|
||||
|
||||
*--------------------------------------------
|
||||
* Setup instructions.
|
||||
* 1. From the main menu, Open the Options dialogs.
|
||||
* 2. Click the "File Locations" tab.
|
||||
* 3. Locate the "Menu Builder" item in the list.
|
||||
* 4. Doble-Click the "Menu Builder" item.
|
||||
* 5. Change the file reference to point to this file.
|
||||
* 6. Click the "Save as Default" button.
|
||||
* 7. Click the "Ok" button.
|
||||
*--------------------------------------------
|
||||
|
||||
|
||||
PARAMETER m.projdbf, m.recno
|
||||
|
||||
LOCAL cResult, cPath, cc
|
||||
cPath = SET("Path")
|
||||
cc = HOME()+";&cPath"
|
||||
SET PATH TO &cc
|
||||
cResult = GenMenu( (m.projdbf), (m.recno) )
|
||||
SET PATH TO &cPath
|
||||
|
||||
LOCAL MenuName, cMenu
|
||||
LOCAL lcLocaleObjName
|
||||
lcLocaleObjName = [goLocale]
|
||||
|
||||
*--------------------------------------------
|
||||
* Get menu name
|
||||
*--------------------------------------------
|
||||
|
||||
USE IN (SELECT("qMenu"))
|
||||
USE (m.projdbf) AGAIN IN 0 NOUPDATE ALIAS qMenu
|
||||
SELECT qMenu
|
||||
GOTO (m.recno)
|
||||
m.MenuName = qMenu.NAME
|
||||
USE IN qMenu
|
||||
|
||||
*--------------------------------------------
|
||||
* If there is a "*:Locale=Yes" in the Procedure section of
|
||||
* the "View->General Options", setup for translations.
|
||||
*--------------------------------------------
|
||||
SELECT 0
|
||||
lcMenuFile = LEFT(m.projdbf, RAT('\', m.projdbf)) + m.MenuName
|
||||
USE (m.lcMenuFile) AGAIN NOUPDATE ALIAS qMenu
|
||||
GOTO TOP
|
||||
m.Proc = ALLTRIM(qMenu.procedure)
|
||||
USE
|
||||
IF ATC("*:Locale=Yes",m.Proc)>0
|
||||
|
||||
lcMenuFile = STRTRAN(LOWER(lcMenuFile),".mnx",".mpr")
|
||||
|
||||
CREATE CURSOR qMenu (LINE c(250))
|
||||
APPEND FROM (lcMenuFile) TYPE SDF
|
||||
|
||||
LOCAL cLine, i, cMenu
|
||||
cMenu = ""
|
||||
SCAN ALL
|
||||
cLine = ALLTRIM(qMenu.LINE)
|
||||
|
||||
*%% Gregory L Reichert 02/16/2004 LOCALE_GENMENU.PRG : 800 : BUGBUG : Making direct reference to oLocale. It may be on Form or _SCREEN at runtime.
|
||||
DO CASE
|
||||
CASE ATCC([DEFINE PAD ],cLine)>0 AND ATCC([PROMPT "],cLine)>0
|
||||
i = ATCC([PROMPT "],cLine)+7
|
||||
cLine = STUFFC(cLine,i,1, lcLocaleObjName + [.getString("])
|
||||
i = RATC([" COLOR ],cLine,1)
|
||||
cLine = STUFFC(cLine,i,1,[")])
|
||||
CASE ATCC([DEFINE BAR ],cLine)>0 AND ATCC([PROMPT "],cLine)>0
|
||||
i = ATCC([PROMPT "],cLine)+7
|
||||
cLine = STUFFC(cLine,i,1,lcLocaleObjName + [.getString("])
|
||||
i = RATC(["],cLine,1)
|
||||
cLine = STUFFC(cLine,i,1,[")])
|
||||
CASE ATCC([MESSAGE "],cLine)>0
|
||||
i = ATCC([MESSAGE "],cLine)+8
|
||||
cLine = STUFFC(cLine,i,1,lcLocaleObjName + [.getString("])
|
||||
i = ratc(["],cLine,1)
|
||||
cLine = STUFFC(cLine,i,1,[")])
|
||||
CASE ATCC([TITLE "],cLine)>0
|
||||
i = ATCC([TITLE "],cLine)+8
|
||||
cLine = STUFFC(cLine,i,1,lcLocaleObjName + [.getString("])
|
||||
i = ratc(["],cLine,1)
|
||||
cLine = STUFFC(cLine,i,1,[")])
|
||||
CASE ATCC([FOOTER "],cLine)>0
|
||||
i = ATCC([FOOTER "],cLine)+8
|
||||
cLine = STUFFC(cLine,i,1,lcLocaleObjName + [.getString("])
|
||||
i = ratc(["],cLine,1)
|
||||
cLine = STUFFC(cLine,i,1,[")])
|
||||
ENDCASE
|
||||
|
||||
cLine = STRTRAN(cLine,"rat(","rat_c(")
|
||||
cLine = STRTRAN(cLine,"ratc(","ratcc(")
|
||||
cLine = STRTRAN(cLine,"at(","at_c(")
|
||||
cLine = STRTRAN(cLine,"atc(","atcc(")
|
||||
|
||||
cMenu = cMenu + cLine + CHR(13)+CHR(10)
|
||||
ENDSCAN
|
||||
STRTOFILE(cMenu, lcMenuFile, .F.)
|
||||
USE IN qMenu
|
||||
ENDIF
|
||||
|
||||
RETURN m.cResult
|
||||
|
||||
|
||||
Reference in New Issue
Block a user