1 Version 0.18.3 - July 2013
4 On Mac OS X systems, the setlocale() function now properly
5 invalidates loaded message catalogs when a locale has been set.
7 * Programming languages support:
10 The gnu::autosprintf class now provides an assignment operator.
13 xgettext now supports GtkBuider file format used by Glade 3.
14 xgettext now also extracts contexts (msgctxt) from Glade 2 and
18 xgettext now partially supports JavaScript. Since the current
19 JavaScript specification (ECMA-262) does not define the standard
20 set of formatting methods nor translation functions, the
21 implementation supports only a limited set of formatting methods
22 and translation functions commonly used in Gjs and other popular
23 JavaScript implemenations and libraries.
26 xgettext now supports Lua, using Ľubomír Remák's lua-gettext.
29 xgettext and msgfmt's format string checking now recognize Python
30 format string in braced syntax (PEP 3101). xgettext now also
31 supports explicit string concatenation with '+' and handles
32 platform dependent line terminators (LF/CR/CRLF) transparently.
35 Bug fix in xgettext Unicode escape handling.
38 xgettext now supports Vala.
40 * msgattrib now has --previous option to keep previous msgid when
41 making messages fuzzy, similar to msgmerge --previous.
43 * msgfmt now checks PO file headers more strictly with less
46 * 'gettextize' now checks macro directories specified with
47 AC_CONFIGURE_MACRO_DIRS in configure.ac.
50 - msginit now does not require GNU sed.
51 - The Makefile rule for generating en@quot and en@boldquot now uses
52 @SED@ variable instead of hard-coded 'sed' command to allow users
55 * Future backward-incompatibilities:
56 - In future Gettext versions, the files installed by 'gettextize'
57 will require Automake 1.10 or later. This will improve the
58 compatibility of user projects with newer Automake versions.
60 Version 0.18.2 - December 2012
62 * xgettext now understands the block comment syntax of Guile 2.0.
64 * libgettextpo library:
65 - The initial msgstr of a new message is now "", not NULL.
66 - Bug fixes in the functions po_message_is_range, po_file_check_all,
69 * Installation options:
70 The configure options --with-xz and --with-bzip2 can be used to specify
71 alternate compression methods for the archive used by the 'autopoint'
72 program. These options, together with --with-git, allow to trade
73 dependencies against installed package size. --with-xz has the highest
74 compression rate, followed by --with-git, followed by --with-bzip2.
77 - The autoconf macros installed by 'gettextize' now work with the
78 forthcoming Automake 1.14 and require Autoconf version 2.60 or
82 - Building on MacOS X 10.7, Cygwin 1.7.10, and newer 64-bit mingw is
85 Version 0.18.1 - June 2010
87 * msggrep: A '$' anchor in a regular expression now also matches the end of
88 the string, even if it does not end in a newline.
91 The libraries and programs are now linked with libunistring if this library
94 * Installation options:
95 The configure option --with-cvs is deprecated. The 'autopoint' program will
96 now use the 'git' program by default to compress its archive. If the
97 configure option --without-git is specified, 'autopoint' will not rely on
98 'git', but will instead rely on a locally installed a 3 MB large archive.
100 Version 0.18 - May 2010
103 - On MacOS X and Windows systems, <libintl.h> now extends setlocale() and
104 newlocale() so that their determination of the default locale considers
105 the choice the user has made in the system control panels.
106 - On MacOS X systems, the gettext()/dgettext()/... functions now respect the
107 locale of the current thread, if a thread-specific locale has been set.
110 There is a new field 'Language' in the header entry. It denotes the language
111 code (plus optional country code) for the PO file. This field can be used
112 by automated tools, such as spell checkers. It is expected to be more
113 reliable than looking at the file name or at the 'Language-Team' field in
115 msgmerge, msgcat, msgen have a new option --lang that allows to specify
116 this field. Additionally, msgmerge fills in this new field by looking at
117 the 'Language-Team' field (if the --lang option is not given).
119 * xgettext and PO file format:
120 For messages with plural forms, programmers can inform the translators
121 about the range of possible values of the numeric argument, like this:
122 /* xgettext: range: 0..15 */
123 This information 'range: 0..15' is stored in the PO file as a flag attached
124 to the message. Translators can produce better translations when they know
125 that the numeric argument is small.
127 * Colorized PO files:
128 msgattrib, msgcomm, msgconv, msgen, msgfilter, msggrep, msginit, msgmerge,
129 msgunfmt, msguniq, xgettext now have options --color and --style, like msgcat
130 has since version 0.17.
132 * msgmerge is up to 10 times faster when the PO and POT files are large.
133 This speedup was contributed by Ralf Wildenhues.
135 * msgcmp has a new option -N/--no-fuzzy-matching, like msgmerge has since
138 * msgfilter now sets environment variables during the invocation of the
139 filter, indicating the msgid and location of the messge being processed.
141 * xgettext now can extract plural forms from Qt 4 programs. The recommended
142 xgettext command-line options for this case are:
143 --qt --keyword=tr:1,1t --keyword=tr:1,2c,2t --keyword=tr:1,1,2c,3t
145 * xgettext --language=GCC-source now recognizes also the format strings
146 used in the Fortran front-end of the GCC compiler, and marks them as
147 'gfc-internal-format'.
149 * autopoint can now be used to update several PO directories all together.
152 - PO files with plural entries are now correctly handled.
153 - Editing a message with previous msgid (in comments) removes these
154 comments. Contributed by Noritada Kobayashi.
156 * The po/Makevars file has a new field MSGMERGE_OPTIONS, that can be used
157 to adjust msgmerge's operation.
159 * The use of the macro AM_GNU_GETTEXT without 'external' argument and the
160 --intl option of the gettextize program are deprecated and will be removed
161 in the next release. Instead of including the intl sources in your package,
162 we suggest making the libintl library an (optional) prerequisite of your
165 * Updated the meaning of 'gcc-internal-format' to match GCC 4.3.
167 * Installation options:
168 The configure options --without-cvs and --with-git can be used to specify
169 whether 'autopoint' will use the 'cvs' program, or the 'git' program, or
170 none at all. These options allow to trade dependencies against installed
171 package size: If --without-cvs is specified and --with-git is not specified,
172 'autopoint' will not rely on 'cvs' or 'git', but will instead rely on a
173 locally installed a 3 MB large archive.
176 - The msgfilter program now also works on native Woe32 platforms.
177 - Compiled C# message catalogs now also work with 'mono' versions from 2009
180 Version 0.17 - November 2007
183 The gettext related programs and tools are now licensed under the GPL
184 version 3, instead of the GPL version 2. The libintl library continues
185 to be licensed under LGPL.
188 The Project-Id-Version field in the header entry may now already be filled
189 in the POT file. In this case, the translators don't need to fill it in.
190 xgettext has new options --package-name and --package-version that allow
191 to specify the package name and version from a Makefile.
193 * Colorized PO files:
194 The msgcat program has new options --color and --style that produce a
195 colorized PO file output, where keywords, strings, comments, or format
196 directives can be highlighted. See the documentation section
197 "Highlighting parts of PO files" for more info.
199 * gettextize now has a --po-dir option that allows several PO directories to
200 be updated all together.
202 * Programming languages support:
203 - Contexts (msgctxt) are now also supported for Java and C#.
204 - C# with Qt: The support for Qt format strings has been updated for Qt 4.
206 xgettext has a new option --kde that triggers the recognition and marking
207 of KDE 4 format strings.
210 - A new macro AM_XGETTEXT_OPTION can be used as an alternative to modifying
213 * libgettextpo library:
214 - New functions are available for querying the list of supported format
216 - The functions po_message_comments and po_message_extracted_comments
217 return a multiline string where each line no longer starts with a redundant
218 space. The leading space in every comment line is now stripped while
220 - Conversely, when you pass a multiline string to the function
221 po_message_set_comments or po_message_set_extracted_comments, you normally
222 don't pass a space at the beginning of each line, because such spaces are
223 no longer trimmed during output.
226 - The "Users" chapter has been completely rewritten.
227 - New section "Highlighting parts of PO files".
228 - A complete example showing the use of GNU gettext in Java with the Qt/Jambi
229 GUI toolkit has been added.
231 Version 0.16.1 - November 2006
233 * Bug fix in the gettext.m4 autoconf macros.
235 Version 0.16 - October 2006
237 * Interoperability with automake-1.10.
239 * msgmerge has a new option --previous that has the effect of saving the
240 previous msgid of message when making them fuzzy. These previous msgids are
241 stored in the resulting PO file, using a pseudo-comment syntax like this:
244 #| msgid "too many arguments"
245 msgid "too few arguments"
246 msgstr "trop d'arguments"
248 The translator then only needs to compare the previous and the current
249 msgid ("too many arguments" and "too few arguments"), and infer which
250 parts of the translation she needs to change.
252 msgattrib has a new option --clear-previous that removes these #| lines.
254 * msgmerge is faster now on CPUs with multiple execution units, if compiled
255 with GCC 4.2 or newer.
257 * msgcmp now ignores fuzzy and untranslated messages in the PO file.
258 Previously it considered fuzzy and untranslated messages the same way as
259 translated messages, which was hardly useful. The previous behaviour can
260 be obtained through the options --use-fuzzy --use-untranslated.
262 * gettextize, when invoked without --intl option, now installs only the .m4
263 files that are needed: gettext.m4, iconv.m4, lib-ld.m4, lib-link.m4,
264 lib-prefix.m4, nls.m4, po.m4, progtest.m4.
266 * gettextize no longer creates symbolic links by default; it makes file copies
267 instead. The option --copy is removed. You can get back the flawed
268 symlinking behaviour by specifying the --symlink option.
271 - The gettext autoconf macros now require autoconf 2.52 or newer and
272 GNU m4 1.4.5 or newer.
273 - A new autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is added. It allows to
274 specify the presence of an intl/ subdirectory outside the AM_GNU_GETTEXT
276 - A new autoconf macro AM_GNU_GETTEXT_NEED is added. It allows to specify
277 the requirements relating to the GNU gettext implementation outside the
278 AM_GNU_GETTEXT invocation.
280 * The libgettextpo library no longer exports symbols that could clash with
281 symbols of the application that uses it.
283 * Vastly improved French translations. Thanks to Christophe Combelles.
285 Version 0.15 - July 2006
287 * GUI program support:
288 - PO files can now contain messages constrained to a certain context.
289 Most often such a context is a menu, dialog or panel identification.
290 The syntax in the PO file is
294 - The xgettext program can be told through the --keyword flag which
295 function/macro argument has the role of a context. It also supports
296 the GNOME glib convention to specify the context and original string
297 in the same string literal: "context|original".
298 - The (non-public) include file gettext.h defines macros pgettext, dpgettext
299 etc. that take a context argument.
300 For more information, see the node "Contexts" in the manual.
302 * msgfmt's format string checking is now stricter in the presence of plural
303 forms. For example, in German, with nplurals=2 and plural=(n != 1),
307 msgid "%d fatal error"
308 msgid_plural "%d fatal errors"
309 msgstr[0] "ein fataler Fehler"
310 msgstr[1] "fatale Fehler"
312 was earlier considered valid and now gives an error when "msgfmt --check"
314 "number of format specifications in 'msgid' and 'msgstr[1]' does not match"
316 * msggrep has a new option -v/--invert-match that acts like grep's -v option.
318 * msggrep has a new option -X/--extracted-comment that allows to search for a
319 pattern in the extracted comments.
321 * xgettext's --keyword option now allows to specify an extracted comment on the
322 command line, rather than in program's source code.
324 * msgmerge is much faster now, when using a large compendium.
326 * A new program recode-sr-latin is provided, that converts Serbian text from
327 the Cyrillic script to the Latin script.
328 The command "msgfilter recode-sr-latin" can be used to convert a Serbian
329 Cyrillic PO file (sr.po) to a Serbian Latin PO file (sr@latin.po).
331 * Programming languages support:
334 xgettext has a new option --boost that triggers the recognition and marking
335 of boost::format strings.
338 xgettext now recognizes the source encoding from a "coding:" comment
339 among the first two lines. The default encoding is now ASCII, no longer
342 * libgettextpo library:
343 - The error handler type passed to po_file_read(), po_file_write(),
344 po_message_check_format() has changed.
345 This is an incompatible change: Programs using the library *must* update
347 Binary compatibility is guaranteed, however.
349 * The 'mkinstalldirs' shell script is no longer needed and no longer installed
353 - Building on mingw is now supported.
354 - Building shared libraries (--enable-shared) on Cygwin and mingw is now
357 * Interoperability with expat version 2.0.0.
360 A complete example showing the use of GNU gettext with the wxWidgets GUI
361 toolkit has been added.
363 * The gettext autoconf macros now assume 'aclocal' from automake 1.8 or newer.
365 Version 0.14.6 - June 2006
367 * Updated the meaning of 'gcc-internal-format' to match GCC 4.1.
369 Version 0.14.5 - May 2005
371 * Updated the meaning of 'gcc-internal-format' to match GCC 4.0.
373 Version 0.14.4 - April 2005
375 * The gettext autoconf macros will now work with the forthcoming g++ 4.0.
376 * Fix improved detection of the locale on MacOS X.
378 Version 0.14.3 - March 2005
380 * Usability improvements in gettextize and autopoint.
382 * Programming languages support:
384 Use the GNU guile definition of format strings.
386 Version 0.14.2 - February 2005
388 * Improved detection of the locale on MacOS X.
390 * The gettext autoconf macros now require autoconf 2.50 or newer.
392 * Programming languages support:
395 xgettext now also supports Scheme. Best used with guile 1.7 or newer.
397 * msggrep is much faster now.
399 * libgettextpo library:
400 - New functions for constructing PO files in memory and writing them to
402 - The error handling is now customizable.
406 - New tutorial document, written by Gora Mohanty.
408 - New documentation sections: Scheme, Release Management.
410 * Bug fixes for Turkish and Estonian locales.
414 Version 0.14 - January 2004
416 * Programming languages support:
420 xgettext now also supports C#.
422 New library: GNU.Gettext.dll contains the runtime for using GNU gettext
423 message catalogs in C#.
425 msgfmt can create (and msgunfmt can dump) message catalogs for C#.
427 * Special feature for Farsi (Persian): Translators can insert an 'I' flag
428 into numeric format directives in format strings. Its effect is that, on
429 glibc systems, the number is generated with the locale dependent set of
430 special digits instead of the usual ASCII digits.
434 - New documentation section: C#.
435 - Complete examples illustrating the use of gettext in C# (in text mode and
436 in Forms applications) have been added.
438 - New documentation section: Preparing Library Sources.
440 * Special advice for Norwegian users: The language code for Norwegian
441 bokmål changed from 'no' to 'nb' recently (in 2003). During the transition
442 period, while some message catalogs for this language are installed under
443 'nb' and some older ones under 'no', it's recommended for Norwegian users to
444 set the LANGUAGE environment variable to 'nb:no' so that both newer and
445 older translations are used.
447 Version 0.13.1 - December 2003
449 * Bug fixes in the testsuite and in the examples.
451 Version 0.13 - November 2003
453 * Programming languages support:
457 xgettext now also supports shell scripts. It recognizes invocations of
458 the programs 'gettext', 'ngettext', the functions 'eval_gettext',
459 'eval_ngettext', as well as the deprecated GNU bash builtin syntax $"...".
460 New function library:
461 gettext.sh - shell functions for internationalized shell scripts.
463 envsubst - substitutes environment variables in shell format strings.
467 xgettext now also supports Perl.
471 "xgettext --language=PHP" now supports the plural handling functions
472 ngettext, dngettext, dcngettext (introduced in PHP 4.2.0).
476 "xgettext --language=ObjectiveC" now supports the @"..." string syntax,
477 the NSLocalizedString function and the ObjectiveC specific format strings.
479 All the tools that manipulate PO files can work with .strings files
480 as well, if given the --stringtable-input and/or --stringtable-output
481 option. To create a .strings file from a PO or POT file, use
482 "msgcat --stringtable-output". To create a PO or POT file from a
483 .strings file, use "xgettext".
487 xgettext's --language option now supports the value "GCC-source". This
488 is like --language=C, except that in this mode, xgettext recognizes the
489 special kind of format strings used in the GCC sources and marks them
490 as 'gcc-internal-format'.
494 xgettext has a new option --qt that triggers the recognition and marking
495 of Qt format strings.
497 msgfmt has a new option --qt that generates binary message catalogs in
500 * Data formats support:
503 xgettext now also supports Glade version 2.
505 * xgettext has a more reliable detection of format strings. It now
506 recognizes format strings depending on their position, for example as the
507 second argument of fprintf(), regardless whether the literal string contains
508 format directives. This behaviour can be customized through the --flag
511 * libgettextpo library:
513 - New functions for testing the obsolete/fuzzy/*-format flags of a message.
514 - New convenience functions for extracting and analyzing the header entry.
518 - C format strings with positions, as they arise when a translator needs to
519 reorder a sentence, are now supported on all platforms. On those few
520 platforms (NetBSD and Woe32) for which the native printf()/fprintf()/...
521 functions don't support such format strings, replacements are provided
524 - A new configuration option --disable-libasprintf allows to build all of
525 gettext except libasprintf; this is necessary on platforms for which
526 libtool cannot create shared libraries with C++ code.
530 - Complete examples illustrating the use of gettext, including program
531 sources, Makefile and autoconf infrastructure, have been added. They
532 cover the following programming languages:
534 C++ (text mode, Qt, KDE, GNOME)
535 ObjectiveC (text mode, GNUstep, GNOME)
540 Smalltalk (text mode)
541 Java (text mode, AWT, Swing)
549 Version 0.12.1 - May 2003
553 Version 0.12 - May 2003
555 * The gettext package is now separated into two subpackages:
556 - gettext-runtime: Runtime libraries and programs.
557 - gettext-tools: Tools and documentation for developers and translators.
558 The 'gettext-runtime' package is very small and should be installed on every
559 system that has users who desire to use internationalization. Whereas the
560 'gettext-tools' package is only for developers and translators.
562 * The po/Makevars file has a new field MSGID_BUGS_ADDRESS, which program
563 maintainers should fill in, to help feedback from the translators to the
565 xgettext, accordingly, has a new option --msgid-bugs-address.
567 * Programming languages support:
571 A new C++ class, called gnu::autosprintf, makes it possible to use
572 C format strings in C++. This is needed for proper internationalization
577 All the tools that manipulate PO files can work with .properties files
578 as well, if given the --properties-input and/or --properties-output
579 option. To create a .properties file from a PO or POT file, use
580 "msgcat --properties-output".
584 xgettext now also supports Smalltalk.
588 xgettext now also supports PHP.
592 "xgettext --language=Python" now supports the plural handling functions
593 ngettext, dngettext, ungettext (introduced in Python 2.3).
595 - A new autoconf macro AM_PO_SUBDIRS is added. It is like AM_GNU_GETTEXT,
596 for packages written in other languages than C/C++.
598 * A new library libgettextpo, with public header file "gettext-po.h",
599 provides functions for reading PO files into memory. It is useful for
600 applying PO files to areas not covered by the GNU gettext programs.
601 New documentation section:
602 - Writing your own programs that process PO files.
604 * New documentation sections:
605 - Prioritizing messages: How to determine which messages to translate first.
606 - Names: Marking Proper Names for Translation.
608 * xgettext now supports msgid strings in other encodings than ASCII.
609 xgettext has a new option --from-code that specifies the encoding of the
610 source files. The resulting POT files are UTF-8 encoded.
612 * Tools for translators:
614 - msgmerge has a new option -N/--no-fuzzy-matching that inhibits the fuzzy
615 search for untranslated messages.
617 - msgattrib has new options --only-file and --ignore-file that cause the
618 specified attribute manipulation to apply to selected messages only.
620 * Compatibility with automake-1.7.
622 * In documentation section po/LINGUAS:
623 - Document the optional "languages" en@quot and en@boldquot.
625 * New configuration option --enable-relocatable. See the INSTALL file for
628 Version 0.11.5 - August 2002
630 * Bug fixes in the gettext.m4 autoconf macros.
632 Version 0.11.4 - July 2002
634 * The tools now know about the ISO C 99 <inttypes.h> format string directive
635 macros PRId64, PRIxMAX etc.
637 Version 0.11.3 - July 2002
640 autopoint - copies standard gettext infrastructure
642 * The documentation makes it clear that 'gettextize' is a wizard and
645 * gettextize has a new option --dry-run.
647 * Improved portability to Solaris, OSF/1 and Linux/libc5.
649 * Improved interoperability with GCC 3.1.
651 * New documentation sections:
656 Version 0.11.2 - April 2002
658 * Bug fixes in the gettext.m4 autoconf macros.
660 * New documentation section:
661 - Preparing Translatable Strings
663 Version 0.11.1 - March 2002
665 * xgettext now also supports Python, Tcl, Awk and Glade.
667 * msgfmt can create (and msgunfmt can dump) Tcl message catalogs.
669 * msggrep has a new option -C that allows to search for strings in translator
672 * Bug fixes in the gettext.m4 autoconf macros.
674 Version 0.11 - January 2002
677 msgattrib - attribute matching and manipulation on message catalog,
678 msgcat - combines several message catalogs,
679 msgconv - character set conversion for message catalog,
680 msgen - create English message catalog,
681 msgexec - process translations of message catalog,
682 msgfilter - edit translations of message catalog,
683 msggrep - pattern matching on message catalog,
684 msginit - initialize a message catalog,
685 msguniq - unify duplicate translations in message catalog.
687 * msgfmt can create (and msgunfmt can dump) Java ResourceBundles.
689 * xgettext now also supports Lisp, Emacs Lisp, librep, Java, ObjectPascal,
692 * The tools now know about format strings in languages other than C.
693 They recognize new message flags named lisp-format, elisp-format,
694 librep-format, smalltalk-format, java-format, python-format, ycp-format.
695 When such a flag is present, the msgfmt program verifies the consistency
696 of the translated and the untranslated format string.
698 * The msgfmt command line options have changed. Option -c now also checks
699 the header entry, a check which was previously activated through -v.
700 Option -C corresponds to the compatibility checks previously activated
701 through -v -v. Option -v now only increases verbosity and doesn't
702 influence whether msgfmt succeeds or fails. A new option
703 --check-accelerators is useful for GUI menu item translations.
705 * msgcomm now writes its results to standard output by default. The options
706 -d/--default-domain and -p/--output-dir have been removed.
708 * Manual pages for all the programs have been added.
711 - New key bindings for 'po-previous-fuzzy-entry',
712 'po-previous-obsolete-entry', 'po-previous-translated-entry',
713 'po-previous-untranslated', 'po-undo', 'po-other-window', and
714 'po-select-auxiliary'.
715 - Support for merging two message catalogs, based on msgcat and ediff.
717 * A fuzzy attribute of the header entry of a message catalog is now ignored
718 by the tools, i.e. it is used even if marked fuzzy.
720 * gettextize has a new option --intl which determines whether a copy of the
721 intl directory is included in the package.
723 * The Makefile variable @INTLLIBS@ is deprecated. It is replaced with
724 @LIBINTL@ (in projects without libtool) or @LTLIBINTL@ (in projects with
727 * New packaging hints for binary package distributors. See file PACKAGING.
729 * New documentation sections:
735 - Other Programming Languages
737 Version 0.10.40 - September 2001
739 * The libintl library is now covered by the GNU LGPL. The tools are still
740 covered by the GNU GPL.
742 Version 0.10.39 - July 2001
744 * This is a bug-fix release.
746 * Now uses libtool-1.4. Linking with the libintl shared library is easier.
748 * The autoconf macros now work with both autoconf-2.13 and autoconf-2.50.
750 Version 0.10.38 - May 2001
752 * This is a bug-fix release.
754 * Manual pages for the GNU libintl library functions have been added.
756 Version 0.10.37 - April 2001
758 This is a bug-fix release.
760 Version 0.10.36 - March 2001, by Ulrich Drepper and Bruno Haible
762 * General plural handling. New functions ngettext, dngettext, dcngettext.
764 * Locales which differ only in the character encoding, for example ja_JP and
765 ja_JP.UTF-8, can now share the same message catalogs. gettext converts
766 the messages to the appropriate character encoding on the fly.
768 * The tools now correctly process PO files in CJK encodings.
770 * Support for non-GNU gettext has been dropped. Previously, on Solaris, the
771 system's gettext was used (unless --with-included-gettext was specified),
772 which led to problems with PO files that were not 100% translated.
774 * Support for the catgets wrapper has been dropped. This means that gettext
775 now always supports the LANGUAGE environment variable, message inheritance,
776 automatic charset conversion etc.
778 * Support for the old Linux specific .msg catalog format has been dropped.
780 * When the included GNU libintl is installed (i.e. on GNU platforms, when
781 the configure option --with-included-gettext is given, or on non-GNU
782 platforms, when the configure option --disable-nls is not given), it is
783 also installed as a shared library, unless the configure option
784 --disable-shared is given.
788 ** PO mode does not use recursive edit anymore, many edits may be worked on
789 simultaneously in a single PO file.
791 ** PO mode may handle many translation files at once while correlating related
792 entries, for helping multilingual or cultured translators.
794 ** On recent Emacses, PO mode automatically use proper fonts when available.
796 ** PO mode supports marking of C++ sources.
798 ** highlights original message while editing the translation
800 ** PO mode has commands to mail messages to teams or to the translation
801 coordinator, with automatic inclusion of the current PO file.
803 Version 0.10.35 - April 1998, by Ulrich Drepper
805 * by default the emulation of gettext using the catgets() functions of
806 the C library is not selected anymore. GNU gettext has so many nice
807 extensions that this became unreasonable. Using --with-catgets the
808 emulation still can be requested.
810 * extend xgettext program to handle other file formats other than C/C++.
811 For now it also handles PO file. Using this feature one can concatenate
814 * Tcl module with gettext interface
816 * Korean translation by Bang Jun Young
818 * xgettext writes to stdout when default domain name is set to -
820 * codeset name normalization
822 * msgmerge program now has all features tupdate has (and more).
823 tupdate itself will be removed soon
825 * po/Makefile.in.in now uses msgmerge instead of tupdate
827 * escape notation in .po files are only used when explicitly selected
829 * changed interface of msgunfmt to conform to GNU coding standard
831 * msgmerge now knows how to handle obsolete entries. If a formerly obsolete
832 entry is used again msgmerge will find it
834 * better implementation of comment extraction in xgettext.
836 * better C format string implementation. The xgettext will classify
837 strings as being a format string, or not, in the .po file. The
838 programmer can override the decision explicitly for each string
839 by specifying 'xgettext:c-format' and 'xgettext:no-c-format'
840 respectively in a C comment preceding the string.
842 * msgmerge program now always produces output. Fuzzy or non-existing
843 translations are no reason for holding back the result.
845 * reasonable header entry format implemented
847 * Norwegian translation by Karl Anders �gard
849 * Configure command line option '--with-gnu-gettext' is renamed to
850 '--with-included-gettext'
852 * gettextize now can determine whether the aclocal.m4 of the project
855 * use automake for Makefile.in generation
857 * by default now only c-format is emitted in xgettext. If using the new
858 --debug option one can enable printing possible-c-format to see who
859 decided about the string: xgettext or the programmer
861 * the installed libintl.h file no longer depends on HAVE_LOCALE_H being
862 defined. After running configure we know whether this file exists.
864 * wrapping of lines in PO file output finally enabled.
865 A new special comment no-wrap prevents wrapping.
867 * add --statistics option to msgfmt to get information about number of
868 translated, untranslated, and fuzzy messages
870 * change behaviour of --verbose option to msgfmt. This no longer
871 causes the check on the messages to be performed. The check for leading
872 and trailing \n is always performed and the check of the format specifiers
873 is performed when --check is given.
875 * shared library support based On Gord Matzigkeit's libtool package
877 * msgcomm program by Peter Miller to extract messages shared by input
880 * many more translations.
882 Version 0.10 - December 1995, by Ulrich Drepper
884 * implement --shell-script option for gettext program
886 * implement object-oriented, lazy message handling :-)
887 Consult the manual for more/any information
889 * implement locale name aliasing, similar to the one used
890 in the X Window System
892 * support for GNU gettext sources in central place to support
893 use in development environments of other projects
895 * implement CEN syntax for environment variable values
897 * msgcmp program to find matches in two .po files
899 * programs now have exit status != 0 if errors occurred
901 * libintl.a is now selfcontained and can be used without context in
902 other projects (even on systems missing alloca)
904 * gettextize now automatically runs config.status
906 * swedish message catalog
908 * new options for xgettext: -D/--directory to change in specified directory
909 before processing the input files and -f/--files-from to specify file from
910 which the names of the input files are read.
911 The later option in necessary for large projects such as GNU C Library.
913 * new programs msgmerge and msgunfmt by Peter Miller. The code of the other
914 programs is now also much cleaner.
916 Version 0.9 - August 1995, by Ulrich Drepper
918 * again many improvements on the manual
920 * norwegian message catalog
922 * compilation now works with --disable-nls
926 Version 0.8 - July 1995, by Ulrich Drepper
928 * much improved manual (although still far from being complete)
930 * improved PO mode; it now can prepare C sources for use with gettext
931 by marking translatable strings
933 * better support for sparse System V systems
935 * check goal (kind of)
937 * more input tests and warnings
939 * better support for integration in other packages
943 Version 0.7 - June 1995, by Ulrich Drepper
945 * New GNU package providing functionality to internationalize and
946 localize other programs.
948 * Implementation of the Uniforum(*) proposal for internationalization
949 on top of X/Open(*) style catgets functions.
951 * Complete implementation of the Uniforum functions for system
952 lacking either of them or those who which to have a different
953 implementation with many advantages.
955 * Implementation of the three tools for message catalog handling
956 described in the Uniforum.
958 * Emacs po-mode for handling portable message object files which are
959 the basis of the work of the package.
962 (*) Some history: The POSIX working groups have so far been unable to
963 agree on one set of message catalog handling functions for the C Library.
964 For now there are competing proposals, one by the Uniforum group, led by
965 Sun, and the other by X/Open. Although the latter is surely implemented
966 on more systems, it is not perceived as the clear leader.