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.25. ==== New in 0.25 ==== # Programming languages support: * Go: - xgettext now supports Go. - 'msgfmt -c' now verifies the syntax of translations of Go format strings. - New examples 'hello-go' and 'hello-go-http' have been added. * TypeScript: - xgettext now supports TypeScript and TSX (= TypeScript with JSX extensions). * D: - A new library libintl_d.a contains the runtime for using GNU gettext message catalogs in the D programming language. - xgettext now supports D. - 'msgfmt -c' now verifies the syntax of translations of D format strings. - A new example 'hello-d' has been added. * Modula-2: - A new library libintl_m2.so contains the runtime for using GNU gettext message catalogs in the Modula-2 programming language. - xgettext now supports Modula-2. - 'msgfmt -c' now verifies the syntax of translations of Modula-2 format strings. - A new example 'hello-modula2' has been added. # Improvements for maintainers: * xgettext has a new option '--generated' that customizes the way the 'POT-Creation-Date' in the POT file is computed. ==== New in 0.24.1 ==== * Bug fixes: - Fix bad interactions between autoreconf and autopoint. - xgettext: Creating the POT file of a package under Git version control is now faster. Also, the use of Git can be turned off by specifying the option '--no-git'. ==== Download ==== Here are the compressed sources: https://ftp.gnu.org/gnu/gettext/gettext-0.25.tar.gz (30MB) https://ftp.gnu.org/gnu/gettext/gettext-0.25.tar.lz (9.0MB) https://ftp.gnu.org/gnu/gettext/gettext-0.25.tar.xz (9.5MB) Here are the GPG detached signatures: https://ftp.gnu.org/gnu/gettext/gettext-0.25.tar.gz.sig https://ftp.gnu.org/gnu/gettext/gettext-0.25.tar.lz.sig https://ftp.gnu.org/gnu/gettext/gettext-0.25.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.25.tar.gz SHA1 sum: 3466ebb4306c9acd42c2204c7f93dce82b03839e SHA256 sum: aee02dab79d9138fdcc7226b67ec985121bce6007edebe30d0e39d42f69a340e File: gettext-0.25.tar.lz SHA1 sum: df7837331f9fea19c19f793513166e9994eade20 SHA256 sum: aa78157d5c9e042c01955091dccf7d7abd4f9463a885b0dbcc70725181ab5244 File: gettext-0.25.tar.xz SHA1 sum: 4b90d71f349df2dfdd165fecf3a6744ecfef0e98 SHA256 sum: 05240b29f5b0f422e5a4ef8e9b5f76d8fa059cc057693d2723cdb76f36a88ab0 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.25.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.25.tar.gz.sig