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