Update to Version 3

Sisulizer version 3 is a paid update recommended for all Sisulizer customers.

Still using Sisulizer 1.x or Sisulizer 2008/2010?

Time to update to version 3 now and profit from all new features in version 3.

Specials run until Feb, 10 2012

Offers are for commercial and industrial customers only.
All prices are net.

Complete Price Sheet.

Not sure which edition is the right one? Visit our Edition Comparison

Social Networks

Please click this facebook button if you want to share this page with friends

Share

(english) (german)


Please click this Google +1

button to give Sisulizer a positive vote in Googles new voting system.

Thank you very much.

Selected Customers

Software Localization News

Version 3 Build 328 released

1/15/2012

The new build comes with many new features. [more]

Top News: Version 3

11/9/2011

Sisulizer version 3 out now. [more]

Tips & Tricks

9/30/2011

You are looking for tips and tricks around Sisulizer? [more]

Delphi Tage

9/8/2011

Delphi Tage 2011 in Cologne are sold out! [more]

Download Build 321

8/12/2011

Please us a download manager for your download. [more]

Runtime language change

Runtime language change is a feature where the user can change the user interface language of the application on run time. Application starts on one language. Later on the user can select a new language from the available language list and make application to translate itself using the selected language. This is the most flexible localization method for applications. In general there are three different way to localize an application. They are:

  • Localized application
  • Multilingual application
  • Runtime language change enabled application

Localized application contains support for one language only and it always starts on that language no mater application or operating system settings. The other two methods contain support for multiple languages. The difference between multilingual and runtime language change enabled application is that a multilingual application starts on the language that either OS or your logic selects it but you can not change it afterwards. In order to run a multilingual application on different language you have to stop it, modify the applications and/or operating system settings and start again.

How does it work

Let's have an example. We have an English .NET application, Converter.exe, and its resource files (called satellite assembly files in .NET) in Finnish, German and Japanese. This makes the application to support four languages. If you start the application on Finnish Windows, .NET runtime will load the Finnish resources (fi\Converter.resources.dll) and application will initially show up in Finnish.

If you choose Tiedosto | Kieli menu (File | Language) the application call Sisulizer's SelectLanguage functions that shows a language dialog that contains available languages.

This dialog is still in Finnish because the active language is Finnish. However the language names are in native language (Deutsch = German, suomi = Finnish and 日本語 = Japanese) to make it easier to select the right one. If you want to turn English on select English and click OK. Sisulizer's classes load English resources (in that case there is no English resource file so Sisulizer uses the original resources of the application), and enumerate all existing forms and translate theirs components and properties to English using the new resource data. The process is very fast and flicker free. After that the application is in English.

Let's change language again. Choose File | Language and select 日本語 from the list. Sisulizer loads Japanese resource file (ja\Conveter.resources.dll) and translates the application into Japanese.

In order to perform this only minimal changes to original application is needed. Basically you have to add one line of code that call the select language functions and you have to link Sisulizer's library with the application. The files you need to deploy your application are the application itself, Sisulizer library and the satellite assembly files in sub directories.

Each satellite assembly sub directory contains localized satellite assembly files for the application and Sisulizer library (select language dialog).

The above example was for .NET. VCL does not use satellite assembly files but resource DLL files that are stored on the same directory as the application file.

Supported platforms

Runtime language change requires a lot from the platform. In order to make it automatic (i.e. without significant code modification) the platform need to support component oriented programming. In practice this means that runtime language change needs an object oriented and component/property/event modeled platform. Currently there are only few platforms that meet those requirements. They are:

It is possible to implement runtime language change for other platforms but not without significant need to modify your existing code.