See Sisulizer Live at Delphi Tage 2012 in Heidelberg

The next Delphi Tage conference will be held 20th to 22th September at the Print Media Akedemie in Heidelberg. It is a good tradition that the Sisulizer Team will join to present the newest development in Software Localization. You’ll find more info in German language on the website http://www.delphi-tage.de/

We hope to meet you all in beautiful Heidelberg

 

 

Build 330 – Improved Gettext support

Our developers continuously improve support of Gettext localization.  Gettext is free software and an OS independent platform. It is definitely a very popular localization solution chosen by developers. With Sisulizer build 330 our customers get following new or improved features related to Gettext support:

Support for partially translated source PO files

In build 330 added support for partially translated PO/POT files. For clarifying this improvement I need basically to explain how Gettext works. Gettext localization based on following item pair in PO/POT files:

Before build 330, Sisulizer used “msgid” items as originals, when “mgstr” are empty. When “mgstr” item contains a translation, Sisulizer used this item as original. Since build 330 Sisulizer always uses “msgid” items as originals. Previous scan method worked perfectly when localization process was fully made in Sisulizer, because Sisulizer saves translations to SLP files, not to source PO or POT file. However, it caused troubles when source files were previously translated in other tools e.g. popular POEdit. Since build 330, you can also add as source (to Sisulizer project) fully or partially translated PO/POT files. It helps switching to Sisulizer, or translating PO/POT files generated by other Gettext tools used by your developers. After adding such file as source you can also re-use existing translations from this source file, by using Import feature. Because Sisulizer has implemented advanced and flexible import features, so you can do it in three different ways:

Management of contents saved to output PO files

Sisulizer can build as output files both compiled MO files (used as localization resource files in localized application) and translated PO files (the same as source, but with included translations made in Sisulizer). Before build 330 Sisulizer always saved original items to translations (mgstr) items in output files. However, when this file was opened in third party tools e.g. in POEdit, it shows file is 100% translated, because output PO file didn’t contain empty translation items. Since build 330 you can decide what Sisulizer should to do with not translated items during build output PO file.  Now you can select following options

You can change this setting in “Options” tab of source properties dialog. You can open source properties dialog via context menu of source node in project Tree or via “Project” menu -> “Edit source” -> select your source.

This feature could useful when your developer/employer use third party Gettext tools and it allows him check translation progress, forward it to other translators who use third party localization tools, use in SVN solutions, etc.

Other improvements

In build  330 improved also support of plural forms and support items with identical original values and different comments.

All those changes significantly improved compatibility with third party tools e.g. POEdit and now Gettext support in Sisulizer is actually “tool independent”.

Best regards,
Janusz Grzybek

 

 

Sisulizer 3 – TM Editor

To Sisulizer 3 have been implemented features for editing content of translation memories. With previous Sisulizer versions you got extended translation memory management features, but these features were limited to “what” items, “how” these items should be saved to selected translation memory and used during auto-translating process. Now you can also edit any content of a selected translation memory directly in Sisulizer without using an external database tool. You can directly change a selected translation, add new strings or remove existing. So, implementing of these features supplement already existing management of translation memory and gives you comprehensive translation memory solutions. New editing functionality is available in “Search” and “Edit” tabs of “Translation Engines” dialog.

Edit Tab

Here you can preview, edit, remove selected or all items saved to the Translation Memory, but of course you can limit range of preview to selected language pair, document, etc. It could be useful for translation memories with lot of saved items. Below is screenshot from this tab, where you can find selection settings in upper part for limiting content displayed in preview box visible in bottom part of dialog. All editing features are available via buttons on preview toolbar.

Settings:

Edit toolbar:

As I mentioned above, for “Add” and “Edit”, Sisulizer opens special dialog, visible on below screenshot, where you can add/edit original and translated strings, set translation status or even change original or translation language.

Search tab

“Edit” tab is comfortable solution for review or edit couple strings or whole the Translation Memory, but for search specified string pair I recommend use “Search” tab. Generally, this tab looks similarly to “Edit” tab. Edit toolbar and behavior of edit features is identical with “Edit” tab, while preview box is almost identical with preview box from “Edit” tab, expect “Id” column replaced in “Search” tab by “Documents” column.  However, you can’t find here “Documents” and “Page” settings. Instead it, you have “Search” field with “Exact match” option. When you type unique translation in this field, preview should show one pair. If you type unique original in this field preview could show more items – one per translation language.

Views of both tabs and contents visible in preview box are independent of translation memory engine type.

Short summary

Because our R&D had implemented many improvements to translation memory in Sisulizer 2010, since first official release of this version, I decided add here also short review other tabs visible in “Translation Engines” dialog.

Janusz

 

Vote for your favorite Delphi localization tool

Please consider to vote for Sisulizer at delphitools.info/2012/02/15/what-do-you-use-for-string-localization-in-delphi/ as your favorite localization tool.
Currently Sisulizer is doing well. GNU gettext/dxgettext is still leading.

If you do not already know: Sisulizer does support localization of PO/POT files, too. And I know that quite a few translators are using Sisulizer to translate, even when the developer just use GNU gettext. Why? Translators love the comfortable and intuitive user interface, and all the great filters, search/replace features, integrated translation memory, and the validation functionality. Especially the validation features help translators and developers to create great, and save localized versions of your software. Please read more in the following articles about localizing PO/POT files created by GNU gettext routines with Sisulizer:

Sisulizer is Gold Sponsor at Delphi Developer Days 2012

Delphi experts Marco Cantù and Cary Jensen present their annual Delphi Developer Days tour. This six-city tour visits four cities in Europe and the UK, and two cities in the US.

Delphi Developer Days 2012

Delphi Developer Days are two-day live Delphi events that provide you with the latest information on Delphi as well as practical techniques to help you improve your Delphi development skills. Each event includes both joint sessions, presented by Marco and Cary together, as well as simultaneous tracks, where Cary and Marco break out into separate rooms to present individual sessions. There is also an Embarcadero Technologies Keynote, and an additional guest speaker presentation in each city from Delphi experts including Bob Swart, Ray Konopka, Stephen Ball, Jim McKeeth, Daniele Teti, and Bruno Fierens. All sessions are in English.

A wide variety of topics are covered. Some topics, such as FireMonkey and LiveBindings, apply to the latest version of Delphi, but there are also many classic topics that apply across versions of Delphi, going back to Delphi 7 and earlier. Detailed descriptions and an agenda can be found at: http://www.DelphiDeveloperDays.com/descriptions.html

All Attendees Receive:

Space is limited to the first 35 people in each city. There are discounts for early registration, previous attendees, and groups of 3 or more developers from the same company; see online for details. Price and registration information is available at: http://www.DelphiDeveloperDays.com.

Sisulizer 3 – New HTML Editor

Sisulizer 3 comes with a completely redeveloped HTML Editor. New HTML Editor is more comprehensive and flexible than the editor implemented to Sisulizer 2010. It comes now with four different edit/preview methods for HTML content. You can switch easily the preview/edit method by clicking on corresponding tab which are added on the bottom of the preview window. So you can check quickly all four alternate preview methods for each file.

You can choose the following edit & preview options:

In current build our old editor inherited from Sisulizer 2010 available via “Editor” tab is disabled by default. However, you can enable this tab at any time, if you need. For doing it you should go to “Tools” menu -> “Editors” -> “HTML Editor…” and check “Use” option.

Applying of this change requires restarting of Sisulizer.

Recently our developers also implemented settings for choosing custom a Web browser used with “Run localized  source” and “Run original source”. So now you can check how localized file behaves with different Internet browsers, while previous Sisulizer’s builds always opened localized files in default Web browser. You can also add default pre and post-name parameters used with selected browser. Those new settings are available via “Tools” menu -> “Platforms” -> “HTML…”.

Above settings doesn’t influence on HTML visual editor behavior.

Janusz Grzybek

Can I edit my source file in Sisulizer?

Our prospects often ask us, if they or their translators could edit and change code in source files for their Sisulizer projects. Sisulizer’s policy is never to change any original files, even if source file is plain text file. If you would translate text in typical text editor, you usually replace original text with new, translated text. However, Sisulizer works in completely different way and never change source file. When you create new project, Sisulizer scan source file for translatable text. Next, you translate those strings in Sisulizer and save it to SLP file. When you generate localized version of your source file, Sisulizer usually copy scanned content of your source file to new localized file and replace original strings with strings translated in Sisulizer. In every step (scan, translation and build) Sisulizer doesn’t change anything in your source files. Probably we never change this our policy in future, because:

If you would like to edit your source code, you need do it in your developing tool, because Sisulizer is localization tool, not globalization or developing software.

Janusz Grzybek

How to get quick info about localization envinroments on your PC?

Translator editions of Sisulizer don’t need any additional developing components on their machines. Developer editions in contrast do require installation of some additional components and frameworks if you want to build output files. Of course, it is not required for most platforms. However, for the following platforms you need to have installed appropriated developing environments:

You could check, if your system  meet the requirements of your localization process via “Tools” menu ->”Platform” -> your platform, e.g. .NET. However, if you want to check this in a quick way, simply go to “Help” menu -> “System information” . It opens a dialog with short and condensed information about installed components required to localize .NET applications, databases and info about your Windows and locales via following tabs:



On above example screenshot, you can see what types of databases engines are installed on my PC. This list doesn’t show in example Paradox, because I haven’t installed Borland Database Engine.

Janusz

Thank you for visiting Sisulizer at Delphi Tage 2011

We want to thank all customers and prospects visiting our booth last weekend in Cologne at Delphi Tage 2011. To all that haven’t been there: you missed a real “hot” community event in the Früh Brauhaus. Everybody joining it knows what I’m speaking about. The sessions in Cologne’s MediaPark also had been hot, but for some other reason. David I announced Delphi XE2 the first time in Germany. He told that XE2 is the biggest step in Delphi’s history since version 1. Especially the 64bit version of Delphi made a lot of dreams come true. And with the first release of FireMonkey we saw the future of cross-platform development in action.


(David I announcing Delphi XE2)

At the Sisulizer booth you could see the brand new Sisulizer Version 3 with XE2 support (incl. Delphi 64bit, FireMonkey 32bit, 64bit, and OSX) in action. Also small dreams came true: We could show the long missing translation memory editor. Thanks to R&D who made some extra hours to make it possible.

Hope we will meet you all again next year.

Unique features of Sisulizer’s Search & Replace functionality

Search & Replace is an important and often used operation in localization process, so Sisulizer has even special menu in main menu bar dedicated to search operations.

Search menu for localizations

Generally, this feature is similar to Search/Replace features implemented to other third party localization and developing tools, text editors, word processors, etc. Sisulizer uses typical UI items and shortcuts for search features, for example:

Many advanced text editors or developer tools have implemented identical or similar features. However, it could be misleading, because Sisulizer’s Search & Replace has many unique features adapted to localization process. Those differences could sometimes puzzle our customers become accustomed to other tools, and for this reason I’d like concentrate in this short article on differences and unique features of Sisulizer’s search & replace. Those unique features and behavior are shortly described in below points.

Working with sheet columns

Sisulizer’s main workspace based on a sheet which looks a bit similar to Excel sheet with vertical columns and horizontal rows. Sisulizer always searches items only in currently selected column regardless of Direction and Origin options selected in Search dialog. This range limitation prevents accidental and unintentional changes in currently not edited language columns. Off course, you can choose every column in sheet (also context column) for search. If you want to find selected text in several columns, simply select next desired column and use F3 shortcut and so on.

Sheet filters and text search feature

Sisulizer always searches text only in potentially visible contents of translation sheet. So if you use sheet filters e.g. text, row statuses or translation statuses filters, Sisulizer will search specified text only in filtered sheet content. For example, if you uncheck all translation statuses but “Auto translated” translation status and “Changed” row status, Sisulizer will use those filters also in search operation (look on below screenshot). So, with this flexible solution you can specify search range not only on item location, but also based on item status. Sometimes, it could stir up users, when they forgot to uncheck used filters, and for this reason they couldn’t find specified text. But don’t worry, Sisulizer displays “Special filters on!” warning at bottom of filter panel (look on below screenshot), when you use a sheet filter.

Filters used while translating

Additionally, you can separately use those filters only with search feature, without using it in sheet. Here is article about this pretty new functionality implemented to Search & Replace feature.

Project Tree and text search feature

Search range also depends on selected node in Project. If you select “All” (parent) node in Project Tree, Sisulizer will search selected text in whole project. When you select source node, Sisulizer will limit search range to selected source. If you select source sub-node e.g. form or stringtable, it limits search range to this sub-node, even if you use “Entire scope” setting. Combination of this feature and sheet filters gives you powerful possibility of precise specify search range. For example you can search selected string only in selected sub-node and additional narrow search results to items with selected translation and/or row statuses, etc.

Find results pane

If you click on “Find All” button in “Find text” dialog, Sisulizer will displays all matched results in “Find Results” pane visible in bottom part of Sisulizer’s main window. This is a very comfortable solution, because it gives you full preview of all matched items.

results of search in localizable content

If you want to go in sheet to selected item, simply double click this item on list in “Find Results” pane. It doesn’t clear find results list, so you can go back to this list in any moment and manage next matched items. Also when you change pane (by clicking on other pane tab) list is preserved, so when you change back to “Find Results”, you will see results of last search operation again. This list is cleared, when you close your project. Some advanced text editors or localization tools have implemented similar features, but this solution isn’t common and for this reason I described it here. If bottom panes aren’t visible, go to “View” menu and activate “Panes” menu item.

Search in Project Tree

Apart text search feature, Sisulizer has also implemented feature for search nodes in Project tree based on node name. It could be useful for big projects with lot of sources or sources with lot of nodes. This feature is available via “Search” menu -> “Find node” or via context menu of Project tree.

Find next/prev untranslated rows

If you don’t want to scroll whole project and use filters for search of not translated items, simply go to “Search” menu and click “Next Untranslated Rows”. It moves you in sheet to next not translated item in currently edited language column. Similarly, if you click on “Prev Untranslated Rows” item in this same menu, Sisulizer moves you to previous not translated item. This could really speed up translation process, especially if you use shortcuts instead of opening menu and clicking appropriated menu items. Below are those shortcuts:

Hint

As I mentioned above, you can improve your search operation by using search feature in close collaboration with Sisulizer filters. However, if you aren’t familiar with advanced Sisulizer filters, I recommend you read following articles on our blog:

Janusz Grzybek