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