Linux Today: Linux News On Internet Time.

More on LinuxToday

Release Digest: GNU, January 5, 2004

Jan 06, 2004, 05:00 (0 Talkback[s])


How to Help Your Business Become an AI Early Adopter

gettext 0.13.1

gettext 0.13.1 is available from http://ftp.gnu.org/gnu/gettext/ and GNU mirrors, both the distribution .tar.gz and the GPG signature.

Gettext is the standard GNU package for internationalization and is used by very many other GNU packages.

Please send comments and bug reports to bug-gnu-gettext@gnu.org.

Karl (not the gettext maintainer, just another user :)

Here's the NEWS:

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)