****************
DPS Lang v.1.06b
****************

======================
A. GENERAL INFORMATION
======================

This document contains information about "DPS Lang", an alternative to Delphi's
ITE. Its highlights are:

1) This ITE is fully compatible with Borland's localization approach: it ends up
   generating a separate resource DLL for each language, using the language code
   as its extension (for instance, ENU for American English)

2) It is extremely TeamSource-friendly: it uses only one file for storing all
   translations (even when using more than one foreign language)

3) It doesn't generate any subfolder with forms or other resource files. This
   again eliminates version-control issues. In short, *ALL*  translation
   information (including preferences) is stored in a single file.

4) Allows the use of multiple repositories. This is specially useful when you
   want to keep your translations organized (for instance, keeping utils
   separated from other project group stuff)

5) Repositories can be categorized just as any regular project. In other words,
   repositories can contain forms, resourcestrings, and other stuff.
   Repositories are not just a bunch of translated strings, because each
   translated item conserves its identifier.

6) As a result of the previous item, this ITE will automatically detect when you
   change strings in a form or resourcestring that already have a translation in
   a repository, and allow you to keep your repositories synchronized.

7) It also detects "changed" items: those that have changed (in the native
   language) so that you can update both your project and your repositories. The
   same happens with "unused" items.

8) Allows the use of filters to hide undesired properties. For instance, you can
   direct the ITE to ignore properties ending with ".ConnectionString",
   ".TableName", etc. so that the ITE shows only meaningful items.

9) Form previews are much more complete than in Delphi's ITE: you can preview
   MdiChild forms, forms linked to other Forms or Data Modules, Forms with
   frames, inherited forms, inherited frames and any combination of them.

10) It allows concurrent use on the same projects and repositories. For example,
	two or more people can concurrently work on the same project sharing the
	same repositories.

11) As is the case with Delphi, an external executable is provided to be given
	to external translators. However, the nice point is you only have to provide
	external translators with this exe and the translation file (remember: just
	one file!) which makes it much easier than having to send the rc file and
	all the forms as is the case with Delphi's ITE. See DPSLangX.txt for more
	info.

12) I'll soon provide import capabilities to allow you to import your existing
    ITE projects


==============
B. LIMITATIONS
==============

As of this release, the following limitations exist:

1) No source code is disclosed for the moment. This package uses a couple of
   things I use for commercial purposes, which therefore can't be disclosed. I'm
   trying to find a way to encapsulate those things in a separate design-time
   package so that the rest of the source code can be distributed freely. Any
   suggestions are welcome.


===============
C. INSTALLATION
===============

In order to install this package, simply do as you would with any other package.
Copy "DPSLang.BPL" (here included) to any folder you like (for instance, it
could be "C:\Program Files\Borland\Delphi6\Projects\Bpl")and then go to the
"Component" menu, choose "Install Package" and then click the "Add" button.
Select the file you've just copied and that's it.
A new menu item will appear in Delphi's IDE under the "Project" menu. This
item's name is "DPS Language".
As of the External Translation Tool (DPSLangX.exe), please see DPSLangX.txt for
more information.


=================
D. USING DPS LANG
=================
In order to use DPS Lang, select the "DPS Language" menu (under the IDE's
"Project" menu). You have four sub-menus:

1) "Translation Editor": This item will bring up the Translation Editor Window.
   You'll use this option whenever you want to translate strings.
2) "Set Active Language": This item will allow you to change the active
   language. The next time you run your application, you'll be using the
   selected language.
3) "Rebuild language libraries": This option re-compiles all your language
   libraries. Use it when you want your language files to be refreshed, prior to
   releasing your software.
4) "Configure": this option will allow you to define the set of languages you
   want to use for internationalization. You can add or remove foreign languages
   by using this option.
5) DPS Lang will automatically detect older database files (those with a ".int"
   extension) and update them.


=========
E. RIGHTS
=========

This software can be distributed freely and used free of charge either for
non-profit or commercial purposes. All I ask is feedback so that I can improve
it over time. I'm not including source code for the moment (see previous
paragraphs), but if I did, any kind of modification would be allowed as long as
I'm notified.
I'm contributing this piece of software as a way to both return a favor to the
overall Delphi community and also to get some feedback to improve this product
which of course is a useful tool for me and my team of developers.


Please contact me by e-mail at: ddemarco@dpsautomation.com


Enjoy and good luck!

