From: Bruno Haible Date: Mon, 21 May 2001 12:57:47 +0000 (+0000) Subject: New manual pages. X-Git-Tag: v0.10.38~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a4caf687fe2daefd835ae2f0602c758f3507ea5b;p=thirdparty%2Fgettext.git New manual pages. --- diff --git a/ChangeLog b/ChangeLog index 1b5584594..18a1c64d5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-05-20 Bruno Haible + + * Makefile.am (SUBDIRS): Add man. + * configure.in (AC_OUTPUT): Add man/Makefile. + 2001-05-17 Bruno Haible * configure.in (ALL_LINGUAS): Add cs, gl, id, it, ru. zh. diff --git a/Makefile.am b/Makefile.am index 4edc9c534..bc1fe06d1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -25,7 +25,7 @@ ACLOCAL_AMFLAGS = -I m4 gettextsrcdir = $(datadir)/gettext gettextsrc_DATA = ABOUT-NLS -SUBDIRS = doc intl lib src po m4 misc tests +SUBDIRS = doc intl lib src po man m4 misc tests EXTRA_DIST = BUGS DISCLAIM README.gemtext aclocal.sh \ djgpp/Makefile.maint djgpp/README.in djgpp/README \ diff --git a/configure.in b/configure.in index c09bea0c9..c965ed259 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.13) -AC_REVISION($Revision: 1.25.2.2 $) +AC_REVISION($Revision: 1.25.2.3 $) AC_INIT(src/msgfmt.c) AM_INIT_AUTOMAKE(gettext, 0.10.38) RELEASE_DATE=2001-05-19 dnl in "date +%Y-%m-%d" format @@ -105,8 +105,8 @@ $RELEASE_DATE GNU EOF -AC_OUTPUT([Makefile lib/Makefile intl/Makefile src/Makefile \ - po/Makefile.in doc/Makefile tests/Makefile m4/Makefile \ +AC_OUTPUT([Makefile lib/Makefile intl/Makefile src/Makefile po/Makefile.in \ + doc/Makefile man/Makefile tests/Makefile m4/Makefile \ misc/Makefile misc/gettextize], [ dnl Workaround an automake-1.4 bug which generates a distclean-recursive dnl target in Makefile.in which causes a "make distclean" failure on FreeBSD. diff --git a/man/ChangeLog b/man/ChangeLog new file mode 100644 index 000000000..d196f6ddb --- /dev/null +++ b/man/ChangeLog @@ -0,0 +1,10 @@ +2001-05-20 Bruno Haible + + * Makefile.am: New file. + * gettext.3.in: New file. + * ngettext.3.in: New file. + * textdomain.3.in: New file. + * bindtextdomain.3.in: New file. + * bind_textdomain_codeset.3.in: New file. + * dgettext.3, dcgettext.3, dngettext.3, dcngettext.3: New files. + diff --git a/man/Makefile.am b/man/Makefile.am new file mode 100644 index 000000000..dc1c4d14e --- /dev/null +++ b/man/Makefile.am @@ -0,0 +1,113 @@ +## Makefile for the man subdirectory of the GNU NLS Utilities +## Copyright (C) 2001 Free Software Foundation, Inc. +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2, or (at your option) +## any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +## Process this file with automake to produce Makefile.in. + +VERSION = @VERSION@ +mandir = @mandir@ +docdir = $(prefix)/doc/@PACKAGE@ +htmldir = $(docdir) + +AUTOMAKE_OPTIONS = 1.2 gnits + +man_MAN3 = gettext.3 ngettext.3 \ +textdomain.3 bindtextdomain.3 bind_textdomain_codeset.3 +man_MAN3IN = gettext.3.in ngettext.3.in \ +textdomain.3.in bindtextdomain.3.in bind_textdomain_codeset.3.in +man_MANS = $(man_MAN3) \ +dgettext.3 dcgettext.3 dngettext.3 dcngettext.3 + +man_HTML = gettext.3.html ngettext.3.html \ +textdomain.3.html bindtextdomain.3.html bind_textdomain_codeset.3.html + +EXTRA_DIST = $(man_MANS) $(man_MAN3IN) $(man_HTML) +MAINTAINERCLEANFILES = $(man_MAN1) $(man_MAN3) $(man_HTML) + +RM = rm -f + +# groff 1.17 or newer. +MAN2HTML = groff -mandoc -Thtml + + +# We distribute both the man pages and their HTML equivalent. +# The user can generate the parts, via +# make man +# make html + +all-local: html +install-data-local: install-html +installdirs-local: installdirs-html +uninstall-local: uninstall-html + + +# Man pages. + +gettext.3: gettext.3.in $(top_srcdir)/configure.in + sed -e 's/@''VERSION''@/@VERSION@/g' < $(srcdir)/gettext.3.in > t-$@ + mv t-$@ $@ +ngettext.3: ngettext.3.in $(top_srcdir)/configure.in + sed -e 's/@''VERSION''@/@VERSION@/g' < $(srcdir)/ngettext.3.in > t-$@ + mv t-$@ $@ +textdomain.3: textdomain.3.in $(top_srcdir)/configure.in + sed -e 's/@''VERSION''@/@VERSION@/g' < $(srcdir)/textdomain.3.in > t-$@ + mv t-$@ $@ +bindtextdomain.3: bindtextdomain.3.in $(top_srcdir)/configure.in + sed -e 's/@''VERSION''@/@VERSION@/g' < $(srcdir)/bindtextdomain.3.in > t-$@ + mv t-$@ $@ +bind_textdomain_codeset.3: bind_textdomain_codeset.3.in $(top_srcdir)/configure.in + sed -e 's/@''VERSION''@/@VERSION@/g' < $(srcdir)/bind_textdomain_codeset.3.in > t-$@ + mv t-$@ $@ + + +# Man pages in HTML format. + +html: $(man_HTML) + +gettext.3.html: gettext.3.in + $(MAN2HTML) $(srcdir)/gettext.3.in > t-$@ + mv t-$@ $@ +ngettext.3.html: ngettext.3.in + $(MAN2HTML) $(srcdir)/ngettext.3.in > t-$@ + mv t-$@ $@ +textdomain.3.html: textdomain.3.in + $(MAN2HTML) $(srcdir)/textdomain.3.in > t-$@ + mv t-$@ $@ +bindtextdomain.3.html: bindtextdomain.3.in + $(MAN2HTML) $(srcdir)/bindtextdomain.3.in > t-$@ + mv t-$@ $@ +bind_textdomain_codeset.3.html: bind_textdomain_codeset.3.in + $(MAN2HTML) $(srcdir)/bind_textdomain_codeset.3.in > t-$@ + mv t-$@ $@ + +install-html: + $(mkinstalldirs) $(DESTDIR)$(htmldir) + for file in $(man_HTML); do \ + if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ + $(INSTALL_DATA) $$dir/$$file $(DESTDIR)$(htmldir)/$$file; \ + done + +installdirs-html: + $(mkinstalldirs) $(DESTDIR)$(htmldir) + +uninstall-html: + for file in $(man_HTML); do \ + $(RM) $(DESTDIR)$(htmldir)/$$file; \ + done + + +# One more automake bug. +installdirs: installdirs-local diff --git a/man/bind_textdomain_codeset.3.in b/man/bind_textdomain_codeset.3.in new file mode 100644 index 000000000..e1373cf27 --- /dev/null +++ b/man/bind_textdomain_codeset.3.in @@ -0,0 +1,72 @@ +.\" Copyright (c) Bruno Haible +.\" +.\" This is free documentation; you can redistribute it and/or +.\" modify it under the terms of the GNU General Public License as +.\" published by the Free Software Foundation; either version 2 of +.\" the License, or (at your option) any later version. +.\" +.\" References consulted: +.\" GNU glibc-2 source code and manual +.\" GNU gettext source code and manual +.\" LI18NUX 2000 Globalization Specification +.\" +.TH BIND_TEXTDOMAIN_CODESET 3 "May 2001" "GNU gettext @VERSION@" +.SH NAME +bind_textdomain_codeset \- set encoding of message translations +.SH SYNOPSIS +.nf +.B #include +.sp +.BI "char * bind_textdomain_codeset (const char * " domainname , +.BI " const char * " codeset ); +.fi +.SH DESCRIPTION +The \fBbind_textdomain_codeset\fP function sets the output codeset for message +catalogs for domain \fIdomainname\fP. +.PP +A message domain is a set of translatable \fImsgid\fP messages. Usually, +every software package has its own message domain. +.PP +By default, the \fBgettext\fP family of functions returns translated messages +in the locale's character encoding, which can be retrieved as +\fBnl_langinfo(CODESET)\fP. The need for calling \fBbind_textdomain_codeset\fP +arises for programs which store strings in a locale independent way (e.g. +UTF-8) and want to avoid an extra character set conversion on the returned +translated messages. +.PP +\fIdomainname\fP must be a non-empty string. +.PP +If \fIcodeset\fP is not NULL, it must be a valid encoding name which can be +used for the \fBiconv_open\fP function. The \fBbind_textdomain_codeset\fP +function sets the output codeset for message catalogs belonging to domain +\fIdomainname\fP to \fIcodeset\fP. The function makes copies of the argument +strings as needed. +.PP +If \fIcodeset\fP is NULL, the function returns the previously set codeset for +domain \fIdomainname\fP. The default is NULL, denoting the locale's character +encoding. +.SH "RETURN VALUE" +If successful, the \fBbind_textdomain_codeset\fP function returns the current +codeset for domain \fIdomainname\fP, after possibly changing it. The resulting +string is valid until the next \fBbind_textdomain_codeset\fP call for the same +\fIdomainname\fP and must not be modified or freed. If a memory allocation +failure occurs, it sets \fBerrno\fP to \fBENOMEM\fP and returns NULL. If no +codeset has been set for domain \fIdomainname\fP, it returns NULL. +.SH ERRORS +The following error can occur, among others: +.TP +.B ENOMEM +Not enough memory available. +.SH BUGS +The return type ought to be \fBconst char *\fP, but is \fBchar *\fP to avoid +warnings in C code predating ANSI C. +.SH "SEE ALSO" +.BR gettext (3), +.BR dgettext (3), +.BR dcgettext (3), +.BR ngettext (3), +.BR dngettext (3), +.BR dcngettext (3), +.BR textdomain (3), +.BR nl_langinfo (3), +.BR iconv_open (3) diff --git a/man/bindtextdomain.3.in b/man/bindtextdomain.3.in new file mode 100644 index 000000000..d027872a4 --- /dev/null +++ b/man/bindtextdomain.3.in @@ -0,0 +1,69 @@ +.\" Copyright (c) Bruno Haible +.\" +.\" This is free documentation; you can redistribute it and/or +.\" modify it under the terms of the GNU General Public License as +.\" published by the Free Software Foundation; either version 2 of +.\" the License, or (at your option) any later version. +.\" +.\" References consulted: +.\" GNU glibc-2 source code and manual +.\" GNU gettext source code and manual +.\" LI18NUX 2000 Globalization Specification +.\" +.TH BINDTEXTDOMAIN 3 "May 2001" "GNU gettext @VERSION@" +.SH NAME +bindtextdomain \- set directory containing message catalogs +.SH SYNOPSIS +.nf +.B #include +.sp +.BI "char * bindtextdomain (const char * " domainname ", const char * " dirname ); +.fi +.SH DESCRIPTION +The \fBbindtextdomain\fP function sets the base directory of the hierarchy +containing message catalogs for a given message domain. +.PP +A message domain is a set of translatable \fImsgid\fP messages. Usually, +every software package has its own message domain. The need for calling +\fBbindtextdomain\fP arises because packages are not always installed with +the same prefix as the header and the libc/libintl libraries. +.PP +Message catalogs will be expected at the pathnames +\fIdirname\fP/\fIlocale\fP/\fIcategory\fP/\fIdomainname\fP.mo, +where \fIlocale\fP is a locale name and \fIcategory\fP is a locale facet such +as \fBLC_MESSAGES\fP. +.PP +\fIdomainname\fP must be a non-empty string. +.PP +If \fIdirname\fP is not NULL, the base directory for message catalogs belonging +to domain \fIdomainname\fP is set to \fIdirname\fP. The function makes copies +of the argument strings as needed. If the program wishes to call the +\fBchdir\fP function, it is important that \fIdirname\fP be an absolute +pathname; otherwise it cannot be guaranteed that the message catalogs will +be found. +.PP +If \fIdirname\fP is NULL, the function returns the previously set base +directory for domain \fIdomainname\fP. +.SH "RETURN VALUE" +If successful, the \fBbindtextdomain\fP function returns the current base +directory for domain \fIdomainname\fP, after possibly changing it. The +resulting string is valid until the next \fBbindtextdomain\fP call for the +same \fIdomainname\fP and must not be modified or freed. If a memory allocation +failure occurs, it sets \fBerrno\fP to \fBENOMEM\fP and returns NULL. +.SH ERRORS +The following error can occur, among others: +.TP +.B ENOMEM +Not enough memory available. +.SH BUGS +The return type ought to be \fBconst char *\fP, but is \fBchar *\fP to avoid +warnings in C code predating ANSI C. +.SH "SEE ALSO" +.BR gettext (3), +.BR dgettext (3), +.BR dcgettext (3), +.BR ngettext (3), +.BR dngettext (3), +.BR dcngettext (3), +.BR textdomain (3), +.BR realpath (3) diff --git a/man/dcgettext.3 b/man/dcgettext.3 new file mode 100644 index 000000000..9082c86be --- /dev/null +++ b/man/dcgettext.3 @@ -0,0 +1 @@ +.so man3/gettext.3 diff --git a/man/dcngettext.3 b/man/dcngettext.3 new file mode 100644 index 000000000..5fcf629c8 --- /dev/null +++ b/man/dcngettext.3 @@ -0,0 +1 @@ +.so man3/ngettext.3 diff --git a/man/dgettext.3 b/man/dgettext.3 new file mode 100644 index 000000000..9082c86be --- /dev/null +++ b/man/dgettext.3 @@ -0,0 +1 @@ +.so man3/gettext.3 diff --git a/man/dngettext.3 b/man/dngettext.3 new file mode 100644 index 000000000..5fcf629c8 --- /dev/null +++ b/man/dngettext.3 @@ -0,0 +1 @@ +.so man3/ngettext.3 diff --git a/man/gettext.3.in b/man/gettext.3.in new file mode 100644 index 000000000..8a8766d2b --- /dev/null +++ b/man/gettext.3.in @@ -0,0 +1,99 @@ +.\" Copyright (c) Bruno Haible +.\" +.\" This is free documentation; you can redistribute it and/or +.\" modify it under the terms of the GNU General Public License as +.\" published by the Free Software Foundation; either version 2 of +.\" the License, or (at your option) any later version. +.\" +.\" References consulted: +.\" GNU glibc-2 source code and manual +.\" GNU gettext source code and manual +.\" LI18NUX 2000 Globalization Specification +.\" +.TH GETTEXT 3 "May 2001" "GNU gettext @VERSION@" +.SH NAME +gettext, dgettext, dcgettext \- translate message +.SH SYNOPSIS +.nf +.B #include +.sp +.BI "char * gettext (const char * " msgid ); +.BI "char * dgettext (const char * " domainname ", const char * " msgid ); +.BI "char * dcgettext (const char * " domainname ", const char * " msgid , +.BI " int " category ); +.fi +.SH DESCRIPTION +The \fBgettext\fP, \fBdgettext\fP and \fBdcgettext\fP functions attempt to +translate a text string into the user's native language, by looking up the +translation in a message catalog. +.PP +The \fImsgid\fP argument identifies the message to be translated. By +convention, it is the English version of the message, with non-ASCII +characters replaced by ASCII approximations. This choice allows the +translators to work with message catalogs, called PO files, that contain +both the English and the translated versions of each message, and can be +installed using the \fBmsgfmt\fP utility. +.PP +A message domain is a set of translatable \fImsgid\fP messages. Usually, +every software package has its own message domain. The domain name is used +to determine the message catalog where the translation is looked up; it must +be a non-empty string. For the \fBgettext\fP function, it is specified through +a preceding \fBtextdomain\fP call. For the \fBdgettext\fP and \fBdcgettext\fP +functions, it is passed as the \fIdomainname\fP argument; if this argument is +NULL, the domain name specified through a preceding \fBtextdomain\fP call is +used instead. +.PP +Translation lookup operates in the context of the current locale. For the +\fBgettext\fP and \fBdgettext\fP functions, the \fBLC_MESSAGES\fP locale +facet is used. It is determined by a preceding call to the \fBsetlocale\fP +function. \fBsetlocale(LC_ALL,"")\fP initializes the \fBLC_MESSAGES\fP locale +based on the first nonempty value of the three environment variables +\fBLC_ALL\fP, \fBLC_MESSAGES\fP, \fBLANG\fP; see \fBsetlocale\fP(3). For the +\fBdcgettext\fP function, the locale facet is determined by the \fIcategory\fP +argument, which should be one of the \fBLC_xxx\fP constants defined in the + header, excluding \fBLC_ALL\fP. In both cases, the functions also +use the \fBLC_CTYPE\fP locale facet in order to convert the translated message +from the translator's codeset to the current locale's codeset, unless +overridden by a prior call to the \fBbind_textdomain_codeset\fP function. +.PP +The message catalog used by the functions is at the pathname +\fIdirname\fP/\fIlocale\fP/\fIcategory\fP/\fIdomainname\fP.mo. Here +\fIdirname\fP is the directory specified through \fBbindtextdomain\fP. Its +default is system and configuration dependent; typically it is +\fIprefix\fP/share/locale, where \fIprefix\fP is the installation prefix of the +package. \fIlocale\fP is the name of the current locale facet; the GNU +implementation also tries generalizations, such as the language name without +the territory name. \fIcategory\fP is \fBLC_MESSAGES\fP for the \fBgettext\fP +and \fBdgettext\fP functions, or the argument passed to the \fBdcgettext\fP +function. +.PP +If the \fBLANGUAGE\fP environment variable is set to a nonempty value, and the +locale is not the "C" locale, the value of \fBLANGUAGE\fP is assumed to contain +a colon separated list of locale names. The functions will attempt to look up +a translation of \fImsgid\fP in each of the locales in turn. This is a GNU +extension. +.PP +In the "C" locale, or if none of the used catalogs contain a translation for +\fImsgid\fP, the \fBgettext\fP, \fBdgettext\fP and \fBdcgettext\fP functions +return \fImsgid\fP. +.SH "RETURN VALUE" +If a translation was found in one of the specified catalogs, it is converted +to the locale's codeset and returned. The resulting string is statically +allocated and must not be modified or freed. Otherwise \fImsgid\fP is returned. +.SH ERRORS +\fBerrno\fP is not modified. +.SH BUGS +The return type ought to be \fBconst char *\fP, but is \fBchar *\fP to avoid +warnings in C code predating ANSI C. +.PP +When an empty string is used for \fImsgid\fP, the functions may return a +nonempty string. +.SH "SEE ALSO" +.BR ngettext (3), +.BR dngettext (3), +.BR dcngettext (3), +.BR setlocale (3), +.BR textdomain (3), +.BR bindtextdomain (3), +.BR bind_textdomain_codeset (3), +.BR msgfmt (1) diff --git a/man/ngettext.3.in b/man/ngettext.3.in new file mode 100644 index 000000000..874f46fe6 --- /dev/null +++ b/man/ngettext.3.in @@ -0,0 +1,60 @@ +.\" Copyright (c) Bruno Haible +.\" +.\" This is free documentation; you can redistribute it and/or +.\" modify it under the terms of the GNU General Public License as +.\" published by the Free Software Foundation; either version 2 of +.\" the License, or (at your option) any later version. +.\" +.\" References consulted: +.\" GNU glibc-2 source code and manual +.\" GNU gettext source code and manual +.\" LI18NUX 2000 Globalization Specification +.\" +.TH NGETTEXT 3 "May 2001" "GNU gettext @VERSION@" +.SH NAME +ngettext, dngettext, dcngettext \- translate message and choose plural form +.SH SYNOPSIS +.nf +.B #include +.sp +.BI "char * ngettext (const char * " msgid ", const char * " msgid_plural , +.BI " unsigned long int " n ); +.BI "char * dngettext (const char * " domainname , +.BI " const char * " msgid ", const char * " msgid_plural , +.BI " unsigned long int " n ); +.BI "char * dcngettext (const char * " domainname , +.BI " const char * " msgid ", const char * " msgid_plural , +.BI " unsigned long int " n ", int " category ); +.fi +.SH DESCRIPTION +The \fBngettext\fP, \fBdngettext\fP and \fBdcngettext\fP functions attempt to +translate a text string into the user's native language, by looking up the +appropriate plural form of the translation in a message catalog. +.PP +Plural forms are grammatical variants depending on the a number. Some languages +have two forms, called singular and plural. Other languages have three forms, +called singular, dual and plural. There are also languages with four forms. +.PP +The \fBngettext\fP, \fBdngettext\fP and \fBdcngettext\fP functions work like +the \fBgettext\fP, \fBdgettext\fP and \fBdcgettext\fP functions, respectively. +Additionally, they choose the appropriate plural form, which depends on the +number \fIn\fP and the language of the message catalog where the translation +was found. +.PP +In the "C" locale, or if none of the used catalogs contain a translation for +\fImsgid\fP, the \fBngettext\fP, \fBdngettext\fP and \fBdcngettext\fP functions +return \fImsgid\fP if \fIn\fP == 1, or \fImsgid_plural\fP if \fIn\fP != 1. +.SH "RETURN VALUE" +If a translation was found in one of the specified catalogs, the appropriate +plural form is converted to the locale's codeset and returned. The resulting +string is statically allocated and must not be modified or freed. Otherwise +\fImsgid\fP or \fImsgid_plural\fP is returned, as described above. +.SH ERRORS +\fBerrno\fP is not modified. +.SH BUGS +The return type ought to be \fBconst char *\fP, but is \fBchar *\fP to avoid +warnings in C code predating ANSI C. +.SH "SEE ALSO" +.BR gettext (3), +.BR dgettext (3), +.BR dcgettext (3) diff --git a/man/textdomain.3.in b/man/textdomain.3.in new file mode 100644 index 000000000..d1a356926 --- /dev/null +++ b/man/textdomain.3.in @@ -0,0 +1,57 @@ +.\" Copyright (c) Bruno Haible +.\" +.\" This is free documentation; you can redistribute it and/or +.\" modify it under the terms of the GNU General Public License as +.\" published by the Free Software Foundation; either version 2 of +.\" the License, or (at your option) any later version. +.\" +.\" References consulted: +.\" GNU glibc-2 source code and manual +.\" GNU gettext source code and manual +.\" LI18NUX 2000 Globalization Specification +.\" +.TH TEXTDOMAIN 3 "May 2001" "GNU gettext @VERSION@" +.SH NAME +textdomain \- set domain for future gettext() calls +.SH SYNOPSIS +.nf +.B #include +.sp +.BI "char * textdomain (const char * " domainname ); +.fi +.SH DESCRIPTION +The \fBtextdomain\fP function sets or retrieves the current message domain. +.PP +A message domain is a set of translatable \fImsgid\fP messages. Usually, +every software package has its own message domain. The domain name is used +to determine the message catalog where a translation is looked up; it must +be a non-empty string. +.PP +The current message domain is used by the \fBgettext\fP, \fBngettext\fP +functions, and by the \fBdgettext\fP, \fBdcgettext\fP, \fBdngettext\fP and +\fBdcngettext\fP functions when called with a NULL domainname argument. +.PP +If \fIdomainname\fP is not NULL, the current message domain is set to +\fIdomainname\fP. The string the function stores internally is a copy of the +\fIdomainname\fP argument. +.PP +If \fIdomainname\fP is NULL, the function returns the current message domain. +.SH "RETURN VALUE" +If successful, the \fBtextdomain\fP function returns the current message +domain, after possibly changing it. The resulting string is valid until the +next \fBtextdomain\fP call and must not be modified or freed. If a memory +allocation failure occurs, it sets \fBerrno\fP to \fBENOMEM\fP and returns +NULL. +.SH ERRORS +The following error can occur, among others: +.TP +.B ENOMEM +Not enough memory available. +.SH BUGS +The return type ought to be \fBconst char *\fP, but is \fBchar *\fP to avoid +warnings in C code predating ANSI C. +.SH "SEE ALSO" +.BR gettext (3), +.BR ngettext (3), +.BR bindtextdomain (3), +.BR bind_textdomain_codeset (3)