ngettext(1) on Solnix vs Linux and the BSDs
ngettext is not in the Solnix base system; it comes from the GNU gettext package pkgs.solnix.gettext. The Solnix page (GNU gettext-runtime 0.22.5) and the Linux page (GNU gettext-runtime 1.0) document the same synopsis and options. The bundle has no BSD counterpart pages.
The manual pages
- Solnix: ngettext(1) from
pkgs.solnix.gettext - Linux: ngettext(1) gettext-1.0
- Standard: POSIX.1-2024 (IEEE Std 1003.1-2024),
ngettext
What Solnix runs
Not installed by default: add pkgs.solnix.gettext. The Solnix page documents GNU gettext-runtime 0.22.5. No other illumos variants are shipped.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | same program | Solnix and Linux both document GNU gettext ngettext with the same synopsis, the same options (-d, -c, -e, -E, -h, -V) and the same argument order. Only the release differs: 0.22.5 on Solnix, 1.0 on Linux.Source: Solnix ngettext(1) SYNOPSIS, DESCRIPTION; Linux ngettext(1) SYNOPSIS, DESCRIPTION |
| Linux | standard search directory | Both pages say the default catalog directory is a /nix/store path ending in share/locale. The store hashes and gettext versions differ (0.22.5 on Solnix, 1.0 on Linux). The text only states that TEXTDOMAINDIR overrides the directory.Source: Solnix ngettext(1) final paragraph (Standard search directory); Linux ngettext(1) final paragraph |
| FreeBSD, OpenBSD, NetBSD | no counterpart page | The bundle has no ngettext(1) page for FreeBSD, OpenBSD or NetBSD. The manual does not say whether ngettext is present on those systems or how it behaves there. Source: Bundle header (COUNTERPART lists only linux) |
| Linux | not in the base system | The command is not on PATH on a default Solnix system. Install pkgs.solnix.gettext first. Scripts that call ngettext fail with command not found until the package is installed. Source: Header line: On a default Solnix system the command on PATH is: none: install pkgs.solnix.gettext |
Standards
- POSIX: ngettext is listed as a POSIX.1-2024 utility in the bundle header.
- Solnix: The Solnix page has no STANDARDS or CONFORMING TO section.
- Linux: The Linux page has no STANDARDS or CONFORMING TO section.
Writing portable scripts
- Set TEXTDOMAIN or pass the TEXTDOMAIN argument explicitly, and set TEXTDOMAINDIR if catalogs are not in the default directory. The built-in search path is a package-specific store path.
- Check that ngettext is installed (on Solnix, from pkgs.solnix.gettext) before relying on it in a script.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.