Automatically generated.

This commit is contained in:
Bruno Haible 2001-05-23 21:17:07 +00:00
parent 3d6905a8ab
commit ce97b018e2
18 changed files with 1465 additions and 0 deletions

340
man/Makefile.in Normal file
View File

@ -0,0 +1,340 @@
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
includedir = @includedir@
oldincludedir = /usr/include
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
ACLOCAL_VERSION = @ACLOCAL_VERSION@
AS = @AS@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
DVIPS = @DVIPS@
EMACS = @EMACS@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
TEXI2HTML = @TEXI2HTML@
TEXI2PDF = @TEXI2PDF@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
YACC = @YACC@
aclocaldir = @aclocaldir@
lispdir = @lispdir@
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
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
man3dir = $(mandir)/man3
MANS = $(man_MANS)
NROFF = nroff
DIST_COMMON = ChangeLog Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnits --include-deps man/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
install-man3:
$(mkinstalldirs) $(DESTDIR)$(man3dir)
@list='$(man3_MANS)'; \
l2='$(man_MANS)'; for i in $$l2; do \
case "$$i" in \
*.3*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man3dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man3dir)/$$inst; \
done
uninstall-man3:
@list='$(man3_MANS)'; \
l2='$(man_MANS)'; for i in $$l2; do \
case "$$i" in \
*.3*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man3dir)/$$inst"; \
rm -f $(DESTDIR)$(man3dir)/$$inst; \
done
install-man: $(MANS)
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-man3
uninstall-man:
@$(NORMAL_UNINSTALL)
$(MAKE) $(AM_MAKEFLAGS) uninstall-man3
tags: TAGS
TAGS:
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = man
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data-am: install-man install-data-local
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am: uninstall-man uninstall-local
uninstall: uninstall-am
all-am: Makefile $(MANS) all-local
all-redirect: all-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
$(mkinstalldirs) $(DESTDIR)$(mandir)/man3
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
mostlyclean-am: mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool
distclean: distclean-am
maintainer-clean-am: maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
.PHONY: install-man3 uninstall-man3 install-man uninstall-man tags \
distdir info-am info dvi-am dvi check check-am installcheck-am \
installcheck install-exec-am install-exec install-data-local \
install-data-am install-data install-am install uninstall-local \
uninstall-am uninstall all-local all-redirect all-am all installdirs \
mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
# 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
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -0,0 +1,72 @@
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" 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 0.10.38"
.SH NAME
bind_textdomain_codeset \- set encoding of message translations
.SH SYNOPSIS
.nf
.B #include <libintl.h>
.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)

View File

@ -0,0 +1,154 @@
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta name="Content-Style" content="text/css">
<title>BIND_TEXTDOMAIN_CODESET</title>
</head>
<body>
<h1 align=center>BIND_TEXTDOMAIN_CODESET</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#RETURN VALUE">RETURN VALUE</a><br>
<a href="#ERRORS">ERRORS</a><br>
<a href="#BUGS">BUGS</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<!-- Creator : groff version 1.17 -->
<!-- CreationDate: Sun May 20 13:45:15 2001 -->
<a name="NAME"></a>
<h2>NAME</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
bind_textdomain_codeset - set encoding of message translations</td></table>
<a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<pre><b>#include &lt;libintl.h&gt;
char * bind_textdomain_codeset (const char *</b> <i>domainname</i><b>,
const char *</b> <i>codeset</i><b>);
</b></pre></td></table>
<a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The <b>bind_textdomain_codeset</b> function sets the output
codeset for message catalogs for domain
<i>domainname</i>.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
A message domain is a set of translatable <i>msgid</i>
messages. Usually, every software package has its own
message domain.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
By default, the <b>gettext</b> family of functions returns
translated messages in the locale's character encoding,
which can be retrieved as <b>nl_langinfo(CODESET)</b>. The
need for calling <b>bind_textdomain_codeset</b> 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.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<i>domainname</i> must be a non-empty string.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
If <i>codeset</i> is not NULL, it must be a valid encoding
name which can be used for the <b>iconv_open</b> function.
The <b>bind_textdomain_codeset</b> function sets the output
codeset for message catalogs belonging to domain
<i>domainname</i> to <i>codeset</i>. The function makes
copies of the argument strings as needed.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
If <i>codeset</i> is NULL, the function returns the
previously set codeset for domain <i>domainname</i>. The
default is NULL, denoting the locale's character
encoding.</td></table>
<a name="RETURN VALUE"></a>
<h2>RETURN VALUE</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
If successful, the <b>bind_textdomain_codeset</b> function
returns the current codeset for domain <i>domainname</i>,
after possibly changing it. The resulting string is valid
until the next <b>bind_textdomain_codeset</b> call for the
same <i>domainname</i> and must not be modified or freed. If
a memory allocation failure occurs, it sets <b>errno</b> to
<b>ENOMEM</b> and returns NULL. If no codeset has been set
for domain <i>domainname</i>, it returns NULL.</td></table>
<a name="ERRORS"></a>
<h2>ERRORS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The following error can occur, among others:</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>ENOMEM</b></td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
Not enough memory available.</td></table>
<a name="BUGS"></a>
<h2>BUGS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The return type ought to be <b>const char *</b>, but is
<b>char *</b> to avoid warnings in C code predating ANSI
C.</td></table>
<a name="SEE ALSO"></a>
<h2>SEE ALSO</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>gettext</b>(3), <b>dgettext</b>(3), <b>dcgettext</b>(3),
<b>ngettext</b>(3), <b>dngettext</b>(3),
<b>dcngettext</b>(3), <b>textdomain</b>(3),
<b>nl_langinfo</b>(3), <b>iconv_open</b>(3)</td></table>
<hr>
</body>
</html>

69
man/bindtextdomain.3 Normal file
View File

@ -0,0 +1,69 @@
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" 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 0.10.38"
.SH NAME
bindtextdomain \- set directory containing message catalogs
.SH SYNOPSIS
.nf
.B #include <libintl.h>
.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 <libintl.h> 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)

153
man/bindtextdomain.3.html Normal file
View File

@ -0,0 +1,153 @@
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta name="Content-Style" content="text/css">
<title>BINDTEXTDOMAIN</title>
</head>
<body>
<h1 align=center>BINDTEXTDOMAIN</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#RETURN VALUE">RETURN VALUE</a><br>
<a href="#ERRORS">ERRORS</a><br>
<a href="#BUGS">BUGS</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<!-- Creator : groff version 1.17 -->
<!-- CreationDate: Sun May 20 13:45:14 2001 -->
<a name="NAME"></a>
<h2>NAME</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
bindtextdomain - set directory containing message catalogs</td></table>
<a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<pre><b>#include &lt;libintl.h&gt;
char * bindtextdomain (const char *</b> <i>domainname</i><b>, const char *</b> <i>dirname</i><b>);
</b></pre></td></table>
<a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The <b>bindtextdomain</b> function sets the base directory
of the hierarchy containing message catalogs for a given
message domain.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
A message domain is a set of translatable <i>msgid</i>
messages. Usually, every software package has its own
message domain. The need for calling <b>bindtextdomain</b>
arises because packages are not always installed with the
same prefix as the &lt;libintl.h&gt; header and the
libc/libintl libraries.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
Message catalogs will be expected at the pathnames
<i>dirname</i>/<i>locale</i>/<i>category</i>/<i>domainname</i>.mo,
where <i>locale</i> is a locale name and <i>category</i> is
a locale facet such as <b>LC_MESSAGES</b>.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<i>domainname</i> must be a non-empty string.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
If <i>dirname</i> is not NULL, the base directory for
message catalogs belonging to domain <i>domainname</i> is
set to <i>dirname</i>. The function makes copies of the
argument strings as needed. If the program wishes to call
the <b>chdir</b> function, it is important that
<i>dirname</i> be an absolute pathname; otherwise it cannot
be guaranteed that the message catalogs will be
found.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
If <i>dirname</i> is NULL, the function returns the
previously set base directory for domain
<i>domainname</i>.</td></table>
<a name="RETURN VALUE"></a>
<h2>RETURN VALUE</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
If successful, the <b>bindtextdomain</b> function returns
the current base directory for domain <i>domainname</i>,
after possibly changing it. The resulting string is valid
until the next <b>bindtextdomain</b> call for the same
<i>domainname</i> and must not be modified or freed. If a
memory allocation failure occurs, it sets <b>errno</b> to
<b>ENOMEM</b> and returns NULL.</td></table>
<a name="ERRORS"></a>
<h2>ERRORS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The following error can occur, among others:</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>ENOMEM</b></td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
Not enough memory available.</td></table>
<a name="BUGS"></a>
<h2>BUGS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The return type ought to be <b>const char *</b>, but is
<b>char *</b> to avoid warnings in C code predating ANSI
C.</td></table>
<a name="SEE ALSO"></a>
<h2>SEE ALSO</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>gettext</b>(3), <b>dgettext</b>(3), <b>dcgettext</b>(3),
<b>ngettext</b>(3), <b>dngettext</b>(3),
<b>dcngettext</b>(3), <b>textdomain</b>(3),
<b>realpath</b>(3)</td></table>
<hr>
</body>
</html>

99
man/gettext.3 Normal file
View File

@ -0,0 +1,99 @@
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" 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 0.10.38"
.SH NAME
gettext, dgettext, dcgettext \- translate message
.SH SYNOPSIS
.nf
.B #include <libintl.h>
.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
<locale.h> 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)

192
man/gettext.3.html Normal file
View File

@ -0,0 +1,192 @@
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta name="Content-Style" content="text/css">
<title>GETTEXT</title>
</head>
<body>
<h1 align=center>GETTEXT</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#RETURN VALUE">RETURN VALUE</a><br>
<a href="#ERRORS">ERRORS</a><br>
<a href="#BUGS">BUGS</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<!-- Creator : groff version 1.17 -->
<!-- CreationDate: Sun May 20 13:45:13 2001 -->
<a name="NAME"></a>
<h2>NAME</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
gettext, dgettext, dcgettext - translate message</td></table>
<a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<pre><b>#include &lt;libintl.h&gt;
char * gettext (const char *</b> <i>msgid</i><b>);
char * dgettext (const char *</b> <i>domainname</i><b>, const char *</b> <i>msgid</i><b>);
char * dcgettext (const char *</b> <i>domainname</i><b>, const char *</b> <i>msgid</i><b>,
int</b> <i>category</i><b>);
</b></pre></td></table>
<a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The <b>gettext</b>, <b>dgettext</b> and <b>dcgettext</b>
functions attempt to translate a text string into the user's
native language, by looking up the translation in a message
catalog.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The <i>msgid</i> 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 <b>msgfmt</b>
utility.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
A message domain is a set of translatable <i>msgid</i>
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 <b>gettext</b> function, it
is specified through a preceding <b>textdomain</b> call. For
the <b>dgettext</b> and <b>dcgettext</b> functions, it is
passed as the <i>domainname</i> argument; if this argument
is NULL, the domain name specified through a preceding
<b>textdomain</b> call is used instead.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
Translation lookup operates in the context of the current
locale. For the <b>gettext</b> and <b>dgettext</b>
functions, the <b>LC_MESSAGES</b> locale facet is used. It
is determined by a preceding call to the <b>setlocale</b>
function. <b>setlocale(LC_ALL,&quot;&quot;)</b> initializes
the <b>LC_MESSAGES</b> locale based on the first nonempty
value of the three environment variables <b>LC_ALL</b>,
<b>LC_MESSAGES</b>, <b>LANG</b>; see <b>setlocale</b>(3).
For the <b>dcgettext</b> function, the locale facet is
determined by the <i>category</i> argument, which should be
one of the <b>LC_xxx</b> constants defined in the
&lt;locale.h&gt; header, excluding <b>LC_ALL</b>. In both
cases, the functions also use the <b>LC_CTYPE</b> 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
<b>bind_textdomain_codeset</b> function.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The message catalog used by the functions is at the pathname
<i>dirname</i>/<i>locale</i>/<i>category</i>/<i>domainname</i>.mo.
Here <i>dirname</i> is the directory specified through
<b>bindtextdomain</b>. Its default is system and
configuration dependent; typically it is
<i>prefix</i>/share/locale, where <i>prefix</i> is the
installation prefix of the package. <i>locale</i> is the
name of the current locale facet; the GNU implementation
also tries generalizations, such as the language name
without the territory name. <i>category</i> is
<b>LC_MESSAGES</b> for the <b>gettext</b> and
<b>dgettext</b> functions, or the argument passed to the
<b>dcgettext</b> function.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
If the <b>LANGUAGE</b> environment variable is set to a
nonempty value, and the locale is not the &quot;C&quot;
locale, the value of <b>LANGUAGE</b> is assumed to contain a
colon separated list of locale names. The functions will
attempt to look up a translation of <i>msgid</i> in each of
the locales in turn. This is a GNU extension.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
In the &quot;C&quot; locale, or if none of the used catalogs
contain a translation for <i>msgid</i>, the <b>gettext</b>,
<b>dgettext</b> and <b>dcgettext</b> functions return
<i>msgid</i>.</td></table>
<a name="RETURN VALUE"></a>
<h2>RETURN VALUE</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
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 <i>msgid</i> is
returned.</td></table>
<a name="ERRORS"></a>
<h2>ERRORS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>errno</b> is not modified.</td></table>
<a name="BUGS"></a>
<h2>BUGS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The return type ought to be <b>const char *</b>, but is
<b>char *</b> to avoid warnings in C code predating ANSI
C.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
When an empty string is used for <i>msgid</i>, the functions
may return a nonempty string.</td></table>
<a name="SEE ALSO"></a>
<h2>SEE ALSO</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>ngettext</b>(3), <b>dngettext</b>(3),
<b>dcngettext</b>(3), <b>setlocale</b>(3),
<b>textdomain</b>(3), <b>bindtextdomain</b>(3),
<b>bind_textdomain_codeset</b>(3),
<b>msgfmt</b>(1)</td></table>
<hr>
</body>
</html>

60
man/ngettext.3 Normal file
View File

@ -0,0 +1,60 @@
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" 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 0.10.38"
.SH NAME
ngettext, dngettext, dcngettext \- translate message and choose plural form
.SH SYNOPSIS
.nf
.B #include <libintl.h>
.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)

130
man/ngettext.3.html Normal file
View File

@ -0,0 +1,130 @@
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta name="Content-Style" content="text/css">
<title>NGETTEXT</title>
</head>
<body>
<h1 align=center>NGETTEXT</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#RETURN VALUE">RETURN VALUE</a><br>
<a href="#ERRORS">ERRORS</a><br>
<a href="#BUGS">BUGS</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<!-- Creator : groff version 1.17 -->
<!-- CreationDate: Sun May 20 13:45:13 2001 -->
<a name="NAME"></a>
<h2>NAME</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
ngettext, dngettext, dcngettext - translate message and choose plural form</td></table>
<a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<pre><b>#include &lt;libintl.h&gt;
char * ngettext (const char *</b> <i>msgid</i><b>, const char *</b> <i>msgid_plural</i><b>,
unsigned long int</b> <i>n</i><b>);
char * dngettext (const char *</b> <i>domainname</i><b>,
const char *</b> <i>msgid</i><b>, const char *</b> <i>msgid_plural</i><b>,
unsigned long int</b> <i>n</i><b>);
char * dcngettext (const char *</b> <i>domainname</i><b>,
const char *</b> <i>msgid</i><b>, const char *</b> <i>msgid_plural</i><b>,
unsigned long int</b> <i>n</i><b>, int</b> <i>category</i><b>);
</b></pre></td></table>
<a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The <b>ngettext</b>, <b>dngettext</b> and <b>dcngettext</b>
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.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
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.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The <b>ngettext</b>, <b>dngettext</b> and <b>dcngettext</b>
functions work like the <b>gettext</b>, <b>dgettext</b> and
<b>dcgettext</b> functions, respectively. Additionally, they
choose the appropriate plural form, which depends on the
number <i>n</i> and the language of the message catalog
where the translation was found.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
In the &quot;C&quot; locale, or if none of the used catalogs
contain a translation for <i>msgid</i>, the <b>ngettext</b>,
<b>dngettext</b> and <b>dcngettext</b> functions return
<i>msgid</i> if <i>n</i> == 1, or <i>msgid_plural</i> if
<i>n</i> != 1.</td></table>
<a name="RETURN VALUE"></a>
<h2>RETURN VALUE</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
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
<i>msgid</i> or <i>msgid_plural</i> is returned, as
described above.</td></table>
<a name="ERRORS"></a>
<h2>ERRORS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>errno</b> is not modified.</td></table>
<a name="BUGS"></a>
<h2>BUGS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The return type ought to be <b>const char *</b>, but is
<b>char *</b> to avoid warnings in C code predating ANSI
C.</td></table>
<a name="SEE ALSO"></a>
<h2>SEE ALSO</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>gettext</b>(3), <b>dgettext</b>(3),
<b>dcgettext</b>(3)</td></table>
<hr>
</body>
</html>

57
man/textdomain.3 Normal file
View File

@ -0,0 +1,57 @@
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" 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 0.10.38"
.SH NAME
textdomain \- set domain for future gettext() calls
.SH SYNOPSIS
.nf
.B #include <libintl.h>
.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)

139
man/textdomain.3.html Normal file
View File

@ -0,0 +1,139 @@
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta name="Content-Style" content="text/css">
<title>TEXTDOMAIN</title>
</head>
<body>
<h1 align=center>TEXTDOMAIN</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#RETURN VALUE">RETURN VALUE</a><br>
<a href="#ERRORS">ERRORS</a><br>
<a href="#BUGS">BUGS</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<!-- Creator : groff version 1.17 -->
<!-- CreationDate: Sun May 20 13:45:14 2001 -->
<a name="NAME"></a>
<h2>NAME</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
textdomain - set domain for future gettext() calls</td></table>
<a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<pre><b>#include &lt;libintl.h&gt;
char * textdomain (const char *</b> <i>domainname</i><b>);
</b></pre></td></table>
<a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The <b>textdomain</b> function sets or retrieves the current
message domain.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
A message domain is a set of translatable <i>msgid</i>
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.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The current message domain is used by the <b>gettext</b>,
<b>ngettext</b> functions, and by the <b>dgettext</b>,
<b>dcgettext</b>, <b>dngettext</b> and <b>dcngettext</b>
functions when called with a NULL domainname
argument.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
If <i>domainname</i> is not NULL, the current message domain
is set to <i>domainname</i>. The string the function stores
internally is a copy of the <i>domainname</i>
argument.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
If <i>domainname</i> is NULL, the function returns the
current message domain.</td></table>
<a name="RETURN VALUE"></a>
<h2>RETURN VALUE</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
If successful, the <b>textdomain</b> function returns the
current message domain, after possibly changing it. The
resulting string is valid until the next <b>textdomain</b>
call and must not be modified or freed. If a memory
allocation failure occurs, it sets <b>errno</b> to
<b>ENOMEM</b> and returns NULL.</td></table>
<a name="ERRORS"></a>
<h2>ERRORS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The following error can occur, among others:</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>ENOMEM</b></td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
Not enough memory available.</td></table>
<a name="BUGS"></a>
<h2>BUGS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The return type ought to be <b>const char *</b>, but is
<b>char *</b> to avoid warnings in C code predating ANSI
C.</td></table>
<a name="SEE ALSO"></a>
<h2>SEE ALSO</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>gettext</b>(3), <b>ngettext</b>(3),
<b>bindtextdomain</b>(3),
<b>bind_textdomain_codeset</b>(3)</td></table>
<hr>
</body>
</html>

BIN
po/cs.gmo Normal file

Binary file not shown.

BIN
po/et.gmo Normal file

Binary file not shown.

BIN
po/gl.gmo Normal file

Binary file not shown.

BIN
po/id.gmo Normal file

Binary file not shown.

BIN
po/it.gmo Normal file

Binary file not shown.

BIN
po/ru.gmo Normal file

Binary file not shown.

BIN
po/zh.gmo Normal file

Binary file not shown.