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.20: ==================== * 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. Download: ========= Here are the compressed sources: https://ftp.gnu.org/gnu/gettext/gettext-0.20.tar.gz (23MB) https://ftp.gnu.org/gnu/gettext/gettext-0.20.tar.xz (9.0MB) Here are the GPG detached signatures[*]: https://ftp.gnu.org/gnu/gettext/gettext-0.20.tar.gz.sig https://ftp.gnu.org/gnu/gettext/gettext-0.20.tar.xz.sig Here are the SHA1 checksums: 58ad0e554d5dfb537ff0ff1e604220f327de2889 gettext-0.20.tar.gz a01bcb5333bd52aec596f0358704fce1e6e21f4f gettext-0.20.tar.xz [*] 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.20.tar.gz.sig If that command fails because you don't have the required public key, then run this command to import it: gpg --keyserver keys.gnupg.net --recv-keys 4F494A942E4616C2 and rerun the 'gpg --verify' command. Feedback: ========= Report bugs to <bug-gnu-gett...@gnu.org> or in the bug tracker at https://savannah.gnu.org/projects/gettext/ . -- If you have a working or partly working program that you'd like to offer to the GNU project as a GNU package, see https://www.gnu.org/help/evaluation.html.