source: trunk/third/gettext2/NEWS @ 22167

Revision 22167, 17.5 KB checked in by ghudson, 19 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r22166, which included commits to RCS files with non-trunk default branches.
Line 
1Version 0.13.1 - December 2003
2
3* Bug fixes in the testsuite and in the examples.
4
5Version 0.13 - November 2003
6
7* Programming languages support:
8
9  - Shell:
10
11    xgettext now also supports shell scripts. It recognizes invocations of
12    the programs 'gettext', 'ngettext', the functions 'eval_gettext',
13    'eval_ngettext', as well as the deprecated GNU bash builtin syntax $"...".
14    New function library:
15      gettext.sh - shell functions for internationalized shell scripts.
16    New program:
17      envsubst - substitutes environment variables in shell format strings.
18
19  - Perl:
20
21    xgettext now also supports Perl.
22
23  - PHP:
24
25    "xgettext --language=PHP" now supports the plural handling functions
26    ngettext, dngettext, dcngettext (introduced in PHP 4.2.0).
27
28  - ObjectiveC:
29
30    "xgettext --language=ObjectiveC" now supports the @"..." string syntax,
31    the NSLocalizedString function and the ObjectiveC specific format strings.
32
33    All the tools that manipulate PO files can work with .strings files
34    as well, if given the --stringtable-input and/or --stringtable-output
35    option. To create a .strings file from a PO or POT file, use
36    "msgcat --stringtable-output". To create a PO or POT file from a
37    .strings file, use "xgettext".
38
39  - GCC-source:
40
41    xgettext's --language option now supports the value "GCC-source". This
42    is like --language=C, except that in this mode, xgettext recognizes the
43    special kind of format strings used in the GCC sources and marks them
44    as 'gcc-internal-format'.
45
46  - C++ with Qt:
47
48    xgettext has a new option --qt that triggers the recognition and marking
49    of Qt format strings.
50
51    msgfmt has a new option --qt that generates binary message catalogs in
52    Qt's .qm format.
53
54* Data formats support:
55
56  - Glade:
57    xgettext now also supports Glade version 2.
58
59* xgettext has a more reliable detection of format strings.  It now
60  recognizes format strings depending on their position, for example as the
61  second argument of fprintf(), regardless whether the literal string contains
62  format directives.  This behaviour can be customized through the --flag
63  option.
64
65* libgettextpo library:
66
67  - New functions for testing the obsolete/fuzzy/*-format flags of a message.
68  - New convenience functions for extracting and analyzing the header entry.
69
70* Portability:
71
72  - C format strings with positions, as they arise when a translator needs to
73    reorder a sentence, are now supported on all platforms. On those few
74    platforms (NetBSD and Woe32) for which the native printf()/fprintf()/...
75    functions don't support such format strings, replacements are provided
76    through <libintl.h>.
77
78  - A new configuration option --disable-libasprintf allows to build all of
79    gettext except libasprintf; this is necessary on platforms for which
80    libtool cannot create shared libraries with C++ code.
81
82* Documentation:
83
84  - Complete examples illustrating the use of gettext, including program
85    sources, Makefile and autoconf infrastructure, have been added. They
86    cover the following programming languages:
87      C           (text mode, GNOME)
88      C++         (text mode, Qt, KDE, GNOME)
89      ObjectiveC  (text mode, GNUstep, GNOME)
90      Shell       (text mode)
91      Python      (text mode)
92      Lisp        (text mode)
93      librep      (text mode)
94      Smalltalk   (text mode)
95      Java        (text mode, AWT, Swing)
96      awk         (text mode)
97      Pascal      (text mode)
98      YCP         (libyui)
99      Tcl         (text mode, Tk)
100      Perl        (text mode)
101      PHP         (text mode)
102
103Version 0.12.1 - May 2003
104
105* Bug fixes.
106
107Version 0.12 - May 2003
108
109* The gettext package is now separated into two subpackages:
110  - gettext-runtime: Runtime libraries and programs.
111  - gettext-tools: Tools and documentation for developers and translators.
112  The 'gettext-runtime' package is very small and should be installed on every
113  system that has users who desire to use internationalization. Whereas the
114  'gettext-tools' package is only for developers and translators.
115
116* The po/Makevars file has a new field MSGID_BUGS_ADDRESS, which program
117  maintainers should fill in, to help feedback from the translators to the
118  program maintainers.
119  xgettext, accordingly, has a new option --msgid-bugs-address.
120
121* Programming languages support:
122
123  - C++
124
125    A new C++ class, called gnu::autosprintf, makes it possible to use
126    C format strings in C++. This is needed for proper internationalization
127    of C++ programs.
128
129  - Java
130
131    All the tools that manipulate PO files can work with .properties files
132    as well, if given the --properties-input and/or --properties-output
133    option. To create a .properties file from a PO or POT file, use
134    "msgcat --properties-output".
135
136  - Smalltalk
137
138    xgettext now also supports Smalltalk.
139
140  - PHP
141
142    xgettext now also supports PHP.
143
144  - Python
145
146    "xgettext --language=Python" now supports the plural handling functions
147    ngettext, dngettext, ungettext (introduced in Python 2.3).
148
149  - A new autoconf macro AM_PO_SUBDIRS is added. It is like AM_GNU_GETTEXT,
150    for packages written in other languages than C/C++.
151
152* A new library libgettextpo, with public header file "gettext-po.h",
153  provides functions for reading PO files into memory. It is useful for
154  applying PO files to areas not covered by the GNU gettext programs.
155  New documentation section:
156  - Writing your own programs that process PO files.
157
158* New documentation sections:
159  - Prioritizing messages: How to determine which messages to translate first.
160  - Names: Marking Proper Names for Translation.
161
162* xgettext now supports msgid strings in other encodings than ASCII.
163  xgettext has a new option --from-code that specifies the encoding of the
164  source files. The resulting POT files are UTF-8 encoded.
165
166* Tools for translators:
167
168  - msgmerge has a new option -N/--no-fuzzy-matching that inhibits the fuzzy
169    search for untranslated messages.
170
171  - msgattrib has new options --only-file and --ignore-file that cause the
172    specified attribute manipulation to apply to selected messages only.
173
174* Compatibility with automake-1.7.
175
176* In documentation section po/LINGUAS:
177  - Document the optional "languages" en@quot and en@boldquot.
178
179* New configuration option --enable-relocatable.  See the INSTALL file for
180  details.
181
182Version 0.11.5 - August 2002
183
184* Bug fixes in the gettext.m4 autoconf macros.
185
186Version 0.11.4 - July 2002
187
188* The tools now know about the ISO C 99 <inttypes.h> format string directive
189  macros PRId64, PRIxMAX etc.
190
191Version 0.11.3 - July 2002
192
193* New program:
194    autopoint - copies standard gettext infrastructure
195
196* The documentation makes it clear that 'gettextize' is a wizard and
197  migration tool.
198
199* gettextize has a new option --dry-run.
200
201* Improved portability to Solaris, OSF/1 and Linux/libc5.
202
203* Improved interoperability with GCC 3.1.
204
205* New documentation sections:
206  - CVS Issues
207  - mkinstalldirs
208  - config.h.in
209
210Version 0.11.2 - April 2002
211
212* Bug fixes in the gettext.m4 autoconf macros.
213
214* New documentation section:
215  - Preparing Translatable Strings
216
217Version 0.11.1 - March 2002
218
219* xgettext now also supports Python, Tcl, Awk and Glade.
220
221* msgfmt can create (and msgunfmt can dump) Tcl message catalogs.
222
223* msggrep has a new option -C that allows to search for strings in translator
224  comments.
225
226* Bug fixes in the gettext.m4 autoconf macros.
227
228Version 0.11 - January 2002
229
230* New programs:
231    msgattrib - attribute matching and manipulation on message catalog,
232    msgcat - combines several message catalogs,
233    msgconv - character set conversion for message catalog,
234    msgen - create English message catalog,
235    msgexec - process translations of message catalog,
236    msgfilter - edit translations of message catalog,
237    msggrep - pattern matching on message catalog,
238    msginit - initialize a message catalog,
239    msguniq - unify duplicate translations in message catalog.
240
241* msgfmt can create (and msgunfmt can dump) Java ResourceBundles.
242
243* xgettext now also supports Lisp, Emacs Lisp, librep, Java, ObjectPascal,
244  YCP.
245
246* The tools now know about format strings in languages other than C.
247  They recognize new message flags named lisp-format, elisp-format,
248  librep-format, smalltalk-format, java-format, python-format, ycp-format.
249  When such a flag is present, the msgfmt program verifies the consistency
250  of the translated and the untranslated format string.
251
252* The msgfmt command line options have changed.  Option -c now also checks
253  the header entry, a check which was previously activated through -v.
254  Option -C corresponds to the compatibility checks previously activated
255  through -v -v.  Option -v now only increases verbosity and doesn't
256  influence whether msgfmt succeeds or fails.  A new option
257  --check-accelerators is useful for GUI menu item translations.
258
259* msgcomm now writes its results to standard output by default. The options
260  -d/--default-domain and -p/--output-dir have been removed.
261
262* Manual pages for all the programs have been added.
263
264* PO mode changes:
265  - New key bindings for 'po-previous-fuzzy-entry',
266    'po-previous-obsolete-entry', 'po-previous-translated-entry',
267    'po-previous-untranslated', 'po-undo', 'po-other-window', and
268    'po-select-auxiliary'.
269  - Support for merging two message catalogs, based on msgcat and ediff.
270
271* A fuzzy attribute of the header entry of a message catalog is now ignored
272  by the tools, i.e. it is used even if marked fuzzy.
273
274* gettextize has a new option --intl which determines whether a copy of the
275  intl directory is included in the package.
276
277* The Makefile variable @INTLLIBS@ is deprecated. It is replaced with
278  @LIBINTL@ (in projects without libtool) or @LTLIBINTL@ (in projects with
279  libtool).
280
281* New packaging hints for binary package distributors. See file PACKAGING.
282
283* New documentation sections:
284  - Manipulating
285  - po/LINGUAS
286  - po/Makevars
287  - lib/gettext.h
288  - autoconf macros
289  - Other Programming Languages
290
291Version 0.10.40 - September 2001
292
293* The libintl library is now covered by the GNU LGPL.  The tools are still
294  covered by the GNU GPL.
295
296Version 0.10.39 - July 2001
297
298* This is a bug-fix release.
299
300* Now uses libtool-1.4.  Linking with the libintl shared library is easier.
301
302* The autoconf macros now work with both autoconf-2.13 and autoconf-2.50.
303
304Version 0.10.38 - May 2001
305
306* This is a bug-fix release.
307
308* Manual pages for the GNU libintl library functions have been added.
309
310Version 0.10.37 - April 2001
311
312This is a bug-fix release.
313
314Version 0.10.36 - March 2001, by Ulrich Drepper and Bruno Haible
315
316* General plural handling. New functions ngettext, dngettext, dcngettext.
317
318* Locales which differ only in the character encoding, for example ja_JP and
319  ja_JP.UTF-8, can now share the same message catalogs. gettext converts
320  the messages to the appropriate character encoding on the fly.
321
322* The tools now correctly process PO files in CJK encodings.
323
324* Support for non-GNU gettext has been dropped.  Previously, on Solaris, the
325  system's gettext was used (unless --with-included-gettext was specified),
326  which led to problems with PO files that were not 100% translated.
327
328* Support for the catgets wrapper has been dropped.  This means that gettext
329  now always supports the LANGUAGE environment variable, message inheritance,
330  automatic charset conversion etc.
331
332* Support for the old Linux specific .msg catalog format has been dropped.
333
334* When the included GNU libintl is installed (i.e. on GNU platforms, when
335  the configure option --with-included-gettext is given, or on non-GNU
336  platforms, when the configure option --disable-nls is not given), it is
337  also installed as a shared library, unless the configure option
338  --disable-shared is given.
339
340* PO mode changes:
341
342** PO mode does not use recursive edit anymore, many edits may be worked on
343   simultaneously in a single PO file.
344
345** PO mode may handle many translation files at once while correlating related
346   entries, for helping multilingual or cultured translators.
347
348** On recent Emacses, PO mode automatically use proper fonts when available.
349
350** PO mode supports marking of C++ sources.
351
352** highlights original message while editing the translation
353
354** PO mode has commands to mail messages to teams or to the translation
355   coordinator, with automatic inclusion of the current PO file.
356
357Version 0.10.35 - April 1998, by Ulrich Drepper
358
359* by default the emulation of gettext using the catgets() functions of
360  the C library is not selected anymore.  GNU gettext has so many nice
361  extensions that this became unreasonable.  Using --with-catgets the
362  emulation still can be requested.
363
364* extend xgettext program to handle other file formats other than C/C++.
365  For now it also handles PO file.  Using this feature one can concatenate
366  arbitrary PO files.
367
368* Tcl module with gettext interface
369
370* Korean translation by Bang Jun Young
371
372* xgettext writes to stdout when default domain name is set to -
373
374* codeset name normalization
375
376* msgmerge program now has all features tupdate has (and more).
377  tupdate itself will be removed soon
378
379* po/Makefile.in.in now uses msgmerge instead of tupdate
380
381* escape notation in .po files are only used when explicitly selected
382
383* changed interface of msgunfmt to conform to GNU coding standard
384
385* msgmerge now knows how to handle obsolete entries.  If a formerly obsolete
386  entry is used again msgmerge will find it
387
388* better implementation of comment extraction in xgettext.
389
390* better C format string implementation.  The xgettext will classify
391  strings as being a format string, or not, in the .po file.  The
392  programmer can override the decision explicitly for each string
393  by specifying `xgettext:c-format' and `xgettext:no-c-format'
394  respectively in a C comment preceding the string.
395
396* msgmerge program now always produces output.  Fuzzy or non-existing
397  translations are no reason for holding back the result.
398
399* reasonable header entry format implemented
400
401* Norwegian translation by Karl Anders �gard
402
403* Configure command line option `--with-gnu-gettext' is renamed to
404  `--with-included-gettext'
405
406* gettextize now can determine whether the aclocal.m4 of the project
407  is sufficent
408
409* use automake for Makefile.in generation
410
411* by default now only c-format is emitted in xgettext.  If using the new
412  --debug option one can enable printing possible-c-format to see who
413  decided about the string: xgettext or the programmer
414
415* the installed libintl.h file no longer depends on HAVE_LOCALE_H being
416  defined.  After running configure we know whether this file exists.
417
418* wrapping of lines in PO file output finally enabled.
419  A new special comment no-wrap prevents wrapping.
420
421* add --statistics option to msgfmt to get information about number of
422  translated, untranslated, and fuzzy messages
423
424* change behaviour of --verbose option to msgfmt.  This no longer
425  causes the check on the messages to be performed.  The check for leading
426  and trailing \n is always performed and the check of the format specifiers
427  is performed when --check is given.
428
429* shared library support based On Gord Matzigkeit's libtool package
430
431* msgcomm program by Peter Miller to extract messages shared by input
432  files
433
434* many more translations.
435
436Version 0.10 - December 1995, by Ulrich Drepper
437
438* implement --shell-script option for gettext program
439
440* implement object-oriented, lazy message handling :-)
441  Consult the manual for more/any information
442
443* implement locale name aliasing, similar to the one used
444  in the X Window System
445
446* support for GNU gettext sources in central place to support
447  use in development environments of other projects
448
449* implement CEN syntax for environment variable values
450
451* msgcmp program to find matches in two .po files
452
453* programs now have exit status != 0 if errors occured
454
455* libintl.a is now selfcontained and can be used without context in
456  other projects (even on systems missing alloca)
457
458* gettextize now automatically runs config.status
459
460* swedish message catalog
461
462* new options for xgettext: -D/--directory to change in specified directory
463  before processing the input files and -f/--files-from to specify file from
464  which the names of the input files are read.
465  The later option in necessary for large projects such as GNU C Library.
466
467* new programs msgmerge and msgunfmt by Peter Miller.  The code of the other
468  programs is now also much cleaner.
469
470Version 0.9 - August 1995, by Ulrich Drepper
471
472* again many improvements on the manual
473
474* norwegian message catalog
475
476* compilation now works with --disable-nls
477
478* better checks
479
480Version 0.8 - July 1995, by Ulrich Drepper
481
482* much improved manual (although still far from being complete)
483
484* improved PO mode; it now can prepare C sources for use with gettext
485  by marking translatable strings
486
487* better support for sparse System V systems
488
489* check goal (kind of)
490
491* more input tests and warnings
492
493* better support for integration in other packages
494
495* many bugs fixed
496
497Version 0.7 - June 1995, by Ulrich Drepper
498
499* New GNU package providing functionality to internationalize and
500localize other programs.
501
502* Implementation of the Uniforum(*) proposal for internationalization
503on top of X/Open(*) style catgets functions.
504
505* Complete implementation of the Uniforum functions for system
506lacking either of them or those who which to have a different
507implementation with many advantages.
508
509* Implementation of the three tools for message catalog handling
510described in the Uniforum.
511
512* Emacs po-mode for handling portable message object files which are
513the basis of the work of the package.
514
515
516(*) Some history:  The POSIX working groups have so far been unable to
517agree on one set of message catalog handling functions for the C Library.
518For now there are competing proposals, one by the Uniforum group, led by
519Sun, and the other by X/Open.  Although the latter is surely implemented
520on more systems, it is not perceived as the clear leader.
Note: See TracBrowser for help on using the repository browser.