VCL Scanner

Delphi XE7 - XE and C++Builder XE7 - XE are supported. VCL scanner options allow the user to specify how to localize Delphi/C++Builder binaries.

Multilizer scanner is able to read in the strings and other data for to localize directly from the executable file compiled with Delphi or C++Builder. User can choose, if the scanner writes out resource files, localized executables, or a multilingual executable.

VCL Scanner can read the strings from VCL forms without changes in the code. Strings in the Delphi code must be declared with resourcestring, in order to make it localizable.

The most important settings are the following:

  • File; the executable file to localize
  • DRC file name (Project tab); path to the DRC file generated by Delphi compiler.
  • Output files (Output tab); choose if Multilizer writes out resource files or localized executables.
  • Properties (Properties tab); allows user to efficiently exclude/include properties for localization by using wildcards.



Important Delphi note! DRC file name. Specifies the Delphi DRC file (e.g. c:\project\project.drc). Without specifying a valid DRC file location, changes in the software may lead in changesĀ in contexts in Multilizer project and loss of translations. Read More


Set BiDiMode property. Set the BiDiMode property of components on Right-to-Left languages. If this is checked Multilizer changes the BiDiMode property value when creating a Middle Eastern output file. If the original value is bdLeftToRight, Multilizer changes this to bdRightToLeft. This is applied only if ParentBiDiMode property is false.

Mirror forms. Mirror the form layout on Right-to-Left languages. If this is checked Multilizer mirrors the form and its sub components when creating a Middle Eastern output file.


Disable scaling. Set the TForm.Scaled property to False. This disables the built-in form scaling of VCL . When VCL loads a form it checks if the runtime height of the font is different to the designtime height of the form. If it is VCL scales the components on the form. Unfortunately it does not scale the width and height of the form excluding the case when BorderStyle property is bsDialog . This may cut off some of the components. To prevent this disable form scaling.

Scale forms. Another solution is to make Multilizer to scale the width and height of the form. Check this to increase or decrease the TForm.Width and TForm.Height value of the forms in the localized output files to match the VCL runtime scaling. Unfortunately the built-in VCL scaling is always based on runtime fonts of the OS where the application is running. Therefore scaling on the developers computer might be different than the actual runtime scaling.

Ignore. Do not change the Scaled, Width or Height properties.


Native language. Specifies the native language that is used in the target. Set this to match the language in the original user interface. If the original user interface contains two or more languages mixed, set the language to most widely used.

Default language. Specifies the default language. It is the language that is used in the build process, if there is no translation given in the the build language. The translation search order is following: first the build languages, then the country neutral languages (if the build language is country specific), then the default language. If no translation is found then the native value is used. For example if the project contains English, German and German (Austria) and the build language is German (Austria) and the default language is English the search order is German (Austria) - German - English - native.

Native encoding. Specifies the native encoding that is used in the target when reading strings from the original file.

Encoding list. Contains the encodings to be used in the localized files. To change the value right click the line and select a new value.


Output directory. Specifies the directory where the localized files will be created. This is the directory where Multilizer creates the localized output files and sub directories. You can control the name of the localized files and directories by setting Type, Coding, Locale separator and Country separator.

Output files

Specifies what types of output files MULTILIZER will create. Possible options are:


Create a separate file for each language in the project. For example if the original file is Sample.exe and the project contains German and French, Multilizer creates de\Sample.exe and fr\Sample.exe . These files equal to the original file except the resource data has been translated.

Resource DLL

Create localized resource files. The resource file is a resource-only DLL that contains the translated resource data of the original file. For example if the original file is Sample.exe and the project contains German and French, Multilizer creates Sample.DE and Sample.FR .

Resource files follow Borland Delphi/C++Builder architecture of localizing software. The VCL takes care of handling the resource files; the VCL tries load a resource file matching the language settings of the OS. If there is no suitable resource file, the resource data is loaded from the executable.

MULTILIZER ships with a localization API for Delphi/C++Builder developers. It extends the localization possibilities of software being localized with this kind of output files.

Multilingual file Create a one multilingual executable containing all the languages in the project. The output directory is all . For example if the original file is Sample.exe , Multilizer creates all\Sample.exe that contains resources in each language of the project.

Output file name

Type. Specifies how and where MULTILIZER creates the localized file version(s). Possible options are:

Subdirectory Create localized file(s) in sub directories named by language and locale.
Bundle name Append the language and locale information in the output file name.
File extension Replace the original file extension with language and locale information.

Coding. Selects file name initial coding style. Possible values are:

ISO ISO standard coding style.
.NET Microsoft .Net coding style.
Windows Windows coding style.

Check Automatically change font.charset property, if the scanner should set the font.charset property to match the output language. This setting has no effect, If the original font.charset property is DEFAULT_CHARSET or it is not defined (uses parent character set).

Localize fonts

Specifies when and how MULTILIZER localizes the fonts for each script. The font localization algorithm is following. If the user has given a translated font in the project grid Multilizer uses that font. Otherwise the default font replacement is used. This combo box is used to specify how the default font replacement works:

Never Do not change untranslated fonts at all.
When the native font is and size is Change the untranslated font if the font name and size match the default font of the script.
When the native font is Change the untranslated font if the font name matches the name of default font of the script.
Always Change the untranslated always.

Each script has its own default font. For example the default font of Latin script is MS Sans Serif 8. If you want to use some other font as the default font you can always specify the localized font in the project grid.

Fonts to be used

Specifies the name and size of the default font for each script in project languages.


The Far Eastern languages use input method editors (IME) to enter ideographs. Components/controls that allow entering of text contain ImeMode property that controls what is the mode of the IME when the control has the input focus. By default MULTILIZER does not change the property values. You can change them in two ways. The first one is to set a value in the project grid. This only affects to that control only. The second one is to turn on the automatic input method localization. Following combo boxes let you turn in to. MULTILIZER uses the automatic input method localization only if there are no translation given in the project grid.

Default Simplified Chinese input method. Specifies the default input method when creating Simplified Chinese output files. This is enabled only if the project contains Simplified Chinese.

Default Traditional Chinese input method. Specifies the default input method when creating Traditional Chinese output files. This is enabled only if the project contains Traditional Chinese.

Default Japanese input method. Specifies the default input method when creating Japanese output files. This is enabled only if the project contains Japanese.

Default Korean input method. Specifies the default input method when creating Korean output files. This is enabled only if the project contains Korean.


Specifies the resource types to be scanned from the target. The list contains all the resource types found from the Windows binary file. If you want to disable localization of a specific resource uncheck the resource type check box. This will make MULTILIZER use the original resource data in the localized output files.

MULTILIZER adds by default all resources to a project, which makes the project bigger and harder to maintain. Unchecking resources that don't need localization will decrease the size of MULTILIZER project.

The most important resources in localizing a Delphi/C++Builder executable are Form resource and String resource; these resources contain strings that require localization.

Data types

This tab allows user to specify by data type what to localize. By default strings are localized.


This tab allows user to specify by property name what to localize. Similar properties can be excluded by using wildcards; e.g., *text will exclude both sqltext and text.

For example [ ] Caption means that all captions are excluded from localization.


Warning threshold specifies the maximum time difference in timstamps of the Delphi executable and the DRC file. This option ensures that the correct DRC file is read and not an outdated version for example. Read More...

Check Update CRC if the software contains CRC check. Localization of an application changes the CRC and if the software contains CRC check, the localized application may not run. CRC check feature is added for instance in EurekaLog and MadExcept.

If this doesn't help you may need to turn off the CRC check or change the output file type to resource DLL.


Specify here strings to be scanned or excluded from scan by defining Class Name and Properties.

This way of controlling the scan result is preferred over using excludes in Multilizer project.

Check Scan MLD compatibility information, if you use m7p2MLD utility to convert Multilizer project to a MLD file used by Multilizer VCL Components.