Dpkg::Gettext(3perl) libdpkg-perl Dpkg::Gettext(3perl)

# [NAME](#NAME)

Dpkg::Gettext - convenience wrapper around Locale::gettext

# [DESCRIPTION](#DESCRIPTION)

The Dpkg::Gettext module is a convenience wrapper over the Locale::gettext module, to guarantee we always have working gettext functions, and to add some commonly used aliases.

# [ENVIRONMENT](#ENVIRONMENT)

[DPKG\_NLS](#DPKG_NLS)

When set to 0, this environment variable will disable the National Language Support in all Dpkg modules.

# [VARIABLES](#VARIABLES)

$Dpkg::Gettext::DEFAULT\_TEXT\_DOMAIN

Specifies the default text domain name to be used with the short function aliases. This is intended to be used by the Dpkg modules, so that they can produce localized messages even when the calling program has set the current domain with **textdomain()**. If you would like to use the aliases for your own modules, you might want to set this variable to undef, or to another domain, but then the Dpkg modules will not produce localized messages.

# [FUNCTIONS](#FUNCTIONS)

$domain = textdomain($new\_domain)

Compatibility **textdomain()** fallback when Locale::gettext is not available.

If $new\_domain is not undef, it will set the current domain to $new\_domain. Returns the current domain, after possibly changing it.

$trans = gettext($msgid)

Compatibility **gettext()** fallback when Locale::gettext is not available.

Returns $msgid.

$trans = ngettext($msgid, $msgid\_plural, $n)

Compatibility **ngettext()** fallback when Locale::gettext is not available.

Returns $msgid if $n is 1 or $msgid\_plural otherwise.

$trans = g\_($msgid)

Calls **dgettext()** on the $msgid and returns its translation for the current locale. If **dgettext()** is not available, returns $msgid.

$trans = C\_($msgctxt, $msgid)

Calls **dgettext()** on the $msgid and returns its translation for the specific $msgctxt supplied. If **dgettext()** is not available, returns $msgid.

$trans = P\_($msgid, $msgid\_plural, $n)

Calls **dngettext()**, returning the correct translation for the plural form dependent on $n. If **dngettext()** is not available, returns $msgid if $n is 1 or $msgid\_plural otherwise.

$msgid = N\_($msgid)

A pseudo function that servers as a marker for automated extraction of messages, but does not call **gettext()**. The run-time translation is done at a different place in the code.

# [CHANGES](#CHANGES)

## [Version 2.01 (dpkg 1.21.10)](#Version_2.01_%28dpkg_1.21.10%29)

New function: **gettext()**.

## [Version 2.00 (dpkg 1.20.0)](#Version_2.00_%28dpkg_1.20.0%29)

Remove function: **\_g()**.

## [Version 1.03 (dpkg 1.19.0)](#Version_1.03_%28dpkg_1.19.0%29)

New envvar: Add support for new **DPKG\_NLS** environment variable.

## [Version 1.02 (dpkg 1.18.3)](#Version_1.02_%28dpkg_1.18.3%29)

New function: **N\_()**.

## [Version 1.01 (dpkg 1.18.0)](#Version_1.01_%28dpkg_1.18.0%29)

Now the short aliases (g_ and P\_) will call domain aware functions with $DEFAULT\_TEXT\_DOMAIN.

New functions: **g\_()**, **C\_()**.

Deprecated function: **\_g()**.

## [Version 1.00 (dpkg 1.15.6)](#Version_1.00_%28dpkg_1.15.6%29)

Mark the module as public.

2026-09-09 1.23.11-dirty

---

Document: Dpkg::Gettext(3perl) from dpkg 1.23.11-r2 (Chainguard OS)
Source: https://git.dpkg.org/git/dpkg/dpkg.git
