TAlLanguagesStore
  TAlLanguager

  ************
  (C) 1999 Aldo Ghigliano aldog@ivg.it aldo.ghigliano@iname.com
           Portions (C) RxLib, AO ROSNO, Master-Bank
  This is freeware, and "As Is", but:
  - if you modify this unit, you have to mail to me all modifications,
    and to obtain my acknowledgment before to distribute them;
  - gift (may be 5$, enclose it in a sheet, then in an envelope, and 
    send to Ghigliano Aldo - Viale Riviera 82 - 17027 Pietra Ligure 
    - Italy) are well accepted;
  WARNING
  Aldo Ghigliano is not responsable of anything happens using this unit.
  Use it at your own risk
  1.01

  ************
  PURPOSE:
      Localization (language translation) of forms for large projects
    by automatically using conditional compiler directives (ifdef..endif).
  PLATFORMS:
      Delphi3. Maybe 4.
  NEEDS:
      Rx Lib of MasterBank. You can download it from DSP.
  CREDITS:
      I have the idea after I have see TVCLlocalizer by
    Markus Stephany mailto:mirbir.st@t-online.de
  INSTALLATION:
      Do "Component >Install Component" of uAlLangs.pas, and insert in
    the package you wants, as usual.
  USAGE:
      To localize your project:
      1)Put an AlLanguagesStore to mainform of your project, and set
    LanguagesPasUnit='c:\yourProjectPath\YourLocFormsUnit.pas'.
    This file don't need to exists.
    Set also the DefaultLang (eng is the predefined), and put a list
    of the defines you will use in conditional compilation in
    LanguagesDefines property.
      2)Put an AlLanguager in any forms of your project.
      3)Add in the OnCreate event handler of every form, the code
    you can see in the demo.
      4)Last, link these AlLanguager to AlLanguagesStore.
      If you change something in a form, simply double-click on the
    AlLanguager to update strings in the default language.
      To translate, open 'c:\yourProjectPath\YourLocFormsUnit.pas',
    and simply edit.
      See directory demo for a simple example on how to set project
    options to conditional compile the project in the language you
    want. In the demo, projIta.dpr runs italian, projEng.dpr runs
    english. They share same units.
    Language is defined at compilation, thus:
      -executable size is lower
      -you can localize also other program messages by "ifdef"s
       (but use another '.pas' unit to avoid problems)
      -only one language is available at runtime
      Note you can use many AlLanguagesStore as you want; this is useful
    if for example your program has different versions (i.e. "Standard"
    edition "Educational",...) that shares some units, and some others not.

NOTE
 - the unit uAlLangs is not planned to be self-localized... to avoid
   confusion :)
 - let me know your suggestions / bug reports
 Enjoy.
 Al
 (aldog@ivg.it)

NEW IN 1.01 FROM 1.0
 - little enhancement. now writes components properties in .pas
   localization files in lowercase.
   (sorry, a little incompatible with 1.0, but more affordable!)