PROCEDURE LocalizeMenu LPARAMETERS tcMprFile,tcLanguage LOCAL lcMPR lcMPR = FILETOSTR(FORCEEXT(tcMprFile,'MPR')) IF EMPTY(lcMPR) RETURN ENDIF * Localize.dbf holds translations. It has an index field (Tag), and a memo field for each language. SELECT Localize SCAN FOR UPPER(LEFT(Tag,5)) = 'MENU_' lcFrom = UPPER(ALLTRIM(SUBSTR(Tag,6))) lcTo = EVALUATE(ALLTRIM(tcLanguage)) lnStartPos = AT(lcFrom,UPPER(lcMPR)) IF lnStartPos > 0 lcMPR = STUFF(lcMPR,lnStartPos,LEN(lcFrom),lcTo) ENDIF ENDSCAN lcNewMenu = FORCEEXT(FORCEPATH(SYS(2015),SYS(2023)),'MPR') STRTOFILE(lcMPR,lcNewMenu) COMPILE (lcNewMenu) lcCompiledMenu = FORCEEXT(lcNewMenu,'MPX') DO (lcCompiledMenu)