1.0 - 2004-11-25

    Set MessageCatalog isPrincipiaFolderish to false to avoid infinite
    recursion of dtml-tree inside the ZMI.  

1.0-rc8 - 2004-07-10

    This version is no longer a fork, but is the official version now. 
    Thanks to Lalo Martins for his tireless efforts in writing the 
    original product.

    Disabled usage of SESSION

    Re-enabled .missing logging

    Added documentation section, including details of how to use
    .missing logging to generate .pot files

1.0fork-rc7 - 2004-05-11

    Reenabled getRequest patch to avoid some ugly problems

1.0fork-rc6 - 2004-05-05

    Cleaned up all python files, realigend the code and removed spaces

1.0fork-rc5 - 2004-04-22

    Changed logging to get use the methods and vars from utils.py

    Cleaned up the imports an seperate them into python, zope and PTS imports

    Removed the dependency and auto loading of the get_request patch. Now it's
    loaded only when using the MessageID module, when applying unicode to
    FasterStringIO (shouldn't happen!) or as fallback when PTS can't get a valid
    context (REQUEST).
    The last two cases will break the first time after a (re)start of zope. If
    your software depends on get_request() apply the patch manually::

        from Products.PlacelessTranslationService.PatchStringIO import applyRequestPatch
        applyRequestPatch()

    NOTE: FOR THIS RELEAE THE get_request PATCH IS ENABLED BY DEFAULT!

    Better debugging message for PoSyntaxErrors

1.0fork-rc4 - 2004-04-05

    Changed po file id creation:
     - id is MyProducts.i18n-pofile or MyProducts.locales-pofile 
       for po files loaded from a product directory
     - id is GlobalCatalogs-pofile for po files loaded from
       INSTANCE_HOME/i18n/
    
    Always append fallback catalogs to the catalogs
    used for translation

    Support INSTANCE_HOME/locales/
    
    Move GlobalCatalogs from INSTANCE_HOME/i18n/ and
    INSTANCE_HOME/locales/ to the beginning of the
    catalogs used for translation

    Cache catalog names in the REQUEST using the domain and language as key

1.0fork-rc3 - 2004-03-09

    Added a product identifier to the control panel catalog id
    to allow same po filenames in different locations:
      - Catalog its are now like Products.CMFPlone.i18n.plone-de.po
      - Catalogs not coming from a Product (eg from INSTANCE_HOME)
        are named like before (plone-de.po)
 
    fixed collector issue #910529
    thanks to Nicolas Ledez for the report and the patch

1.0fork-rc2 - 2004-03-01

    Fixed bug in FasterStringIO that added new lines to the output

    Added zope 3 like locales directory support:
      Products/MyProduct/locales/${lang}/LC_MESSAGES/${domain}.po

1.0fork-rc1 - 2004-02-11

    Fixed minors problems with python 2.1 compatibility

1.0fork-beta5 - 2004-02-03

    Added utranslate method

    Added negotiator chains and two new easy negotiators

    Added zope 3 like MessageID and MessageIDFactory

    Updated API and cleaned up code:
      - added security to classes
      - moved some classes to utils.py to avoid method level imports
      - added getTranslationService() method to get the PTS instance
        in other products

1.0fork-beta4 - 2004-01-28

    Read all files with "rb" in msgfmt.py

    Display broken Message Catalogs in ControlPanel as "broken"

    Synced with these latest PTS changes from savannah:
      - added as_unicode argument to translate
      - cleaned up msgfmt.py

1.0fork-beta3 - 2004-01-07

    Added a builtin mo compiler based on the msgfmt tool from the python source
    package. No need to compile the po files to mo files. Thanks to
    Christian 'Tiran' Heimes <ch@comlounge.net>

    No longer load mo files on startup. Catalogs are automatically compiled.

1.0fork-beta2 - 2003-11-24

    No longer register a persistent service to zope translation
    service registry. Instead wrap PTS with a non persistent class

    Added a de (German) translation for PTS ZMI

    Reimplemented hook to register own negotiaton method into 
    Negotiator which was stripped out in 1.0beta1 (now works
    with PloneLanguageTool again)

    Python 2.1 compatibility

1.0beta1 - 2003-10-??

    Internationalized our own page templates (for ZMI) and added a
    pt_BR translation

    Generalized the Negotiator so that it may negotiate any header in
    the "accept" format

1.0alpha2 - 2003-09-26

    Some primitive DTML support

    Fixed persistence issues that were arising from having the same
    object stored in the ZODB and in a module-level global var (thanks
    to Sidnei)

1.0alpha1 - 2003-08-27

    Removed dependency from PAX

    Now PTS looks for an "i18n" subdirectory under each Product
    package, which makes it easier to package/install i18n-aware
    products.  The i18n dir on INSTANCE_HOME is still kept, you can
    use it for local overrides

    Improvements on the ZMI usability

0.5 - 2003-03-31

    Now we have a ZMI (Zope Management Interface) in Zope's Control
    Panel.  You can use it to refresh catalogs without restarting, and
    to test installed catalogs

    Some functions at module-level are exported for use in Python
    Scripts and Page Templates (Open or Z): negotiate(), translate(),
    getLanguages(), getLanguageName()

    Added a "hotfix" to StringIO that should make PTS work with ZPT
    without UnicodeError being raised constantly

0.4 - 2003-02-03

    Relicensed to GPL

    Now it really works with ZPT (thoroughly tested)

    If used with OpenPT, it will use the output encoding negotiation
    hooks

    Negotiator now uses a cache (stored in the request) to speed
    things up

    Can now use multiple catalogs for the same domain (but the order
    in which they are checked is a bit randomic)

    Special thanks to Magnus Heino for the ZPT support hints and
    patches

0.3 - 2003-01-02

  This release marked the split of PlacelessTranslationService into
  its own package, and the initial attempts at making it compatible
  with ZPT.

0.2 - 2002-09-22

  Updated release

0.1 - 2002-08-24

  Initial release
