[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.