---
name: "Dpkg::Gettext"
section: "3perl"
platform: "linux"
package: "dpkg"
version: "1.23.11-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Dpkg::Gettext/3perl"
---

# Dpkg::Gettext(3perl)

convenience wrapper around Locale::gettext

## NAME

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

## 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

- DPKG\_NLS

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

## 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

- $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

### Version 2.01 (dpkg 1.21.10)

New function: **gettext()**.

### Version 2.00 (dpkg 1.20.0)

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

### Version 1.03 (dpkg 1.19.0)

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

### Version 1.02 (dpkg 1.18.3)

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

### Version 1.01 (dpkg 1.18.0)

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)

Mark the module as public.
