VCL Directory Structure

This VCL directory contains VCL units and samples applications for Delphi and C++ Builder. Most samples are written for RAD Studio 2009. If you use older compiler version you might need to modify the sample files and/or compile the C++Builder files. Sisulizer units work from Delphi/C++Builder 5 to the most recent Delphi/C++Builder.

Some samples has compiled EXE included, some do not have. For those that do not have you have to compile them before trying to localize them. Start your Delphi or C++Builder. Open the project file of the sample and compile it. After that you can start Sisulizer, open the project, create localized applications files and finally run them.

Before trying samples please read Localizing Delphi and C++Builder applications document.

Note that if you compile samples using Delphi 2007 or earlier and run samples in Japanese on non-Japanese or Arabic on non-Arabic operating system most of the samples will fail to show text correctly. This is because old WIN32 VCL application are Ansi applications and they need to have a correct code page installed in order to work correctly. Read more about code pages. The only exception are Delphi\ElPack and Delphi\Tnt samples that use Unicode controls and they can be run in Japanese if you computer has Japanese fonts installed.

Item Description
CBuilder C++ Builder sample applications
CBuilder\Converter Shows how to localize a simple C++ Builder application
CBuilder\Embedded See Delphi\Embedded
Delphi Delphi WIN32 sample applications
Delphi\BiDi Shows how to localize and internationalize Delphi applications for bi-directional languages such as Arabic, Hebrew and Persian. There are several versions of the same application:
Static Application uses localized EXEs. Sisulizer mirrors the forms on build time if needed.
Dynamic Application uses resource DLLs. Application mirrors the forms on run time if needed.
Localized Application uses localized EXEs or multilingual EXE. Application mirrors the forms on run time if needed.
StaticRuntime Same as Static but with application uses resource DLLs and runtime language switch.
DynamicRuntime Same as Dynamic but with runtime language switch.
Delphi\Bpl Shows how to localize and perform runtime language switch on application that contains user interface in packages (.bpl).
Delphi\Converter Shows how to localize and internationalize a simple Delphi for WIN32 application.
Delphi\Country Shows how to localize a database application and the database content.
Delphi\Custom Shows how to localize a custom resources (text, images, HTML, XML and binary) and strings resources that contains structured data, HTML or XML.
Delphi\DBGrid Shows how to localize captions of DB grid.
Delphi\DLLs This application contains part of its user interface in two DLLs. One DLL is written in Delphi and another is .NET DLL written in C#. Contains a runtime language change.
You have to register the .NET dll before running the application. See Build.bat.
Delphi\ElPack Shows how to localize and internationalize a Delphi application using ElPack Unicode controls.
Delphi\Embedded This application uses single file deployment. This means that when building the output files Sisulizer embeds 
the resource DLLs (Embedded.DE and Embedded.JP) into the Delphi\Embedded\Emb\Embedded.exe. There are not need to deploy
the resource DLLs but the application creates them automatically when run first time.
Delphi\Events Shows how to control language change using the translate events.
Delphi\Formats Shows how to set the locale variables (e.g. ShortDateFormat) to match the initially loaded resource DLL (the one that VCL loads by default).
Delphi\Image Shows how to localize images.
Delphi\LangChange Shows how to show available languages and how to change on a new language.
Delphi\Mapping Shows how to map custom components and how to make Sisulizer to localize properties that are not string typed.
Delphi\Modules Shows how to localize and add runtime language switch for applications using TImage, TListView or TTreeView controls.
Delphi\Multilingual Shows how to create a multilingual application using multiple resource in single EXE.
Delphi\Reports Shows how to localize and internationalize a Delphi application using report controls such as Ace Reporter, ReportBuilder and QuickReport.
Delphi\ResourceDll Shows how to create a multilingual application using resource DLL files.
Delphi\RtlVclOptimize Shows how to create a multilingual application that uses RtlVclOptimize.pas unit.
Delphi\RuntimeChange Shows how to change language on runtime using resource DLL files. This sample also shows how to localize language names in the select language dialog.
Delphi\RuntimeProperties Shows how to translate dynamic properties (e.g. those set by run time) during runtime language change and how to make Sisulizer to translate only string properties.
Delphi\Tnt Shows how to localize and internationalize a Delphi application using TNT Unicode controls.
Delphi\Tutorial Tutorial sample for Delphi for WIN32
Delphi\TwoLang Shows how to use two languages in a single application. Some part of UI uses the secondary language. The rest of UI uses the main language.
Delphi\VirtualTree Shows how to localize and internationalize a Delphi application using Virtual Treeview control.
DelphiNet Delphi .NET VCLForms sample applications
DelphiNet\Converter Shows how to localize and internationalize a simple Delphi for .NET VCLForms application.
LaCommon.pas Unit that contains internationalization routines
LaDbUtils.pas Unit that contains database internationalization routines
LaDefaultLocale.pas Unit that makes the application to load the resouce DLLs matching the system locale. This should be used only in applications that are compiled with Delphi XE or later.
LaDialog.pas
LaDialog.dfm
Form that shows list of available resource files. It can be use to select a new user interface language.
LaMenu.pas Unit that makes menu short cuts multilingual. Add this to project that has menus and use runtime language change.
LaResource.pas Unit that contains resource DLL routines
La*Module.pas Units that extend TLaTranslator
LaTranslator.pas Unit that contains translator class that is used to translate forms
La*.hpp Header files for C++ Builder 2009
La*.obj Object files for C++ Builder 2009

Preparing your applications for localization

Read more about how to prepare your applications for localization.

Compiling C++Builder Samples

The C++Builder samples are for C++Builder XE2. The samples uses La*.obj and La*.hpp files in Sisulizer's VCL directory. These files are also for C++Builder XE2. If you have an earlier C++Builder version you have to recompile the .pas files to .obj and .hpp files.  Open command line, go to Sisulizer's VCL directory and enter the following command:

<cbdir>\Bin\dcc32 -JPHNE LaCommon.pas LaCommonDialogs.pas LaDbUtils.pas LaDialog.pas LaResource.pas LaTranslator.pas LaListViewModule.pas LaTreeViewModule.pas

where <cbdir> is the directory where you installed C++Builder (e.g. C:\Program Files\Borland\CBuilder). If you use C++Builder XE2 or later you have to add "-NSSystem;System.Win;WinAPI;Vcl;Vcl.Imaging;Data" paramerer in to the DCC32 command line.

VCL directory contains CompCB.bat file that compiles the file.

C++ header files (*.hpp) are auto generated from Delphi files (*.pas). Read comments from Delphi files to get information about types and functions.

Copyright 2005-2011 Sisulizer - Please visit www.sisulizer.com for further information