Delphi an an ITE for localization (of which I’m not a fan), we’ve been using something very similar to gnu gettext where I work (and I like it), what other String or screen localization tools have you been using and recommending?
You can vote for multiple options, and suggest new ones in the comments!
What do you use for string localization in Delphi?
- Delphi's Integrated Translation Environment (5%, 9 Votes)
- GNU gettext / dxgettext (29%, 47 Votes)
- Other (suggest it in comments) (15%, 24 Votes)
- TsiLang (12%, 20 Votes)
- Multilizer (7%, 11 Votes)
- Localizer (7%, 12 Votes)
- Interkodex (0%, 0 Votes)
- Helicon Translator (0%, 0 Votes)
- Sisulizer (16%, 26 Votes)
- Plain old .INI files (7%, 11 Votes)
- DKLang (1%, 2 Votes)
- Kryvich’s Delphi Localizer (1%, 2 Votes)
Total Voters: 158
Loading ...
Multilizer
TsiLang
One has to switch to the results and back to vote to see all options.
I use tsilang with delphi and delphi+intraweb for web apps
Used plain old INI files with the DevExpress’s cxClasses.cxGetResourceString() in combination.
I prefer resource-based tools because:
1) They are less invasive – no changes required to code
2) They work well with 3rd party libraries that follows resource rules
3) It is far easier to switch to another tool if needed (code may have little changes only)
4) Beyond string, images, controls sizes and many other items can be adapted to the target locale.
5) They use Windoes/VCL built-in functions, no need to hack and intercept them with possible side-effects.
Delphi ITE would be a great tool if Embarcadero decided to finish and polish it. It is still to buggy and cumbersome for complex needs. Multilizer is my tool of choice when the ITE is not enough.
I worked as a software developer for Multilizer a few years ago. Even if my opinion might sound somewhat biased, I vote for Multilizer. With Multilizer you can do both binary and source code localization. Multilizer has” scanners” customized for Delphi code and for executables built specifically with a Delphi compiler.
Multilizer also offers VCL components for localization (I believe even for FireMonkey as well, but you might want to check this since I am not sure).
They also have an excellent materials and tutorials to help you with the tool itself and with the internationalization and localization process.
You can request a trial version and evaluate the tool. You can also ask them for advice and tell them about your particular needs.
I have compared Multilizer with other tools and I believe it’s the best choice.
I have no hidden interests in saying this (I keep no ties with Multilizer these days). I just wanted to tell you what I know for sure about Multilizer.
Multilizer itself is written in Delphi by the way.
For those using dxgettext: Did you know that there is also an edit tool for .po files called Gorm? (Make sure you compile the latest version from subversion, there hasn’t been a release for very long.) I find it much easier to use than POEdit, but I am biased, because I wrote lots of its functionality.
I have tested a lot, now i use only Precision Language Suite http://www.be-precision.com/products/precision-langs/
work with Delphi Lazarus, easily translate devexpress fastreport.
and it’s free …
I use Korzk Localizer and It’s works very wells for me.
Before I was using Delphi ITE but it was very very long and crash often.
Kryvich’s Delphi Localizer
http://sites.google.com/site/kryvich/localizer
We use an inhouse tool that parses the dfms and resourcestring .rst files and generates resource DLLs for Windows and .po files for Free Pascal. I probably gave it too much weight when I was evaluating the alternatives, but I really wanted to use each compiler/platform’s “native” translation support and Sisulizer was the only commercial one that even supported FreePascal. We wanted to support end-user translations, and their per-translator licensing eliminated them.
Our own i18n unit integrated into our ORM, and using RTTI and uncamel-casing for translating the UI. See http://synopse.info/forum/viewtopic.php?id=434 – Open Source, working from Delphi 6 up to XE2.
@Tom
Whatever the site states, lgpl-3.0 license does not allow static linking into a commercial closed-source executable. Beware of that.
We use our own home grown system. Its more complex than ini’s, but still uses flat text files to store the translations so that end users can create their own.
DKLang Localization Package: http://www.dk-soft.org/products/dklang/index.php
It uses text files for translations which can be embedded and it can easily switch between languages on the fly. The translation editor is fantastic. Also, it is open-source.
I use i18n Package.
There are many software tools for localizing a Delphi application, but they mostly just provide support for translation of the user interface strings. However, the i18n package not only enables developers to select translatable properties and string constants/literals within the IDE but also takes care of plural forms, reading layout, formatting preferences, and calendar system of the target language.
http://www.delphiarea.com/products/delphi-packages/i18n/
Precision Language Suite
I use Sisulizer
Before choosing it I used ITE but wanted to replace it so I tested Sisulizer, Lingobit and Multilizer. They are work on binary level and do not require you to change existing Delphi code. I found Multilizer a total catastrophe. It is buggy and very difficult to use. It is the worst localziation tool I have even seen. Lingobit and Sisulizer works very well. I selected Sisulizer because it supports Delphi better (Sisulizer itself is written in Delphi), excellent support and better support for other file formats I need.
@Craig Peterson
“We wanted to support end-user translations, and their per-translator licensing eliminated them.”
There is a FREE Sisulizer edition for translators. They can not create the new executables themself but the translator sends the translation back to the developer who generates the new exe.