'**************************************************************************
'*   Language-specific strings for DDWin Setup script
'*
'* PROJECT: DragonDictate for Windows
'* CREATED: 1 Apr 1994
'* AUTHOR:  Steve Squires
'*
'* (C) Copyright Dragon Systems, Inc. 1993-1994.
'* All Rights Reserved
'*
'* ** DRAGON SYSTEMS CONFIDENTIAL **
'*
'*
'* History
''    *tlib-revision-history*
''    *tlib-revision-history*
''  changed spelling of ModuleYouExecToStart field of AmiPro, WordPerfect,
''  and WinOA386 (DOS box) app-specific lines to be all uppercase.  Prevents
''  weirdness in Options/Compatibility dialog
''
''  added app-specific entry to map WinOA386 (the module which runs DOS
''  boxes) to MSDOS, so we get a decent 'pretty name' in the Options
''   Compatibility dialog.
''
''  WP Draw in WordPerfect 6.0 hangs on a mouse drag - disable
''  DragonDictate Help icon now has default directory set to where DDWin
''    is installed
''
''  WordPerfect 6.0 now has a playback delay of 1 (was 0).  Was messing up
''   if playback picked a menu item then played immediately to dlgbox.
''  CrossTalk delay set to 12, which was necessary to get menu picks to
''    work properly
''
''  Added app-specific line for Prodigy to stop input locks
''
''  The two cc:Mail applications now have the version of cc:Mail after them.
''  This the module "CcMail" is now "cc:Mail 2.0" and the module "Wmail"
''    is now "cc:Mail 1.0".
''  
''  Microsoft PowerPoint now flagged for "no mouse drags", lots of playback
''  delay, and supporting only one instance.  Version 4.0 requires this.
''
''  now defining INI file line for DragTut so name is "Tutorial"
''  "Read Me" icon in Program Manager now called "DragonDictate Read Me"
''  now using CONST READ_ME instead of "readme.wri" (so ddwin.mst can also
''    use it)
''  removed now-obsolete app-specific flags for Write, Codewright
''
''  SetAppSpecificIniStuff now adds entries for Control, Write and Codewright
''  added commented-out line for setting language in Dragon Languages section
''
''  FILEPATH_INSTALL moved from ddwin.mst to here, since "c:\ddwin" should
''    be localized
''  added ReportBufferOverflow, which Microsoft's setupapi.inc now calls
''    on (very unlikely) bad error
''
''  added ini file entry for WP Office, which has odd module names
''
''
'' (JOELG)
''   The voc name "Dictation" is now "Dictate".  This should be
''     changed in all international version as well (and not translated).
''   The voc name "User Selection" is now "User_sel".  This should be
''     changed in all international version as well (and not translated).
''   The voc name "Quick Training" is now "Quicktrn".  This should be
''     changed in all international version as well (and not translated).
''
'' Now displays wait cursor during delete of Help progman icon
''
'' (JoelG) Added Archive and Tracking in the compatibility section and
'' changed the name of the voicebar.
''
'' Now calling DeleteProgmanItem to clobber pre-existing WinHelp icon
'' which will not be overwritten
''
'' [base users] section now obsolete
'' renamed 'Help' icon to 'DragonDictate Help'
'' added 'Read Me' icon to launch 'write readme.wri'
''
'' updated names of base files
''
'' added DragTut.exe to BringUp group as Tutorial
'' Voicebar now called DragonDictate.  Added again at end so ProgMan makes
''   it the selected icon
''  added Help to BringUp group, with HelpMin.ico as icon
''
''  SetAppSpecific stuff now passes RootDir path to InstallBaseFileMap,
''  so it can clip last directory off if relative dir on file(s) contains ..\
''
''  now calls InstallBaseFileMap in mscuistf.dll to write map of base .USR
''    files to DGNSRVR.INI
''  added AddBaseFiles
''  added lots of stuff to app-specific section in dgnsrvr.ini
'*

'' product name
CONST STR_TITLE = "DragonDictate for Windows"

'' default install path
CONST FILEPATH_INSTALL = "c:\ddwin"

'' appended to product name for Setup's caption bar
CONST STR_SETUP = " Setup"

'' name of ReadMe file
CONST READ_ME = "readme.wri"

'' death mode message string
CONST STR_CORRUPTED = "Setup sources were corrupted, call technical support."

'' caption of Program Manager icon for our WinHelp
CONST CAPTION_HELP = "DragonDictate Help"

DECLARE FUNCTION InstallBaseFileMap LIB "mscuistf.dll" () AS INTEGER
DECLARE FUNCTION DeleteProgmanItem LIB "mscuistf.dll" () AS INTEGER

DECLARE FUNCTION SetAppSpecificIniStuff (ini$, sec$, root$) AS INTEGER
DECLARE SUB SetProgmanGroupStuff (ProgmanTitle$)
DECLARE SUB AddBaseFiles (ini$, src$, dest$)

FUNCTION SetAppSpecificIniStuff (ini$, sec$, root$) STATIC AS INTEGER
'' These apps are known in US market.  Only the PrettyName is likely
'' to change from language to language.  This is the FIRST field
'' in the SECOND quoted string.

'' The fields are in the format:
''	ModuleNameOwningMainWindow=PrettyName, ModuleYouExecToStart,
''	    PlayBackDelay, OnlyOneInstance, NoMouseDrag, NoLockInput
'' NOTE: ModuleYouExecToStart should be UPPERCASE only
    CreateIniKeyValue ini$, sec$, "AmiProUI", "Ami Pro,AMIPRO", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Calc", "Calculator", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "CcMail", "cc:Mail 2.0", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Control", "Control Panel", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "CorelDrw", "Corel Draw", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "CW", "Codewright,,1,0,0", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "DragTut", "Tutorial", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Excel", "Excel", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "FlwMain", "Freelance,FLW", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Main123W", "1-2-3,123W", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "MPlayer", "Media Player", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "MsMail", "MS Mail", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "OFWINFIL", "WP Office,OFWIN,1,0,0", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Orgdll", "Organizer,ORGANIZE", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "PBrush", "Paintbrush,,0,0,1", cmoOverwrite
    	'' PBrush cannot support mouse drags
    CreateIniKeyValue ini$, sec$, "Pdoxwin", "Paradox", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Pm5app", "PageMaker,PM5", cmoOverwrite
	'' Powerpoint (4.0) cannot support mouse drags, supports only one
	'' instance, and also needs a LOT of delay, especially immediately
	'' after activation.
    CreateIniKeyValue ini$, sec$, "PowerPnt", "PowerPoint,,7,1,1", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Prodigy", "Prodigy,,0,1,0,1", cmoOverwrite
	'' Prodigy V1.0 goes into a modal loop, not yeilding processor and
	'' thus hanging DDWin when you drop down a menu.  Set NoLockInput
	'' to prevent us blocking the kbd and mouse.  Also only 1 instance.

    CreateIniKeyValue ini$, sec$, "ProgMan", "Program Manager", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Pw", "ProComm Plus", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Qw", "Quicken", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Rumbadsp", "Rumba Terminal", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Spcks1", "Harvard Graphics,HGW20", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Vocman", "Vocabulary Manager", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Voicebar", "VoiceBar", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "WinFile", "File Manager", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "WinHelp", "Help", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "WMail", "cc:Mail 1.0", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Wpwinfil", "WordPerfect 5.2", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Wpwin60", "WordPerfect 6.0,WPWIN,1,1", cmoOverwrite
	'' WordPerfect 6.0 supports only one instance
    CreateIniKeyValue ini$, sec$, "WpDrWn21", "WP Draw,,1,0,1", cmoOverwrite
	'' WP Draw in WordPerfect 6.0 cannot handle mouse drags
    CreateIniKeyValue ini$, sec$, "WinWord", "Word", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "WinOA386", "MSDOS,COMMAND", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Write", "Write,,0,0,0", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Xtalk", "CrossTalk,,12,0,0", cmoOverwrite

'' the following are not a real apps but are the names of logical vocs. we
'' use this same ini file section to rename them.
    CreateIniKeyValue ini$, sec$, "Archive", "Dictation Archive", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Dictate", "Dictation", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Quicktrn", "Quick Training", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "User_sel", "User Selection", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "System", "System", cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Tracking", "Tracking Phrases", cmoOverwrite

    sec$ = "System's Base Vocabularies"
    CreateIniKeyValue ini$, sec$, "System", MakePath("system.voc"), cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Voicebar", MakePath("voicebar.voc"), cmoOverwrite
    CreateIniKeyValue ini$, sec$, "WinWord", MakePath("winword.voc"), cmoOverwrite
    CreateIniKeyValue ini$, sec$, "Excel", MakePath("excel.voc"), cmoOverwrite

'' The following line is used ONLY for languages other than USEnglish
'' To internationalize, change USEnglish to the proper language name, and
'' REMOVE the comment-quotes at the beginning of the line.
''  CreateIniKeyValue ini$, "Dragon Languages", "Default Language", "USEnglish", cmoOverwrite


    '' InstallBaseFileMap scans the .INF file for all base files in given
    '' section, and writes info to DgnSrvr.INI so DDWin can find them on
    '' the Setup disks at create user time
    SetSymbolValue "IniFile", ini$
    SetSymbolValue "Section", "BaseUsers"
    SetSymbolValue "RootDir", root$

    SetAppSpecificIniStuff = InstallBaseFileMap( )
END FUNCTION

SUB AddBaseFiles (ini$, src$, dest$) STATIC
'' this routine is called when user requests that all base files be
'' pre-loaded
    AddSectionFilesToCopyList "BaseUsers", src$, dest$
END SUB

SUB SetProgmanGroupStuff (ProgmanTitle$) STATIC
'' these are the apps installed in the DragonDictate For Windows group
'' in Program Manager.  Only the names in the first quoted string
'' are likely to change from country to country

    '' we add Voicebar first so it is upper left in group, and again at
    '' end of this routine to make it active
    CreateProgmanItem ProgmanTitle$, "DragonDictate",MakePath(FILE_TOOLBAR), "", cmoOverwrite
    CreateProgmanItem ProgmanTitle$, "Vocabulary Manager",MakePath("vocman.exe"), "", cmoOverwrite
    CreateProgmanItem ProgmanTitle$, "Tutorial",MakePath("dragtut.exe"), "", cmoOverwrite

    '' we MUST delete any pre-existing Help icon from a previous install
    '' the cmoOverwrite does not work for Progman icons which have
    '' an explicit icon other than the default.
    SetSymbolValue "ItemName", CAPTION_HELP
    hPrev% = ShowWaitCursor()
    i% = DeleteProgmanItem()
    RestoreCursor hPrev%

    '' we must define default directory for WinHelp, so it can find
    '' DragTut.DLL to launch Tutorial if requested
    CreateProgmanItem ProgmanTitle$, CAPTION_HELP,"WinHelp.exe " + MakePath("ddwin.hlp"), MakePath("dgnhelp.ico")+",,,,"+MakePath(""), cmoOverwrite
    CreateProgmanItem ProgmanTitle$, "DragonDictate Read Me","Write.exe " + MakePath(READ_ME), "", cmoOverwrite

    '' Add desktop accessories we know about to VoiceControl group
    '' Sorry to bury this deep in middle of the code - but MSSetup BASIC
    '' seems not to support arrays of strings, which would be about the
    '' only way to define this stuff up at the top and reference it here

    CreateProgmanItem ProgmanTitle$, "Program Manager", "ProgMan.exe", "", cmoOverwrite
    CreateProgmanItem ProgmanTitle$, "File Manager", "WinFile.exe", "", cmoOverwrite
    '' (These are in same order as Win3.1 Accessories group)
    CreateProgmanItem ProgmanTitle$, "Write", "Write.exe", "", cmoOverwrite
    CreateProgmanItem ProgmanTitle$, "Cardfile", "Cardfile.exe", "", cmoOverwrite
    CreateProgmanItem ProgmanTitle$, "Calendar", "Calendar.exe", "", cmoOverwrite
    CreateProgmanItem ProgmanTitle$, "Calculator", "Calc.exe", "", cmoOverwrite
    CreateProgmanItem ProgmanTitle$, "Clock", "Clock.exe", "", cmoOverwrite
    CreateProgmanItem ProgmanTitle$, "Notepad", "Notepad.exe", "", cmoOverwrite

    '' we add Voicebar again at end to force ProgMan to make it active
    CreateProgmanItem ProgmanTitle$, "DragonDictate",MakePath(FILE_TOOLBAR), "", cmoOverwrite
END SUB

FUNCTION ReportBufferOverflow( ) STATIC AS INTEGER
'' this is called by several internal functions on severe brain damage
'' that never actually happens
    ReportBufferOverflow = DoMsgBox("Buffer Overflow", "MS-Setup Error", MB_ICONHAND+MB_OK)
END FUNCTION
