Delphi and C++Builder

Multilizer provides two approaches for localization of VCL-based applications, so called localization architectures.

Binary localization architecture is based on creating resource dll's; for each language there is a resource-only DLL that contains the localized strings and resources. The VCL takes care of loading the resources matching user's operating system locale settings.

Source localization architecture is based on scanning VCL project file (*.dpr, *.dproj, *.cbproj etc.) and source files (*.pas, *.dfm, *.cpp etc.) and writing translations to binary dictionary file (*.mld) which then used along with IvBinaryDictionary component from Mulilizer Localization Components package.

How does Multilizer localize VCL binaries

Using VCL Scanner Multilizer can create following kind of localized applications:

  • Resource DLL's (default; the way that Borland suggests),
  • Localized EXE (one exe per language),
  • Multilanguage EXE (all languages in one EXE).
Resource DLL's
Drawing1.gif

Multilizer reads in the localizable forms and strings from the executable and writes out resource dll's.

For futher customizations (e.g., run-time language change) Multilizer provides developers with a localization API.

Localized EXE
Drawing2.gif

Multilizer reads in the localizable forms and strings from the executable and writes out a separate executable for each language.

 

Multilanguage EXE
Drawing3.gif

Multilizer reads in the localizable forms and strings from the executable and writes all translations in one executable.

A multilanguage executable always starts in the language matching OS settings.

[Read more about localization process...]

How does Multilizer localize VCL source code

Multilizer allows to localize source code of application. Special Delphi/C++ Builder Source Scanner reads resource strings from project file and separately specified source files. Also it can read strings marked with special tags that can be specified in scanner options, e.g. this can be strings hardcoded to functions call. Default tags are "//mlz" for strings that must be scanned and "//nomlz" for those that shouldn't.

Delphi/C++ Builder Source Scanner (or VCL Project scanner) produces binary dictionary file as output that should be used then with IvBinaryDictionary component. This approach is more flexible than resource dll's, but requires additional development.

Multilizer localization API

Both these approaches offer more customization than other ways of localizing Delphi/C++Builder applications. Using the Multilizer Localization API developers can for example implement the following functionality:

  • Change language on run-time
  • Start the software in desired language

Dcalc sample shows to source code for doing abovementioned tasks.

Multilizer Localization Components

Multilizer provides developers with localization components that add many more possibilities in localization as plain binary localization. Read more…