[Changes for 0.64 - 2007-05-28]

* Locale::Maketext::Extract: Extraction wasn't able to deal with escaped
  quotes within single- and double-quoted strings.  (Bump version to 0.22.)
  Contributed by: Matthew O'Connor

[Changes for 0.63 - 2007-02-07]

* Locale::Maketext::Lexicon used to generated mysteriouse error "next at ..."
  instead of skipping the locale, when the requested .po file does not exist.
  Contributed by: Ruslan U. Zakirov

[Changes for 0.62 - 2006-06-15]

* For the longest time, direct import of Locale::Maketext::Lexicon
  from within localization classes (such as MyApp::I18N::zh_tw) was
  untested and broken.  It now works the way described in the SYNOPSIS
  section of the Locale::Maketext::Lexicon documentation.
  Contributed by: Yann Kerherve

[Changes for 0.61 - 2006-04-27]

* LICENSING CHANGE: This compilation and all individual files in it
  are now under the permissive "MIT" license.  See the COPYRIGHT
  section in README for the new terms.

* Repair Perl 5.005 compatibility in the build system.
  Reported By: Rong-En Fan

[Changes for 0.60 - 2006-04-13]

* Locale::Maketext::Extract: Bump version to 0.20.
  No functionality changes to Locale::Maketext::Lexicon; all changes
  in this release are to Locale::Maketext::Extract.

* The ->compile call now moves ->entries into ->compiled_entries,
  instead of mutating them in-place.  This allows repeated cycles
  of ->extract/->compile calls before the final ->write_po.

* Consequently, in the ->read_po/->write_po API, the "$verbatim" flag
  is now ignored.

* ->read_po no longer fails on empty PO files.

* The return values of ->msgids/->msgstr are now always in gettext
  style and never in maketext style.

* In xgettext.pl, the -u flag (specifies the style of the source
  programs as gettext instead of the default maketext) now has nothing
  to do with output escaping.  This closes another long-standing
  bug of "vanishing backslashes" when the same .po file is written
  once with -u and once without.

* The --unescaped flag to "xgettext.pl" is deprecated and renamed
  to the more appropriate "--use-gettext-style".

* Locale::Maketext::Extract::Run now accepts single-letter directory
  names instead of erroneously stripping them out.

[Changes for 0.58 - 2006-04-13]

* Locale::Maketext::Extract: Direct calls to ->write_po now
  escapes the msg strings by default (reverting to <=0.54
  behaviour), but calls via xgettext.pl (and ::Extract::Run)
  now always specify the "verbatim" flag to ->write_po, so
  users of extraction tools are still free from double escaping.
  Requested by: Thierry Vignaud

* Locale::Maketext::Extract: Allow the "# loc" marker at the
  end of a statement:
    say "foo"; # loc
  previously it only worked on closing brackets and commas.

* Locale::Maketext::Lexicon: The "gettext" style no longer parses
  "%0" as a variable.  Also allows spaces between function arguments:
    %quant(%1, %2)

[Changes for 0.57 - 2006-04-11]

* Locale::Maketext::Locale: The "_style => 'gettext'" option was
  broken for function forms such as "%quant(%1)", as well as
  adjacent variables such as "%1%2%3".

[Changes for 0.56 - 2006-04-02]

* Locale::Maketext::Lexicon: Specifying the new "_auto => 1" option
  now turns on _AUTO fallback handling for all language handles.
  Requested by: Jesse Vincent

* Locale::Maketext::Lexicon: Specifying the new "_style => 'gettext'"
  option makes "%1" and "%quant(%1)" to be used for interpolation,
  instead of "[_1]" and "[quant,_1]".

[Changes for 0.55 - 2006-03-22]

* Locale::Maketext::Extract: Fix a long-standing bug that caused
  double-escaping of backslashes and double quotes in loc strings.
  Contributed by: Brian Cassidy

[Changes for 0.54 - 2006-03-14]

* When importing into an already defined lexicon and merging with its
  entries, we need to clear the Locale::Maketext cache, otherwise
  _AUTO entries generated by the old lexicon will linger around.
  Contributed by: Helmut Lichtenberg

[Changes for 0.53 - 2005-12-05]

* Make xgettext.pl work with poEdit by not trying to read from empty
  .po files.  Patch from Brian Cassidy.

[Changes for 0.52 - 2005-12-04]

* Christian Hansen pointed out 0.51's fix was bass ackwards.

[Changes for 0.51 - 2005-12-03]

* Locale::Maketext::Extract::Run's use of File::Find::find with
  (follow => 1) may break on systems without symbolic links.
  Reported by Brian Cassidy.

[Changes for 0.50 - 2005-11-04]

* Per suggestion from Sava Chankov, add the (quite outdated) webl10n
  articles to docs/ directory.

Patches from Mikael Sennerholm:

* Added "localize" and "localise" to the list of recognized L10N
  functions in Locale::Maketext::Extract.

* Skip .svn directories in Locale::Maketext::Extract::Run.

[Changes for 0.49 - 2005-04-13]

* Stephen Quinney notes that we are too eager to die on nonexisting
  files passed in as part of a lexicon_get_() source.  We now silently
  ignore nonexistant files, only reporting error when it exists but
  cannot be read or parsed.

[Changes for 0.48 - 2005-03-12]

Patches from Thierry Vignaud:

* In Gettext.pm, do not silently skip last entry of a catalog.

* In Extract.pm, do not silently skip first entry of a catalog
  if there's only one empty line tween header and first real message.

[Changes for 0.47 - 2005-02-03]

* EXISTS in Locale::Maketext::Lexicon has the potential to trigger deep
  recursion.  Reported by Wei-Hon Chen.

[Changes for 0.46 - 2004-12-16]

* Patch from Thierry Vignaud: Add a "_allow_empty" option to the
  Gettext backend, to allow empty strings with 

* Harmen suggested a doc patch to better document the _AUTO key
  for allowing empty or missing keys.

* Changed all ::L10N to ::I18N in examples, to agree with the de
  facto community standard.

[Changes for 0.45 - 2004-10-26]

* Fix decoding problem on Big5 containing "]", as reported by Jiing Deng.

* For \*DATA calls, we can get the 'main' package from $0, skip tracing the
  caller chain.

[Changes for 0.44 - 2004-09-25]

* Fixed a regression from 0.43 that prevented %*(...) interpolations.

* Remove RCS headers from source files..

[Changes for 0.43 - 2004-09-24]

* Fix decoding problem on Big5 containing "\".

[Changes for 0.42 - 2004-08-25]

* Devel::DProf did not like the closure-based delay loading mechanism;
  rewrite using OO-based promises instead.

[Changes for 0.41 - 2004-08-24]

* Delayed loading of lexicons now repects the original options.

* Delay actualization of lexicon parsing until the first use.
  (Suggested by Jesse Vincent)

[Changes for 0.40 - 2004-08-22]

* Moved under SVK management.

* The 'locale' encoding now works on Win32, using
  Win32::Console::OutputCP() to probe the code page.

[Changes for 0.38 - 2004-04-26]

* The quotemeta() introduced in 0.37 broke Locale::Maketext::Simple.

* L::M::Extract now parses the '# loc' and '# loc_pair'
  markers before end of lines, as used in RT.

* New module, L::M::Extract::Run, that encapsulates the
  xgettext.pl script.

[Changes for 0.37 - 2004-04-21]

* Thanks Christian Hansen for reminding me of the
  quotemeta() bug.

* Forgot to put quotemeta() around dir patterns; pointed
  out by Jouke Visser.  This caused tests on Win32 to fail.

* Respect the LAGUAGES and LC_MESSAGES environment variables.

[Changes for 0.36 - 2004-03-17]

* "_encoding" now takes a special "locale" value, which will
  get the encoding from user's locale.

* Gettext used to break when the re-encoded lexicon
  contains Maketext's escape characters like "[" and "~".

* Extract.pm should not prepend an empty "" before a
  single-line "string\n".  Such treatments are meant for
  multiline strings.

* proper escaping of \ and " in _format.

[Changes for 0.35 - 2004-02-19]

* We no longer depend on Regexp::Common and Pod::Usage.

* Extract strings inside functions that has spaces inside
  the parens, like 'loc( "test" )', as suggested by Helmut
  Lichtenberg.

[Changes for 0.34 - 2003-12-31]

* Update copyright years to 2004.

* Fix Msgcat so it also handle CRLF gracefully.

* .po files with DOSish CRLF line-ending was not parsed correctly.

[Changes for 0.33 - 2003-12-08]

* Multiline strings were produced with an extra "\n" by xgettext.pl.

* "xgettext.pl -u" was broken.

* Various documentation and error message fixes.

[Changes for 0.32 - 2003-10-14]

* Excise $& from ::Extract, ::Msgcat and ::Gettext.

* Micro-optimize (encode|decode)_utf8 in the inner loop of
  ::Gettext instead of (encode|decode)('utf8', ...).

[Changes for 0.31 - 2003-10-13]

* 0.30 still broken on Robert Spiers's darwin box, so
rewrote them to totally avoid capturing parenthesis.

* Also modify Extract.pm to be not reentrant.

[Changes for 0.30 - 2003-10-13]

* '*' in sources will now get properlly expanded by globbing.

* The reentrant-regex transformation used in ::Gettext was
  breaking 5.8.0 in subtle ways.  Reimplemented to use a two-pass
  approach.

[Changes for 0.29 - 2003-10-09]

* Update readme and pods to mention ::Extract.

* Add test for extraction.

* Refactor xgettext.pl out into Locale::Maketext::Extract.

* Move bin/ into script/.

[Changes for 0.28 - 2003-08-28]

* Gettext was chomping everything.  Fixed.

* Support for Kwiki-style generic loc string: {{...}}

[Changes for 0.27 - 2003-07-07]

* Change tests to use utf8, not big5, for perl 5.6.1
  people with broken Locale::Maketext (1.06).

* Supress uninitialized warnings.

* Jonas Lincoln reported that empty globs was causing problems.

* Strip the extra parens off tt2 templates.

* Be very extra magical and assume that main:: comes from
  the caller if it is not yet opened.

* Chia-Liang Kao pointed out that getting sources from glob
  was not working.

* "xgettext.pl -g" was documented but never enabled.

* Fixed xgettext.pl's multiline handling.

* TT2 regex was wrong; thanks Chia-Liang Kao for pointing out.

[Changes for 0.26 - 2003-05-03]

* Incoporated a modified version of Matthieu Arnold's patch
  that enables Encode-specific testing for Perl 5.6.1 with
  Encode::compat.

[Changes for 0.25 - 2003-04-30]

* Change t/TestPkg/L10N.pm to t/T_L10N.pm in accord with
  imacat's arrangement.

* Fixes cases where there are multiple '*'s in the glob entry.

[Changes for 0.22 - 2003-04-28]

* Document the choice of using the final '*' for
  glob patterns that has multiple '*'s.

* Add extra debug info.

* prefer the last * for globbing languages.

[Changes for 0.21 - 2003-04-27]

* Remove unneccessary MO files.

* Updates copyrights to 2003.

* Mathieu Arnold pointed out that multiline handling was incorrect.

* Implemented correct parsing of multiple "#, flag1, flag2".

* "#, fuzzy" entries are now ignored, unless _use_fuzzy is
  set to true.

* Documentation fix: removed the ambiguous [ ... ] by imacat's request.

* Filehandle sources are now seek()ed back to the original
  position after reading; this allows using the same handle
  for two language subclasses.

[Changes for 0.20 - 2003-04-26]

* Add a note that we now turns 'zh-tw' into 'zh_tw' during
  import. this fixed imacat's major gripe with previous
  versions of L::M::L.

* Nixed the TODO test since it's not really on my todo.

* Add copyright notice around parse_mo() by imacat's request.

* Test suite from imacat's Locale::Maketext::Gettext.

* Documenting the new _encoding, _decode and wildcard support.

* Add IMACAT to authors and acknowledgement list.

* New _decode and _encoding flag to control auto-recoding.

* Globbing support for import lists.

[Changes for 0.16 - 2003-02-22]

* Gaal Yahas's patch to recognize __ in addition of _.

* Wei-Hon Chen pointed out pod errors.

[Changes for 0.15 - 2002-11-29]

* Corrected %quant(,%1) -- should be %quant(%1).

* POD tweaks.

* Random fixes from Alain Barbet.

* Merging from old lexicons now work properly with and without -u.

[Changes for 0.14 - 2002-11-13]

* Escapes are now applicable even with -u.

[Changes for 0.13 - 2002-11-13]

* Alain's parser patch.  This makes multi-line handling a breeze.

[Changes for 0.12 - 2002-11-07]

* Patch from Alain Barbett: Fix multiline gettext strings.

* Document "xgettext.pl -u" before I forget about it.

[Changes for 0.11 - 2002-10-27]

* First sane CPAN release version.