[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gettext-0.22 released [stable]
From: |
Bruno Haible |
Subject: |
gettext-0.22 released [stable] |
Date: |
Sat, 17 Jun 2023 15:35:30 +0200 |
Here is a new release of GNU gettext.
GNU gettext allows programs to produce messages in the user's native
language. It consists of
- runtime libraries for C, C++, Java, C#, Shell programs.
- tools for programmers and translators.
New in version 0.22:
====================
* PO file format:
- When a #: line contains references to file names that contain spaces,
these file names are surrounded by Unicode characters U+2068 and U+2069.
This makes it possible to parse such references correctly.
* Improvements for maintainers:
- The AM_GNU_GETTEXT macro now defines two variables localedir_c and
localedir_c_make, that can be used in C code or in Makefiles,
respectively, for representing the value of the --localedir configure
option.
* Programming languages support:
- C, C++:
o xgettext now supports gettext-like functions that take wide strings
(of type 'const wchar_t *', 'const char16_t *', or 'const char32_t *')
as arguments.
o xgettext now recognizes numbers with digit separators, as defined by
ISO C 23, as tokens.
o xgettext and msgfmt now recognize the format string directive %b
(for binary integer output, as defined by ISO C 23) in format strings.
o xgettext and msgfmt now recognize the argument size specifiers
w8, w16, w32, w64, wf8, wf16, wf32, wf64 (as defined by ISO C 23)
in format strings.
o xgettext and msgfmt now recognize C++ format strings, as defined by
ISO C++ 20. They are marked as 'c++-format' in POT and PO files.
A new example has been added, 'hello-c++20', that illustrates how
to use these format strings with gettext.
- Java:
o The build system and tools now also support Java versions newer than
Java 11. This is known to work up to Java 20, at least. On the other
hand, support for old versions of Java (Java 1.5 and GCJ) has been
dropped.
- Tcl: xgettext now supports the \x, \u, and \U escapes as defined in
Tcl 8.6.
* Portability:
- On systems with musl libc, the *gettext() functions in libc now work
with MO files generated from PO files with an encoding other than UTF-8.
To this effect, the msgfmt program now converts the messages to UTF-8
encoding before storing them in a MO file. You can prevent this by
using the msgfmt --no-convert option.
- On systems with musl libc, the *gettext() functions in libc now work
with MO files generated from PO files with ISO C 99 <inttypes.h> format
string directive macros. To this effect, the msgfmt program pre-expands
strings with such macros. You can prevent this by using the msgfmt
--no-redundancy option.
* xgettext:
- The xgettext option '--sorted-output' is now deprecated.
- xgettext input files of type PO that are not all ASCII and not UTF-8
encoded are now handled correctly.
* The base Unicode standard is now updated to 15.0.0.
* Emacs PO mode:
Fix an incompatibility with Emacs version 29 or newer.
Download:
=========
Here are the compressed sources:
https://ftp.gnu.org/gnu/gettext/gettext-0.22.tar.gz (25MB)
https://ftp.gnu.org/gnu/gettext/gettext-0.22.tar.lz (7.8MB)
https://ftp.gnu.org/gnu/gettext/gettext-0.22.tar.xz (9.6MB)
Here are the GPG detached signatures:
https://ftp.gnu.org/gnu/gettext/gettext-0.22.tar.gz.sig
https://ftp.gnu.org/gnu/gettext/gettext-0.22.tar.lz.sig
https://ftp.gnu.org/gnu/gettext/gettext-0.22.tar.xz.sig
Here are the SHA1 and SHA256 checksums:
ee59ed8121be886a23d5975e22bc857f830d86c8 gettext-0.22.tar.gz
SfCJvhG0kBcLvwntL1Hl9Rd/Vb5MxmUEpYYYIOD7Bqs= gettext-0.22.tar.gz
261aa54775577b9b709316b0e9fab804b603f46b gettext-0.22.tar.lz
JOJmmyOr8m+a/bvDBV7eszh5+zZFTegOjkqts9u+C5Y= gettext-0.22.tar.lz
d9666d3b9c47a84c814d32e76fa75f60ec23756f gettext-0.22.tar.xz
DmA5OkcGFWe0aHWySbfSeIsJLWRX1lYUW7Dn5qPibZM= gettext-0.22.tar.xz
Verify the base64 SHA256 checksum with cksum -a sha256 --check
from coreutils-9.2 or OpenBSD's cksum since 2007.
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.22.tar.gz.sig
The signature should match the fingerprint of the following key:
pub rsa4096 2019-02-12 [SC]
9001 B85A F9E1 B83D F1BD A942 F5BE 8B26 7C6A 406D
uid Bruno Haible (Open Source Development) <bruno@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 F5BE8B267C6A406D
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.22.tar.gz.sig
Documentation:
==============
Documentation for gettext:
https://www.gnu.org/software/gettext/manual/
Documentation for libtextstyle:
https://www.gnu.org/software/gettext/libtextstyle/manual/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gettext-0.22 released [stable],
Bruno Haible <=