*** This file is closed. Please see CHANGES.rst ***

3.0c1 (2008-10-04)
------------------

- Fixed major bug introduced in the kupu changes. We didn't include
  cpt pages anymore.
  [hannosch]

- Updated the table output with some styling tips from limi.
  [hannosch]

- Added a new -t option to the list command. This will output a simple
  HTML page with some colored progress bars instead of the simple text
  listing.
  [hannosch, limi]

- Ripped out the long unmaintained chart and combinedchart commands.
  Added a new list command instead, which shows the translation status
  in a simple listing.
  [hannosch]


3.0b4 (2008-04-26)
------------------

- Updated documentation.
  [hannosch]

- Fixed parsing of projects without any i18n in page templates. It is
  sufficient to have i18n in Python files or in GS profiles.
  [naro] 

- Added special handling of some more entities to please kupu.
  [hannosch]

- Applied kupu-i18nextract-sa-diff.patch from kupu to be able to rebuild
  the kupu pot files from xsl and html files.
  [hannosch]

- Normalize path separators in references to `/` on all platforms.
  [hannosch]

- Reverted undocumented c58402, which broke in presence of Unicode strings.
  [hannosch]

- Strip the computer specific base folder from generated references.
  [hannosch]

- On most errors, show the error and a very short help message,
  instead of the complete doc string of the file.
  [maurits]


3.0b3 (2007-09-01)
------------------

- Stripped some more trailing whitespace. Fixed recursive algorithm for
  i18n domain extraction.
  [hannosch]

- Fixed some bugs in the GenericSetup extraction handler. Messages defined
  on the root node will now be extracted as well. The message texts are
  stripped from beginning and trailing whitespace.
  [hannosch]


3.0b2 (2007-06-05)
------------------

- No longer replace &hellip; and &mdash; with simple ASCII equivalents, but
  use proper Unicode characters, properly representing these HTML entities.
  [hannosch]

- Fixed some minor bugs found while rebuilding the Plone pot files.
  [hannosch]

- Added basic Unicode support to the MessageCatalog class.
  [hannosch]

- Fixed comment handling in the merge command.
  [hannosch]

- Made gdchart dependency for the combinedchart command optional. Instead
  you only get a textual listing right now.
  [hannosch]

- Quote new lines in the default comment properly.
  [hannosch]

- Added support for extracting i18n:attributes from GenericSetup profiles.
  [hannosch]

- Added a new basic GenericSetup profile extractor, which automatically
  extracts messages marked with i18n:translate.
  [hannosch]

- Added back support for specifying multiple folders to be searched in the
  rebuilt-pot command.
  [hannosch]

- Added new --exclude argument to the rebuilt-pot command, which lets you
  specify a whitespace delimited list of files that should not be included
  in the message extraction.
  [hannosch]

- Added automatic replace from '&#8230;' to '...'.
  [hannosch]


3.0b1 (2007-03-01)
------------------

- Fixed bug in mixing different catalogs into one. It wouldn't respect the
  default value of messages extracted from Python code. Also don't extract
  messages from translate and utranslate functions anymore, because they
  have a different call signature.
  [hannosch]

- Whitespace fix for filename filter.
  [sunew]

- Improved the regular expression used in find_untranslated, so that it
  also matches tags beginning with capital letters.
  [kclarks]

- Removed custom TAL parser. Use the one from zope.tal.talgettext instead.
  [hannosch]

- Integrate extract.py and interfaces.py from zope.app.locales. Got rid of
  our own version of TokenEater and the whole pystrings.py file.
  [hannosch]


2.1.1 (2006-10-28)
------------------

- Use entry_points console_scripts from setuptools to install the main
  script. This should generate an executable file on Windows platforms.
  [hannosch]

- Removed some unused test files.
  [hannosch]

- Corrected the package information in the setup.py. Figured out how to
  use find_packages() with the correct arguments.
  [hannosch]


2.1 (2006-09-22)
----------------

- Refactored the package source code layout to comply to the usual best
  practices.
  [hannosch]

- Added framework classifiers to the package metadata.
  [hannosch]

- Some small refinements to setup.py. i18ndude is now registered in the
  Cheese Shop and you can get the current development version just by
  typing 'easy_install i18ndude' :)
  [hannosch] 

- Egg enabled i18ndude. The next release will be available as an egg. If you
  are in a development environment you might want to reinstall i18ndude by
  using 'python setup.py develop' instead of 'python setup.py install' now,
  so you don't have to do this whenever something changes in SVN :)
  [hannosch]

- Sorted textual output of the combinedchart option by language code.
  [hannosch]

- Clarified the 'already exists with different text' message by providing
  the location of the original text as well.
  [hannosch]

- Removed the 'Assuming rendered msgid' warning messages. These only clutter
  the logs but don't provide any real value.
  [hannosch]

- Fixed tests, so they can be run with the normal Zope testrunner.
  [hannosch]

- Disabled external namespace validation for find-untranslated so you can
  run it without network access and results in a major speed increase.
  Thx to Chuck Bearden for the patch. This closes
  http://plone.org/products/i18ndude/i18ndudetracker/1
  [hannosch, encolpe]

- Remove the 'addPortalMessage' again from the list of python functions
  whose argument should be translated. We do these with proper MessageID's
  now.
  [hannosch]

- Exclude folders named 'tests' from subfolder scanning. Page templates and
  Python code from tests shouldn't be scanned for i18n tags.
  [hannosch]

- Fix the broken admix option.
  [hannosch]

- Update the usage info to reflect the removal of the silent option.
  [hannosch, frisi]

- Fixed yet another issue regarding whitespace and provided test for it.
  [hannosch, Tuttle]

- Change output of references's containing '//' to conform to the poEdit
  format.
  [hannosch]

- Change output of msgstr's containing newline codes (\n) to conform to the
  gettext standard and specifically the poEdit format.
  [hannosch]

- Don't add fuzzy status to empty messages anymore.
  [hannosch]


2.0 (2005-10-09)
----------------

- Removed two unsupported scripts, if you have used them please tell me
  [hannosch]

- Refactored sync option into function of catalog.py and wrote test for it.
  Fixing a bug along the way and did some code cleanup.
  [hannosch]

- Added option to specify title of chart explicitly
  [hannosch]

- Added combinedchart option, which is used to build the overview charts
  on plone.org for a comprehensive view on the status of translations.
  [hannosch]

- Removed the extract literals feature. If anybody needs it, please speak up.
  [hannosch]

- Updated visualisation.py to handle new internal catalog format.
  Provided basic test for it.
  [hannosch]

- Added new feature to PTReader. For msgid's which are already in the
  catalog, check if the msgstr matches or provide an error message.
  [hannosch]

- Fixed another issue regarding missing whitespace and provided test for it
  [hannosch, Tuttle]

- POWriter generates new default comments instead of the old original
  comments. POParser automatically converts existing original comments
  (# Original: "") or Zope3-style default comments (# Default: "") at the
  reading step to new default comments (#. Default: "").

- PTReader now doesn't extracts any excerpts anymore.
  [hannosch]

- Removed the silent option on rebuilt, merge and sync completly. The
  addition of the added- and removed-sections lead to an incorrect format.
  Use a normal diff tool if you are really interessted in this information.
  [hannosch]

- PYReader now extracts the line numbers of messages and writes these at
  the end of the reference seperated with a ':'
  [hannosch]

- The catalog's add method doesn't adds duplicate references or automatic
  comments anymore. Test were updated to reflect new behaviour.
  [hannosch]

- Fixed handling of normal comments in PT- and PYReader.
  [hannosch]

- Always add a blank line as the last line on po's, as poEdit does it
  [hannosch]

- Adjusted Python parsing tests to cover the current behaviour. Added XXX
  comments where it is wrong
  [hannosch]

- Fixed an issue with an unnecessary whitespace and provided test for it
  [hannosch, Tuttle]

- Based all of catalog.py on the new MessageEntry class.
  Rewrote POWriter to use new gettext standard conform output.
  [hannosch]


1.0 (2005-09-02)
----------------

- This is the last release with old-stlye output formatting and command line
  options. The next release will be incompatible in many ways, so update
  with care.
  [hannosch]

- Cleaned up docs and removed some stale files
  [hannosch]

- untranslated.py: fixed handling of new i18n:attributes with trailing
  semicolon as introduced by myself ;) thx to xaNz for pointing me to it
  [hannosch]

- Added a new MessageEntry class to base the MessageCatalog on, added new
  default_comment constant, reformated the Changelog as HISTORY.txt
  [hannosch]

- Fixed path handling in tests and wrote tests for PYParser
  [deo]

- Adjusted tests to pass on new behaviour of 'unneeded literal msgids'
  now getting added and warning shown
  [hannosch]

- Instead of only showing a warning about 'unneeded literal msgids'
  these get added now
  [tuttle]

- move the utils.py from PloneTranslations here, Removed ## X more comments
  [hannosch]

- Preserve special ## comments, added tests for special comments,
  started PageTemplate parsing tests
  [hannosch]

- added test for po file writing and allowed filenames without excerpt
  (lines starting with #: without corresponding #. lines)
  [hannosch]

- added test infrastructure and tests for po file parsing
  [hannosch]

- Fix an issue in merge option when trying to merge two files
  [hannosch]


0.6 (2005-07-04)
----------------

- tagged and released 0.6
  [batlogg]

- pystring: add 'addPortalMessage' to the list of python functions whose
  argument should be translated. This allows to catch the new-style portal-
  messages in Plone 2.1 to be automagically extracted
  [hannosch]


0.5 (2005-06-14)
----------------

- tagged and released 0.5
  [batlogg]

- as html-entities in msgstr's are bad, don't provide them in the original
  comments. this has confused translators.
  [hannosch]

- untranslated.py: Added a new handler available through a command line
  switch, generally ignore text in script and style tags
  [hannosch]

- Fixed whitespace error in generation of #, fuzzy comments
  [hannosch]

- i18ndude now takes a second pot to merge in the merge and rebuild-pot
  commands, this is useful if you have both a manual.pot and a generated.pot
  [hannosch]

- catalog.py (MessageCatalog) added a new method addToSameFileName() which
  adds in a msgid but adds the excerpt to an existing filename occurrence
  This is used in i18ngenerator.py of PloneTranslations to add in actions
  like "Edit" as msgids and adds all types these are definied to the same
  occurrence rather than generating a new one for each type
  [hannosch]

- catalog.py (POWriter.write) takes a new argument noMoreComments that
  supresses the "## xx More..." comments
  [hannosch]

- Also fill in the Original comments when parsing i18n:attributes
  This allows for efficient handling of named i18n:attributes
  [hannosch]

- Refactored the English Translation stuff and renamed it to Original
  [hannosch]

- When syncing po-files the old and new original comments are compared and
  the msgid is set to fuzzy if these aren't the same, meaning the msgid has
  changed and needs some verification
  [hannosch]

- Added optional allcomments argument and get_original() method
  These are used in the latest PloneTranslations tests to compare
  the original value of a msgid with the msgstr
  [hannosch]

- Set chart width to 1000px. Plone has too many translations ;)
  [hannosch]

- Included a new option to scan python scripts for messages.
  Currently it looks for the _(), translate() and uranslate()
  functions. It is based on pygettext.py from Python and some
  ideas taken from Zope's extract.py.
  [hannosch]

- catalog.py (POWriter._print_entry): Added a second # to "English
  translation" lines so that those lines don't get written out twice.
  Which happens because we try to preserve comments.
  [dn]


0.4 (2005-05-08)
----------------

- Moved from cvs.sf.net to svn.plone.org. History was NOT migrated
  check http://cvs.sf.net/viewcvs.py/plone-i18n/i18ndude for older
  revisions.
  [batlogg]

- Older entries can be found in the ChangeLog.


2005-08-28 Hanno Schlichting <schlichting at bakb dot org>

	* Reformated ChangeLog as HISTORY.txt

2005-05-07 Hanno Schlichting <schlichting at bakb dot org>

	* Include msgstr in POT-file as an additional comment
	"## English translation:"

	* Fixed issue where the header information of an empty manual pot
	were not applied to the product.pot

2005-01-26  Daniel Nouri  <dpunktnpunkt at web.de>

	* common.py (prepare_xml): Applied patch by Roel van der Steen.
	(#982527)

2004-01-14  Daniel Nouri  <daniel@con-fuse.org>

	* catalog.py (PTReader._make_msgstr): Include msgstr in POT-file.

	* i18ndude.py (filter_isfile): Now accepts directories on command-line.

2003-12-20  Daniel Nouri  <daniel.nouri@con-fuse.org>

	* untranslated.py (_severity): Improved namespace awareness.

2003-12-12  Daniel Nouri  <daniel.nouri@con-fuse.org>

	* i18ndude.py: Added extract-literals and filter commands.

	* catalog.py: MessageCatalog uses an ordered dictionary now. POWriter
	can now write ids in the order of the source's appearance.

	* odict.py: Ordered dictionary implementation.

2003-11-07  Daniel Nouri  <daniel@con-fuse.org>

	* i18ndude.py: Some renaming and added --create option for
	'rebuild-pot' command.

2003-11-03 Daniel Nouri  <daniel.nouri@con-fuse.org>

	* catalog.py: Added update-pot command. It needs heavy testing now!

2003-11-03 Daniel Nouri  <daniel.nouri@con-fuse.org>

	* i18ndude.py: i18ndude now knows 'find-untranslated' (which used to be
	the only action in the versions before), 'update-pot' (not done) and
	'sync' commands. For a usage summary see "i18ndude --help".

	Note that 'sync' has only been tested sparsely. Please report any bugs
	or suggestions that you might have. When writing out the .po- file,
	sync orders entries by msgid, where 'literal' msgids come last.
	Therefore it is not possible to keep up with comments that are of
	chronological nature. ERASE THESE from the pot.

	I feel :( and *ugh* about the fact that there are actually two other
	projects that also aim to provide po-convenience. Sorry for the
	headbutt.

	* untranslated.py: Added. The contents were part of i18ndude.py before.

	* catalog.py: Added. Contains classes MessageCatalog, POParser,
	POWriter. PTReader, for reading from pts into a MessageCatalog is yet
	to be implemented. (See docstrings)

2003-10-20  Daniel Nouri  <daniel@tijuana>

	* i18ndude.py (SilentHandler.endDocument): SilentHandler does not
	mention parsed documents that had no errors or warnings anymore.

2003-10-11  Daniel Nouri  <daniel.nouri@con-fuse.org>

	* i18ndude.py: Applied patch from Jeroen Janssen, fixing a Python2.3
	related bug.

2003-10-03  Daniel Nouri  <daniel.nouri@con-fuse.org>

	* i18ndude.py: Now has a --silent mode (use it as the first argument)
	so that it reports a summary only.

2003-10-01 22:42  Daniel Nouri <daniel.nouri@con-fuse.org>

    * i18ndude.py: Comments marked by tal:condition="nothing" are now ignored.

2003-09-21 17:01  batlogg

    * ChangeLog: created, added misc files, please maintain README,...
