41 thoughts on “Have any of you used this translation package?

  1. Years ago, I used Tsilang, and found it very well done. I remember seeing good reports from users of localizer, as well as from those using Sisulizer. I don’t recall, from those days, hearing of any significant negative issues with any of them.

  2. Lars Fosdal Meanwhile any annoyances are covered with some self written utilities.

    The language files are stored in source control in XML format using a command line converter. The built-in XML import/export turned out to leave out some internal stuff so I wrote one by myself that covers 100%.

    I have several related projects driven by a common set of language files where the syncing is also done automatically.

    Actually I found no stock solution being perfect, but Localizer comes with full source and lets you fix all the glitches. Now, with all the tools at hand and working smoothly, I am not very inclined to switch to some other product.

    If you have some concrete questions please feel free to contact me directly at uwe-at-uweraabe-dot-de.

  3. Used Multilizer, switched to Sisulizer years ago and never looked back. Gregor Steinweg might know something about the little annoyances though 😉

    Featurewise Localizer looks similar to Sisulizer (and Multilizer). The tools and the automation make the difference though.

  4. Edwin Yip Before settling with Localizer I tried several other solutions. To that time (and that is a couple of years ago when DKLang and Sisulizer simply didn’t exist) Localizer had the smallest impact (only one uses reference in the DPR), worked straight out of the box (no source code changes, no additional components) and came with full source code (including the IDE expert and the Language Manager). With the above mentioned tweaks it works reliably and without problems since then. As I have a lifetime license any other solution (even a free one) will cost me a lot of work to switch (projects, build system, editing translations). Thus the question for me is not “What is missing”, but “What is significantly better?”.

  5. Uwe Raabe Thanks for the info, same situation here – I’ve been using Dk Lang for years and it does everything I need, except the ability to scan and generate constants from project source. It also has some minor flaws and it’s open source so I tweaked it myself. So as you said, switching to another solution will cost a lot without significant gaining.

  6. shlomo abuisak I’m using DKLang 4.x, since the rewritten new 5.X requires XE5 or above. But maybe I’m wrong, where’s the entry point of the function? I’m thinking of an IDE function that will scan a unit or the entire project for all constants and put them into my *.dkl_const.res file. Thanks.

  7. Edwin Yip although i use modern Delphi i have dklang on Delphi 7

    with old projects and still active. The ver i have is dktraned-3.0-LangSrc.zip.

    And to the point open project menu near the bottom “edit project constants…”

    P.S on Delphi XE newer component the same. Constants are included

  8. Edwin Yip I am not aware of this program but using dklang without

    changing the hard coded string. My software is English . Never hard code in another language. Unless i will always use the program ONLY in my country. So do not see the point why translate the hard coded strings?

  9. Edwin Yip On second thought what you mite be looking for is an AUTO translate for strings. May be DKlang+Google.

    Since what i do with DKlang it to use a person that knows both languages and translate one string at a time. But since *.lng is text file

    you can put it in google translate. But still a person with mother tong

    language has to modify.

  10. shlomo abuisak Although not sure either, it may be the request for a functionality that extracts all hard coded strings from a program and makes them translatable. For the questioned Localizer such function is a menu item named “Extract hardcoded strings” and it replaces the selected string literals with resourcestrings. There are a couple of other IDE plugins (f.i. MMX) that also offer this functionality. Even the Refactor menu of the IDE itself offers this when a string literal is selected in the editor.

  11. shlomo abuisak Re “So do not see the point why translate the hard coded strings?”, let’s assume an old project contains a lot of strings like `MessageBox(‘Are you sure?’)`, The ‘Are you sure?’ hard-coded string is what one might want DK Lang to handle automatically.

  12. Edwin Yip Yes i am sure since i am using it many but many years.

    This is from the demo Constants_FireMonkey_Desktop (GERMAN)


    Author=Dmitry Kann



    Generator=DKLang Translation Editor v2.1

    LastModified=2004-09-26 00:17:03



    00000002=Das ist eine Beispielmitteilung.



    STestMessage=Oops, Sie bet?tigten die Testschaltfl?che! <<<< this line comes from in the source

    DKLangConstW(‘SMessageCaption’) + ‘: ‘ + DKLangConstW(‘STestMessage’));

    DKLangConstW <<< this what dose the trick.

    In the program menu last line scan the source for ANY changes include the constants if you have this DKLangConstW !!!!

    And the line before the end give you MORE OPTIONS to edit the constants

  13. shlomo abuisak We are not talking about the same thing, I also have been using the functionality you showed for many years 😉 To try again, I’m talking about functionality to be executed *in design time* by the IDE, to parse my .pas source files, find and extract any strings, and selectively put them in the [$CONSTANTS] section you mentioned. Actually that’s exactly what Uwe described above…

  14. You are close. DKLangConstW is what we need, in order to read translation strings from the language files. But why the constants exist? With the current implementation of DKLang you have to enter them via the “DKLang – Edit project constants” menu, right? There is currently no second way, right? What I’m talking about is a second way, which is already described above…

  15. Edwin Yip OOPS it seem i did not use it for a wile. You are right.

    So all is needed is a small program to scan (pars) for DKLangConstW in the pas and add it to the *.lng file. I thought the constants are updated too.

Leave a Reply to Edwin YipCancel reply