macOS
brew install gettextlocal Homebrew formula metadata
sudo port install gettextMacPorts ports tree · devel/gettext/Portfile · source: api.github.com
brew
GNU internationalization (i18n) and localization (l10n) library. Version 1.0 via Homebrew; verified 2026-07-04.
install
brew install gettextlocal Homebrew formula metadata
sudo port install gettextMacPorts ports tree · devel/gettext/Portfile · source: api.github.com
sudo apk add gettextAlpine Linux edge package indexes · gettext · source: dl-cdn.alpinelinux.org
sudo apt install autopointDebian stable package indexes · autopoint · source: deb.debian.org
sudo dnf install emacs-gettextFedora Rawhide package metadata · emacs-gettext · source: dl.fedoraproject.org
nix profile install nixpkgs#gettextnixpkgs package indexes · gettext · source: raw.githubusercontent.com
sudo pacman -S gettextArch Linux sync databases · gettext · source: geo.mirror.pkgbuild.com
sudo zypper install gettext-runtimeopenSUSE Tumbleweed package metadata · gettext-runtime · source: download.opensuse.org
scoop install main/gettextScoop official bucket manifest trees · bucket/gettext.json · source: api.github.com
winget install --id mlocati.GetText -eWindows Package Manager source index · mlocati.GetText · source: cdn.winget.microsoft.com
overview
GNU internationalization (i18n) and localization (l10n) library
history
GNU gettext is the GNU internationalization and localization toolkit for message catalogs. It supplies runtime APIs, command-line tools, PO and MO file workflows, and maintainer and translator conventions used by many Unix-like software projects.
GNU's own history traces the work to 1994 internationalization experiments around GNU fileutils and the `glocale` effort. Ulrich Drepper rewrote the approach in April 1995, and the package went through names such as `msgutils` and `nlsutils` before `gettext` was accepted as the GNU package name.
The first official GNU gettext release, numbered 0.7, appeared in July 1995 and included PO mode. In 1997, GNU libc 2.0 included the `gettext`, `textdomain`, and `bindtextdomain` functions; in 2000, plural-form handling via `ngettext` entered GNU libc, and Bruno Haible took over GNU gettext maintenance.
gettext became central to GNU and Unix-like localization because it separates programming from translation: source strings are marked in code, `xgettext` extracts templates, translators edit PO files, `msgmerge` refreshes them across source changes, and `msgfmt` compiles machine-readable catalogs. Its workflow gave maintainers, translators, distributors, and users a shared file format and toolchain.
Practitioners use gettext by marking translatable strings in program sources, initializing a text domain, extracting POT templates, maintaining language-specific PO files, compiling MO files, and installing catalogs under locale directories. Shell users and build systems also use utilities such as `gettext`, `ngettext`, `xgettext`, `msginit`, `msgmerge`, `msgfmt`, `msgattrib`, `msgcat`, and `envsubst`.
For package ecosystems, gettext is infrastructure rather than an optional convenience. Source distributions often carry POT and PO files, binary packages install compiled catalogs, and build recipes depend on tools such as `autopoint`, `gettextize`, `msgfmt`, and `xgettext` to keep translation workflows reproducible.
security posture
library-like package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
autopoint | cli | global executable | |
envsubst | cli | global executable | |
gettext | cli | global executable | |
gettext.sh | cli | global executable | |
gettextize | cli | global executable | |
msgattrib | cli | global executable | |
msgcat | cli | global executable | |
msgcmp | cli | global executable | |
msgcomm | cli | global executable | |
msgconv | cli | global executable | |
msgen | cli | global executable | |
msgexec | cli | global executable | |
msgfilter | cli | global executable | |
msgfmt | cli | global executable | |
msggrep | cli | global executable | |
msginit | cli | global executable | |
msgmerge | cli | global executable | |
msgpre | cli | global executable | |
msgunfmt | cli | global executable | |
msguniq | cli | global executable | |
ngettext | cli | global executable | |
po-fetch | cli | global executable | |
printf_gettext | cli | global executable | |
printf_ngettext | cli | global executable | |
recode-sr-latin | cli | global executable | |
spit | cli | global executable | |
xgettext | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://www.gnu.org/software/gettext/
install metadata
| Package key | brew:gettext |
|---|---|
| Version | 1.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/gettext |
| Homepage | https://www.gnu.org/software/gettext/ |
| Repository | https://git.savannah.gnu.org/cgit/gettext.git |
| Upstream docs | https://www.gnu.org/software/gettext/FAQ.html |
| License | GPL-3.0-or-later AND LGPL-2.1-or-later |
| Source archive | https://ftpmirror.gnu.org/gnu/gettext/gettext-1.0.tar.gz |
| Last updated | 2026-07-04T09:43:28Z |
| Pulse | updated |
| Dependencies | json-c, libunistring |
| Uses from macOS | curl, libxml2, ncurses |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | gettext |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
autopoint 0.23.1-2
tool for setting up gettext infrastructure in a source package
https://www.gnu.org/software/gettext/
sudo apt install autopointgettext 0.23.1-2
GNU Internationalization utilities
https://www.gnu.org/software/gettext/
sudo apt install gettextgettext-base 0.23.1-2
GNU Internationalization utilities for the base system
https://www.gnu.org/software/gettext/
sudo apt install gettext-basegettext-doc 0.23.1-2
Documentation for GNU gettext
https://www.gnu.org/software/gettext/
sudo apt install gettext-docgettext-el 0.23.1-2
Emacs mode for editing gettext .po files
https://www.gnu.org/software/gettext/
sudo apt install gettext-ellibasprintf-dev 0.23.1-2
use fprintf and friends in C++ - static libraries and headers
https://www.gnu.org/software/gettext/
sudo apt install libasprintf-devlibasprintf0v5 0.23.1-2
use fprintf and friends in C++ - shared library
https://www.gnu.org/software/gettext/
sudo apt install libasprintf0v5libgettextpo-dev 0.23.1-2
process PO files - static libraries and headers
https://www.gnu.org/software/gettext/
sudo apt install libgettextpo-devlibgettextpo0 0.23.1-2
process PO files - shared library
https://www.gnu.org/software/gettext/
sudo apt install libgettextpo0gettext
nix profile install nixpkgs#gettextautopoint 0.21-14ubuntu2
tool for setting up gettext infrastructure in a source package
https://www.gnu.org/software/gettext/
sudo apt install autopointgettext 0.21-14ubuntu2
GNU Internationalization utilities
https://www.gnu.org/software/gettext/
sudo apt install gettextgettext-base 0.21-14ubuntu2
GNU Internationalization utilities for the base system
https://www.gnu.org/software/gettext/
sudo apt install gettext-basegettext-doc 0.21-14ubuntu2
Documentation for GNU gettext
https://www.gnu.org/software/gettext/
sudo apt install gettext-docgettext-el 0.21-14ubuntu2
Emacs mode for editing gettext .po files
https://www.gnu.org/software/gettext/
sudo apt install gettext-ellibasprintf-dev 0.21-14ubuntu2
use fprintf and friends in C++ - static libraries and headers
https://www.gnu.org/software/gettext/
sudo apt install libasprintf-devsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.