Soluling home   Document home

Project Converter

Converting from Another Localization Tool

Soluling can convert most project files made in Sisulizer or Multilizer localization tools into the Soluling format. Sisulizer and Multilizer used XML based project format that Soluling can read. For other localization tools but Sisulizer and Multilizer, there is no automatic conversion. However, if you have the existing localized files in standard locations, then Soluling will find them and automatically import the translations after you have added the original file into your Soluling project.

Converting from Sisulizer

The basic principle of Sisulizer is the same as Soluling meaning that Sisulizer created the standard resource formats and files used in each framework or platform. This makes conversion straightforward. Follow these instructions to convert your existing Sisulizer project to a Soluling project:

  1. Open your project into Sisulizer tool.
  2. Make Sisulizer to build localized files. Choose Project | Build All Sources in All Languages.
  3. Close Sisulizer.
  4. Start Soluling.
  5. Click Open project and browse your Sisulizer project (.slp). You can also just drag and drop the project file on Soluling's main window.

Converting a Sisulizer project

Here, you can specify some conversion options. Uncheck any source or language that you don't want to import. When converting, Soluling creates a matching Soluling project and reads the properties from the existing Sisulizer project file. How the translations are imported depends on the selected Translation source value:

Translation source Description
Project

Translations and their attributes are imported directly from the Sisulizer project file. This does not work with all source types (*). If all translations do not exist in the converted project, select Localized files or Both localized files and project files translation sources.

* This conversion works currently on Delphi, ResX, Visual C++, INI, and XML sources.

Localized files

Translations are imported from localized files. This works with all source types. Translation attributes, such as status, are not converted.

Both localized files and project files Uses localized files first to import the existing translations and then the Sisulizer project file to import the attributes. This is the recommended method.

If you use Delphi and your application used Sisulizer's Delphi library to perform a runtime language switch follow these instructions:

  1. Remove all Sisulizer units and functions from your code.
  2. Add Soluling's counterparts. They work similarly. Learn more about runtime switch.

Note! Conversion may not be 100%. There might be some properties or resource types that do not convert.

Note! Not all Sisulizer can be converted. The product is old and it supported legacy formats such as Classic Visual Basic, and Symbian. Soluling does not support these legacy formats because those formats are just not used anymore. If your project file contains such a legacy file, the conversion process just skips that file.

Converting from Multilizer

The basic principle of Multilizer in most cases is the same as Soluling meaning that Multilizer created the standard resource formats and files used in each framework or platform. This makes conversion straightforward. Follow these instructions to convert your existing Multilizer project to a Soluling project:

  1. Open your project into Multilizer tool.
  2. Make Multilizer to build localized files.
  3. Close Multilizer.
  4. Start Soluling.
  5. Click Open project and browse your Multilizer project (.mpr or .m7p). You can also just drag and drop the project file on Soluling's main window.

Converting a Multilizer project

Here, you can specify some conversion options. Uncheck any source or language that you don't want to import. When converting, Soluling creates a matching Soluling project and reads the properties from the existing Multilizer project file. How the translations are imported depends on the selected Translation source value:

Translation source Description
Project

Translations and their attributes are imported directly from the Multilizer project file. The import is done by value, not by context. This means some duplicate strings might have wrong translations.

If you use Delphi and your applucation used Multilizer's VCL components, select this.

Localized files

Translations are imported from localized files. This works with all source types. Translation attributes, such as status, are not converted.

Both localized files and project files Uses localized files first to import the existing translations and then the Multilizer project file to import the attributes. This is the recommended method.

Note! Conversion may not be 100%. There might be some properties or resource types that do not convert.

Note! Not all Multilizer can be converted. The product is old and it supported legacy formats such as Classic Visual Basic, Symbian, and Palm OS. Soluling does not support these legacy formats because those formats are just not used anymore. If your project file contains such a legacy file, the conversion process just skips that file.

Multilizer VCL Components

If you use Delphi and your application uses Multilizer's localization components, you have to do a bit more work. First, perform the automatic conversion as described above. Soluling creates a new project for you and imports your existing translations from your Multilizer file (.m7p). Your Multilizer file contains your Delphi project file (.dpr). When scanning, Multilizer scans the form files (.dfm) and source code files (.pas). When building, Multilizer creates Multilizer dictionary file (.mld). You have Multilizer components such as TIvTranslator and TIvBinayDictionary in your forms to make them multilingual. Soluling works differently. It follows the standard internationalization method of VCL. You do not need any localization components, but you use resource strings. When Delphi compiler compiles your application, it stores the form data and resource string into a standard windows resources inside the .exe, .dll, or .bpl file. Soluling scans this file, extracting the form and string resources. When building, Soluling creates a resource DLL for each language. Then you deploy the resource DLLs with your application. VCL has a built in code to use resources from the matching resource DLL insead of the .exe file. If you want to make a single file deployment (.exe only) you can make Soluling to include the resource DLLs inside your original .exe file as a custom resource that the application extracts when you start it first time. If you want to have a runtime language switch, use Soluling's Delphi library.

Because of all this difference, you need to refactor your code. Follow these instructions:

  1. Remove all Multilizer components (TIvTranslator and TIvBinaryDictionary) from your forms.
  2. Remove all Multilizer units and fuctions (e.g. Translate) from your code.
  3. Refactor your code to use Delphi's standard resource strings instead of Mutilizer's Translate function.
  4. Add Soluling's runtime language switch code. It does not require you to add a translator component to each form, but the process is much easier.

Converting from other tools

If your old localization tool is some other but Sisulizer or Multilizer, use your old localization tool to create localized files. Then use Soluling to create a new project containing the same file(s) to be localized. If the existing localized files are in the default location (e.g., language-specific subdirectories) or use the right naming convention, Soluling will find the existing localization files and import translations from them.

Import translation from existing localized files