Categories
How To...

I found in Sisulizer several “Components” dialogs. Could you explain differences beetwen these dialogs?

You can find dialogs of components settings on three levels:

  • Platform level available by “Tools” menu -> “Platforms” -> selected platform, e.g. VCL or .NET -> “Components” tab. You can add here new components mapping or change existing components settings. It will be applied to all new Sisulizer projects created for selected platform.
  • Project level available by “Project” menu -> “Components” -> submenu with sources list. if you select item from this list, Sisulizer opens components dialog for selected source. All changes, or added new components are applied only to currently selected source in Project Tree of edited project, without influence on your other projects for this same platform. However, you have the possibility to release new mapped components for other projects via “Publish” button in dialog toolbar “Components”. This feature copies new mapped components to components list on platform level. You can’t publish components already existing on platform level, but  changed on project level. This solution prevents accidental overriding for already existing components mapping on higher level with specific values from lower level. If you would like to change components settings for all your projects you need to do it on platform level. This same dialog is available also via context menu of source item in project tree.

Hints

  1. All changed components are indicated by “Overloaded” caption  in “status” column, but you can always restore default components settings by click on “restore” button available on “components” dialog toolbar.
  2. You can export your components list to external file, and next use it on with Sisulizer installation on other computer. If you export components list from project level, you can import it to other project without adding (publishing) this list to main (platform) components list. You can import components list with “higher” level to “lower” level, but not vice versa.

Janusz

Categories
How To...

I am evaluating Sisulizer, and I found Translation Engines interface. Is this identical with Translation Memory feature?

We use this terminology, because with “Translation Engines” interface you can manage not only your Translation Memories, but also external machine translator software and services. Below is short description of these features and some hints.

Translation Memories

During installation, Sisulizer installs its Translation Memory based on DBISAM engine (named “Embedded”). This Translation Memory is empty, and if you would like to use this feature, you need first to fill this Translation Memory with verified, high quality translations from Sisulizer’s projects or from external resources. More information about saving and import translations to Translations Memory you can find in other article on our blog. Initially, with Sisulizer is installed only one Translation Memory, but you can add to Sisulizer many different Translation Memories, e.g. for selected projects group, language pairs etc. These Translation Memories can be based on different database engines. Below is a list of supported databases:

  • Access
  • DBISAM
  • Firebird
  • Interbase
  • MySQL
  • PostgreSQL
  • SQL Server

If you have already added Interbase translation memory, Firebird will be disabled and vice versa. This is because they both can not be active at the same time.

Machine translator services

  • Google Translate
  • Microsoft Translator

Google was added to build 280, Microsoft to build 284. Both services are available in in Sisulizer Enterprise edition only. Currently, Google Translate is available for 34 languages, Microsoft Translator for 22 languages. Both Google and Microsoft are installed by default with Sisulizer, and after installation are immediately ready to use. Of course, using of these features requires Internet connection, so if you can’t use Google or Microsoft translation services, you should check your firewall settings, proxy settings (if you use proxy) or ask your network admin about checking your network connections (if you work in a network).

Machine translator software

You can add to Translation Engines also external machine translation software, but first you should install these software on your PC. Currently Sisulizer supports following third party machine translator software:

  • Sunda
  • WorldLingo


Translation Engines management

You can manage your all translation engines via “Tools” menu -> “Translations Engines”.

Translation Engines dialog

Here you can:

  • Add new translations engine, by click on “+” button
  • Remove selected translations engine, by click on “x” button
  • Change order of translation engines. This order is used in translation process (described below)
  • Edit settings of selected translation engine, e.g. disable or enable it etc.. You can also create backups of selected Translation Memory, restore this backup, export contents of Translation memory to external file.

Below is example screenshot from dialog of adding new translation engine:

New Translation Engine dialog

You can also disable selected translation engine in source properties ->”Engines” tab. This setting is applied only to selected source in project.

Source properties

Using of Translation Engines

You can use Translation Engines feature via:

  • Column menu -> Translate Using of Translation Engine ->translation engines submenu
  • Translation sheet -> header’s context menu of selected translation column ->Translate Using of Translation Engine ->translation engines submenu
  • Translation sheet -> context menu of selected cell(s) in translation column -> “Translate” -> “Translate Using of Translation Engine” -> translation engines submenu

Mentioned above submenu contains following items:

  • “Use all enabled translation engines” – it use all enabled translation engines with order from Translation Engines dialog, that is, Sisulizer first search translations with top translation engine, if this translation engine doesn’t contain matched translation, Sisulizer use next translation engine on list, etc.
  • List of all enabled translation engines – you can select desired translation engine

If you disable selected translation engine in source properties, translation engine is still visible in submenu, but this translation engine is separated from other items on list by separator. Additional, in submenu appears also new item – “Use all translation engines”. If you disable translation engine in “Translation engines” dialog, this item is invisible in submenu.

Below is example screenshot from context menu of translation sheet.

Sheet context menu

Hints

  1. If you are novice and you are evaluating Sisulizer, probably your Translation Memory is empty, but in this case you can use Google or Microsoft services. Quality of Google and Microsoft translation services is not very high, or at least worse than human native speaker translators, but it can be good point for beginning your work with Sisulizer. After verification you can save results to your Translation Memory for future using.
  2. I recommend using Google or Microsoft services only for current view or for selected cells via context menu, because:
    • it gives you better control of results, since using auto-translation feature for whole project can increase possibility of overlooking incorrectly translations
    • using these features for whole project sends to Google and Microsoft lot of requests at short time and it (especially for slow network connections) can cause timeout errors
    • if your project is really very big, auto-translation operation can take lot of time (especially for slow network connections).
  3. While Sisulizer has interfaces to machine translation it is highly recommended to use a human translator who is a native speaker. Only a professional translator will produce the translation quality you need to enlarge your markets.
  4. If you have Sisulizer Enterprise Edition, you can even create shared Translation Memory (based on SQL related engines), and your translators e.g. from China, Germany and Spain can work remotely with these same translations resources.

Janusz

Categories
How To...

Can I exclude some parts of my exe file from scan?

Yes, this is possible for following source file types:

  • Delphi binary files
  • C++Builder binary files
  • Visual C++ binary files
  • Visual Basic binary files
  • Visual Basic project files
  • Windows resource files

If you add source files (binary or project/resource files) to your project for the above mentioned platforms, Sisulizer displays them in the “Project Wizard” step, where you can check or uncheck detected by Sisulizer resources (parts) for your source file. If a resource type is unchecked Sisulizer doesn’t add it to your project and your localized file will use original resource data. If you would like to change your selection later, you can do it via Resource tab of source file properties. You can open dialog of source file properties using the following ways:

  • “Project” menu -> “Edit source” -> your source
  • Source node in Project tree -> “Properties” item in context menu

Resource tab

If you change resource settings (check or uncheck items on list), you need to re-scan your project or source for applying changes.

Hints

  1. Sisulizer’s default settings for Project Wizard are optimized for best performance, and it checks in this case only resources with strings. So I don’t recommend to change it for standard source files.
  2. You can also exclude selected resource node in project tree via context menu of this node instead uncheck it in “Resource” tab. In this case resource is still scanned and exists in the project, but contents of resource is not available for localization.
    Excluded node
  3. If you use “Resource DLLs” localization method (source properties -> “File” Tab) for your Delphi file with unchecked “Copy all resources” option, Sisulizer doesn’t copy not checked or excluded resources to output files.
    File tab
  4. If your binary source file contains custom resources with localizable values, you should check it manually in “Project Wizard” (or later in “Resource” tab of source properties), because Sisulizer by default checks only standard resources with localizable values.
  5. You can also disable selected data types from project (“Excluded Types” tab in source properties). Disabling of selected data type excludes the selected data type from localization for the whole project, while disabling of selected resource excludes selected resource node with all included to node data types from scan. More information about excluding data types you can find in this article on our blog.

Janusz

Categories
How To...

My application requires sublanguages, but I can’t add sublanguage to my project

Some developer’s solutions e.g. based on C++ require using sub language IDs for resources, even when languages haven’t sub languages. You can add new languages to project via “Project” menu -> “Languages”, but by default Sisulizer doesn’t display here sub languages for languages with only one sub language (for example Polish or Finnish). However, you can change it by checking “Use sub language when a language has only one sub language” option in “Languages” tab of “General settings”. After checking this option, you should see in “Project” menu -> “Languages” sub language items for all languages, so you can add now e.g. “Polish (Poland)” to your project.

Languages settings

Hints

  1. If you like to change your translation language from main language to sub language (and vice versa), you don’t need to add a new language to the project and copy all translations to this new language column. Just right click on selected translation column and select “Language properties” item from context menu. Next go to “Language” tab and select desired sub language from “Country” dropdown menu.

    Language properties

  2. You can’t directly import translations from other project, if one project has this same language without sub language while second has language with sub language extension e.g. “Polish” and “Polish (Poland)”, because languages don’t match. However, you can add imported project to your translation memory via “Tools” menu -> “Translation Engines” -> your translation memory -> “Documents” tab, because feature of adding projects to Translation Memory allows on ignore sub language extensions.

    Import to translation memory

Janusz

Categories
How To...

Why I can’t find some items from my source resx file in localized output file?

By default Sisulizer saves to .NET output files only translated items, but you can change this setting. This setting is available in .NET source properties dialog:

  • “Project” menu -> “Edit source” -> your .NET source -> “Options” tab -> “Items that localized source files contain”
  • Project tree -> .NET source node context menu -> “Properties” ->”Items that localized source files contain”

net_options

Here you can select desired setting from following possibilities:

  • Different – Sisulizer does not write resource items to localized resource file if translation value is empty or translation value of item is same as the original value.
  • Translated – Sisulizer writes to localized resource file all those resource items that have translations. This is default value from build 291.
  • All – Sisulizer writes all resource items to the localized resource file. If no translation is entered in the edit sheet the original value is used. The structure of the localized resource files is identical to the original ones.

Hints

  1. If you would like to keep fully matched contents and structure of source file in output file, you can change default value to “All”, but we recommend using of “Translated” or “Different” settings, because it optimizes size of output files, especially for projects with big number of .NET source files and output languages. This also will fully enable the build-in language fallback of the platform where you application runs. If you choose All no runtime language fallback is done but fallback is done by Sisulizer on build process.
  2. These settings are available also for .NET assembly sources, .NET projects sources, .NET solution sources and Silverlight sources.

Janusz

Categories
How To...

Has Sisulizer implemented custom dictionary feature?

Yes, Sisulizer can save new spell checker entries to custom dictionaries. Custom dictionary entries can be saved directly to Sisulizer project file (file with SLP extension) or as standalone plain text file (file with SLD extension). Both methods have some merits and faults, so selecting of best method depends on your needs.

  • Save dictionary to a standalone file is useful, if you want use one custom dictionary file for all your projects, because it gives you one centralized custom dictionary on your PC for all your projects, but this is not good solution, if you would like move your project to other computer or send project to translators. Sisulizer creates separated custom dictionary files for every language after adding new words to custom dictionary. Because SLD files are plain text files, you can share it between other applications.
  • Save dictionary to the project file saves custom dictionary entries for all languages to your project file. So you can use all custom dictionaries on all PCs, where you (or your translator) opens the project and you don’t need any additional files using this feature. Sisulizer saves custom dictionaries also to exchange packages. This is the recommended way to save custom dictionary.

Custom dictionary setting on general level

You can change custom dictionaries location via “Tools” menu -> “General” -> “Spelling & Grammar” tab -> “Default custom dictionary location. This is a global setting and all new projects will use this setting for all translation languages. However, this setting doesn’t influence custom dictionary settings of existing projects.

Custom dictionaries settings on general level

Custom dictionary setting on project level

You can change at any time project’s custom dictionary settings regardless of general settings of custom dictionary. Use right click on translation language column’s header, select “Language properties” from context menu and go to “Spelling” tab. Next, select preferred method from “Custom dictionary location” dropdown menu. This setting is applied only to selected language of specified project, while all new projects use still custom dictionary setting from “Spelling & Grammar” tab of “General Settings”. Of course, for other translation languages of this same project you can use different settings, but I don’t recommend it, because this solution can make a mess in your project.  Of course, when you change custom dictionary settings on project level, you need to save the project for applying changes. This operation moves all existed entries of custom dictionary to new location.

Custom dictionary setting on project level

Custom dictionary setting on source level (for original language)

Sisulizer also supports spell checking for original language. Of course, you can change custom dictionary location (on source level) also for original language. This setting is available via “Spelling” tab of source properties. You can open source properties via “Project” menu -> “Edit source” -> select your source, or via right click on your source node in Project tree -> “Properties” item from context menu.  This tab looks identical as similar tab for translation languages described above.

Custom dictionary editor

Sisulizer has also implemented a simple editor of custom dictionary entries, where you can manually add new words, edit and remove existing words. You can edit saved entries both to standalone dictionary file and to project. Editor is available via “Column” menu -> “Edit Custom Dictionary…”

Custom dictionary editor

This editor supports from build 290 an export & import feature. This feature allows you to transfer custom dictionary entries between projects with custom dictionaries saved in projects, send custom dictionaries to other persons (e.g. for verification) without sending whole project, import dictionary resources from external sources etc…
Sisulizer supports export/import in following formats:

  • Sisulizer’s XML files (.sli extension)
  • ANSI text files (.txt extension)
  • UTF-8 text files (.txt extension)
  • Unicode little endian text files (.txt extension)
  • Unicode big endian text files (.txt extension)

Janusz

Categories
How To...

Filter panel – Text 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 “Text” tab. Below is example screenshot from “Text” tab of Filter dialog.

Text tab

Text fields

In the upper part of this dialog are the following text fields visible where you can type filtered text:

  • Context
  • Original
  • Translation

These fields allow you to filter Translation sheet contents by typed text. For example, when you type some text e.g. “add” to “Original” field, Sisulizer displays in sheet only items with this string in the original language column (additional, typed text is highlighted in all displayed rows).

Filtered originals

These filtering options can be used for verification of translations (“Translation” field), excluding from localization some original strings, excluding context items with specified text, etc.. It is perfect to check consistently use of your terminology. For example, if you would like to keep some own names for your tools also in translations, you can type name of your internal tool to “Original” field. It displays in sheet only strings with this name. Next, you can quickly exclude, mark, lock all filtered rows or add comments to these rows. When you check “Excluded” checkbox, filter works in opposite way and matching rows aren’t shown. For example, if you typed “add” string to “Original” field, Sisulizer displays only rows without “add” string.
You can use quick filtering (translation and original columns) directly via Translation sheet. Simply, right click on desired word in cell and select “Filter all items having …”. Below is example for our example word, that is, “add”.


Options

Below above described text fields is the “Options” section. This section specifies options how above strings are compared to the project strings. Below is a list available options.

  • Case sensitive – includes only those rows where the text exactly matches the case of the text you have entered above
  • Ignore hotkey characters – if checked ignore hotkey character mark (e.g. & or _) when comparing strings
  • Whole strings only – if checked limits the search to text that matches complete strings
  • Whole words only – if checked limits the search to text that matches one or more complete words
  • Long threshold – if given shows only those rows whose translations are the given value longer than the original value. This filter setting was described in other article on our blog.

Translated strings compared to originals

This filter allows you to display rows with translation values identical with original values, and it can be useful for verification of translation job. For example, this filter allows you to quickly search original values accidentally copied to translation columns. Possible options:

  • No Filter
  • Identical
  • Different

By default all translation items identical with originals are displayed in grayed color in sheet (look on below screenshot), but you can change it in Sheet properties.

Identical items

Empty Originals and Empty Translations

These settings filter originals and translations with empty values or values only with spaces. Empty items can be the reason for many troubles in localized application, and this solution allows you to avoid these issues with your application. You can also use validation tests (Validation menu) for searching empty items. Don’t worry if your translation cell in sheet is empty (first row from below screenshot), because in this case Sisulizer uses original string. However, for second row from below screenshot with “(empty)” item, Sisulizer uses in output file empty translations, and described here filter finds similar items.

Empty item

Spelling errors

These filters allows you display in sheet only strings with potential spelling mistakes. Of course, you can set up this filter separately (or together) for original and translation column.

Janusz

Categories
How To...

Filter panel – Common filters for translation sheet

Filter panel

Just right from the translation sheet you can find the Filter panel. Some common filter types are visible for quick & easy selection:

Translation statuses

This section allows you to filter Sisulizer’s project content by translation statuses. Of course, you can uncheck more than one item. Below are 2 example scenarios:

  • You are translating an update, and don’t want to see the finished and verified translations with “Complete” status. In this case simple uncheck “Complete” item in “Translation statuses” section
  • You want to display only untranslated strings in your project. In this case, keep checked only “Not translated” item

Below is list of available filter items:

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

Row statuses

This very useful feature, if you updated your source files. For example, you can uncheck “In use” item after rescan your updated source. It display in translation sheet only changed (items marked by red dots in Flags column), new (items marked by yellow dots in Flags column) and unused (items marked by blue dots in Flags column) items. This section can provide comfortable solution for fully control of all changes in source files. Below is a list of available filter items:

  • New
  • Unused
  • In use
  • Changed

Data types

Items visible in this section depend on your source file type. So, if you have separate projects for different file types, you should see here different checkboxes lists. If your project contains several source types, you should see here checkboxes list with data types for all your sources in project. If you have excluded some data types (source properties), excluded data types are still visible in Filter panel, but you can’t use it. This issue was described in other article on our blog. For binary files, you can find “Integer” checkbox in Data types. This item is by default unchecked, but sometimes is useful check it, for example if you would like review or fine tune sizes and positions for your controls (control sizes and positions belong to integer data type). It was described also in other article on our blog.

Filter panel toolbar

At top of filter pane you can find toolbar with some useful features:
Filter button opens Filter dialog. This dialog contains besides above mentioned filter settings (Translation statuses, Data types, Row statuses) also settings for more advanced filters in “Text” and “Other” tabs. These filters are described in this (Text) and this (Other) articles on our blog.
Refresh button should be used if you changed some items in sheet. It simply refresh filtering rule for these changed items. For example, if you have checked only “Translated” item in filter panel and you changed translation status for some row from “Translated”  to “Complete” status, you need use “Refresh” button.
Default button resets filters settings to default values
Save as button allows you save your custom filters combinations (also for text and other filters) for your project. Your saved filter sets appear in Filter panel as radio buttons.

Custom filters
Delete button remove your custom filter set.

Janusz

Categories
How To...

In our company we use network drive. Can I use this solution for localization with Sisulizer?

Yes, of course, but it should be organized carefully, because using of network drives can cause some issues. Below is list with some examples of potential troubles:

  • You need appropriated access rights to the network drive
  • Sisulizer doesn’t support UNC paths
  • Sisulizer use for source and output files relative paths to project file, so we recommend storing these files on the same drive, because Sisulizer in this case don’t need to save drive letters.
  • For some platforms the path of the files is part of the context and it also could be a reason of some troubles.
  • Some components of MS Windows required by Sisulizer (e.g. for CHM localization) haven’t full support for network drives.

Janusz

Categories
How To...

How I can speed up work with my big Sisulizer project?

Sisulizer’s projects can be really very large, especially for binary files (e.g. for Delphi and Win32 exe or DLLs) when you add all resource data types to the project.  In many cases there is no need to translate all properties.  For example colors or bitmaps are not always needed to be translated. They just bring extra rows and make the project file larger and make it slower to process. For example it can cause following issues:

  • Longer loading and saving time
  • Longer scan and build time
  • Slower work of translation sheet
  • Out of memory messages for big projects (Sisulizer can address max. 2 GB of RAM)

Luckily, Sisulizer has implemented a feature to exclude unnecessary data types from projects. This feature is available on source and general levels and also for exchange and export features.

Project

You can change these settings for selected source in your project via:

  • “Project” menu -> “Edit source” -> your source -> “Excluded Types” tab
  • Source node in Project tree -> “Properties” item in context menu-> “Excluded Types” tab

Excluded Types in source properties

Items from list of data types always depend on source file type, and you will see other items for Visual C++ file and other for HTML source file. These excluded data types settings are related to the localization source properties, not to project, so you can set excluded data types separately for each source in your project. Sisulizer use optimized (default) values for this feature during creation of new project, or during adding new source to existing project, so usually you needn’t change anything. However, I recommend change these settings in following cases:

  • Your project doesn’t use default settings, e.g. your source has enabled all data types
  • You would like localize some not default data types e.g. fonts or images

For first above example I recommend use “Default” button visible on right side of “Excluded Types” dialog. For second example I recommend uncheck only required data type(s)

General settings

You can set your own excluded data type list also in “Tools” menu > “General” > “Excluded Data Types” tab. These settings are used for all new projects and for all sources added to already existed projects after changes in “Excluded Data Types”. List from this dialog is related to all supported source file types, so you can find here all data types supported by Sisulizer.

Excluded Types in General settings

Exchange and Export Wizards

You can also exclude selected data types in Exchange and Export Wizards:

  • “File” menu -> “Export” -> “Export Wizard – Options” step -> “Data Types”
  • “File” menu -> “Exchange” -> “Exchange Wizard – Filter” step -> “Data Types”

These settings are applied to whole contents of exported project or exchange package. So if you add all sources from your project to Exchange package, Sisulizer use excluded data types settings from Exchange Wizard to all sources in package. Using these settings can be useful, if you would like reduce size of project send to your translators, or if you don’t want get your translators access to some data types. Below is a screenshot from “Excluded Types” dialog in “Exchange Wizard”.

Excluded Types in Exchange Wizard

Hints

  1. If you open excluded data types dialog you can find “Default” and “Strings only” buttons on right side of these dialogs.  “Default” button restore default Sisulizer’s settings for selected source type, while “Strings only” excludes all but strings data type. What’s the difference? When you use “Strings only” for your binary source, Sisulizer exclude also “Boolean” and “Integer” data types, while “Default” setting doesn’t exclude it. Integer numbers are required by Sisulizer to resizing components. Some languages have longer captions and labels than English languages, and it can cause clipped items in forms for these languages. So, if you want to allow your translators to adjust sizes of components, you should uncheck this item on list or use “Default” button. This problem was described also in other article on our blog. However, if you would like keep original sizes of controls for all your localized versions, you can check this item or use “Strings only” button.
  2. Sisulizer display in “Data Types” section of “Filter Panel” all data types detected in your sources, also excluded data types in source properties, but these inactive items are inactive (in grayed color).
    Filter panel
    So if you want to use these Filter panel items, you need to uncheck it in “Excluded Types” tab first.
  3. You can also  disable selected resource types for some platforms (“Resources” tab in source properties). Disabling of selected resource exclude from scan selected resource node with all included to node data types, while disabling of data type exclude from localization selected data type for whole project. More information about resources selection you can find in this article on our blog.

Janusz