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.

  • March 26-27 2012:
    London
    , United Kingdom, Premier Inn Heathrow Touchbase Conference Center
  • March 29-30 2012:
    Amsterdam
    , The Netherlands, Park Plaza Victoria Amsterdam (near central train station)
  • April 16-17, 2012:
    Washington DC/Baltimore, USA, Holiday Inn Express Hotel & Suites, BWI Airport West
  • April 19-20, 2012:
    Chicago, USA, Holiday Inn Express Hotel & Suites, Arlington Heights (NW O’Hare Airport)
  • May 14-15 2012:
    Frankfurt
    , Germany, Holiday Inn Express Frankfurt-Messe
  • May 17-18 2012:
    Rome
    , Italy, Hotel Royal Santina (by Termini central train station)
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:

  • An extensive course book (several hundred pages in length) written by Cary and Marco that includes all their material covered in all of their sessions
  • Source code examples from all of their sessions
  •  A chance to win a full license of Sisulizer Standard (and other valuable prizes from other sponsors)
  • Lunch on both days

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.

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.

Thank you for visiting Sisulizer at Delphi Tage 2010

We want to thank all customers and prospects visiting our booth last weekend in Berlin at Delphi Tage 2010. To all that haven’t been there: you missed the “Borsig Turm” an extreme beautiful location, highly motivated speakers with excellent sessions and a huge crowd of happy Delphi users. Hope we will meet you all again next year.

Resourcing hard coded strings in Delphi

Software localization tools like our Sisulizer localizes binaries, like executables (.exe) or library files (.dll). That has many advantages like

  • You do not need to give third-parties like translators access to your source code
  • Your source code will not be changed itself
  • Less files need to be exchanged with your translators

to name a few.
This works fine when your strings are stored in string tables of Windows resources. Luckily this is very easy in Delphi. Just use a resourcestring block instead of hard-coding the string.

Don’t use hard coded strings like

procedure TForm1.FormCreate(Sender: TObject);

begin

  Label2.Caption := 'Click the above button to process data'; 

end;

Use Delphi resourcestring blocks like

procedure TForm1.FormCreate(Sender: TObject);

resourcestring

  SClickButton = 'Click the above button to process data';

begin

  Label2.Caption := SClickButton;

end;

Use unique and descriptive names as resource strings. That gives you and your translator a much better idea of the context of the string, and a way better chance for a fast and good translation.

What if you have hard coded strings in 100k+ lines of Delphi code

What do you want to hear? Bad luck, internationalization tools are very expensive, chances a good that you have a lot of stupid work in front of you? I fear I have given too much people answers more of less like these. Shame on me.
First, you are not alone. And even better there is a great tool around that will help you through that job. And all this at a very competitive price.

Resourcing with CodeExplorer

CodeExplorer provides a whole set of ways to convert your hard coded strings to resources.

  • Converting a hard coded string at the cursor.
  • Converting all hard coded strings of an entire file, or even multiple files with sophisticated wizards
  • Converting hard coded strings by using the command line tool

And it comes with various options for scanning, and converting, I.e. it helps you to identify strings that do not need to be localized at all, or do need special attention like SQL statements. It also provides warning mechanism for units.
CodeExplorer is made by our Dutch Embarcadero CodeGear Technology Partner fellow Modelmaker Tools. Prices start at EUR 99. Read more about resource string conversion with CodeExplorer on their web site.

Visual Basic 6 with UNICODE

Visual Basic 6 with UNICODE GUI possible with Hexagora controls and classes

Out of the box Visual Basic 6 comes without UNICODE support for its controls. Strings in VB6 are already in UNICODE but when it comes to display everything is converted back to ANSI.

The Italian Software Vendor Hexagora solves this problem with a set of UNICODE controls replacing the ANSI originals. Sisulizer supports projects using these controls right out of the box. Hexagoras controls together with Sisulizer make the dream of full UNICODE enabled applications with Visual Basic 6 come true. Please visit Hexagora.com for more information.

What is little-endian and big-endian?

There are two types of byte-ordering: big- and little-endian. Intel processors use the little-endian order; this means the more significant digits in a number are on the right side. If we write a number like 4711, the most significant digit is 4 (= 4.000) and is on the left side. A BOM (Byte Order Marker) in text files indicates to the application the direction to read the numbers.

What is a BOM?

BOM is an acronym for byte-order-mark. BOM describes the order in which a sequence of bytes is stored in computer memory. The acronym is stored at the beginning of a text file to tell the reading application the order in which the bytes are organized, as big-endian or little-endian. BOM also indicates if a character is stored in 16- or 32-bit UNICODE. And, the BOM is also used to mark UFT-7 and UTF-8 files. These files are 8-bit files that use a code to store 16-bit characters. Therefore, the name BOM for these kinds of files is a bit misleading. While it is convenient to know the file format, a BOM can be used to mark the format inside the file.

If a file is read by an application not aware of BOMs, the system shows the characters used to sign the file as data. In this case, you can use Kaboom to read a file with a BOM and convert the file into a file without a BOM.

What is a code page and why is it needed?

Code pages are necessary because ANSI files only have 8 bits to display a character (char). This means there are only 256 possible characters–not nearly enough for all languages of the world.

The American charset needs only 128 different chars = 7-bit. Because 7-bit was a bit inefficient for computers, this led to the need for another bit; thus, currently, another 128 possibilities are available to display chars.

On MS-DOS systems, some of these bits have been used for drawing boxes and lines. With Windows, these boxes and lines have been removed from the charsets and more foreign chars have been added. For the most Western languages like English, French, German, and others, these additional chars work efficiently. For example, the German charset needs only seven extra chars to the US charset – leaving enough space for special chars from Spain, Norway, and so forth.

This is a dialog shown with wrong system code page

Typical display of a dialog shown with the wrong system codepage.

However, for certain charsets, such as Cyrillic charsets, the space was not big enough. Codepages fill that gap. A code page in Windows is nothing more than information, so that the upper 128 chars use some other characters. For example, instead of the German umlaut Ü, a Cyrillic Ш appears. both of these items have the ANSI value 205. Thus, if the Windows codepage 1252 is selected, a Ü appears, while with the Russian Windows codepage 1251 Ш (sha) is displayed.

If code pages are used, the system cannot possibly show Ü and Ш on the same display. This is only possible if UNICODE is used. For example, this page uses UNICODE (UTF-8) to display both chars.

While this solves the problem for most of the languages, the code page technique does not help languages with more than 128 special characters, such as Japanese, Korean and Chinese. For these languages, MBCS is available. While the lower 128 characters are still the same as in US code pages, the upper 128 are specially encoded. In this system, one character of the upper 128 chars starts a multi-byte sequence. This means that one character is stored in one or many chars. For example, in Japanese shift-jis, one character can use up to five bytes.

Thus, if a person writes a text file on her or his computer and does not use UNICODE to save it, the current code page is used. If this file is given to someone with some other current codepage, the file is not displayed correctly. So, if you are in Western Europe or the USA, and you get a text file from someone in Greece, Turkey, China, or Japan, the chances are high that the file is useless to you. Kaboom can fix these problems. Simply convert the file into UNICODE and print, edit, or use the file in any way–without losing information. If you edit the file and you want to return it with your changes, simply convert the file back into the code page that the receiver needs. Kaboom makes the entire process easy and quick.

Create Additional Income Streams for Your Software

Create Additional Income Streams for your Software

Software developers and publishers across the globe are being hurt by today’s economic downturn. One way to cope with today’s challenging economy is to open new markets for your existing applications. Translation can extend the reach of your software to other countries. By translating, say, the English version of your software and localizing it into other major languages, you can do a better job of selling it to the estimated 60 percent of Internet users who don’t speak English fluently.

Automated Localization Software

Sisulizer 2008 from Sisulizer Ltd makes it easy to manage the translation and localization of your software into multiple languages. It’s a Windows application that reduces the work required by software developers to localize their programs. Sisulizer manages the translation and localization process, while protecting source code from prying eyes. Sisulizer quickly pays for itself by opening new markets and new revenue streams, allowing developers’ end-users around the globe to use software in the language of their choice. Sisulizer is used by software development companies large and small. Customers include GE Healthcare, Philips, Qualcomm, Intuit, Sony, Siemens, Renault, General Dynamics, and Symantec.

Protecting Your Source Code

One way to get your application translated would be to send your source code to a professional translator, and ask him or her to separate the executable code from the text, and to translate only the text. There are too many dangers with this approach:

  • It is unlikely that many translators would be familiar with C++ Builder, Delphi, Visual Basic, Visual C++, .NET ResX and WPF, HTML Help, ASP, PHP, JSP, XML, WebHelp, Pocket PC, Symbian, Java, and a dozen other popular computer languages that are supported by Sisulizer. It would be too easy for a translator to inadvertently change your source code while localizing the text.
  • Given the amount of text that needs to be translated in a typical program, it would be a huge management challenge for the developer to keep track of hundreds of strings, and replace them with their translated text, without introducing source code errors.
  • Sharing source code with people outside of your company is risky business, under any circumstances.

Localization with Sisulizer

Sisulizer uses an easy three-step process to localize your software:

  • First, use Sisulizer to scan the application and locate all of the text that needs to be translated. Sisulizer works directly with .NET, C++ Builder, Delphi, Visual C++, Visual Basic, Visual Studio, Borland Developer Studio, Java, or Windows binary files, along with XLIFF and .NET assembly. The program works visually with HTML and XML. Sisulizer can also grab text from text files and databases. You determine which Windows resources you want to localize, including icons, menus, dialog boxes, strings, accelerators, versions, and manifest resources. Sisulizer also operates in the mobile world. The software supports .NET Compact Framework, Pocket PC, Symbian, and J2ME.
  • Second, translate the text using Sisulizer’s visual editor. Begin the translation work yourself, and mark each phrase as translated properly, auto-translated, translated by best guess, out for review, or complete. Alternatively, you can use Sisulizer’s Exchange Wizard to create and send your translator a single file that contains a self-installing Sisulizer Free Edition, along with your project file. Your translator uses Sisulizer’s built-in WYSIWYG editor for all text in your application. When your translator has completed the translation, they’ll just need to send back a single file to you. Your translator never has access to your source code, ensuring that your valuable source code will never be accidentally changed or intentionally shared with third parties.
  • Third, build the localized version. Simply run Sisulizer using the translated file, and build the new version of your application in the new language. There’s no need to manually track where each text snippet belongs. Sisulizer manages the localization project, and automatically builds your new version. In addition, Sisulizer’s Translation Memory feature saves time and money when you translate your next application. Sisulizer remembers all of the words and phrases that it has translated, and you have immediate access to all of these earlier translations in your next project.
Simplifying the Translator’s Work

Sisulizer comes in five editions that developers and translators can use to manage and control the localization process. Sisulizer 2008 has taken steps to provide translators with an intuitive software program that requires no technical skills to run. The latest version of Sisulizer now supports Windows Presentation Foundation (WPF). This allows each of your translators to see classic Windows WIN32 Forms, Windows Forms, and the new WPF dialogs, without having to wrestle with the .NET runtime. By freeing translators from the complexities of the .NET environment, it makes it easier for them to concentrate on translating the text, and not worrying about the underlying technology of the translation program.

To further improve translators’ productivity, Sisulizer 2008’s new spell-checker has a Word-like checker that inspects and analyzes each word as you type it. In addition to its built-in spell-checker, the program now supports the Hunspell engine, with more than 80 languages. It also works with the Lingsoft engine, with its excellent support for the Scandinavian languages. Sisulizer easily handles all languages, including right-to-left and double-byte languages.

Sisulizer 2008 also supports machine translation using Google™ Translate. This feature allows the automatic translation of text into 34 languages. If your budget is extremely low in these times of economic strain, you can use this feature to perform your translations for free. But be aware that machine translation cannot replace the work of a professional “human” translator.

For More Information

Sisulizer 2008 runs under Windows XP/Vista/2003. Download a free 30-day trial version of Sisulizer from http://www.sisulizer.com/downloads.shtml. For more information, contact Sisulizer Ltd & Co KG, Graf-Salm-Str. 34, 50181 Bedburg, Germany. Internet: http://www.sisulizer.com/

The Bottom Line

Today’s turbulent economy is going to worsen before it gets better. Developers need a marketing strategy that wrings every penny out of each of their applications. Localization is a cost-effective way to create additional income during an economic downturn. Finally, software localization has become so easy with a tool like Sisulizer that there is no technical reason not to create sites in all of the major languages.

— Al Harberg, DP Directory