Discussion:
TSILang vs Korzh Localizer
(too old to reply)
Kevin Powick
2007-10-23 18:16:50 UTC
Permalink
I used Google to search this group, but only found a couple of
discussions from 2004.

Can anyone provide information on the key differences between these two
products, how well they do their jobs, and any recommendations based on
real world experience?

I have the following requirements.

1) On-the-fly language switching, and automatic at application start-up
based on locale.

2) Ability to allow a third party to create translations with a
user-friendly tool that does not require Delphi or access to source
code.

3) In some of the old posting I found, there were vague references to
one of the products doing "odd" things to dfm files. I would like to
use a product that minimizes the impact on any source files, .dfm,
.pas, and others.

4) "Fiddle factor". The less I have to "fiddle" around with the
product the better. Something like MadExcept, where you set it and
forget it is great. I don't want to run my app and be asking myself,
"Why didn't that work?". Oh, you have to "remember" to do A, B, C
first, and every time you change this, add that, etc, etc.


5) I'm not interested in using gettext for Delphi.
--
Kevin Powick
David J Taylor
2007-10-23 19:29:18 UTC
Permalink
Post by Kevin Powick
I used Google to search this group, but only found a couple of
discussions from 2004.
Can anyone provide information on the key differences between these
two products, how well they do their jobs, and any recommendations
based on real world experience?
I have the following requirements.
1) On-the-fly language switching, and automatic at application
start-up based on locale.
2) Ability to allow a third party to create translations with a
user-friendly tool that does not require Delphi or access to source
code.
3) In some of the old posting I found, there were vague references to
one of the products doing "odd" things to dfm files. I would like to
use a product that minimizes the impact on any source files, .dfm,
.pas, and others.
4) "Fiddle factor". The less I have to "fiddle" around with the
product the better. Something like MadExcept, where you set it and
forget it is great. I don't want to run my app and be asking myself,
"Why didn't that work?". Oh, you have to "remember" to do A, B, C
first, and every time you change this, add that, etc, etc.
5) I'm not interested in using gettext for Delphi.
Kevin,

I can't comment on the first product, but I have used Korz Localizer for
over a year now. I believe it fulfils all your requirements. The only
source file edit is what you do yourself (although there is an option to
add a new file to the project with all the program strings, I prefer not
to do that). Form files are not touched. You may want to add a small
amount of source code to handle language switching while the program is
operational, but it's really very little.

I've been using the software with Delphi 5, and I think it will work with
any version of Delphi up to the current Delphi 2007 version. Good support
as well.

I would strongly recommend this software.

Cheers,
David
Matthew Jones
2007-10-23 20:02:00 UTC
Permalink
Well, I've used TsiLang for years now, and it too does what you want well.
While each form gets a component on it, it has no other affect - you could
delete it easily if need be. I customised the code a little to make
language files encrypted, and it was quite sensible to understand. In my
app each form intercepts Ctrl-T to pop up the translation form, and the
files are redistributable to others if the translator wants.

I think the real answer is to note down what you need, try them out, then
reconsider what you need, and then decide. I originally didn't want
anything on each form, but having seen what it gave me, it was the best
solution for my purposes.

/Matthew Jones/
Lance Rasmussen
2007-10-24 00:53:44 UTC
Permalink
I have TSILang... I also picked up Sisulizer. I prefer the latter.
Post by Kevin Powick
I used Google to search this group, but only found a couple of
discussions from 2004.
Can anyone provide information on the key differences between these two
products, how well they do their jobs, and any recommendations based on
real world experience?
I have the following requirements.
1) On-the-fly language switching, and automatic at application start-up
based on locale.
2) Ability to allow a third party to create translations with a
user-friendly tool that does not require Delphi or access to source
code.
3) In some of the old posting I found, there were vague references to
one of the products doing "odd" things to dfm files. I would like to
use a product that minimizes the impact on any source files, .dfm,
.pas, and others.
4) "Fiddle factor". The less I have to "fiddle" around with the
product the better. Something like MadExcept, where you set it and
forget it is great. I don't want to run my app and be asking myself,
"Why didn't that work?". Oh, you have to "remember" to do A, B, C
first, and every time you change this, add that, etc, etc.
5) I'm not interested in using gettext for Delphi.
--
Kevin Powick
Trevor Keegan
2007-10-24 05:22:06 UTC
Permalink
Hi,

I use GetText (http://www.gnu.org/software/gettext/) it does everything that
I need and the price is great ---- FREE :-) It allows you to add new
languages for an application, as well as embedding the languages into the
application. To translate your forms generally only requires 1 line of
code, and it also allows you to exclude certain things (e.g. FieldNames,
Parameters, etc) from your translation.

There is also a free editor that you can get from http://www.poedit.net/.

Regards
Trevor Keegan
Kevin Powick
2007-10-24 15:54:59 UTC
Permalink
Post by Trevor Keegan
I use GetText (http://www.gnu.org/software/gettext/)
While I appreciate your enthusiasm for GetText, see # 5 in my original
post
--
Kevin Powick
Edwin
2007-10-24 06:39:00 UTC
Permalink
I would suggest
DKLang Localization Package
Neat, lightweight, easy to use, powerful, and FREE!
Post by Kevin Powick
I used Google to search this group, but only found a couple of
discussions from 2004.
Can anyone provide information on the key differences between these two
products, how well they do their jobs, and any recommendations based on
real world experience?
I have the following requirements.
1) On-the-fly language switching, and automatic at application start-up
based on locale.
2) Ability to allow a third party to create translations with a
user-friendly tool that does not require Delphi or access to source
code.
3) In some of the old posting I found, there were vague references to
one of the products doing "odd" things to dfm files. I would like to
use a product that minimizes the impact on any source files, .dfm,
.pas, and others.
4) "Fiddle factor". The less I have to "fiddle" around with the
product the better. Something like MadExcept, where you set it and
forget it is great. I don't want to run my app and be asking myself,
"Why didn't that work?". Oh, you have to "remember" to do A, B, C
first, and every time you change this, add that, etc, etc.
5) I'm not interested in using gettext for Delphi.
--
Kevin Powick
Kevin Powick
2007-10-24 16:00:41 UTC
Permalink
Post by Edwin
I would suggest
DKLang Localization Package
Neat, lightweight, easy to use, powerful, and FREE!
I was unaware of this one. I'll check it out.

Thanks,
--
Kevin Powick
Ivo Bauer
2007-10-24 21:06:14 UTC
Permalink
Post by Kevin Powick
Can anyone provide information on the key differences between these two
products, how well they do their jobs, and any recommendations based on
real world experience?
I don't have any experience with TsiLang product so I can't talk about
it, but I've been using Korzh Localizer for more than five years in a
row and never had a reason to look elsewhere. Great product, frequent
updates and last but not least, good technical support as well.
Post by Kevin Powick
1) On-the-fly language switching,
Supported by Localizer (Pro edition).
Post by Kevin Powick
and automatic at application start-up
based on locale.
Supported as well. As this is the default behavior, you don't need to
write any additional code to achieve this.
Post by Kevin Powick
2) Ability to allow a third party to create translations with a
user-friendly tool that does not require Delphi or access to source
code.
Supported as well. You (the developer) just supply the native language
file and a freely redistributable application named "Language Manager"
to the translator. The result of their effort is a new language file
(one per supported language) which you have to just deploy with your
application (either as stand-alone file or embedded in the executable)
- this is supported only in the Pro edition. Standard edition owners
have to generate a resource DLL from the language files and deploy
those with their applications.
Post by Kevin Powick
3) In some of the old posting I found, there were vague references to
one of the products doing "odd" things to dfm files. I would like to
use a product that minimizes the impact on any source files, .dfm,
.pas, and others.
Localizer does not touch the form files, never. Those postings you are
referring to must be related to another localization tool, I'd guess.
You can configure Localizer to automatically append the corresponding
pascal unit into "uses" clause of the DPR file, but it is optional. As
David already said, there is a feature in Localizer that allows you to
scan selected source files in your project and "extract" the string
constants from them and convert them into resource strings, but I have
to agree with David here, I would not want to do that, because
obviously there are constants that are not intented for translation.
Post by Kevin Powick
4) "Fiddle factor". The less I have to "fiddle" around with the
product the better. Something like MadExcept, where you set it and
forget it is great. I don't want to run my app and be asking myself,
"Why didn't that work?". Oh, you have to "remember" to do A, B, C
first, and every time you change this, add that, etc, etc.
The only thing you should not forget is to automatically "refresh" all
language files after you compile/build your project, otherwise you get
a mismatched texts scattered throughout your application. Fortunately,
there is a setting in the Localizer options to perform this process
automatically after each build/compile. Apart from that, it is exactly
as you say: set it and forget about it.
Post by Kevin Powick
5) I'm not interested in using gettext for Delphi.
Do I have to say Localizer <> GetText? :-)

Seriously, if you decide to go with Localizer, I'd recommend you to
get a Pro version. Apart from on-the-fly support, you can directly use
language files - no need to bother with turning them into resource
DLLs (this is done automatically and transparently each time your
application is run) and they can be (optionally) compressed which
apparently leads to a smaller setup size. And you get the full source
code as well.

Needless to say, I'm in no way associated with anyone at Korzh, apart
from being a very satisfied customer of theirs.
--
Ivo Bauer [OZM Research]
danny heijl
2007-10-24 21:42:33 UTC
Permalink
Post by Ivo Bauer
Needless to say, I'm in no way associated with anyone at Korzh, apart
from being a very satisfied customer of theirs.
Same here.

Danny
---
Kevin Powick
2007-10-25 03:55:04 UTC
Permalink
Post by Ivo Bauer
Seriously, if you decide to go with Localizer, I'd recommend you to
get a Pro version.
Ivo,

Thanks for your detailed reply.

And thank you to all that took the time to give me their thoughts on
the subject. I appreciate it.


Regards,
--
Kevin Powick
David J Taylor
2007-10-25 10:31:44 UTC
Permalink
Ivo Bauer wrote:
[]
Post by Ivo Bauer
Seriously, if you decide to go with Localizer, I'd recommend you to
get a Pro version. Apart from on-the-fly support, you can directly use
language files - no need to bother with turning them into resource
DLLs (this is done automatically and transparently each time your
application is run) and they can be (optionally) compressed which
apparently leads to a smaller setup size. And you get the full source
code as well.
Needless to say, I'm in no way associated with anyone at Korzh, apart
from being a very satisfied customer of theirs.
I second your recommendation.

David (also satisfied customer).
unknown
2007-10-25 06:58:38 UTC
Permalink
TSILang and Korzh Localizer are both good Delphi localization tools. But
that is all they are. They localize only VCL applications. Normally you also
have online help (HTML Help), some date (either DB or XML), installation
file, and web pages that need to be localized too. I recommend to use a tool
that can handle all your localization issues.

Sisulizer is such an tool. It is very easy to use and still very powerfull.
http://www.sisulizer.com

It is written in Delphi by Delphi experts and its own UI has been localized
to10 different language including all major East Asian languages.
http://www.sisulizer.com/localization/software/delphi.shtml

It supports all major 3rd party components and also translators can see
forms and menu visually.
http://www.sisulizer.com/localization/software/third-party-control-support.shtml

Very important feature is that it works 100% the way Borland/CodeGear ment
localization to be done. No 3rd party components to add. No propiertary
resource format. Everything is standard way.

Finally you can enable runtime language switch by adding only one line of
code.

Best regards,
Jaska
unknown
2007-10-25 07:47:33 UTC
Permalink
You are right about that. I just wanted to point out what it takes to
localize only UI vs. localize whole product.

Jaska
Asger Jørgensen
2007-10-25 08:56:22 UTC
Permalink
Hi Jaska

In article <47204a0b$***@newsgroups.borland.com>
"Jaakko Salmenius" <jaakko.salmenius (at) nospam gmail.com>
Post by unknown
You are right about that. I just wanted to point out what it takes to
localize only UI vs. localize whole product.
C++Builder 2007 Professional
New User Price: $899 USD

Sisulizer Professional
€1,499 discount €999 ($2050 discount $1300)

With those prices I can understand why You need to
advertise when ever You get the chance.

Get realistic please

Kind regards
Asger
unknown
2007-10-25 10:30:51 UTC
Permalink
Post by Asger Jørgensen
Get realistic please
Catalyst 6499 ?
Passolo Team 6 240 ?
Sisulizer Enterprise 1149 ?

Of cource 1149 is a lot more than 169-699 of the above Localizer and TsiLang
but they are for different purposes. Our competitors are other multiplatform
localization tools such as Catalyst and Passolo.

Best regards,
Jaska
Michael Fritz
2007-10-25 12:16:44 UTC
Permalink
Post by unknown
Catalyst 6499 ?
Passolo Team 6 240 ?
Sisulizer Enterprise 1149 ?
Of cource 1149 is a lot more than 169-699 of the above Localizer and TsiLang
but they are for different purposes. Our competitors are other multiplatform
localization tools such as Catalyst and Passolo.
So I guess I don't have many customers using Delphi in any version, right
;-) As there are lower priced alternatives available as already mentioned
in this thread.
--
cu,
Michael
Ivo Bauer
2007-10-25 07:41:12 UTC
Permalink
Post by unknown
Sisulizer is such an tool. It is very easy to use and still very powerfull.
http://www.sisulizer.com
No offense intended, but perhaps should mention that you are not
completely unbiased person, since you apparently work for Sisulizer.
--
Ivo Bauer [OZM Research]
Kevin Powick
2007-10-25 13:33:44 UTC
Permalink
Post by Ivo Bauer
Post by unknown
Sisulizer is such an tool. It is very easy to use and still very
powerfull. http://www.sisulizer.com
No offense intended, but perhaps should mention that you are not
completely unbiased person, since you apparently work for Sisulizer.
Yes, I realize that from reading their forums. It would be good to
mention.

http://www.sisulizer.com/about-us.shtml
--
Kevin Powick
unknown
2007-10-25 23:53:39 UTC
Permalink
I agree. My mistake. I posted the original from my laptop where it does not
have the auto signature. I added it.

Best regards,
Jaakko Salmenius
http://www.sisulizer.com - Three simple steps to localize
Kevin Powick
2007-10-25 13:30:26 UTC
Permalink
I recommend to use a tool that can handle all your localization
issues.
Sisulizer is such an tool. It is very easy to use and still very
powerfull. http://www.sisulizer.com
I downloaded and tried your product. It has a very nice interface, and
the Delphi examples that shipped with it worked fine, but it failed
with any of my programs.

I received various errors during the analysis phase, (stream read
errors), and anything I converted and tried to run ended up with a
corrupt .exe. These were very simple Delphi 7, single form, single
button test programs.

Also, compared to the sample Delphi exe files that shipped with the
product, my exe files generated many more "folders" of information to
be converted, much of which I really didn't understand.

Perhaps I didn't spend enough time with it, but for the price, I
expected it to be a better end-user experience.
--
Kevin Powick
unknown
2007-10-25 16:32:04 UTC
Permalink
This sounds stange. Do you use some exe packer or crypter that you use?

Can you send one of the exe to
support (at) sisulizer.fi

Best regards,
Jaska
Kevin Powick
2007-10-25 17:27:58 UTC
Permalink
Post by unknown
This sounds stange. Do you use some exe packer or crypter that you use?
No, nothing like this, but I do use MadExcept, which I believe patches
the .exe file.

There's no way I would drop using MadExcept. :-)
Post by unknown
Can you send one of the exe to
support (at) sisulizer.fi
Ok, I'll send one by the end of the (my) day (GMT -5).
--
Kevin Powick
Ivo Bauer
2007-10-25 22:53:43 UTC
Permalink
I do use MadExcept, which I believe patches the .exe file.
FWIW, I do use madExcept (v3) in my applications too, and this
wonderful tool is fully supported by Localizer for over a year; it's a
result of mutual cooperation between Mathias Rauen and the developers
at Korzh that was happening in the past. I can now easily localize
both; the madExcept strings and the assistant forms as well. The only
thing required to achieve this is to insert one line of code into your
application's DPR file.

For more information please refer to the following thread:

http://devtools.korzh.com/forums/viewtopic.php?t=109&highlight=
--
Ivo Bauer [OZM Research]
unknown
2007-10-25 23:51:40 UTC
Permalink
Hi Kevin,

Thank you for the file. The reason was MadExcept. We will make Sisulizer
compatible to that component. I once found one bug in MadRes and Mathians
was happy that I reported it so I am sure that we get help for him if
needed. Out support guys are already working on this.

The reason for the error is this. Sisulizer (as Catalyst and Passolo) work
using binary localization. It takes the original EXE, extracts the resources
(DFM + string) from the EXE and creates its own data format and WYSIWYG for
the form. Translators can then translate (e.g. edit) the project. When
translated Sisulizer makes a copy of EXE and replaces the orignal resources
with translates resources. Instead of localized EXE Sisulizer can create
resource DLL (e.g. Project1.DE).

In every case the original source is the compiled EXE that Sisulizer expects
to be in a standard for crwate by Delphi compiler. MadExcept will make this
EXE non standard (such as exe packers and crypters). As I told we will make
Sisulizer compative to MadExcept.

Best regards,
Jaakko Salmenius
http://www.sisulizer.com - Three simple steps to localize
Kevin Powick
2007-10-26 00:36:57 UTC
Permalink
Post by unknown
Thank you for the file. The reason was MadExcept. We will make
Sisulizer compatible to that component.
Nice to hear that you figured it out, and your explanation of how
Sisulizer works is quite interesting.

I may re-evaluate the product once you have it working with MadExcept.
However, what other situations might I run into where it doesn't handle
the exe correctly?

Regards,
--
Kevin Powick
unknown
2007-10-26 07:52:20 UTC
Permalink
Post by Kevin Powick
I may re-evaluate the product once you have it working with MadExcept.
However, what other situations might I run into where it doesn't handle
the exe correctly?
If you use EXE packer or crypter that make EXE file smaller or crypt them
Sisulizer can not correctly read the EXE file.
This can be avoided by specifing an unpacked or uncrypted EXE to Sisulizer
and then pack the EXE or DLL created by Sisulizer.
You can easity do that in your makefile using Sisulizer's command line tool.

1) Add orignal EXE to Sisulizer project
2) Sisulizer creates localized EXE or DLL
3) Use your packer or crypter to pack/crypt localized EXE or DLL

Best regards,
Jaakko Salmenius
http://www.sisulizer.com - Three simple steps to localize

Loading...