source: trunk/third/gettext/NEWS @ 21665

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