mirror of
https://github.com/php-win-ext/gettext.git
synced 2026-04-27 19:13:12 +02:00
967 lines
34 KiB
Plaintext
967 lines
34 KiB
Plaintext
Version 0.18.3 - July 2013
|
|
|
|
* Runtime behaviour:
|
|
On Mac OS X systems, the setlocale() function now properly
|
|
invalidates loaded message catalogs when a locale has been set.
|
|
|
|
* Programming languages support:
|
|
|
|
- C++:
|
|
The gnu::autosprintf class now provides an assignment operator.
|
|
|
|
- Glade:
|
|
xgettext now supports GtkBuider file format used by Glade 3.
|
|
xgettext now also extracts contexts (msgctxt) from Glade 2 and
|
|
GtkBuider files.
|
|
|
|
- JavaScript:
|
|
xgettext now partially supports JavaScript. Since the current
|
|
JavaScript specification (ECMA-262) does not define the standard
|
|
set of formatting methods nor translation functions, the
|
|
implementation supports only a limited set of formatting methods
|
|
and translation functions commonly used in Gjs and other popular
|
|
JavaScript implemenations and libraries.
|
|
|
|
- Lua:
|
|
xgettext now supports Lua, using Ľubomír Remák's lua-gettext.
|
|
|
|
- Python:
|
|
xgettext and msgfmt's format string checking now recognize Python
|
|
format string in braced syntax (PEP 3101). xgettext now also
|
|
supports explicit string concatenation with '+' and handles
|
|
platform dependent line terminators (LF/CR/CRLF) transparently.
|
|
|
|
- Tcl:
|
|
Bug fix in xgettext Unicode escape handling.
|
|
|
|
- Vala:
|
|
xgettext now supports Vala.
|
|
|
|
* msgattrib now has --previous option to keep previous msgid when
|
|
making messages fuzzy, similar to msgmerge --previous.
|
|
|
|
* msgfmt now checks PO file headers more strictly with less
|
|
false-positives.
|
|
|
|
* 'gettextize' now checks macro directories specified with
|
|
AC_CONFIGURE_MACRO_DIRS in configure.ac.
|
|
|
|
* Portability:
|
|
- msginit now does not require GNU sed.
|
|
- The Makefile rule for generating en@quot and en@boldquot now uses
|
|
@SED@ variable instead of hard-coded 'sed' command to allow users
|
|
to supply GNU sed.
|
|
|
|
* Future backward-incompatibilities:
|
|
- In future Gettext versions, the files installed by 'gettextize'
|
|
will require Automake 1.10 or later. This will improve the
|
|
compatibility of user projects with newer Automake versions.
|
|
|
|
Version 0.18.2 - December 2012
|
|
|
|
* xgettext now understands the block comment syntax of Guile 2.0.
|
|
|
|
* libgettextpo library:
|
|
- The initial msgstr of a new message is now "", not NULL.
|
|
- Bug fixes in the functions po_message_is_range, po_file_check_all,
|
|
po_message_check_all.
|
|
|
|
* Installation options:
|
|
The configure options --with-xz and --with-bzip2 can be used to specify
|
|
alternate compression methods for the archive used by the 'autopoint'
|
|
program. These options, together with --with-git, allow to trade
|
|
dependencies against installed package size. --with-xz has the highest
|
|
compression rate, followed by --with-git, followed by --with-bzip2.
|
|
|
|
* Autoconf macros:
|
|
- The autoconf macros installed by 'gettextize' now work with the
|
|
forthcoming Automake 1.14 and require Autoconf version 2.60 or
|
|
newer.
|
|
|
|
* Portability:
|
|
- Building on MacOS X 10.7, Cygwin 1.7.10, and newer 64-bit mingw is
|
|
now supported.
|
|
|
|
Version 0.18.1 - June 2010
|
|
|
|
* msggrep: A '$' anchor in a regular expression now also matches the end of
|
|
the string, even if it does not end in a newline.
|
|
|
|
* Dependencies:
|
|
The libraries and programs are now linked with libunistring if this library
|
|
is already installed.
|
|
|
|
* Installation options:
|
|
The configure option --with-cvs is deprecated. The 'autopoint' program will
|
|
now use the 'git' program by default to compress its archive. If the
|
|
configure option --without-git is specified, 'autopoint' will not rely on
|
|
'git', but will instead rely on a locally installed a 3 MB large archive.
|
|
|
|
Version 0.18 - May 2010
|
|
|
|
* Runtime behaviour:
|
|
- On MacOS X and Windows systems, <libintl.h> now extends setlocale() and
|
|
newlocale() so that their determination of the default locale considers
|
|
the choice the user has made in the system control panels.
|
|
- On MacOS X systems, the gettext()/dgettext()/... functions now respect the
|
|
locale of the current thread, if a thread-specific locale has been set.
|
|
|
|
* PO file format:
|
|
There is a new field 'Language' in the header entry. It denotes the language
|
|
code (plus optional country code) for the PO file. This field can be used
|
|
by automated tools, such as spell checkers. It is expected to be more
|
|
reliable than looking at the file name or at the 'Language-Team' field in
|
|
the header entry.
|
|
msgmerge, msgcat, msgen have a new option --lang that allows to specify
|
|
this field. Additionally, msgmerge fills in this new field by looking at
|
|
the 'Language-Team' field (if the --lang option is not given).
|
|
|
|
* xgettext and PO file format:
|
|
For messages with plural forms, programmers can inform the translators
|
|
about the range of possible values of the numeric argument, like this:
|
|
/* xgettext: range: 0..15 */
|
|
This information 'range: 0..15' is stored in the PO file as a flag attached
|
|
to the message. Translators can produce better translations when they know
|
|
that the numeric argument is small.
|
|
|
|
* Colorized PO files:
|
|
msgattrib, msgcomm, msgconv, msgen, msgfilter, msggrep, msginit, msgmerge,
|
|
msgunfmt, msguniq, xgettext now have options --color and --style, like msgcat
|
|
has since version 0.17.
|
|
|
|
* msgmerge is up to 10 times faster when the PO and POT files are large.
|
|
This speedup was contributed by Ralf Wildenhues.
|
|
|
|
* msgcmp has a new option -N/--no-fuzzy-matching, like msgmerge has since
|
|
version 0.12.
|
|
|
|
* msgfilter now sets environment variables during the invocation of the
|
|
filter, indicating the msgid and location of the messge being processed.
|
|
|
|
* xgettext now can extract plural forms from Qt 4 programs. The recommended
|
|
xgettext command-line options for this case are:
|
|
--qt --keyword=tr:1,1t --keyword=tr:1,2c,2t --keyword=tr:1,1,2c,3t
|
|
|
|
* xgettext --language=GCC-source now recognizes also the format strings
|
|
used in the Fortran front-end of the GCC compiler, and marks them as
|
|
'gfc-internal-format'.
|
|
|
|
* autopoint can now be used to update several PO directories all together.
|
|
|
|
* PO mode changes:
|
|
- PO files with plural entries are now correctly handled.
|
|
- Editing a message with previous msgid (in comments) removes these
|
|
comments. Contributed by Noritada Kobayashi.
|
|
|
|
* The po/Makevars file has a new field MSGMERGE_OPTIONS, that can be used
|
|
to adjust msgmerge's operation.
|
|
|
|
* The use of the macro AM_GNU_GETTEXT without 'external' argument and the
|
|
--intl option of the gettextize program are deprecated and will be removed
|
|
in the next release. Instead of including the intl sources in your package,
|
|
we suggest making the libintl library an (optional) prerequisite of your
|
|
package.
|
|
|
|
* Updated the meaning of 'gcc-internal-format' to match GCC 4.3.
|
|
|
|
* Installation options:
|
|
The configure options --without-cvs and --with-git can be used to specify
|
|
whether 'autopoint' will use the 'cvs' program, or the 'git' program, or
|
|
none at all. These options allow to trade dependencies against installed
|
|
package size: If --without-cvs is specified and --with-git is not specified,
|
|
'autopoint' will not rely on 'cvs' or 'git', but will instead rely on a
|
|
locally installed a 3 MB large archive.
|
|
|
|
* Portability:
|
|
- The msgfilter program now also works on native Woe32 platforms.
|
|
- Compiled C# message catalogs now also work with 'mono' versions from 2009
|
|
or newer.
|
|
|
|
Version 0.17 - November 2007
|
|
|
|
* License:
|
|
The gettext related programs and tools are now licensed under the GPL
|
|
version 3, instead of the GPL version 2. The libintl library continues
|
|
to be licensed under LGPL.
|
|
|
|
* PO file format:
|
|
The Project-Id-Version field in the header entry may now already be filled
|
|
in the POT file. In this case, the translators don't need to fill it in.
|
|
xgettext has new options --package-name and --package-version that allow
|
|
to specify the package name and version from a Makefile.
|
|
|
|
* Colorized PO files:
|
|
The msgcat program has new options --color and --style that produce a
|
|
colorized PO file output, where keywords, strings, comments, or format
|
|
directives can be highlighted. See the documentation section
|
|
"Highlighting parts of PO files" for more info.
|
|
|
|
* gettextize now has a --po-dir option that allows several PO directories to
|
|
be updated all together.
|
|
|
|
* Programming languages support:
|
|
- Contexts (msgctxt) are now also supported for Java and C#.
|
|
- C# with Qt: The support for Qt format strings has been updated for Qt 4.
|
|
- C++ with KDE:
|
|
xgettext has a new option --kde that triggers the recognition and marking
|
|
of KDE 4 format strings.
|
|
|
|
* Autoconf macros:
|
|
- A new macro AM_XGETTEXT_OPTION can be used as an alternative to modifying
|
|
po/Makevars.
|
|
|
|
* libgettextpo library:
|
|
- New functions are available for querying the list of supported format
|
|
types.
|
|
- The functions po_message_comments and po_message_extracted_comments
|
|
return a multiline string where each line no longer starts with a redundant
|
|
space. The leading space in every comment line is now stripped while
|
|
reading the PO file.
|
|
- Conversely, when you pass a multiline string to the function
|
|
po_message_set_comments or po_message_set_extracted_comments, you normally
|
|
don't pass a space at the beginning of each line, because such spaces are
|
|
no longer trimmed during output.
|
|
|
|
* Documentation:
|
|
- The "Users" chapter has been completely rewritten.
|
|
- New section "Highlighting parts of PO files".
|
|
- A complete example showing the use of GNU gettext in Java with the Qt/Jambi
|
|
GUI toolkit has been added.
|
|
|
|
Version 0.16.1 - November 2006
|
|
|
|
* Bug fix in the gettext.m4 autoconf macros.
|
|
|
|
Version 0.16 - October 2006
|
|
|
|
* Interoperability with automake-1.10.
|
|
|
|
* msgmerge has a new option --previous that has the effect of saving the
|
|
previous msgid of message when making them fuzzy. These previous msgids are
|
|
stored in the resulting PO file, using a pseudo-comment syntax like this:
|
|
|
|
#, fuzzy
|
|
#| msgid "too many arguments"
|
|
msgid "too few arguments"
|
|
msgstr "trop d'arguments"
|
|
|
|
The translator then only needs to compare the previous and the current
|
|
msgid ("too many arguments" and "too few arguments"), and infer which
|
|
parts of the translation she needs to change.
|
|
|
|
msgattrib has a new option --clear-previous that removes these #| lines.
|
|
|
|
* msgmerge is faster now on CPUs with multiple execution units, if compiled
|
|
with GCC 4.2 or newer.
|
|
|
|
* msgcmp now ignores fuzzy and untranslated messages in the PO file.
|
|
Previously it considered fuzzy and untranslated messages the same way as
|
|
translated messages, which was hardly useful. The previous behaviour can
|
|
be obtained through the options --use-fuzzy --use-untranslated.
|
|
|
|
* gettextize, when invoked without --intl option, now installs only the .m4
|
|
files that are needed: gettext.m4, iconv.m4, lib-ld.m4, lib-link.m4,
|
|
lib-prefix.m4, nls.m4, po.m4, progtest.m4.
|
|
|
|
* gettextize no longer creates symbolic links by default; it makes file copies
|
|
instead. The option --copy is removed. You can get back the flawed
|
|
symlinking behaviour by specifying the --symlink option.
|
|
|
|
* Autoconf macros:
|
|
- The gettext autoconf macros now require autoconf 2.52 or newer and
|
|
GNU m4 1.4.5 or newer.
|
|
- A new autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is added. It allows to
|
|
specify the presence of an intl/ subdirectory outside the AM_GNU_GETTEXT
|
|
invocation.
|
|
- A new autoconf macro AM_GNU_GETTEXT_NEED is added. It allows to specify
|
|
the requirements relating to the GNU gettext implementation outside the
|
|
AM_GNU_GETTEXT invocation.
|
|
|
|
* The libgettextpo library no longer exports symbols that could clash with
|
|
symbols of the application that uses it.
|
|
|
|
* Vastly improved French translations. Thanks to Christophe Combelles.
|
|
|
|
Version 0.15 - July 2006
|
|
|
|
* GUI program support:
|
|
- PO files can now contain messages constrained to a certain context.
|
|
Most often such a context is a menu, dialog or panel identification.
|
|
The syntax in the PO file is
|
|
msgctxt "context"
|
|
msgid "original"
|
|
msgstr "translation"
|
|
- The xgettext program can be told through the --keyword flag which
|
|
function/macro argument has the role of a context. It also supports
|
|
the GNOME glib convention to specify the context and original string
|
|
in the same string literal: "context|original".
|
|
- The (non-public) include file gettext.h defines macros pgettext, dpgettext
|
|
etc. that take a context argument.
|
|
For more information, see the node "Contexts" in the manual.
|
|
|
|
* msgfmt's format string checking is now stricter in the presence of plural
|
|
forms. For example, in German, with nplurals=2 and plural=(n != 1),
|
|
the translation
|
|
|
|
#, c-format
|
|
msgid "%d fatal error"
|
|
msgid_plural "%d fatal errors"
|
|
msgstr[0] "ein fataler Fehler"
|
|
msgstr[1] "fatale Fehler"
|
|
|
|
was earlier considered valid and now gives an error when "msgfmt --check"
|
|
is used:
|
|
"number of format specifications in 'msgid' and 'msgstr[1]' does not match"
|
|
|
|
* msggrep has a new option -v/--invert-match that acts like grep's -v option.
|
|
|
|
* msggrep has a new option -X/--extracted-comment that allows to search for a
|
|
pattern in the extracted comments.
|
|
|
|
* xgettext's --keyword option now allows to specify an extracted comment on the
|
|
command line, rather than in program's source code.
|
|
|
|
* msgmerge is much faster now, when using a large compendium.
|
|
|
|
* A new program recode-sr-latin is provided, that converts Serbian text from
|
|
the Cyrillic script to the Latin script.
|
|
The command "msgfilter recode-sr-latin" can be used to convert a Serbian
|
|
Cyrillic PO file (sr.po) to a Serbian Latin PO file (sr@latin.po).
|
|
|
|
* Programming languages support:
|
|
|
|
- C++ with Boost:
|
|
xgettext has a new option --boost that triggers the recognition and marking
|
|
of boost::format strings.
|
|
|
|
- Python:
|
|
xgettext now recognizes the source encoding from a "coding:" comment
|
|
among the first two lines. The default encoding is now ASCII, no longer
|
|
ISO-8859-1.
|
|
|
|
* libgettextpo library:
|
|
- The error handler type passed to po_file_read(), po_file_write(),
|
|
po_message_check_format() has changed.
|
|
This is an incompatible change: Programs using the library *must* update
|
|
their code.
|
|
Binary compatibility is guaranteed, however.
|
|
|
|
* The 'mkinstalldirs' shell script is no longer needed and no longer installed
|
|
by gettextize.
|
|
|
|
* Portability:
|
|
- Building on mingw is now supported.
|
|
- Building shared libraries (--enable-shared) on Cygwin and mingw is now
|
|
supported.
|
|
|
|
* Interoperability with expat version 2.0.0.
|
|
|
|
* Documentation:
|
|
A complete example showing the use of GNU gettext with the wxWidgets GUI
|
|
toolkit has been added.
|
|
|
|
* The gettext autoconf macros now assume 'aclocal' from automake 1.8 or newer.
|
|
|
|
Version 0.14.6 - June 2006
|
|
|
|
* Updated the meaning of 'gcc-internal-format' to match GCC 4.1.
|
|
|
|
Version 0.14.5 - May 2005
|
|
|
|
* Updated the meaning of 'gcc-internal-format' to match GCC 4.0.
|
|
|
|
Version 0.14.4 - April 2005
|
|
|
|
* The gettext autoconf macros will now work with the forthcoming g++ 4.0.
|
|
* Fix improved detection of the locale on MacOS X.
|
|
|
|
Version 0.14.3 - March 2005
|
|
|
|
* Usability improvements in gettextize and autopoint.
|
|
|
|
* Programming languages support:
|
|
- Scheme:
|
|
Use the GNU guile definition of format strings.
|
|
|
|
Version 0.14.2 - February 2005
|
|
|
|
* Improved detection of the locale on MacOS X.
|
|
|
|
* The gettext autoconf macros now require autoconf 2.50 or newer.
|
|
|
|
* Programming languages support:
|
|
|
|
- Scheme:
|
|
xgettext now also supports Scheme. Best used with guile 1.7 or newer.
|
|
|
|
* msggrep is much faster now.
|
|
|
|
* libgettextpo library:
|
|
- New functions for constructing PO files in memory and writing them to
|
|
files.
|
|
- The error handling is now customizable.
|
|
|
|
* Documentation:
|
|
|
|
- New tutorial document, written by Gora Mohanty.
|
|
- New FAQ document.
|
|
- New documentation sections: Scheme, Release Management.
|
|
|
|
* Bug fixes for Turkish and Estonian locales.
|
|
|
|
* Security fixes.
|
|
|
|
Version 0.14 - January 2004
|
|
|
|
* Programming languages support:
|
|
|
|
- C#:
|
|
|
|
xgettext now also supports C#.
|
|
|
|
New library: GNU.Gettext.dll contains the runtime for using GNU gettext
|
|
message catalogs in C#.
|
|
|
|
msgfmt can create (and msgunfmt can dump) message catalogs for C#.
|
|
|
|
* Special feature for Farsi (Persian): Translators can insert an 'I' flag
|
|
into numeric format directives in format strings. Its effect is that, on
|
|
glibc systems, the number is generated with the locale dependent set of
|
|
special digits instead of the usual ASCII digits.
|
|
|
|
* Documentation:
|
|
|
|
- New documentation section: C#.
|
|
- Complete examples illustrating the use of gettext in C# (in text mode and
|
|
in Forms applications) have been added.
|
|
|
|
- New documentation section: Preparing Library Sources.
|
|
|
|
* Special advice for Norwegian users: The language code for Norwegian
|
|
bokmål changed from 'no' to 'nb' recently (in 2003). During the transition
|
|
period, while some message catalogs for this language are installed under
|
|
'nb' and some older ones under 'no', it's recommended for Norwegian users to
|
|
set the LANGUAGE environment variable to 'nb:no' so that both newer and
|
|
older translations are used.
|
|
|
|
Version 0.13.1 - December 2003
|
|
|
|
* Bug fixes in the testsuite and in the examples.
|
|
|
|
Version 0.13 - November 2003
|
|
|
|
* Programming languages support:
|
|
|
|
- Shell:
|
|
|
|
xgettext now also supports shell scripts. It recognizes invocations of
|
|
the programs 'gettext', 'ngettext', the functions 'eval_gettext',
|
|
'eval_ngettext', as well as the deprecated GNU bash builtin syntax $"...".
|
|
New function library:
|
|
gettext.sh - shell functions for internationalized shell scripts.
|
|
New program:
|
|
envsubst - substitutes environment variables in shell format strings.
|
|
|
|
- Perl:
|
|
|
|
xgettext now also supports Perl.
|
|
|
|
- PHP:
|
|
|
|
"xgettext --language=PHP" now supports the plural handling functions
|
|
ngettext, dngettext, dcngettext (introduced in PHP 4.2.0).
|
|
|
|
- ObjectiveC:
|
|
|
|
"xgettext --language=ObjectiveC" now supports the @"..." string syntax,
|
|
the NSLocalizedString function and the ObjectiveC specific format strings.
|
|
|
|
All the tools that manipulate PO files can work with .strings files
|
|
as well, if given the --stringtable-input and/or --stringtable-output
|
|
option. To create a .strings file from a PO or POT file, use
|
|
"msgcat --stringtable-output". To create a PO or POT file from a
|
|
.strings file, use "xgettext".
|
|
|
|
- GCC-source:
|
|
|
|
xgettext's --language option now supports the value "GCC-source". This
|
|
is like --language=C, except that in this mode, xgettext recognizes the
|
|
special kind of format strings used in the GCC sources and marks them
|
|
as 'gcc-internal-format'.
|
|
|
|
- C++ with Qt:
|
|
|
|
xgettext has a new option --qt that triggers the recognition and marking
|
|
of Qt format strings.
|
|
|
|
msgfmt has a new option --qt that generates binary message catalogs in
|
|
Qt's .qm format.
|
|
|
|
* Data formats support:
|
|
|
|
- Glade:
|
|
xgettext now also supports Glade version 2.
|
|
|
|
* xgettext has a more reliable detection of format strings. It now
|
|
recognizes format strings depending on their position, for example as the
|
|
second argument of fprintf(), regardless whether the literal string contains
|
|
format directives. This behaviour can be customized through the --flag
|
|
option.
|
|
|
|
* libgettextpo library:
|
|
|
|
- New functions for testing the obsolete/fuzzy/*-format flags of a message.
|
|
- New convenience functions for extracting and analyzing the header entry.
|
|
|
|
* Portability:
|
|
|
|
- C format strings with positions, as they arise when a translator needs to
|
|
reorder a sentence, are now supported on all platforms. On those few
|
|
platforms (NetBSD and Woe32) for which the native printf()/fprintf()/...
|
|
functions don't support such format strings, replacements are provided
|
|
through <libintl.h>.
|
|
|
|
- A new configuration option --disable-libasprintf allows to build all of
|
|
gettext except libasprintf; this is necessary on platforms for which
|
|
libtool cannot create shared libraries with C++ code.
|
|
|
|
* Documentation:
|
|
|
|
- Complete examples illustrating the use of gettext, including program
|
|
sources, Makefile and autoconf infrastructure, have been added. They
|
|
cover the following programming languages:
|
|
C (text mode, GNOME)
|
|
C++ (text mode, Qt, KDE, GNOME)
|
|
ObjectiveC (text mode, GNUstep, GNOME)
|
|
Shell (text mode)
|
|
Python (text mode)
|
|
Lisp (text mode)
|
|
librep (text mode)
|
|
Smalltalk (text mode)
|
|
Java (text mode, AWT, Swing)
|
|
awk (text mode)
|
|
Pascal (text mode)
|
|
YCP (libyui)
|
|
Tcl (text mode, Tk)
|
|
Perl (text mode)
|
|
PHP (text mode)
|
|
|
|
Version 0.12.1 - May 2003
|
|
|
|
* Bug fixes.
|
|
|
|
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 �gard
|
|
|
|
* 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 sufficient
|
|
|
|
* 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 occurred
|
|
|
|
* 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.
|