IniLang v0.9
Freeware unit for Delphi 4 projects, provided  'As Is'

IniLang can help you to build at design-time, in a single pass, a .ini file
filled with all properties and messages you have to localize for a
multilingual distribution based on ini files.
Useful for large projects including many forms and lot 
of messages (and, you know, a little project grows very quickly!).
At run-time, allows you to change your interface localization 'on the fly',
as long as you translated the .ini file created with IniLang in as many 
languages you want to be available. But, that's the only ::)))) job you have
to do by yourself.

************
IniLang provides 3 functions and 2 procedures :

function loadIni(nom:string):TMemIniFile;overload;
function loadIni(ID:integer):TMemIniFile;overload;
Load the language iniFile you want either with a string or an integer parameter

procedure fillCustomIni;
Writes in your project directory the 'Custom.ini' file which contains all the
strings you will have to translate later in as many different language you want.
Includes automatically caption, lines (of TMemo and TRichEdit components), 
hints, items (of TRadioGroup and TComboBox components) string values.
You are able to exclude a single component by prefixing its name with the 'out'
keyword (eg outLabel8:TLabel).
Also includes automatically all string values declared in 'const' or 'resourcestring'
sections.

procedure fillProps(TC:array of TComponent;ini:TMemIniFile);
Translates all the strings of the forms passed in the array parameter in the language 
of the specified ini file.

function misc(VAL,KEY:string):string;
Translates a property whose name changes dynamically in run-time or a message
you have to send to the end-user.

**************

I wrote that unit because the components or units written by Serge Sushko,
Aldo Ghigliano or Jos Maria Gas didn't exactly do what I needed  (ie less
work as possible!), but their ideas and their code helped me several times 
to turn off some problems. So, thanks to all of them, they have their part in
that work.

Finally, please, read commentaries before use. Then try, there is no danger !
If you use and improve this unit, just send me a copy if possible. Thanks. 

Frdric Sigonneau <aFas member> 24/04/1999
e-mail : frederic.sigonneau@wanadoo.fr