10 Jahre Sisulizer


2016 – Sisulizer feiert 10 Jahre Lokalisieren in drei einfachen Schritten.

Wir danken Ihnen, unseren treuen Kunden aus aller Welt. Sie haben uns mit Ihren Wünschen und Ideen geholfen, unsere Software ständig zu verbessern. Wir sind stolz darauf, Ihnen dabei zu helfen, Ihre Software für eine Vielfalt von Branchen, Computersprachen, Märkten und menschlichen Sprachen zu lokalisieren. Wir lernen von jeder Ihrer Anforderungen – von kleinsten Entwicklungsprojekten, bis zu Globalen Projekten, mit großen, über die Welt verteilten Teams. Für jeden von Ihnen, halten wir Sisulizer up-to-date und verbessern es jeden Tag neu.

In den vergangenen 10 Jahren haben wir viele neue Versionen der gängigen Plattformen kommen und gehen sehen, wie Windows, C/C++, Delphi, .NET, Java, Datenbanken, Android, XML, HTML, PO und viele mehr. Ihr Sisulizer Team hat in dieser Zeit immer hart daran gearbeitet, Ihnen die Möglichkeit zu bieten, Ihre Anwendungen maßgeschneidert für jede neue Plattform zu releasen, bereits vor Release. Um die vielen Details haben wir uns gerne für Sie gekümmert. Wir helfen Ihnen beim Software lokalisieren in drei einfachen Schritten.

Hören Sie nicht auf, uns heraus zu fordern. Besuchen Sie unser Forum und verraten Sie uns was Sie suchen. Wir sind bereit für die nächsten 10 Jahre!

10 ans de Sisulizer

LogoEn 2016 Susilizer célèbre 10 ans de localisation de logiciel en trois simples étapes.

Nous voudrions remercier nos fidèles clients autour du monde qui nous ont supporté avec des demandes de fonctionnalité et d’idées. Nous sommes toujours fier de vous aider à localiser un logiciel pour une grande variété de branches, de langages informations et de langages de marché et humains. Nous avons beaucoup appris de vos demandes – pour de petits projets de développement, à d’énormes efforts répartis dans le monde entier. Pour vous tous, nous gardons Sisulizer à jour et nous l’améliorons chaque jour.

En 10 ans, nous avons tous vu de multiple plateformes sortir pour Windows, C/C++, Delphi, .NET, Java, des bases de données, Android, XML, HTML, PO et bien d’autres. A travers cela, l’équipe de Sisulizer a travaillé dur pour vous aider sortir des applications allant à chaque plateforme, un jour avant sa sortie. Sans s’inquiéter des détails. Pour vous aider à localiser votre logiciel en trois étapes simples.

N’arrêtez pas de nous défier. Allez sur notre forum et discuter de ce que vous recherchez. Nous sommes prêt pour les 10 prochaines années !

10 Years of Sisulizer


2016 Sisulizer celebrates 10 years of software localization in three simple steps.

We’d like to thank our loyal customers around the world who support us with feature requests and ideas. We’re always proud to help you to localize software for a wide variety of branches, computer languages, markets and human languages. We learn a lot from your requests – for tiny development projects, to huge endeavors spread around the globe. For all of you we keep Sisulizer up-to-date and improve it, every day.

In 10 years we’ve all seen multiple platform releases for Windows, C/C++, Delphi, .NET, Java, databases, Android, XML, HTML, PO and many more. Through it all, the Sisulizer team has worked hard to help you release applications tailored for each platform, before day one of the new release. Without worrying about details. To help you localize your software in three simple steps

Please don’t stop challenging us. Visit our forum and discuss what you’re looking for. We’re ready for the next 10 years!

Sisulizer at Embarcadero Technology Partner Spotlight

Today we had the great pleasure to present Sisulizer in two live webcast sessions at Embarcadero Technology Partner Spotlight.

It was a pleasure for us, to finally talk to David I again and answer your questions. We hope you enjoyed it. And if you missed, don’t worry. Embarcadero will publish it on YouTube too.

We will post the link when the questions and answer section is online. In the meantime you may want to visit Embarcadero for links to the other sessions with other popular tool developers like Raize, DevExpress, and TMS, to name a view.

It would be nice, if you comment it, share it, or give us a thums up. We are curious if you like it, and may want more videos about software localization with Sisulizer.

Build 339 – selecting translation statuses for build

From build 339 you can specify the minimum translation status that are used when building localized items. By default this is the lowest translation status, Not translated, that means all translation are used no matter what the status is. If you set this value to any higher value then Sisulizer uses only those translations that have translation status equal or higher than the value specified here. This new feature is available via Project menu -> Options -> General tab -> When building use translations that have at least this status.


Here you can select required status in drop-down menu. After selecting, output files will contain originals instead translations with statuses lower than selected. Below is list of all Translation Statuses ordered from lowest to highest:

  • Not translated
  • Best guess
  • Auto translated
  • Translated
  • For review
  • Complete

This feature can be useful in your localization job, for example:

  • If you would like release your application only with high quality and validated translations.
  • You don’t want use poor quality translations provided by machine engines during tests of localized files. They can make unclear those tests and not validated strings with invalid placeholders can crash applications.

This feature works on project level, so selected setting is used for all sources included to project.

Janusz Grzybek

How to install Sisulizer’s samples?

Our samples are very useful for our users and are by default installed during Sisulizer setup. Samples contain not only simple source and SLP files. Typically our samples comes with documentation, resources and code files which can be used within your application, e.g. for implementing switching at runtime. So we recommend installing them with main application. However, if you didn’t know it and unchecked it or you deleted those files by accident, you can reinstall it.

Run latest Sisulizer’s installer and in “Sisulizer 4 Setup – Existing Installation” step select “Modify the existing installation”


Next in “Sisulizer 4 Setup – Select Samples” step check desired items or simply click “Check All” button for installing all those items. Then, click “Next” button in all other steps of setup.


All samples are available via menu File -> Open Sample… or via Open Sample button on Sisulizer’s start page. PDF documents about .NET and VCL localization installed to samples folder can be opened via Help menu.


Generating exchange packages with different amount of not translated items

Sisulizer’s Exchange Wizard is very flexible tool and you can use it in many different ways. Below example shows how to add to Exchange Packages only not translated strings, even though every language has a different amount of not translated strings.

Let’s assume that in our SLP we have 4 languages (German, Finnish, Japanese and Arabic) and those languages contain different count of not translated strings

  • German: 2nd, 3rd and 8th strings on below screenshot (in ascending order)
  • Finnish: 4th and 5th strings on below screenshot (in ascending order)
  • Japanese: 5th, 6th and 7th strings on below screenshot (in ascending order)
  • Arabic: 2nd, 3rd, 8th and 9th strings on below screenshot (in ascending order)

All those not translated items are marked by red rectangles on screenshot.

marked ob below screenshot by red rectangles


We want to send to our translators a SLE package with not translated strings only. So in the “Translations Statuses” tab of “Exchange Wizard – Filters” we should uncheck all statuses expect for “Not Translated” status.


However, if we generate one Exchange Package with all languages, generated SLE will contain sum of all not translated items in all languages, that is 2rd to 9th. So, when our potential Arabic translator opens sent SLP package, he will see also items already translated to Arabic. Similar issue, but for Export wizard was described in this article.


But, don’t worry, because you can easily solve this problem by checking the “Create several packages, one for each selected language” option in  the “Exchange Wizard – Languages and items” step.


Using this option generates separated packages for each language in one operation and all SLE packages will contain only not translated items in selected language.


Of course, this is only very simple example, and you can combine different settings of translation statuses in your own Exchange setup. However, I hope it shows capabilities of the Exchange Wizard.

Janusz Grzybek

SlMake updates in recent builds

We published on our blog article series about the SlMake tasks in the past. However, our R&D implemented a lot new features in the meantime (Last the article about the Slamke was published in Marth 2010). I always update appropriated articles after changes in SlMake, but it is made without announcements. So, articles are still topical, but our users could overlook it. For this reason I decided write this short preview of all new features implemented to SlMake since March 2010.

Build 343

Added -uilangs parameter to exchange task.

Build 334

Added  -config parameter to create task.

Build 332

Added -origlang and -outitem: parameters to add task

Build 323

Added -subdirs parameter to add task. Here is article about this task.

Build 310

Added -input: parameter to create task.

Build 307

Added -name: parameter to validate task. Here is article about this task.

Build 306

Added -invalid: and –marked: parameters to exchange and export task. Here and here are articles about these tasks.

Build 303

Added -output: and –al: parameters to create task. Here is article about this task.


Besides those new parameters our developers improved behavior of some tasks and parameters in the meantime. They also fixed some bugs reported by our users. You can find full info about those changes in our changelog.

If you haven’t read our articles about SlMake yet, I recommend you go to this article with general info and additional links.

Janusz Grzybek


Short explanation of Import methods

Import method is the most important import option in Sisulizer’s Import Wizard. It specifies how Sisulizer will support imported contents. To select an import method use the “Import Wizard – Options” step of the wizard.


Sisulizer supports three import methods:

  • By context
  • By value
  • By context first then by value

Because each method can produce different results, so it sometimes confuses our customers.  However, I decided to use here an exercise based on a small sample SLP, instead of standard article.


This is our example, main SLP file.


Below is imported SLP file.


Please don’t worry about below results of different import settings. Our example is very specific, both the original and the translation column are in English, both SLP files contain duplicates translated in different way (expect one string). There are no typical duplicates of strings commonly occurred in standard an application for example “OK” or “Cancel”.

Localization resources can contain dozens occurrences of those strings, and “By value” or “By context first then by value” could be the best solution for quick importing good translations. Actually, this example shows general behavior of different import settings, so don’t take this example into the consideration, when you would like to select best method of import. Your choice should depend on your needs and specific resource contents.

Import results

  • Import method: By context
  • Overwrite method: Never


  • Import method: By context
  • Overwrite method: Always


By context method always gives most accurate translations, because import is based only on context, while context in Sisulizer projects is always unique. This is very good solution if your SLP should contain duplicates translated in different way. By the other hand, it gives less translations than By value method, if imported file doesn’t contain translations for duplicates.

  • Import method: By value
  • Overwrite method: Never


  • Import method: By value
  • Overwrite method: Always


By value method do not use context at all, and it compare only originals in both SLP files. When imported file contains duplicates translated in different ways, Sisulizer use always translation for first occurrence of original found in imported SLP. This is, because context is ignored, while originals are identical and Sisulizer doesn’t know which translations should be used. In our example  Sisulizer use “Trabant is the best German car”, while “Volksvagen is also good German car” is ignored.

  • Import method: By context first then by value
  • Overwrite method: Never


  • Import method: By context first then by value
  • Overwrite method: Always


By context first then by value method combine merits of both previously described methods, and for this reason this is my favorite method. First Sisulizer try import translations based on context. Next, for not imported items in first import pass based on context, Sisulizer use by value method. So for all items with matched items, even originals translated in different ways, you’ll get accurate translations. Additionally, for other items Sisulizer use translations based on originals – for example, when your main SLP contains 30 “Cancel” originals and imported file only one “Cancel” translation, this translation will be used for “cancel” originals in your main SLP.


  • For clarify, we used here different settings for two Import options only (import method and overwrite method), while in our Import Wizard you can customize lot of things, so your import results could be different, depending on selected settings.
  • Be careful with using By value method always setting for Overwrite method. It could cause replacing good translations of duplicates in main SLP by undesired translations.
  • Read this article with hints about assigning different translation statuses for items imported with different import methods.
  • Homework – with By value method all items have been translated, expect the last. Why?
  • Look on By value (value for money?) import results – Trabant is winner!

Janusz Grzybek

How to find the source properties dialog?

Source properties dialog contains lot of important settings. We often discuss about those settings in our support forum and our users ask where is this dialog. You could open this dialog via several GUI commands:

  • Open Project menu, go to Edit Source sub-menu and select your source file in the list.
  • Right click on your source node in Project Tree (usually next level node after “All” root node”) and select Properties item in context menu.
  • Select your source node in Project Tree and click “Source Properties” button on Project Tree toolbar.

Below are some additional, short, but useful info about source properties:

  • Source properties dialog may look completely different for different source types. They have different options and even tabs in Source properties dialog. However, some tabs are common for all source types/platforms. Those tabs are: File, Encodings, Engines, and Spelling.
  • Each source (even from same type) has own source properties, and if you changed path or original language in one source, in other source still remain old settings of paths and languages. This is a very flexible solution, because you can manage sources from one project in different ways. However, if you would like to change a setting in many sources, you need to do it separately for each source.
  • If you added a folder as source to project, source properties settings and potential changes are concerned to all files from folder added to project.
  • Many source properties settings require re-scan for applying.
  • Usually changes in source properties require access to source file (e.g. access to file is required for scan), and if source is unavailable (e.g. as result of changed path), you can’t apply changes.

Janusz Grzybek