Precision Language Suite 2.2
=============================

Precision Language Suite is designed to support localization of applications
in Delphi development environments ("Borland Delphi 5" to "Embarcadero Delphi
/ RAD Studio XE") and in the FreePascal/Lazarus IDE.

This suite includes "Localization source codes", "Localization projects editor"
and an additional source codes for so called "Embedded localization".

Precision Language Suite allows localization of VCL component properties,
text strings and system messages. It uses a text format for localization
files - languages can therefore be easily adapted to the customer needs
even without installing a special software. Also this allows the users
to switch the language without the need of restarting the application.

Localization source codes are not implemented as a VCL components, but as
TLanguageManager class and its auxiliary methods, functions and variables.
There are more reasons for this solution, one of the key is to use
the desired language already at application startup (in the main project file).
The code usage is very simple and in addition, it is stated in the
documentation, its concrete implementation is also offered as the source code
proposals in the "Localization projects editor".

Localization projects editor is designed for convenient preparation of your
localization projects in all selected languages. It involves editing
the language texts in a table, items navigator, fast filtering and searching,
possibility to use predefined identifiers, filters and features
for localization, text replacements, evidence of your projects, and more.

Although it may be used completely independently of the development environment
(any identifiers could be entered), it offers a range of tools to increase work
efficiency, such as synchronization of language files and the development
environment source files, transfer of selected components from VCL forms into
the localization project by using the clipboard, source code proposals for
implementing the localization, etc.

An "embedded localization" feature allows you to localize your applications
directly "on the fly". You can simply click the elements in your application
and enter the captions and texts in the currently selected language.
This feature is suitable for minor corrections, as well as for a complex
localization by an external translator, or also (in the so called UserMode) for
your end users.

"Localization source codes" are distributed as a freeware, subject to
the rights and restrictions mentioned in the license agreement.
"Localization projects editor" is distributed as a shareware
(try-before-you-buy) product. "Embedded localization" feature is available
for registered users only (users that purchase the localization editor).
Read License.txt for more infomations.


What's new?
-----------
- Full support for FreePascal/Lazarus IDE
- "Microsoft Terminology Collection" (translation dictionaries)
- More formats supported for import
- New tutorials about how to localize third-party components


System requirements:
--------------------
Hardware:
  IBM compatible PC
  256 MB RAM
   17 MB free disk space

Development environments:
  Borland/CodeGear/Embarcadero Delphi (version 5 to XE)
  FreePascal/Lazarus IDE

Localization projects editor is designed for:
  Microsoft Windows 2000/XP/Vista/7


Installation of Delphi Edition:
-------------------------------
Run installer and follow the setup wizard instructions. On Windows Vista you must
allow user rights elevation to administrative rights during installation.

A portable version can be simply unpacked into desired folder.

All the source codes, documentation and examples can be found in the selected
installation folder (and its subfolders). Add the "Source" subfolder
into the Delphi Library Path and into the Dcc32.cfg file (if you use
the command-line compiler).

Localization projects editor (PrecisionLangSuite.exe) can be found
in the "Editor" subfolder.


Installation of FreePascal/Lazarus Edition:
-------------------------------------------
FreePascal/Lazarus edition is distributed as a portable (zip) archive.
It can be simply unpacked into desired folder.

All the source codes, documentation and examples can be found in the selected
installation folder (and its subfolders). Add the "Source" folder into your
Library Path, or to your project options.

Localization projects editor (PrecisionLangSuite.exe) can be found
in the "Editor" subfolder.


Change log:
-----------
- Version 2.2.4.19 (02.01.2011)

  Localization projects editor (IDE):
  * added - "Microsoft Terminology Collection" translation dictionaries
  * added - new tutorials: "Localizing DevExpress components", "Localizing BusinessSkinForm constants" a "Migration from DKLang components" (see "Help - Tutorials and examples")
  * added - support for so called external language files (these are the standard LNG files, but with a different extension, that you can normally include into your project,
              but their loading in localized application depends on the developer instead of TLanguageManager class).
              Such a files can be successfully used for localization of third-party components, that have their own localization mechanism (ie. BusinessSkinForm, DynamicSkinForm, etc.).
              This implementation is based on the work of Mr. Calin Paiusan from the Soft Consulting West Team company, www.softwestteam.ro.
  * improved - new formats supported for import: DKLang, Ini, Lists of constants (in the form of identifier=text), and LNG / LNGU internal formats
  * added - option to "commit the default values" from source files (forms, resource strings)
  * added - support for marking the language as "bi-directional"
  * improved - translation via custom dictionaries now retains an upper/lower case at the beginning of the sentence, which also applies to the accelerators (&)
  * improved - support for renaming the forms and components directly in the "Items navigagor"
  * improved - sorting the custom dictionaries menu items by alphabet
  * improved - the list of default languages for the editor has been extended by the languages that are the part of "Microsoft Terminology Collection"
  * improved - the speed of loading and saving the projects, the speed of synchronization with source codes (support for work with very large projects.)
  * fixed - importing .RC and .DRC files, that have been modified by the Delphi Translation Editor (resp. by its newer versions).
            Translation Editor saves the modified files with an original extension .RC, but converts their format to .DRC and creates an additional .RCN file
            with informations, that were originally stored in the .RC file itself. Now you can import also these modified resource files into the Precision Language Suite.

  Localization source codes:
  * added - full support for FreePascal/Lazarus IDE
  * added - TLanguageManager.BiDiMode property
  * added - TLanguageManager.ActiveFiles property, that contains a list of currently loaded language files
  * improved - "ButtonElevation" parameter for MessageDlgLM function (author of this improvement is ouiouioui, www.toutenvrac.org)
  * added - unit "xplsDKLang.pas", that contains functions for easier migration from DKLang localization components (see also "Help - Tutorials and examples - Migration from DKLang components")

  Embedded localization:
  * added - full support for FreePascal/Lazarus IDE
  * added - support for saving the changes into the compressed file format (lngz)


- Version 2.1.3.17 (17.12.2010)

  Localization projects editor (IDE):
  * added - Hungarian translation
  * added - Tags for localized items, including the support of automatic tagging. You can use the default tags ("translate", "automatically translated",
            "do not localize", "exclude from langconsts"), as well, as you can define custom tags by creating your own tag library.
  * added - Custom dictionaries for automated translation. Customizable rules and possibility to simultaneous usage with a web translation services.
            Any Precision Language Suite project can be saved as your translation dictionary (by saving it into the "Templates\Dictionaries" folder).
  * added - Resource strings localization. You can import resources from PAS, INC, DPR, RC and DRC files.
  * added - One-time import of Delphi form files (DFM), implemented as an addition to automatic synchronization of Delphi form files and pasting the components from clipboard.
  * improved - Importing multiple files at once, including auto creation of languages defined in resource files (.RC)
  * improved - Automatic synchronization of VCL files now supports also PAS, INC and DPR formats
  * added - Pre-processing and post-processing support. You can execute any defined external application before opening and after saving the project.
  * added - Support for storing the localization files in a compressed (pk-zip compatible) file format (LNGZ extension).
            This applies for saving the files into an additional locations (see the "Project options" dialog). Your source files still remain in the standard LNG format.
  * improved - Duplicate function now creates the correct sequence of indices for an "array constants" and indexed names of other items.
  * improved - Saving the custom filters for Items navigator (by clicking the magnifier icon in a text search field)
  * improved - Language file version info (author, version, etc.) is synchronized with project file info
  * improved - Opening the libraries (.plp files) for editing directly from the Precision Language Suite IDE
  * improved - Hot keys for activating the search field (Ctrl+G) and turning off the filter (Ctrl+Q) have been implemented
  * added - Option for "start editing when typing" has been added, and you can use it instead of "incremental searching".
            It starts the editing of an item immediately when you start typing, without the need of pressing the F2 key.
  * fixed - Support for relative paths of VCL files, that are included into the project
  * fixed - Unit SysUtils is now correctly included in the LangConsts.pas generated file, when indexed constants are used
  * fixed - In the generated LangConsts.pas file, long texts (greater than 255 characters) are already correctly divided
  * fixed - Texts with apostrophes (') are already generated correctly for the LangConsts.pas file

  Localization source codes:
  * added - Delphi XE support
  * added - Resource strings localization. See LangResourceStr function in plsLangMan.pas, see the LangSuiteDemo project and an Import function in the editor.
  * added - Support for loading the localization files from a compressed (pk-zip compatible) file format (LNGZ extension). This feature can be enabled by defining a conditional directive "PLS_LNGZ".
  * fixed - Methods GetLangPrimaryCode and GetLangSubCode have been updated according to the current language identifiers specification (see http://msdn.microsoft.com/en-us/library/dd318693(VS.85).aspx)
  * added - GetLangCountry method, that returns a whole language and country identifier (ie. "en-US")
  * added - {$M+} directive
  * added - Support for loading localization files encoded in UTF-8 also in older versions of Delphi (7 through 2007).
            So, for these older versions of Delphi, there is no longer need to convert the language files created in the editor into the appropriate code page of the language.


- Version 2.0.1.2 (10.06.2010)

  Embedded localization:
  * This newly added feature allows you to localize your applications
    directly "on the fly". You can simply click the elements in your
    application and enter the captions and texts in the currently selected
    language (more information can be found in the product help reference).

  Localization projects editor:
  * added - Russian localization
  * added - French localization
  * added - Translating texts using a Bing service (Microsoft Translator)
  * added - Import and Export from and to the CSV format (as a next possibility
            of using an external translator)
  * added - An option to save the language files into additional folders
            (each time the project is saved)
  * improved - Support for loading an inherited forms and components from VCL
               files, including the example of localizing the inherited forms
  * improved - Support for loading the VCL files in binary format
  * improved - Like the language files, a constants file (LangConsts.pas) is
               now backed up when you save a project
  * fixed - Support for special characters (eg Czech or symbols) when loading
            VCL files
  * fixed - Property values, which contain multiple lines of text, are now supported
            when loading the VCL files
  * fixed - Support for loading properties of a type "Items.Strings", "Items.Text",
            "Lines.Strings" and "Lines.Text" from the VCL files
  * fixed - Fatal error ("Access violation ...") in the "Replace" function
  * improved - Using "Replace" you can now also change the names of item identifiers
               (forms, components, properties)
  * fixed - In the "Find dialog" the text labels now correspond to currently selected
            interface language, even if it is changed without restarting the editor
  * and more minor improvements and fixes

  Localization source codes:
  * added - "plsDialogs.InputQueryMemoLM" (function with multiline texts support)
  * added - Routines for "embedded localization" support
  * added - New examples (embedded localization, localization from scratch,
            performance demo)
  * added - Example of localizing the inherited forms (in the product help reference)


- Version 1.0.1.83 (22.09.2009)

  * first publicly released version


Used third-party components and libraries:
------------------------------------------

Localization projects editor:

- CodeGear Delphi 2009 for Win32 Professional, http://www.embarcadero.com/
- TMS Component Pack Professional, http://www.tmssoftware.com
- VirtualTree, http://www.soft-gems.net
- Precision Language Suite for VCL, http://www.be-precision.com
- Precision VCL, http://www.be-precision.com
- PNG Components, http://www.thany.org
- THDDInfo Delphi component, http://artsoft.nm.ru, artsoft@nm.ru
- SynEdit, http://synedit.sourceforge.net/
- TmPasParser, Martin Waldenburg
- SciZip, Patrik Spanel - scilib@sendme.cz
- MSXML SDK, http://msdn.microsoft.com/en-us/library/ms760399(VS.85).aspx
- Google AJAX Language API, http://code.google.com/intl/cs/apis/ajaxlanguage/
- Bing API, http://www.bing.com/developers
- Microsoft Terminology Collection, http://www.microsoft.com/language/en-us/default.aspx
- InnoSetup, http://www.jrsoftware.org
- ISTool, http://www.istool.org/
- IcoFX, http://icofx.ro/
- Rumshot, http://www.shellscape.org/rumshot/
- Fugue Small Icons, http://www.pinvoke.com/
- Silk Icons, http://www.famfamfam.com/lab/icons/silk/
- Developers Icons, http://sekkyumu.deviantart.com/art/Developpers-Icons-63052312
- Human O2 Icons, http://schollidesign.deviantart.com/art/Human-O2-Iconset-105344123
- Oxygen Icons, http://www.oxygen-icons.org/

"Localization source codes" do not use any third-party components,
but the source code contained in the standard Delphi (resp. FPC/Lazarus)
development environment. The only one exception is an optional support
for packed file format (SciZipFile.pas).

- SciZipFile, Patrik Spanel - scilib@sendme.cz


Contact:
--------
Precision software & consulting
e-mail:  info@be-precision.com
www:     http://www.be-precision.com
support: www.be-precision.com/support
         support@be-precision.com
forum:   www.be-precision.com/forum
rss:     www.be-precision.com/rss_en.xml


========================================================
Copyright (c) 2008-2011  Precision software & consulting
All rights reserved.
