	LANGUAGE.EXE, a simple language selection system V0.1
	by Juan M. Caravaca Bota 2.001
	bitrider@wanadoo.es
	
	First of all, sorry for my (bad) english.	
	
	-------
	License
	-------

	This program is TOTALLY free.

	Feel free to modify it, distribute it or use it alone or with any
	other program. It would be nice if you mention me anywhere.

	----------
	Disclaimer
	----------

	Use this program at your own risk. I will not be responsible of
	any damage caused by the use of this program under any situation.

	-----------
	Description
	-----------

	This program is a simple adaptation from a DLL I developed for a
	program I'm currently developing.

	This program was born from the need of having an easy way for 
	user to localize a program without the need of knowing anything 
	about programming. 

	Later I realized it could be used to localize NSIS
	installations at run time (if the guys from NULL soft are so nice
	to make a few changes to their installer, if you see this proggy
	in the next NSIS distribution it's they're cool enough).

	Why to make an installation for each language under which you 
	want to distribute your program. Why not simply include into the
	installation a file for each language you want to support, then
	the installation program will ask user to choose a language from
	the ones included (being selected by default the language that
	matches with the user system, if it is included in the packages
	or english language otherwise). 

	-----
	Usage
	-----

	Write your language description files, place them into a directory
	called LANG in the same directory where LANGUAGE.EXE is, execute
	LANGUAGE.EXE.

	When LANGUAGE.EXE ends it will copy the LANGUAGE.* file correspon-
	ding to the selected language to the same directory where 
	LANGUAGE.EXE is, and will rename it to LANGUAGE.INI.

	Now the only thing you should do is to load the required strings
	into your program.  
	
	---------
	Internals
	---------

	LANGUAGE.EXE will use LanguageID (see next chapter) to choose the
	default language (the language that will be selected at the begining)
	
	LANGUAGE.EXE will try to choose default language in the following
	order:

		1st  The language wich LanguageID does match user's system
		     language ID provided by Windows.

		2nd  The language wich primary LanguageID does match user's
		     system primary language ID. Example if user's language
		     ID correspond to Mexican but Mexican language descrip-
		     tion file isn't found it and exists an Spanish language
		     description file it will be used instead as default
		     language (I've said spanish, but it can be argetinan,
		     bolivian, or any other spanish-alike language). The
		     same will happen with English (England), English 
		     (American) and English (Australian), they all do share
		     the same Primary Language ID (English).

		3nd  If the above does fail LANGUAGE.EXE will choose as 
		     default language any English alike language. (In next
		     releases it could be changed to be definable throw
		     command-line).

	--------------------------------
	Language Description File format
	--------------------------------

	I thinked it should be an easy task to write a new language 
	file, without the need of hard to understand programs. Well,
	what is easiest than a Windows INI file, it can be written 
	with a simple text editor, such as Windows Notepad.

	Language description files (so I call files conntaining	laguage 
	strings) are INI files with a fixed structure.
	 	
	Every language description file must be named LANGUAGE.*, where
	* is any number of Windows-file-allowed-characters. It isn't a
	must but I recomend to use something related to the descripted
	language, for example es (LANGUAGE.ES) for spanish, en (LANGUAGE.EN)
	and so on.

	All description files (LANGUAGE.*) that are wanted to appear
	in the language selection dialog mustbe placed into a subfolder
	(subdirectory) under the same directory (folder) where LANGUAGE.EXE
	is.   

	Every LANGUAGE.* file should contain the following block:

	; ----- Block begining

	[Description]    	   <-- a section header called 'Description'
	LanguageName="English"	   <-- The language name that will apear in
				       in the selection dialog	
	LanguageID=2057   	   <-- Decimal language ID (see LangID.DOC)
	Caption="Choose language"  <-- Language selection dialog title
	CancelBtnCaption="Cancel"  <-- Cancel button text 
	OKBtnCaption="OK"	   <-- Ok button text
	
	; ----- Block end

	It isn't mandatory to put double quotes delimiting strings, but it
	doesn't hurt anybody.
	
	Any other key or section included into the file will not be used
	in any way by the program, so you can create a section or more 
	containing installation strings.

	You will find in LangID.DOC a list of every languageID supported
	by Windows, it's simply a rip from Windows SDK Help. Be careful,
	include the more exact ID corresponding to the language you are
	describing or LANGUAGE.EXE can get mess. 

	Note: LanguageIDs in LangID.DOC are in Hexadecimal notation, you 
	must convert it to decimal in order to use into language description
	files. I have no time to covert them one by one.	

	--------------
	How to compile
	--------------

	Well, it's programmed in C with the great free C compiler Lcc-Win32
	by Jacob Navia. I think it's all ANSI C but I'm not sure, it should
	be compilable with MS VisualC++, MingWin or CygWin, but I haven't 
	tested it yet. 				