The GNU gettext package contains
  * tools for internationalization, enabling a programmer to make their package
    "speak" to the users in their specific language,
  * tools for localization, enabling a translator to initialize, check, and
    review the message translations that they provide for a package,
  * runtime libraries; in particular, a libintl library that implements the
    C function gettext() portably, in a glibc-compatible way.

It is now available in version 0.26.


==== New in 0.26 ====

# Programming languages support:
  * JavaScript:
    - xgettext now parses regular expressions with character classes
      correctly.
  * C, C++, Python, JavaScript, EmacsLisp, librep, Go, Ruby, awk, D, Tcl,
    Perl, PHP:
    - xgettext's heuristic recognition of format strings has been improved:
      strings like "100% complete" (with a space flag in a format directive)
      are no longer flagged as format strings by default, unless they occur
      in a context that requires a format string.  You can override this
      heuristic by using a comment of the form /* xgettext: c-format */.
  * Shell:
    - The documentation now mentions two other approaches for
      internationalizing messages with parameters in shell scripts.
    - xgettext now recognizes format strings in the 'printf' command syntax.
      They are marked as 'sh-printf-format' in POT and PO files.
    - Two new programs 'printf_gettext' and 'printf_ngettext' are provided,
      that do formatted output with a localized format string in a more
      efficient way (without spawning a subshell).
    - xgettext now recognizes the \c, \u, and \U escape sequences in dollar-
      single-quoted strings $'...'.

# Improvements for maintainers:
  * xgettext:
    - When extracting a message with plural that is some format string,
      xgettext now verifies that the msgid and msgid_plural are compatible
      as format strings.  For most format string types, this still allows
      omitting from msgid a placeholder that is used in msgid_plural.  But
      when a placeholder is used in both msgid and msgid_plural, its type
      must be the same in both.
    - xgettext now suggests a refactoring when a translatable string
      contains an URL or email address.

# Improvements for translators:
  * msggrep:
    - msggrep accepts two new options -W/--workflow-flags and -S/--sticky-flags
      that allow to select only messages that have a specified flag.

# Bug fixes:
  - The AM_GNU_GETTEXT macro now rejects the dysfunctional gettext() function
    in libc of Solaris 11.[0-3], Solaris OpenIndiana, and Solaris OmniOS.
  - The AM_GNU_GETTEXT macro now recognizes, on MSVC, the GNU libintl built
    as a shared library.

==== New in 0.25.1 ====

# Bug fixes:
  - autopoint no longer fails if configure.ac contains no
    AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION invocation.
  - nls.m4 is installed again under $PREFIX/share/aclocal/.

# Portability:
  - Building on native Windows with MSVC and --enable-shared is now supported.


==== Download ====

Here are the compressed sources:
  https://ftp.gnu.org/gnu/gettext/gettext-0.26.tar.gz   (30MB)
  https://ftp.gnu.org/gnu/gettext/gettext-0.26.tar.lz   (9.1MB)
  https://ftp.gnu.org/gnu/gettext/gettext-0.26.tar.xz   (9.7MB)

Here are the GPG detached signatures:
  https://ftp.gnu.org/gnu/gettext/gettext-0.26.tar.gz.sig
  https://ftp.gnu.org/gnu/gettext/gettext-0.26.tar.lz.sig
  https://ftp.gnu.org/gnu/gettext/gettext-0.26.tar.xz.sig

Use a mirror for higher download bandwidth:
  https://www.gnu.org/order/ftp.html

Here are the SHA1 and SHA256 checksums:

  File: gettext-0.26.tar.gz
  SHA1 sum:   303f56fa7f0acba9400b6e92afe2f9cdcf0ce8e7
  SHA256 sum: 39acf4b0371e9b110b60005562aace5b3631fed9b1bb9ecccfc7f56e58bb1d7f

  File: gettext-0.26.tar.lz
  SHA1 sum:   a1c1f35cfdca5703a15dd584786b2f566299324c
  SHA256 sum: a0151088dad8942374dc038e461b228352581defd7055e79297f156268b8d508

  File: gettext-0.26.tar.xz
  SHA1 sum:   06caeffe13e4e9f92912e8c4d99d340790f463ae
  SHA256 sum: d1fb86e260cfe7da6031f94d2e44c0da55903dbae0a2fa0fae78c91ae1b56f00

Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact.  First, be sure to download both the .sig file
and the corresponding tarball.  Then, run a command like this:

  gpg --verify gettext-0.26.tar.gz.sig

The signature should match the fingerprint of the following key:

  pub   ed25519 2025-01-28 [SC]
        E0FF BD97 5397 F77A 32AB  76EC B630 1D9E 1BBE AC08
  uid   Bruno Haible (Free Software Development) <br...@clisp.org>

If that command fails because you don't have the required public key,
or that public key has expired, try the following commands to retrieve
or refresh it, and then rerun the 'gpg --verify' command.

  gpg --recv-keys B6301D9E1BBEAC08

As a last resort to find the key, you can try the official GNU
keyring:

  wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg
  gpg --keyring gnu-keyring.gpg --verify gettext-0.26.tar.gz.sig




Reply via email to