No empty .Rs/.Re
[netbsd-mini2440.git] / gnu / dist / gettext / NEWS
blob2602c22eaa4535f1dfbc32b83cacba70a5cb6adc
1 Version 0.14.4 - April 2005
3 * The gettext autoconf macros will now work with the forthcoming g++ 4.0.
4 * Fix improved detection of the locale on MacOS X.
5 \f
6 Version 0.14.3 - March 2005
8 * Usability improvements in gettextize and autopoint.
10 * Programming languages support:
11   - Scheme:
12     Use the GNU guile definition of format strings.
14 Version 0.14.2 - February 2005
16 * Improved detection of the locale on MacOS X.
18 * The gettext autoconf macros now require autoconf 2.50 or newer.
20 * Programming languages support:
22   - Scheme:
23     xgettext now also supports Scheme. Best used with guile 1.7 or newer.
25 * msggrep is much faster now.
27 * libgettextpo library:
28   - New functions for constructing PO files in memory and writing them to
29     files.
30   - The error handling is now customizable.
32 * Documentation:
34   - New tutorial document, written by Gora Mohanty.
35   - New FAQ document.
36   - New documentation sections: Scheme, Release Management.
38 * Bug fixes for Turkish and Estonian locales.
40 * Security fixes.
42 Version 0.14 - January 2004
44 * Programming languages support:
46   - C#:
48     xgettext now also supports C#.
50     New library: GNU.Gettext.dll contains the runtime for using GNU gettext
51     message catalogs in C#.
53     msgfmt can create (and msgunfmt can dump) message catalogs for C#.
55 * Special feature for Farsi (Persian): Translators can insert an 'I' flag
56   into numeric format directives in format strings. Its effect is that, on
57   glibc systems, the number is generated with the locale dependent set of
58   special digits instead of the usual ASCII digits.
60 * Documentation:
62   - New documentation section: C#.
63   - Complete examples illustrating the use of gettext in C# (in text mode and
64     in Forms applications) have been added.
66   - New documentation section: Preparing Library Sources.
68 * Special advice for Norwegian users: The language code for Norwegian
69   bokmål changed from 'no' to 'nb' recently (in 2003). During the transition
70   period, while some message catalogs for this language are installed under
71   'nb' and some older ones under 'no', it's recommended for Norwegian users to
72   set the LANGUAGE environment variable to 'nb:no' so that both newer and
73   older translations are used.
75 Version 0.13.1 - December 2003
77 * Bug fixes in the testsuite and in the examples.
79 Version 0.13 - November 2003
81 * Programming languages support:
83   - Shell:
85     xgettext now also supports shell scripts. It recognizes invocations of
86     the programs 'gettext', 'ngettext', the functions 'eval_gettext',
87     'eval_ngettext', as well as the deprecated GNU bash builtin syntax $"...".
88     New function library:
89       gettext.sh - shell functions for internationalized shell scripts.
90     New program:
91       envsubst - substitutes environment variables in shell format strings.
93   - Perl:
95     xgettext now also supports Perl.
97   - PHP:
99     "xgettext --language=PHP" now supports the plural handling functions
100     ngettext, dngettext, dcngettext (introduced in PHP 4.2.0).
102   - ObjectiveC:
104     "xgettext --language=ObjectiveC" now supports the @"..." string syntax,
105     the NSLocalizedString function and the ObjectiveC specific format strings.
107     All the tools that manipulate PO files can work with .strings files
108     as well, if given the --stringtable-input and/or --stringtable-output
109     option. To create a .strings file from a PO or POT file, use
110     "msgcat --stringtable-output". To create a PO or POT file from a
111     .strings file, use "xgettext".
113   - GCC-source:
115     xgettext's --language option now supports the value "GCC-source". This
116     is like --language=C, except that in this mode, xgettext recognizes the
117     special kind of format strings used in the GCC sources and marks them
118     as 'gcc-internal-format'.
120   - C++ with Qt:
122     xgettext has a new option --qt that triggers the recognition and marking
123     of Qt format strings.
125     msgfmt has a new option --qt that generates binary message catalogs in
126     Qt's .qm format.
128 * Data formats support:
130   - Glade:
131     xgettext now also supports Glade version 2.
133 * xgettext has a more reliable detection of format strings.  It now
134   recognizes format strings depending on their position, for example as the
135   second argument of fprintf(), regardless whether the literal string contains
136   format directives.  This behaviour can be customized through the --flag
137   option.
139 * libgettextpo library:
141   - New functions for testing the obsolete/fuzzy/*-format flags of a message.
142   - New convenience functions for extracting and analyzing the header entry.
144 * Portability:
146   - C format strings with positions, as they arise when a translator needs to
147     reorder a sentence, are now supported on all platforms. On those few
148     platforms (NetBSD and Woe32) for which the native printf()/fprintf()/...
149     functions don't support such format strings, replacements are provided
150     through <libintl.h>.
152   - A new configuration option --disable-libasprintf allows to build all of
153     gettext except libasprintf; this is necessary on platforms for which
154     libtool cannot create shared libraries with C++ code.
156 * Documentation:
158   - Complete examples illustrating the use of gettext, including program
159     sources, Makefile and autoconf infrastructure, have been added. They
160     cover the following programming languages:
161       C           (text mode, GNOME)
162       C++         (text mode, Qt, KDE, GNOME)
163       ObjectiveC  (text mode, GNUstep, GNOME)
164       Shell       (text mode)
165       Python      (text mode)
166       Lisp        (text mode)
167       librep      (text mode)
168       Smalltalk   (text mode)
169       Java        (text mode, AWT, Swing)
170       awk         (text mode)
171       Pascal      (text mode)
172       YCP         (libyui)
173       Tcl         (text mode, Tk)
174       Perl        (text mode)
175       PHP         (text mode)
177 Version 0.12.1 - May 2003
179 * Bug fixes.
181 Version 0.12 - May 2003
183 * The gettext package is now separated into two subpackages:
184   - gettext-runtime: Runtime libraries and programs.
185   - gettext-tools: Tools and documentation for developers and translators.
186   The 'gettext-runtime' package is very small and should be installed on every
187   system that has users who desire to use internationalization. Whereas the
188   'gettext-tools' package is only for developers and translators.
190 * The po/Makevars file has a new field MSGID_BUGS_ADDRESS, which program
191   maintainers should fill in, to help feedback from the translators to the
192   program maintainers.
193   xgettext, accordingly, has a new option --msgid-bugs-address.
195 * Programming languages support:
197   - C++
199     A new C++ class, called gnu::autosprintf, makes it possible to use
200     C format strings in C++. This is needed for proper internationalization
201     of C++ programs.
203   - Java
205     All the tools that manipulate PO files can work with .properties files
206     as well, if given the --properties-input and/or --properties-output
207     option. To create a .properties file from a PO or POT file, use
208     "msgcat --properties-output".
210   - Smalltalk
212     xgettext now also supports Smalltalk.
214   - PHP
216     xgettext now also supports PHP.
218   - Python
220     "xgettext --language=Python" now supports the plural handling functions
221     ngettext, dngettext, ungettext (introduced in Python 2.3).
223   - A new autoconf macro AM_PO_SUBDIRS is added. It is like AM_GNU_GETTEXT,
224     for packages written in other languages than C/C++.
226 * A new library libgettextpo, with public header file "gettext-po.h",
227   provides functions for reading PO files into memory. It is useful for
228   applying PO files to areas not covered by the GNU gettext programs.
229   New documentation section:
230   - Writing your own programs that process PO files.
232 * New documentation sections:
233   - Prioritizing messages: How to determine which messages to translate first.
234   - Names: Marking Proper Names for Translation.
236 * xgettext now supports msgid strings in other encodings than ASCII.
237   xgettext has a new option --from-code that specifies the encoding of the
238   source files. The resulting POT files are UTF-8 encoded.
240 * Tools for translators:
242   - msgmerge has a new option -N/--no-fuzzy-matching that inhibits the fuzzy
243     search for untranslated messages.
245   - msgattrib has new options --only-file and --ignore-file that cause the
246     specified attribute manipulation to apply to selected messages only.
248 * Compatibility with automake-1.7.
250 * In documentation section po/LINGUAS:
251   - Document the optional "languages" en@quot and en@boldquot.
253 * New configuration option --enable-relocatable.  See the INSTALL file for
254   details.
256 Version 0.11.5 - August 2002
258 * Bug fixes in the gettext.m4 autoconf macros.
260 Version 0.11.4 - July 2002
262 * The tools now know about the ISO C 99 <inttypes.h> format string directive
263   macros PRId64, PRIxMAX etc.
265 Version 0.11.3 - July 2002
267 * New program:
268     autopoint - copies standard gettext infrastructure
270 * The documentation makes it clear that 'gettextize' is a wizard and
271   migration tool.
273 * gettextize has a new option --dry-run.
275 * Improved portability to Solaris, OSF/1 and Linux/libc5.
277 * Improved interoperability with GCC 3.1.
279 * New documentation sections:
280   - CVS Issues
281   - mkinstalldirs
282   - config.h.in
284 Version 0.11.2 - April 2002
286 * Bug fixes in the gettext.m4 autoconf macros.
288 * New documentation section:
289   - Preparing Translatable Strings
291 Version 0.11.1 - March 2002
293 * xgettext now also supports Python, Tcl, Awk and Glade.
295 * msgfmt can create (and msgunfmt can dump) Tcl message catalogs.
297 * msggrep has a new option -C that allows to search for strings in translator
298   comments.
300 * Bug fixes in the gettext.m4 autoconf macros.
302 Version 0.11 - January 2002
304 * New programs:
305     msgattrib - attribute matching and manipulation on message catalog,
306     msgcat - combines several message catalogs,
307     msgconv - character set conversion for message catalog,
308     msgen - create English message catalog,
309     msgexec - process translations of message catalog,
310     msgfilter - edit translations of message catalog,
311     msggrep - pattern matching on message catalog,
312     msginit - initialize a message catalog,
313     msguniq - unify duplicate translations in message catalog.
315 * msgfmt can create (and msgunfmt can dump) Java ResourceBundles.
317 * xgettext now also supports Lisp, Emacs Lisp, librep, Java, ObjectPascal,
318   YCP.
320 * The tools now know about format strings in languages other than C.
321   They recognize new message flags named lisp-format, elisp-format,
322   librep-format, smalltalk-format, java-format, python-format, ycp-format.
323   When such a flag is present, the msgfmt program verifies the consistency
324   of the translated and the untranslated format string.
326 * The msgfmt command line options have changed.  Option -c now also checks
327   the header entry, a check which was previously activated through -v.
328   Option -C corresponds to the compatibility checks previously activated
329   through -v -v.  Option -v now only increases verbosity and doesn't
330   influence whether msgfmt succeeds or fails.  A new option
331   --check-accelerators is useful for GUI menu item translations.
333 * msgcomm now writes its results to standard output by default. The options
334   -d/--default-domain and -p/--output-dir have been removed.
336 * Manual pages for all the programs have been added.
338 * PO mode changes:
339   - New key bindings for 'po-previous-fuzzy-entry',
340     'po-previous-obsolete-entry', 'po-previous-translated-entry',
341     'po-previous-untranslated', 'po-undo', 'po-other-window', and
342     'po-select-auxiliary'.
343   - Support for merging two message catalogs, based on msgcat and ediff.
345 * A fuzzy attribute of the header entry of a message catalog is now ignored
346   by the tools, i.e. it is used even if marked fuzzy.
348 * gettextize has a new option --intl which determines whether a copy of the
349   intl directory is included in the package.
351 * The Makefile variable @INTLLIBS@ is deprecated. It is replaced with
352   @LIBINTL@ (in projects without libtool) or @LTLIBINTL@ (in projects with
353   libtool).
355 * New packaging hints for binary package distributors. See file PACKAGING.
357 * New documentation sections:
358   - Manipulating
359   - po/LINGUAS
360   - po/Makevars
361   - lib/gettext.h
362   - autoconf macros
363   - Other Programming Languages
365 Version 0.10.40 - September 2001
367 * The libintl library is now covered by the GNU LGPL.  The tools are still
368   covered by the GNU GPL.
370 Version 0.10.39 - July 2001
372 * This is a bug-fix release.
374 * Now uses libtool-1.4.  Linking with the libintl shared library is easier.
376 * The autoconf macros now work with both autoconf-2.13 and autoconf-2.50.
378 Version 0.10.38 - May 2001
380 * This is a bug-fix release.
382 * Manual pages for the GNU libintl library functions have been added.
384 Version 0.10.37 - April 2001
386 This is a bug-fix release.
388 Version 0.10.36 - March 2001, by Ulrich Drepper and Bruno Haible
390 * General plural handling. New functions ngettext, dngettext, dcngettext.
392 * Locales which differ only in the character encoding, for example ja_JP and
393   ja_JP.UTF-8, can now share the same message catalogs. gettext converts
394   the messages to the appropriate character encoding on the fly.
396 * The tools now correctly process PO files in CJK encodings.
398 * Support for non-GNU gettext has been dropped.  Previously, on Solaris, the
399   system's gettext was used (unless --with-included-gettext was specified),
400   which led to problems with PO files that were not 100% translated.
402 * Support for the catgets wrapper has been dropped.  This means that gettext
403   now always supports the LANGUAGE environment variable, message inheritance,
404   automatic charset conversion etc.
406 * Support for the old Linux specific .msg catalog format has been dropped.
408 * When the included GNU libintl is installed (i.e. on GNU platforms, when
409   the configure option --with-included-gettext is given, or on non-GNU
410   platforms, when the configure option --disable-nls is not given), it is
411   also installed as a shared library, unless the configure option
412   --disable-shared is given.
414 * PO mode changes:
416 ** PO mode does not use recursive edit anymore, many edits may be worked on
417    simultaneously in a single PO file.
419 ** PO mode may handle many translation files at once while correlating related
420    entries, for helping multilingual or cultured translators.
422 ** On recent Emacses, PO mode automatically use proper fonts when available.
424 ** PO mode supports marking of C++ sources.
426 ** highlights original message while editing the translation
428 ** PO mode has commands to mail messages to teams or to the translation
429    coordinator, with automatic inclusion of the current PO file.
431 Version 0.10.35 - April 1998, by Ulrich Drepper
433 * by default the emulation of gettext using the catgets() functions of
434   the C library is not selected anymore.  GNU gettext has so many nice
435   extensions that this became unreasonable.  Using --with-catgets the
436   emulation still can be requested.
438 * extend xgettext program to handle other file formats other than C/C++.
439   For now it also handles PO file.  Using this feature one can concatenate
440   arbitrary PO files.
442 * Tcl module with gettext interface
444 * Korean translation by Bang Jun Young
446 * xgettext writes to stdout when default domain name is set to -
448 * codeset name normalization
450 * msgmerge program now has all features tupdate has (and more).
451   tupdate itself will be removed soon
453 * po/Makefile.in.in now uses msgmerge instead of tupdate
455 * escape notation in .po files are only used when explicitly selected
457 * changed interface of msgunfmt to conform to GNU coding standard
459 * msgmerge now knows how to handle obsolete entries.  If a formerly obsolete
460   entry is used again msgmerge will find it
462 * better implementation of comment extraction in xgettext.
464 * better C format string implementation.  The xgettext will classify
465   strings as being a format string, or not, in the .po file.  The
466   programmer can override the decision explicitly for each string
467   by specifying `xgettext:c-format' and `xgettext:no-c-format'
468   respectively in a C comment preceding the string.
470 * msgmerge program now always produces output.  Fuzzy or non-existing
471   translations are no reason for holding back the result.
473 * reasonable header entry format implemented
475 * Norwegian translation by Karl Anders �gard
477 * Configure command line option `--with-gnu-gettext' is renamed to
478   `--with-included-gettext'
480 * gettextize now can determine whether the aclocal.m4 of the project
481   is sufficent
483 * use automake for Makefile.in generation
485 * by default now only c-format is emitted in xgettext.  If using the new
486   --debug option one can enable printing possible-c-format to see who
487   decided about the string: xgettext or the programmer
489 * the installed libintl.h file no longer depends on HAVE_LOCALE_H being
490   defined.  After running configure we know whether this file exists.
492 * wrapping of lines in PO file output finally enabled.
493   A new special comment no-wrap prevents wrapping.
495 * add --statistics option to msgfmt to get information about number of
496   translated, untranslated, and fuzzy messages
498 * change behaviour of --verbose option to msgfmt.  This no longer
499   causes the check on the messages to be performed.  The check for leading
500   and trailing \n is always performed and the check of the format specifiers
501   is performed when --check is given.
503 * shared library support based On Gord Matzigkeit's libtool package
505 * msgcomm program by Peter Miller to extract messages shared by input
506   files
508 * many more translations.
510 Version 0.10 - December 1995, by Ulrich Drepper
512 * implement --shell-script option for gettext program
514 * implement object-oriented, lazy message handling :-)
515   Consult the manual for more/any information
517 * implement locale name aliasing, similar to the one used
518   in the X Window System
520 * support for GNU gettext sources in central place to support
521   use in development environments of other projects
523 * implement CEN syntax for environment variable values
525 * msgcmp program to find matches in two .po files
527 * programs now have exit status != 0 if errors occured
529 * libintl.a is now selfcontained and can be used without context in
530   other projects (even on systems missing alloca)
532 * gettextize now automatically runs config.status
534 * swedish message catalog
536 * new options for xgettext: -D/--directory to change in specified directory
537   before processing the input files and -f/--files-from to specify file from
538   which the names of the input files are read.
539   The later option in necessary for large projects such as GNU C Library.
541 * new programs msgmerge and msgunfmt by Peter Miller.  The code of the other
542   programs is now also much cleaner.
544 Version 0.9 - August 1995, by Ulrich Drepper
546 * again many improvements on the manual
548 * norwegian message catalog
550 * compilation now works with --disable-nls
552 * better checks
554 Version 0.8 - July 1995, by Ulrich Drepper
556 * much improved manual (although still far from being complete)
558 * improved PO mode; it now can prepare C sources for use with gettext
559   by marking translatable strings
561 * better support for sparse System V systems
563 * check goal (kind of)
565 * more input tests and warnings
567 * better support for integration in other packages
569 * many bugs fixed
571 Version 0.7 - June 1995, by Ulrich Drepper
573 * New GNU package providing functionality to internationalize and
574 localize other programs.
576 * Implementation of the Uniforum(*) proposal for internationalization
577 on top of X/Open(*) style catgets functions.
579 * Complete implementation of the Uniforum functions for system
580 lacking either of them or those who which to have a different
581 implementation with many advantages.
583 * Implementation of the three tools for message catalog handling
584 described in the Uniforum.
586 * Emacs po-mode for handling portable message object files which are
587 the basis of the work of the package.
590 (*) Some history:  The POSIX working groups have so far been unable to
591 agree on one set of message catalog handling functions for the C Library.
592 For now there are competing proposals, one by the Uniforum group, led by
593 Sun, and the other by X/Open.  Although the latter is surely implemented
594 on more systems, it is not perceived as the clear leader.