# PRINTF_NGETTEXT

NAME
SYNOPSIS
DESCRIPTION
AUTHOR
REPORTING BUGS
COPYRIGHT
SEE ALSO

## NAME

printf_ngettext - translate format string and apply it

## SYNOPSIS

printf_ngettext [OPTION] FORMAT FORMAT-PLURAL COUNT [ARGUMENT]...

## DESCRIPTION

The printf_ngettext program translates a format string into the user’s language, by looking up the translation in a message catalog and then choosing the appropriate plural form, which depends on the number COUNT and the language of the message catalog where the translation was found, and applies the translated format string to the specified arguments.

Produces formatted output, applying the native language translation of FORMAT and FORMAT-PLURAL, depending on COUNT, to the ARGUMENTs.

Options and arguments:
-c, --context=CONTEXT

specify context for FORMAT

| FORMAT |  | English singular form of format string |

FORMAT-PLURAL

English plural form of format string

| COUNT |  | choose singular/plural form based on this value |

ARGUMENT

string or numeric argument

Informative output:
-h, --help

display this help and exit

-V, --version

display version information and exit

Each format string consists of

- plain text, - directives, that start with ’%’, - escape sequences, that start with a backslash.

A directive that consumes an argument

- starts with ’%’ or ’%m$’ where m is a positive integer, - is optionally followed by any of the characters ’#’, ’0’, ’-’, ’ ’, ’+’,

each of which acts as a flag,

- is optionally followed by a width specification (a nonnegative integer), - is optionally followed by ’.’ and a precision specification (an optional

nonnegative integer),

- is finished by a specifier

- ’c’, that prints a character, - ’s’, that prints a string, - ’i’, ’d’, that print an integer, - ’u’, ’o’, ’x’, ’X’, that print an unsigned (nonnegative) integer, - ’e’, ’E’, that print a floating-point number in scientific notation, - ’f’, ’F’, that print a floating-point number without an exponent, - ’g’, ’G’, that print a floating-point number in general notation, - ’a’, ’A’, that print a floating-point number in hexadecimal notation.

Additionally there is the directive ’%%’, that prints a single ’%’.

If a directive specifies the argument by its number (’%m$’ notation), all directives that consume an argument must do so.

The escape sequences are:

| \\ |  | backslash |
| \a |  | alert (BEL) |
| \b |  | backspace (BS) |
| \f |  | form feed (FF) |
| \n |  | new line (LF) |
| \r |  | carriage return (CR) |
| \t |  | horizontal tab (HT) |
| \v |  | vertical tab (VT) |
| \nnn |  | octal number with 1 to 3 octal digits |

Environment variables:

The translation of the format string is looked up in the translation domain given by the environment variable TEXTDOMAIN. It is looked up in the catalogs directory given by the environment variable TEXTDOMAINDIR or, if not present, in the default catalogs directory. This binary is configured to use the default catalogs directory: /usr/pkg/share/locale

## AUTHOR

Written by Bruno Haible.

## REPORTING BUGS

Report bugs in the bug tracker at <https://savannah.gnu.org/projects/gettext> or by email to <bug-gettext@gnu.org>.

## COPYRIGHT

Copyright © 2025-2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

## SEE ALSO

The full documentation for printf_ngettext is maintained as a Texinfo manual. If the info and printf_ngettext programs are properly installed at your site, the command

info printf_ngettext

should give you access to the complete manual.