RSV Language Database
When you instruct VBLM to build a runtime switched version of your app, all strings are stored separately from code, either in a binary or text database file, or in a resource file. To select the file format and set related options, click the Language Database Format node on the Build window to access the LDB Format page shown below. Click any item or scroll down for detailed information:
VBLM can create text or binary language database files, and can also use Microsoft's resource file format. Each format has different strengths and weaknesses. For example:
If you create an ANSI text database, your end users can do their own translations (I recommend an alternative method, actually, but some customers prefer to do this)
There's no separate file to distribute if you use a resource (and of course you're using the Microsoft-sanctioned method)
With either text or binary formats, you can distribute a single multilingual version worldwide and have the user choose the language during installation, after which the multilingual support becomes completely invisible.
See RSV Language Database. and Using Resource Files for more information.
The Unicode Encoding box is part of VBLM's experimental Unicode capabilities, and is visible only when VBLM is started with the /UNICODE command line switch.
When visible and checked, VBLM creates Unicode resource files. See VB, VBLM & Unicode for more information.
If you want the database file named something other than the default LANGUAGE.DAT, enter the name here.
Note: VBLM looks for and expands alias tokens in your entry in this field -- if you entered %ProjectName%_Language.Dat, VBLM would replace %ProjectName% with the name of the parent VB project. See Aliasing for details.
When you configure VBLM to use a resource file for the language database, it builds a resource file from scratch with all strings in all selected languages. But what if your app already uses a resource file with bitmaps, icons, and/or any of the other things you can store in a resource file? If a file is listed here and it exists, VBLM will copy all of its contents EXCEPT string tables into the resource file that it builds. It's your responsibility to make sure that the resource id's don't conflict with those generated by VBLM.
Note: VBLM looks for and expands alias tokens in your entry in this field -- if you entered %ProjectDir%\Resource.rc, VBLM would look for a file named Resource.RC in the directory of the parent VB project. See Aliasing for details.
Unified vs. Separate LDBs for Project Groups
This option only applies when the LMP file is based on a project group (*.VBG) rather than a single project (*.VBP). When Unified is selected, VBLM builds a single LDB containing all strings in all projects, and calls it from each project in the group. When Separate is selected, VBLM builds LDBs for each project, each containing only the subset of strings used by that project.
Note: When Separate is selected, VBLM enumerates the LDB file names to differentiate them; Language.dat becomes Language_1.dat, Language_2.dat, etc.
As of V6, VBLM maintains separate entries for each instance of each string, allowing you to translate each one differently if necessary. Chances are good, though, that many of these instances will be translated identically, resulting in duplicate entries in the LDB. When this option is checked (which it is by default), VBLM eliminates these duplicate entries.
Note 1: The translations must be identical in ALL language tables before VBLM eliminates the entry.
Note 2: The elimination of duplicate strings is an option so you can turn it off to handle cases where the end-user will translate the LDB, and thus translations are not known in advance.
When the design language is in the language database, the string entered here describes it to users on the language selection form. The default will be set initially during installation.
User-Specified Header Text (Text LDB only)
This option is the result of a user's request for some way to include version info in LDB files (Hats off to Bill Martin!). Any text entered here will be included in text format LDBs, at the end of the header and before the data. See LDB Format for details.
Note 1: If, instead of text you enter $FilePathAndName, VBLM will insert the contents of the file.
Note 2: There is an export option that allows you to include this same text or file in LMX files as well.