-1

I am working on a localization for a long-existing Delphi 4 application. The problem is that I cannot find unicode components for Delphi 4. I would really want to stay with Delphi 4 for several non-trivial reasons.

Somebody recommended me TNTWare Delphi Unicode Components, but they are for Delphi 6+.

Does anybody know components hat could do the trick, or a way to accomplish this without the need to create new components myself?

David Heffernan
  • 601,492
  • 42
  • 1,072
  • 1,490
adlabac
  • 416
  • 4
  • 12
  • What kind of components do you need? As per the answer [here](http://stackoverflow.com/questions/383195/handling-a-unicode-string-in-delphi-versions-2007) there is a way to handle unicode strings in Delphi, you just need to take care of proper conversions. – R-D Oct 15 '14 at 09:54
  • Common ones like TLabel, TEdit, TPanel, TListBox, TMenuItem... It's not the string handing I had in mind. – adlabac Oct 15 '14 at 10:28
  • There are other alternatives for localizing Delphi-4 applications. They can swap all text in resourcestrings in the exe-file depending on current locale. Multilizer is one tool, and there are a couple of others. – LU RD Oct 15 '14 at 12:00
  • Links to more tools, [Top 6 Localization Tools for Delphi](http://delphi.about.com/od/toppicks/tp/aatplocalize.htm), [How to translate (internationalize, localize) application?](http://stackoverflow.com/q/12311926/576719). – LU RD Oct 15 '14 at 12:09
  • 1
    Delphi 4 is arguably the second-worst version every released (with Delphi 8 probably being the worst). Why in the world would anyone ever voluntarily stay with it? – Ken White Oct 15 '14 at 13:08
  • Delphi 4 serves me well since the last century. I wrote literally hundreds of applications and it never failed me. Second worst? Never heard of that and, frankly, I don't mind even if it is. – adlabac Oct 15 '14 at 15:01
  • @LURD It sounds like the asker wants Unicode capable GUI controls rather than localization – David Heffernan Oct 15 '14 at 16:12
  • Here is a link for [TNT Unicode Controls](http://www.yunqa.de/delphi/doku.php/products/tntunicodecontrols/index) where Delphi-5 is supported. – LU RD Oct 15 '14 at 16:51
  • What other avenues would you propose could be solutions if not either using a library that already exists (one doesn't) or writing/porting a library yourself? In the case of the former, this question is off-topic because it is asking for suggestions for third-party components. In the latter case, it is also off topic because instructions for writing or porting a unicode library are far too broad for a Q/A format. David has given you the best answer you are going to get. – J... Oct 15 '14 at 20:54

1 Answers1

3

Delphi 4 is ancient. You are not going to find components that do what you need and compile on Delphi 4. Your most viable route is to start with the TNT Unicode components, and port them to Delphi 4.

David Heffernan
  • 601,492
  • 42
  • 1,072
  • 1,490
  • Yes, my application is "ancient" in terms of being 20 years in the marked, while still the leading one in its niche segment. But it's still great and more popular than ever. I tried to port the TNT Unicode source, but that turned out to be far from simple task. – adlabac Oct 15 '14 at 10:32
  • It may not be simple, but it's your best option. Other than, of course, upgrading to the latest Delphi. – David Heffernan Oct 15 '14 at 10:37
  • @adlabac - I'm not sure about your "non-trivial reasons" for not upgrading. Are they blocking you from upgrading to an older version of Delphi too? I'm actually thinking about Delphi 7. It was the most popular release of Delphi (with WideString support - TNT Unicode components, Indy component set, Kylix support etc. ). It also came out in 2002 so it supports Windows 95/98 too. (The only reason I could think of to use an old version of the dev env.) – mg30rg Oct 15 '14 at 11:13
  • 2
    @adlabac, if it really *leading* and *popular*, why dont you want to invest (either efforts or money) in it? – Free Consulting Oct 15 '14 at 11:25
  • 2
    @adlabac David didn't say your application was ancient, but that your development environment (Delphi 4) is. If it's the leading app, that's great! But you've accumulated a huge amount of technical debt by letting your development get so out of date. I'd suggest buying a copy of XE7 and upgrading to that - not only will you get Unicode, but a hugely improved IDE, lots of great new language features, new controls, access to modern libraries, etc. – David Oct 15 '14 at 11:29
  • I know what David said, I just said that my application is old as well, conserning time in the market (even from DOS era). I was thinking, of course, about moving to newer version of Delphi, but that would be my last resort. I do not need great new language features, since I will not use them (except Unicode support), at least not for this app, which is dealing with some complex math calculations. Simply said, since the Unicode is my only isue here, I would not try to fix what is not broken (and it could easily be). – adlabac Oct 15 '14 at 14:54
  • I'm not sure why you cast your first ever vote on this answer. Do you think my answer is wrong? – David Heffernan Oct 15 '14 at 15:50
  • One other suggestion: Upgrade to at least Delphi 5, and use the ITE/ETM (Integrated Translation Environment/External Translation Manager) tools provided from D5 onwards. (These were a bit buggy originally as I recall but suffice it to I/we managed to a quite satisfactory Japanese localization for an app using D7 and ITE/ETM tools bundled with Delphi about 10 years ago.) – W.Prins Oct 15 '14 at 16:23