Migration · Sisulizer

Move from Sisulizer without translating again.

Your translations are in the localized files Sisulizer built. Add the release you shipped, import the translations from its localized EXE, DLL, resource modules, or satellite assemblies, then scan your current build. No .slp project and no running Sisulizer needed.

Sisulizer and Lingobit compared

ProjectMyApp.exe 1.0DEFRImport Translations from Localized FilesSourceGermanNew OrderNeue BestellungCustomer:Kunde:Quantity:Menge:Ship todayNoch heute versendenPrint receiptBeleg druckenCreateErstellenCancelAbbrechenNew OrderCustomer:Quantity:Ship todayPrint receiptCreateCancelNeue BestellungKunde:Menge:Noch heute versendenBeleg druckenErstellenAbbrechenImport Translations from Localized FilesLanguagesGermande\MyApp.exeFrenchfr\MyApp.exeImportTextPosition and sizeStyles and other propertiesBinary dataOKCancel ProjectMyApp.exe 1.0DEFRSourceGermanImport Translations from Localized FilesNew OrderNeue BestellungCustomer:Kunde:Ship todayNoch heute versendenPrint receiptBeleg druckenCreateErstellenImport Translations…Germande\MyApp.exeFrenchfr\MyApp.exeTextPosition and sizeStyles and other propertiesOK
Bring
The release you shipped and its localized files
Not needed
Sisulizer or the .slp project
You get
Texts, positions, and sizes, item by item
Then
Scan for Changes to your current build
On this page

Find what Sisulizer built for you.

Sisulizer wrote one of these for each language. Set the same kind of output in your Lingobit project before you import: Lingobit looks for the localized files where it would write them. Files in another folder, such as de\ instead of de-DE\, you pick with Browse.

Sisulizer output and what to do in Lingobit
Sisulizer outputExampleIn Lingobit
Localized filesde\MyApp.exeLocalized Files, the default output. Import, and Browse to the language folder if needed
Delphi resource DLLsMyApp.DEUOn the VCL Binary Output page, choose Resource-Only DLLs; Lingobit then finds MyApp.DEU next to MyApp.exe
MFC resource DLLsMyAppDEU.dllOn the MFC Output page, choose Resource-Only DLLs. If Sisulizer used other names, set the same name pattern
Multilingual Win32 and MFC filesMyApp.exe with several languagesChoose Multilingual Files; each language is imported from the same file
.NET satellite assembliesde\MyApp.resources.dllImported for the assembly
Translated .resx filesForm1.de.resxImported next to the source .resx
Only the .slp project—Build the localized files once in Sisulizer if it still runs. Otherwise use translation memory, below

Four steps from a Sisulizer release to your next one.

ProjectMyApp.exe 1.0DEFRSourceGermanNew OrderCustomer:Quantity:Ship todayPrint receiptCreateCancelNew OrderCustomer:Quantity:Ship todayPrint receiptCreateCancelEXEMyApp.exe 1.0 ProjectMyApp.exe 1.0DEFRSourceGermanNew OrderCustomer:Ship todayPrint receiptCreateEXEMyApp.exe 1.0
  1. ProjectMyApp.exe 1.0DEFRSourceGermanNew OrderCustomer:Quantity:Ship todayPrint receiptCreateCancelNew OrderCustomer:Quantity:Ship todayPrint receiptCreateCancelEXEMyApp.exe 1.0 ProjectMyApp.exe 1.0DEFRSourceGermanNew OrderCustomer:Ship todayPrint receiptCreateEXEMyApp.exe 1.0

ProjectMyApp.exe 1.0DEFRImport Translations from Localized FilesSourceGermanNew OrderNeue BestellungCustomer:Kunde:Quantity:Menge:Ship todayNoch heute versendenPrint receiptBeleg druckenCreateErstellenCancelAbbrechenNew OrderCustomer:Quantity:Ship todayPrint receiptCreateCancelNeue BestellungKunde:Menge:Noch heute versendenBeleg druckenErstellenAbbrechenImport Translations from Localized FilesLanguagesGermande\MyApp.exeFrenchfr\MyApp.exeImportTextPosition and sizeStyles and other propertiesBinary dataOKCancel ProjectMyApp.exe 1.0DEFRSourceGermanImport Translations from Localized FilesNew OrderNeue BestellungCustomer:Kunde:Ship todayNoch heute versendenPrint receiptBeleg druckenCreateErstellenImport Translations…Germande\MyApp.exeFrenchfr\MyApp.exeTextPosition and sizeStyles and other propertiesOK
  1. ProjectMyApp.exe 1.0DEFRImport Translations from Localized FilesSourceGermanNew OrderNeue BestellungCustomer:Kunde:Quantity:Menge:Ship todayNoch heute versendenPrint receiptBeleg druckenCreateErstellenCancelAbbrechenNew OrderCustomer:Quantity:Ship todayPrint receiptCreateCancelNeue BestellungKunde:Menge:Noch heute versendenBeleg druckenErstellenAbbrechenImport Translations from Localized FilesLanguagesGermande\MyApp.exeFrenchfr\MyApp.exeImportTextPosition and sizeStyles and other propertiesBinary dataOKCancel ProjectMyApp.exe 1.0DEFRSourceGermanImport Translations from Localized FilesNew OrderNeue BestellungCustomer:Kunde:Ship todayNoch heute versendenPrint receiptBeleg druckenCreateErstellenImport Translations…Germande\MyApp.exeFrenchfr\MyApp.exeTextPosition and sizeStyles and other propertiesOK

ProjectMyApp.exe 1.0MyApp.exe 1.1DEFRScan for ChangesSourceGermanNew OrderNeue BestellungCustomer:Client:Kunde:String changedQuantity:Menge:Ship todayNoch heute versendenPrint receiptBeleg druckenGift wrapNewCreateErstellenCancelAbbrechenNeue BestellungKunde:Menge:Noch heute versendenNoch heute versendenBeleg druckenGift wrapErstellenAbbrechenOutput1 added · 1 updated · 1 removedPrint receiptTranslation memoryEXEMyApp.exe 1.1 ProjectMyApp.exe 1.0MyApp.exe 1.1DEFRSourceGermanScan for ChangesNew OrderNeue BestellungCustomer:Client:Kunde:String changedShip todayNoch heute versendenPrint receiptBeleg druckenGift wrapNewCreateErstellenEXEMyApp.exe 1.1Output1 added · 1 updated · 1 removedPrint receiptTranslation memory
  1. ProjectMyApp.exe 1.0MyApp.exe 1.1DEFRScan for ChangesSourceGermanNew OrderNeue BestellungCustomer:Client:Kunde:String changedQuantity:Menge:Ship todayNoch heute versendenPrint receiptBeleg druckenGift wrapNewCreateErstellenCancelAbbrechenNeue BestellungKunde:Menge:Noch heute versendenNoch heute versendenBeleg druckenGift wrapErstellenAbbrechenOutput1 added · 1 updated · 1 removedPrint receiptTranslation memoryEXEMyApp.exe 1.1 ProjectMyApp.exe 1.0MyApp.exe 1.1DEFRSourceGermanScan for ChangesNew OrderNeue BestellungCustomer:Client:Kunde:String changedShip todayNoch heute versendenPrint receiptBeleg druckenGift wrapNewCreateErstellenEXEMyApp.exe 1.1Output1 added · 1 updated · 1 removedPrint receiptTranslation memory

ProjectMyApp.exe 1.1DEFRValidate & FixSourceGermanNew OrderNeue BestellungClient:Kunde:String changedQuantity:Menge:Ship todayNoch heute versendenGift wrapNewCreateErstellenCancelAbbrechenNeue BestellungKunde:Menge:Noch heute versendenNoch heute versendenGift wrapErstellenAbbrechenOutputText truncation in dialogNoch heute versendenFix ProjectMyApp.exe 1.1DEFRValidate & FixNeue BestellungNoch heute versendenNoch heute versendenGift wrapOutputText truncation in dialogNoch heute versendenFix
ProjectMyApp.exe 1.1DEFRFilter<No Filter>Any Merge ChangesSourceGermanNew OrderNeue BestellungClient:Kunde:String changedQuantity:Menge:Ship todayNoch heute versendenGift wrapNewCreateErstellenCancelAbbrechenNeue BestellungKunde:Menge:Noch heute versendenGift wrapErstellenAbbrechenClient accepted; Gift wrap to translate ProjectMyApp.exe 1.1DEFRSourceGermanFilter<No Filter>Any Merge ChangesNew OrderNeue BestellungClient:Kunde:String changedShip todayNoch heute versendenGift wrapNewCreateErstellenClient accepted; Gift wrap to translate
  1. ProjectMyApp.exe 1.1DEFRValidate & FixSourceGermanNew OrderNeue BestellungClient:Kunde:String changedQuantity:Menge:Ship todayNoch heute versendenGift wrapNewCreateErstellenCancelAbbrechenNeue BestellungKunde:Menge:Noch heute versendenNoch heute versendenGift wrapErstellenAbbrechenOutputText truncation in dialogNoch heute versendenFix ProjectMyApp.exe 1.1DEFRValidate & FixNeue BestellungNoch heute versendenNoch heute versendenGift wrapOutputText truncation in dialogNoch heute versendenFix
  2. ProjectMyApp.exe 1.1DEFRFilter<No Filter>Any Merge ChangesSourceGermanNew OrderNeue BestellungClient:Kunde:String changedQuantity:Menge:Ship todayNoch heute versendenGift wrapNewCreateErstellenCancelAbbrechenNeue BestellungKunde:Menge:Noch heute versendenGift wrapErstellenAbbrechenClient accepted; Gift wrap to translate ProjectMyApp.exe 1.1DEFRSourceGermanFilter<No Filter>Any Merge ChangesNew OrderNeue BestellungClient:Kunde:String changedShip todayNoch heute versendenGift wrapNewCreateErstellenClient accepted; Gift wrap to translate

Why import the localized files instead of a TMX export?

A TMX file holds pairs of source text and translation. The localized files hold the translated application itself: every item in its resource, with its size and position. Import them, and nothing has to be guessed.

Import from localized files and a TMX file compared
TopicImport from localized filesTMX into translation memory
How strings are matchedItem by item: file, resource, and item IDBy source text
The same text in two placesEach keeps the translation it hadFound by its text; check the places where it was translated differently
Positions and sizesTaken from the same releaseNot in the file; controls keep the original sizes
Status after importImportedAuto, like other translations from memory
What you needThe release you shipped and its localized filesSisulizer, to export the file
EditionEvery editionProfessional and higher

Import: the same release, a 100% match

Same version firstThen the new releaseRelease 1.0MyApp.exede\MyApp.exeCustomer:Kunde:Quantity:Menge:Print receiptBeleg druckenCreateErstellen100% match, sizes includedProjectMyApp.exe 1.1DEFRScan for ChangesClient:Kunde:String changedQuantity:Menge:Gift wrapNewCreateErstellenPrint receiptTranslation memory Same version firstRelease 1.0MyApp.exede\MyApp.exeCustomer:Kunde:Quantity:Menge:Print receiptBeleg druckenCreateErstellen100% match, sizes includedThen the new releaseProjectMyApp.exe 1.1DEFRScan for ChangesClient:Kunde:String changedQuantity:Menge:Gift wrapNewCreateErstellenPrint receiptTranslation memory

Translation memory: texts only

1.0 · MFC Neue Bestellung Kunde: Menge: Erstellen Project ›Add Project Translationsto Memory Project Translation memory New OrderNeue Bestellung Customer:Kunde: CreateErstellen 2.0 · WinForms New Order Neue Bestellung Customer: Kunde: Create Erstellen Translate Using ›Translation Memory Auto Texts carry over; sizes and positions belong to the new forms. 1.0 · MFC Neue Bestellung Kunde: Add Project Translations to Memory Translation memory New OrderNeue Bestellung Customer:Kunde: … Translate Using › Translation Memory 2.0 · WinForms New Order Neue Bestellung Customer: Kunde: Texts carry over; sizes and positions do not.

Use translation memory when there is nothing to import from: the new version is a rewrite, for example from MFC to WinForms, or only a TMX, XLIFF, or CSV export is left. Other migration paths

Notes for Delphi and C++Builder.

What carries over

  • Forms and resource strings of the EXE, DLL, and BPL files, with positions and sizes
  • Resource modules such as MyApp.DEU: Lingobit writes them under the names Delphi looks for, and Delphi loads them by itself
  • Forms open in the DFM preview for review

Test before you ship

  • The application changes the language at runtime with Sisulizer's units: test it with the modules Lingobit writes
  • Custom VCL controls: map them to preview controls in the VCL Form Editor settings
  • A non-Unicode application: check the code page warnings before Create Localized Files

Sisulizer migration FAQ

Do I need Sisulizer to move my translations?

No, if you still have the release you shipped and its localized files. Lingobit reads the translations from those files. Sisulizer is needed only to build localized files that you no longer have.

Why not export a TMX file from Sisulizer?

A TMX file holds pairs of source text and translation. Importing the localized files matches every item in its resource, takes positions and sizes from the same version, and marks the strings as Imported. Translation memory is the better path when the new version is a rewrite or when no localized files are left.

Can Lingobit import Delphi resource modules such as MyApp.DEU?

Yes. Set the output of the project to Resource-Only DLLs before the import; Lingobit then finds MyApp.DEU next to MyApp.exe and imports texts, positions, and sizes.

My current build is newer than the last Sisulizer release. Is that a problem?

No. Import the release the localized files were built from, then run Scan for Changes with the current build. Only new and changed strings need work.

Can you check our files before we buy?

Yes. Try the import with the free trial, or ask about migration and tell us which output your Sisulizer project used.

Your Sisulizer work is not lost.

Add the release you shipped, import its translations, and scan your current build.