I want to re-use translations from my other Sisulizer projects. Is this possible?
Of course, Sisulizer allows to re-use translations from your already existing projects in a new project. You can do it in the following ways:
- Directly import from other Sisulizer projects
- Using of Translation Memory feature
Each method has some faults and advantages, and choosing most appropriated method depends on your needs. Below are short descriptions of both methods.
Directly import from another Sisulizer project:
This feature is available via “File” menu ->”Import”. This solution allows:
- Import translations only from selected projects, while Translation Memory use always all translations from all projects saved to Translation Memory
- Import translations for more languages in one operation, while Translation Memory in one operation can translate only currently edited language. You can select desired languages in “Import Wizard Languages” step of Import Wizard. Sisulizer display in this step only matched languages (languages existed in both projects),
- Sisulizer’s import feature is very customizable and you can set up in “Import Wizard – Options” following options:
- You can select import method (“By context”, “By value”, “By context first then by value”). Translation memory use always “By value” setting, while using “By context” method can give you more precise translation in some cases.
- Import also those items where the translated value equals to the original value
- Import also those items that are empty
- Import only if context and original value match
- Import translation statuses
- Import comments
- Etc…
Generally, directly import allows you the fine-tuning of imported contents, and in a result you can get more precise translations.
Using the Translation Memory feature
This feature is available via “Column” menu -> “Translate Using Translate Engine” -> Translation Engines submenu or via Translation Sheet context menu -> “Translate” -> “Translate Using Translate Engine” -> Translation Engines submenu. This solution allows you to:
- Using translations from all your projects saved to Translation Memory by one click, without browsing your HDD, while for directly import you need repeat all Import Wizard steps for each selected project
- You can use one selected Translation Memory, all enabled Translation Memories/Engines or Translation Memories/Engines (also disabled) via Translate Using Translate Engine submenu. So this solution allows you customize contents used in “Translate Using Translate Engine” operation
- You can select scope of auto-translate operation, that is, you can use Translation Memory for whole language column (Column menu), limit scope to current view or selected cells (using via sheet context menu), while import feature works always for whole project
- Translation Memory ignore country extensions, while Import feature require matched country extensions for imported languages
- You can use remote Translation memory (Enterprise Edition), so using of translation resources isn’t limited to your PC
Generally Translation Memory is more easy to use (you needn’t go through wizard steps etc.), usually it gives more translations, but import feature can give you more precise translations with better quality.
Hints
1. Of course, you can use combination of both solutions. Sometimes, I use following combination for new projects:
- First I use Import feature (when new project contains similar files to source files from other project I use “By context” import method). Import gives me better control on re-using of existing translation, and for this reason I can influence the quality of imported items
- Next I use my internal Translation Memory
- Then I use external translation engine services, that is, Google Translate or Microsoft Translator, but items translated by these features should be verified, because both services doesn’t give high quality translations.
You can use different translation statuses for each auto-translation/import operation, for example “Translated” for imported items, “Auto translated” for items translated with your Translation Memory, and “Best guess” for items translated e.g. with Google service. It allows you to separate items auto-translated in different ways and it probably make an easy potential verification of these translations. You can change status imported/auto-translated item here: “Tools” menu -> “General” -> “Translations” tab -> “Change translation status” section -> “When importing”.
2. Because Import feature is very customizable, you can even use this feature for merging two Sisulizer projects. It was described in other article on our blog.
3. You can store in one Translation Memory all resources from all your projects. So it allows you on easy, centralized managing all your verified translations. But of course, uou can create many, different Translation Memories for specified purposes e.g. for specified projects, languages, branches. Using this solution maybe require some effort, but it can be flexible and useful solution. You can learn more about managing many Translation Memories in this article on our blog.
4. If you like to import translations for this same language, but with not matched country extensions, you can import it to Translation Memory, and next use these translations via Translation Memory, because import to Translation Memory can ignore country extension. It was described in this article on our blog.
5. If you use import with “By context” method, you can next use “Translate Duplicate” feature (via Column menu or sheet context menu), because it can give you new translated items. You can learn about “Translate Duplicate” feature using in this article on our blog.
Janusz
I can’t compile my CHM file. How can I fix this issue?
Sisulizer requires installation of Microsoft HTML Workshop to localize HTML Help files. You can check HTML Workshop installation status via “Tools” menu -> “Platforms” -> “HTML”. If you haven’t installed HTML Workshop, you can here click on “Download HTML Workshop” button. It opens Microsoft site where you can download HTML Workshop. If you have installed HTML Workshop, but Sisulizer can’t detect it, you should click on “…” (browse) button and select correct path.
If you have already installed HTML Workshop and Sisulizer detect it, but during compilation localized file in Output pane appear compilation errors or localized file contains errors, you can go to “Project” menu -> “Edit source” -> your CHM source -> “Options” tab. Here you can uncheck “Create localized CHM file” option.
This feature build contents of your CHM file as HTML directory with all images, HTML, css, scripts files etc. If you are advanced web developer you can even find reason of problem, because this allows you:
- Find potential issues related to Microsoft HTML Workshop
- Check potential incorrectly items in your source CHM file e.g. invalid links, images, tags and scripts, encoding issues, because you can open output HTML files in any advanced txt/HTML editor, while this is rather impossible with compiled CHM file
- Find potential bugs in Sisulizer. This is not difficult. Simply, use any comparison tool (e.g. freeware WinMerge) or ext editor with similar feature (e.g. freeware PSPad or commercial UltraEdit) for comparing source and output HTML file. When you find differences in tags/scripts structure, encodings etc. – it could be result of bug in Sisulizer. We always appreciate information about potential bugs, because detailed bug reports allows us to improve Sisulizer.
You can also use localized output HTML files, even when compilation of CHM file failed, or compile these files with external tool.
Hint
You can use this solution to creation of WebHelp files directly from CHM files.
Janusz
I can’t save strings from my project to Translation Memory. Why?
This issue is usually result of the following Translation Memory setting:
“Tools” menu -> “Translation Engines” -> “Common Settings” tab -> “Add strings if the status is greater or equal to”.

So, when you use e.g. here “Complete” setting, Sisulizer saves to Translation Memory only strings with this status from your project, and Sisulizer doesn’t save to Translation Memory stings with lower statuses, that is, “For Review”, “Translated”, “Auto-translated” etc.. You can select three values for “Add strings if the status is greater or equal to” setting:
- Translated
- For review
- Complete
You can’t select statuses lover than “Translated”. It prevents saving to Translation memory not verified translations.
Hints:
1. You can save translations from your project by:
- “File” menu -> “Save to Translation Memory” -> selected Translation Memory. This option saves language pairs (original and translation language) for all languages in your project
- “Column” menu -> “Save to Translation Memory” -> selected Translation Memory. This option saves language pair (original and translation language) for currently edited translation language in your project
2. You needn’t open project for adding its contents to Translation Memory, because you can do it without project’s opening via “Tools” menu -> “Translation Engines” -> “Documents” tab. Just click on “+” button and select your Sisulizer project. You can also import to Translation Memory other file types with translations resources.

Sisulizer supports import to Translation Memory from following file types:
- Borland Translation Repository file
- Comma Separated Values file
- EDICT Dictionary file
- Excel files
- Microsoft glossary files
- Multilizer project files
- Multilizer dictionary files
- PO file pair
- Regular expression defined text files
- Sisulizer project files
- TMX file
- XLIFF file
Wide range of supported file types allows you on using different translation resources. For example:
- Microsoft repository files can give you access to rich translation resources matched with MS Windows standards
- TMX (Translation Memory Exchange) file allows you import translations from all extended localization tools with implemented Translation Memory feature
- XLIFF and Gettext platforms are often used on Linux platform, so you can use translations resources not available on Windows OS
You can remove selected file at the any time from “Documents” tab. After removing item from this list, Sisulizer removes from Translation Memory all translations belong to removed file. So, if you would like remove only some items from Translation Memory, you needn’t clear all content of translation memory.
3. When you save translations to Translation Memory from project, translations are saved without country extension (sub-language), so you can use translations from Translation Memory e.g. for both “German” language and for “German (Austria)” etc. If you import translations from external file via “Translation Engines” -> “Documents” tab, Sisulizer ask you about import of country extensions.
4. Sisulizer can automatically save translations from project for removed unused items. This option allows you quickly restore translations, if you decide add again some items to your source file. This feature is by default enabled, but you can disable it via “Tools” menu -> “Translation Engines” -> “Common Settings” tab -> “Add unused strings to the translation memory”

5. Information about saving to Translatiion Memory (date, time, count of saved items, etc.) is displayed in “Output” pane.

Janusz
I can’t automatically translate some duplicates in my project
This is usually the result of selected method for specifying duplicates to automated translation. You can change it in “Tools” menu -> “General” -> “Translations” tab. All settings located in bottom part of this dialog are concerned to Translate Duplicates feature. Here you can find “How to select duplicate strings” section with following settings:

How to select duplicate strings section contains following settings:
- By Original – Sisulizer after selecting this settings treats as duplicates all original strings with this same value. This setting gives usually more translated duplicates than second available setting (“By Original and Context” described below), but in some cases, especially when you would like use different translations for this same originals “By Original and Context” could be better solution.
- By Original and Context – Sisulizer after selecting this settings treats as duplicates only strings that have same context and same original value. This is more strict method, and it sometimes puzzle Sisulizer’s users, because Sisulizer can translate some occurrences of original, while it doesn’t translate others. So if you encountered this issue, simply select “By Original” instead “By Original and Context”
Above this section is visible next important section related to automated translation of duplicates, that is “Duplicate strings” secton. Here you can specify update actions when Sisulizer find duplicate (also for already translated strings) .

This sections contains two dropdown menu:
Update translations with following dropdown menu items:
- “Prompt always” – Sisulizer always display confirmation dialog, both for empty and already translated duplicates. Confirmation dialog display full list of duplicate strings and you can check or uncheck one, more or all duplicate strings to update.
- “Prompt translated” – Sisulizer display this same confirmation dialog, but only for already translated duplicates. All empty translations of duplicate strings are translated automatically.
- “Automatically” – Sisulizer automatically translates empty translations and updates existed translations of all duplicate strings. With this setting Sisulizer doesn’t display any confirmation dialogs.
- “No” – disable Translate Duplicate feature
Update statuses with following dropdown menu items:
- “Prompt first” – Sisulizer always display confirmation dialog, where you can select duplicate strings to update of translation statuses
- “Automatically’ – Sisulizer automatically updates the statuses of all duplicate strings.
- “No” – no action is done
Hint
Sisulizer automatically translate only duplicates for translations with “Translated” or higher translation status. Sometimes (e.g. after using import feature) you can get new translations with “Auto-translated” status, and Sisulizer doesn’t translate automatically duplicates for these new translated items. However, you can use Translate Duplicates feature also for translations with statuses lower than “Translated” via “Column” menu -> “Translate Duplicates” or translation sheet context menu. These actions are performed manually, and for this reason it haven’t limitations related to translation statuses.
Janusz
How I can enlarge Translation Sheet area?
Sometimes working with long strings or many columns (e.g. several language columns) in translation sheet can be uncomfortable, especially on PCs with small resolutions.
For resolving this issue, you can:
1. Change size of Translation sheet font. You can do it in “Font” tab of “Sheet properties” dialog. This dialog is available via translation sheet context menu or via “Tools” menu -> “Sheet”.

2. Hide bottom panes and/or Filter panel via “View” menu.

You can hide Filter panel and add filter toolbar via “View” menu -> “Toolbars” -> “Filter”. This solution allows you the use of most filter features via main window of Sisulizer. However, it doesn’t give you directly access to “Data Types” filters (this is still possible by “Filter” dialog).
![]()
Hint
Filter panel and panes give you access to many useful features, so when you like to use these features, you need every time unhide Panes/Filter panel via View menu. Instead it, you can add buttons for hide/unhide Panes/Filter panel to main toolbar. Simply, right click on empty area of Sisulizer main toolbar and select Customize from context menu. Next go to Visible Buttons tab, find and check Panes and Filter panel. These new toolbar buttons allows you on fast and easy switching of Panes and Filter panel displaying.

Janusz
Filters for Replace/Search features
You can use some common filter types, that is, “Translation statuses” filters and “Row statuses” filters with Sisulizer’s search feature. When you open Replace/Find text dialog windows, you can find “Filter” button in bottom part of Replace/Find text dialog.
It opens dialog with two tabs (Translation statuses, Row statuses) where you can select desired filter items for search feature.

These filters work in background, so you don’t need to set up filters for sheet. If you select some filter for search feature, in main window of Replace/Find text is displayed a hint about used filter type.

Hint
You can learn about using these common filter types with Translation sheet in this article on our blog.
Janusz
Filters in Exchange and Export wizards
You can use Sisulizer’s advanced filtering options during creation of exchange package or during export content of your Sisulizer projects to external file (e.g. TMX, TXT, XLS, XLIFF). You can find in Export and Exchange these same filter groups as in Sisulizer’s Filter Panel and Filter dialog:
- Translation Statuses
- Rows Statuses
- Data Types
- Other
Filters available in “Text” and “Priority” tabs of Filter dialog for Translation Sheet aren’t available in Export and Exchange wizards. You can learn more about first 3 filter groups mentioned on above list in this article on our blog. “Other” filters for Translation Sheet were described in this article. However, these filters work in Export and Exchange wizards in different way than Translation sheet’s filters. Translation Sheet filters disable or enable displaying of some items in Translation Sheet but filtered items still exist in project, while these same filtering options in Export and Exchange wizards can be used to excluding from exported file filtered items. Below are two example of filters feature using:
- Your translator don’t need already translated items, so you can exclude from package all already translated items. If you want include to exchange package only not translated items from your project, simply uncheck all items apart “Not Translated” item in “Translation Statuses” tab of Filters step.
- Your project contains images and other binary data, while these data are unnecessary for your translator and you can exclude these data from exchange package. Go in Filters step of Exchange Wizard to “Data Types” tab and uncheck all but strings data types. It make your exchange package smaller and include to package only items required by your translator.
Export Wizard
Filter settings are available in second step of Export Wizard. Below is a screenshot from this step of wizard:
Exchange Wizard:
Filter settings are available in fourth step (Exchange Wizard – Filters) of Exchange Wizard. Below is screenshot from this step of wizard:
Hint
Filters in Duplicates section of Other tab work in different way than these same filters in Translation sheet. For example Duplicate Rows setting in sheet filters display in sheet only duplicate items, while using of this setting in Exchange or in Export Wizard includes to exported/package file only the first instance of each duplicated strings. This means that first string of each duplicate group is included. All other strings in the same group will be skipped.
Janusz
Filter panel – Other advanced filters
When you click on “Filter” icon on Filter panel’s toolbar or click “View” menu -> “Filter” sheet -> “Edit” menu item, Sisulizer opens Filter dialog. This dialog contains settings available also via Filter panel (“Row statuses”, “Translation statuses”, “Data Types” tabs), but you can find here some additional items, that is, “Text” and “Other” tab. These tabs contain powerful and advanced filtering options. I describe in this article filtering settings available in “Other” tab. Below is example screenshot from “Other” tab of Filter dialog.
You can find here following filters for using with Translation Sheet:
Do Not Translate
This feature filter items with “Do Not Translate” status. “Do Not Translate” feature was described in this article on our blog. Do Not Translate filter’s dropdown menu contains following options:
- No filter – do not not use “Do not translate” state when filtering rows
- True – include only those rows that have been marked as “Do not translate”
- False – include only those rows that have not been marked as “Do not translate”
Invalidated
This feature filter items with “Invalidated” state. You can find more information about “Invalidated” status in this article on our blog. Invalidated filter’s dropdown menu contains following options:
- No filter – do not use Invalidated state when filtering rows
- True – include only those rows that have been marked as “Invalidated”
- False – include only those rows that have not been marked as “Invalidated”
Marked
This feature filter items with “Marked” state. Marked filter’s dropdown menu contains following options:
- No filter – do not use “Marked” state when filtering rows
- True – include only those rows that have been marked as “Marked”
- False – include only those rows that have not been marked as “Marked”
Comments
This filter has following options:
- Row comments – check it if you want to include only those rows that have Row comment
- Translation comments – check it if you want to include only those rows that has at least one translation comment
Duplicates:
This filer can be used for filtering duplicates in your Sisulizer’s project. You can find following options for duplicate filter:
- No filter – do not use duplicate state when filtering rows
- All duplicate rows – shows all duplicate items in original both with translations and without translations
- All duplicate rows with translations – shows all duplicate items with translations.
- Duplicate rows which has been translated in different ways – shows only those duplicate rows whose translations are different to each other
Hints
1. When you use any filter (available via Filter dialog or via Filter panel), Sisulizer displays information about filters using in Filter panel.

2. When you would like refresh filtering contents, you should click on Refresh button available on Filter panel toolbar or via main Sisulizer’s toolbar:
3. When you would like reset filters to defaults values, you should click on Default button available on Filter panel toolbar or via main Sisulizer’s toolbar:
4. You can find on our blog other articles about various filtering features:
- Filter panel – Common filters for translation sheet
- Filter panel – Text filters
- I want to find nodes with not translated items. How I can do it?
Janusz
I have installed .NET Framework. Why does my .NET project not compile?
Sisulizer has implemented very advanced localization features for .NET platform. You can localize binary .NET files, separated .NET project items, for example .resx files, but you can also localize and compile whole .NET projects, so you needn’t compile localized versions of your .NET files in Visual Studio. I didn’t find any other localization tool with similar possibilities. Let me know if you know any localization software with .NET compiling support.
Adding whole Visual Studio project is very simple and easy. Just add your Visual Studio project file (csproj, vbproj etc.) or Visual Studio solution file (sln) to Sisulizer’s project. Sisulizer will automatically add all necessary resources from Visual Studio files to your localization project, so you needn’t to add separately resource or resx files.
However, for compiling binary files, Sisulizer requires some Microsoft components, that is, Microsoft .NET SDKs, because .NET Framework is insufficient to compiling .NET binary files. Below is an example screenshot with Sisulizer’s output messages from PC without installed MS .NET SDK.
You can install Microsoft .NET SDK together with Visual Studio, or download it from the Microsoft site and install SDK separately. So, if you have installed Microsoft .NET SDK on your PC, you can compile .NET project via Sisulizer, even if you haven’t installed Visual Studio on your PC.
If you can’t compile targeted .NET files with Sisulizer, you should go to “Tools” menu -> “Platforms” -> “.NET” and check paths to Microsoft .NET SDK directories. If you have installed all required SDK components, Sisulizer should automatically find and display here paths to SDK directory. If your paths are incorrectly or Sisulizer can’t find path to SDK directory you can use “Edit” button for manually set of correct path. If you haven’t installed Microsoft .Net SDK you should install it (link to SDK setup file is here) and after restart, Sisulizer automatically find correct paths. If you have installed Visual Studio without .NET SDK, you should also install it. Below is example screenshot from “Platforms” -> “.NET” dialog with correct paths to SDK directory. Of course, these paths can be different on your PC.
Hints
1. Above paths are for PC without installed Visual Studio, but with installed MS .NET SDK (default installer paths settings).
.NET SDK can be installed also with Visual Studio and below is default SDKs directory paths list for different version of Visual Studio:
- Visual Studio 2005 – C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0
- Visual Studio 2008 – C:\Program Files\Microsoft SDKs\Windows\v6.0A
- Visual Studio 2010 – C:\Program Files\Microsoft SDKs\Windows\v7.0A
2. Sisulizer for build NET 3.0 and 3.5 files require .NET 2.0 because .NET 3.0 and 3.5 uses .NET 2.0 as a base directory, so you needn’t to set up different paths for different .NET versions.
3. Sisulizer doesn’t require .NET SDK for WPF projects and assemblies. However, for some Windows Forms cases Sisulizer needs .NET SDK. It is needed when working with .NET 1.x projects and assemblies. When working with Windows Forms assemblies using .NET 2.0 or later SDK helps scanning resource data better. If SDK is installed Sisulizer can extract complete menu and container hierarchies when localizing .NET assembly files.
4. If you like to create Sisulizer project for your Visual Studio project, I recommend adding Solution file (.sln) as source file to Sisulizer project instead .csproj files, other Visual studio project files, resource files etc., because it give you most comprehensive results, that is, if you use the build command you get all the files needed to distribute with your application.
Janusz
My Win32 file contains custom resource with strings, but Sisulizer can’t correctly recognize it. Could I fix it?
Sisulizer always correctly recognize standard resources, for example dialogs, menus, strings, versions resources (for Visual C++ binary file). Unfortunately, Sisulizer in some cases can’t correctly recognize custom resources with non standard contents. But don’t worry, if you right click on such a node you should see it in context menu “Properties” item. It opens “Custom Format” dialog. This item is not available for standard resource types (e.g. for dialogs or forms). However, you can find this item also for common in binary files XML and HTML resources. These resources often require customization, e.g. selection of tags and attributes to localization in XML resources. When you click on “Properties” item from context menu for XML node, you should to see “XML Tags” tab in “Custom Format” dialog, where you can check, uncheck or change kind of desired items. Below is example with customized tags for XML node from Delphi source file:

Resource nodes always contain at least one sub-item, but sometimes these nodes can contains more items, and some of these items can be different types. Below is example for node with mixed HTML and Text contents (some sub-items have HTML format, other have plain Text format). In “Format” tab of “Custom Format” dialog is displayed information about used formats in node. You can find here also tabs with settings specified for each detected or selected format. Of course, tabs aren’t displayed for not localizable resource types (plain binary data, pictures).

When Sisulizer can’t correctly recognize format of your resource, you should uncheck “Automatic Format” checkbox in “Format” tab of “Custom Format” dialog, and select appropriated format for your resource. Below is list of available formats:
- Plain binary
- User defined binary
- Plain text
- User defined text
- Picture
- XML
- HTML

Next you should adjust settings for selected format types. Plain binary, Plain text and Picture formats haven’t any settings, while User defined binary and User defined text require defining of format (format definition). User defined binary was implemented to build 292.
If you changed format on parent node level, new/edited format is applied to all sub-items of this node. When some sub-item use other format, simple navigate to this item, right click on it, select “Properties” from context menu, uncheck “Automatic Format”, and select desired format form list. In this way you can easy manage resource with mixed contents.
Of course, all format changes require re-scan of source.
Janusz










