Updated: gettext{,-devel,doc} emacs-gettext lib{gettextpo,asprintf}{0,-devel} libintl{8,-devel} mingw64-{x86_64,i686}-gettext 0.21

Cygwin Gettext Maintainer Brian.Inglis@SystematicSW.ab.ca
Fri Jul 30 00:25:06 GMT 2021


The following packages have been uploaded to the Cygwin distribution:

* gettext			0.21
* gettext-devel			0.21
* gettext-doc			0.21
* emacs-gettext			0.21
* libgettextpo0			0.21
* libgettextpo-devel		0.21
* libasprintf0			0.21
* libasprintf-devel		0.21
* libintl8			0.21
* libintl-devel			0.21
* mingw64-x86_64-gettext	0.21
* mingw64-i686-gettext		0.21

The GNU gettext package provides a set of tools and documentation for 
producing multi-lingual messages in programs. Tools include a set of 
conventions about how programs should be written to support message 
catalogs, a directory and file naming organization for the message 
catalogs, a runtime library which supports the retrieval of translated 
messages, and stand-alone programs for handling the translatable and the 
already translated strings. Gettext provides an easy to use library and 
tools for creating, using, and modifying natural language catalogs and is a 
powerful and simple method for internationalizing programs.

For changes since the previous versions 0.19.5/8, see below,
/usr/share/doc/gettext/NEWS after installation, or the link:

https://git.savannah.gnu.org/gitweb/?p=gettext.git;f=NEWS;a=blob

Version 0.21 - July 2020

* Programming languages support:
  - Shell:
    o xgettext now recognizes and ignores 'env' invocations and environment
      variable assignments in front of commands.
  - Java:
    o xgettext now recognizes format strings in the Formatter syntax.  They
      are marked as 'java-printf-format' in POT and PO files.
    o xgettext now recognizes text blocks as string literals.
  - JavaScript:
    xgettext parses JSX expressions more reliably.
  - Ruby:
    o xgettext now supports Ruby.
    o 'msgfmt -c' now verifies the syntax of translations of Ruby format
      strings.

* Runtime behaviour:
  - On native Windows platforms, the directory that contains the message
    catalogs may now contain arbitrary Unicode characters. To make use of
    this feature, use the new function 'wbindtextdomain' instead of
    'bindtextdomain'. It allows to pass a directory name in wchar_t[] encoding.
    Note: 'wbindtextdomain' exists only on native Windows platforms.

* Improvements for translators:
  - When msgfmt writes a MO file, it now does so in such a way that processes
    that are currently using an older copy of the MO file will not crash.

* Libtextstyle:
  - Added support for emitting hyperlinks.
  - New API for doing formatted output.
  - The example programs support the NO_COLOR environment variable.

Version 0.20.2 - April 2020

* Improvements for maintainers:
  - A dependency bug in po/Makefile.in.in has been fixed.

* Programming languages support:
  - Shell:
    o The programs 'gettext', 'ngettext', when invoked with option -e, now
      expand '\\' and octal escape sequences, instead of swallowing them.
      (Bug present since the beginning.)
    o xgettext now recognizes 'gettext' program invocations with the '-e'
      option, such as
        gettext -e 'some\nstring\n'
  - Python:
    xgettext now assumes a Python source file is in UTF-8 encoding by default,
    as stated in PEP 3120.
  - Desktop Entry:
    The value of the 'Icon' property is no longer extracted into the POT file
    by xgettext.  The documentation explains how to localize icons.

* Runtime behaviour:
  - The interpretation of the language preferences on macOS has been improved,
    especially in the case where a system locale does not exist for the
    combination of the selected primary language and the selected territory.
  - Fixed a multithread-safety bug on Cygwin and native Windows.

* Libtextstyle:
  - Fixed a number of bugs (by upgrading libcroco to version 0.6.13).

Version 0.20.1 - May 2019

* Important bug fix:
  - Fixed a wrong shared library versioning of libintl.so.

Version 0.20 - May 2019

* Support for reproducible builds:
  - msgfmt now eliminates the POT-Creation-Date header field from .mo files.

* Improvements for translators:
  - update-po target in Makefile.in.in now uses msgmerge --previous.

* Improvements for maintainers:
  - msgmerge now has an option --for-msgfmt, that produces a PO file meant
    for use by msgfmt only.  This option saves processing time, in particular
    by omitting fuzzy matching that is not useful in this situation.
  - The .pot file in a 'po' directory is now erased by "make maintainer-clean".
  - It is now possible to override xgettext options from the po/Makefile.in.in
    through options in XGETTEXT_OPTIONS (declared in po/Makevars).
  - The --intl option of the gettextize program (deprecated since 2010) is
    no longer available. Instead of including the intl sources in your package,
    we suggest making the libintl library an optional prerequisite of your
    package. This will simplify the build system of your package.
  - Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.

* Programming languages support:
  - C, C++:
    xgettext now supports strings in u8"..." syntax, as specified in C11
    and C++11.
  - C, C++:
    xgettext now supports 'p'/'P' exponent markers in number tokens, as
    specified in C99 and C++17.
  - C++:
    xgettext now supports underscores in number tokens.
  - C++:
    xgettext now supports single-quotes in number tokens, as specified in
    C++14.
  - Shell:
    o The programs 'gettext', 'ngettext' now support a --context argument.
    o gettext.sh contains new function eval_pgettext and eval_npgettext
      for producing translations of messages with context.
  - Java:
    o xgettext now supports UTF-8 encoded .properties files (a new feature
      of Java 9).
    o The build system and tools now support Java 9, 10, and 11. On the
      other hand, support for old versions of Java (Java 5 and older,
      GCJ 4.2.x and older) has been dropped.
  - Perl:
    o Native support for context functions (pgettext, dpgettext, dcpgettext,
      npgettext, dnpgettext, dcnpgettext).
    o better detection of question mark and slash as operators (as opposed 
      to regular expression delimiters).
  - Scheme:
    xgettext now parses the syntax for specialized byte vectors (#u8(...),
    #vu8(...), etc.) correctly.
  - Pascal:
    xgettext can now extract strings from .rsj files, produced by the
    Free Pascal compiler version 3.0.0 or newer.
  - Vala:
    xgettext now parses escape sequences in strings more accurately.
  - JavaScript:
    xgettext now parses template literals correctly.

* Runtime behaviour:
  - The interpretation of the language preferences on macOS has been fixed.
  - Per-thread locales are now also supported on Solaris 11.4.
  - The replacements for the printf()/fprintf()/... functions that are
    provided through <libintl.h> on native Windows and NetBSD are now POSIX
    compliant.  There is no conflict any more between these replacements
    and other possible replacements provided by gnulib or mingw.

* Libtextstyle:
  - This package installs a new library 'libtextstyle', together with a new
    header file <textstyle.h>.  It is a library for styling text output sent
    to a console or terminal emulator.
    Packagers: please see the suggested packaging hints in the file PACKAGING.

Version 0.19.8 - June 2016

* Support for reproducible builds:
  - msgfmt now produces little-endian .mo files by default.

* Programming languages support:
  - XML:
    xgettext and msgfmt now look for .its files in directories
    supplied through the GETTEXTDATADIRS or XDG_DATA_DIRS environment
    variable.
  - JavaScript:
    xgettext and msgfmt now recognize numbered arguments in format
    strings.

* Portability:
  - Improve OS/2 kLIBC support.
  - Fix libintl compilation issue with pre-C99 compilers.  It was a
    regression since 0.19.5.
  - The AM_GNU_GETTEXT Autoconf macro can now detect musl-libc's
    gettext as a compatible implementation.

Version 0.19.7 - December 2015

* Programming languages support:
  - XML:
    xgettext can now load custom string extraction rules supplied by
    consumer projects.  The rules are written in XML, utilizing the
    Internationalization Tag Set (ITS) standard.  All the existing
    XML-based language scanners (Glade, GSettings, and AppData) are
    rewritten using ITS.  In addition, msgfmt now has --xml option to
    merge translations back to the original XML document.

* Portability:
  - Improve OS/2 kLIBC support (still not complete)
  - Remove dependency on expat

Version 0.19.6 - September 2015

* Programming languages support:
  - AppData:
    xgettext now supports AppData file format, used by software center
    applications (e.g., GNOME Software) to describe installable
    applications.

* A new macro AM_GNU_GETTEXT_REQUIRE_VERSION can be used to indicate
  autopoint to pull the latest available infrastructure, instead of
  the exact version specified with AM_GNU_GETTEXT_VERSION.  When
  AM_GNU_GETTEXT_REQUIRE_VERSION is used, AM_GNU_GETTEXT_VERSION is
  ignored.

* po/Makefile.in.in can now insert the file $(DOMAIN).pot-header to
  $(DOMAIN).pot, instead of the standard header comments.

* Bug fixes:
  - Fix mishandling of gettext version numbers for minor releases, in
    po-mode.el and gettextize.
  - Fix build with --enable-relocatable.



More information about the Cygwin-announce mailing list