bind_textdomain_codeset


SYNOPSIS
       #include <libintl.h>

       char * bind_textdomain_codeset (const char * domainname,
                                       const char * codeset);

DESCRIPTION
       The  bind_textdomain_codeset  function sets the output codeset for mes-
       sage catalogs for domain domainname.

       A message domain is a set  of  translatable  msgid  messages.  Usually,
       every software package has its own message domain.

       By default, the gettext family of functions returns translated messages
       in the locale's character encoding, which can be retrieved as  nl_lang-
       info(CODESET).  The need for calling bind_textdomain_codeset 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.

       domainname must be a non-empty string.

       If codeset is not NULL, it must be a valid encoding name which  can  be
       used  for the iconv_open function. The bind_textdomain_codeset function
       sets the output  codeset  for  message  catalogs  belonging  to  domain
       domainname  to  codeset.  The  function  makes  copies  of the argument
       strings as needed.

       If codeset is NULL, the function returns the previously set codeset for
       domain domainname. The default is NULL, denoting the locale's character
       encoding.

RETURN VALUE
       If successful, the bind_textdomain_codeset function returns the current
       codeset  for domain domainname, after possibly changing it. The result-
       ing string is valid until the next bind_textdomain_codeset call for the
       same  domainname and must not be modified or freed. If a memory alloca-
       tion failure occurs, it sets errno to ENOMEM and returns  NULL.  If  no
       codeset has been set for domain domainname, it returns NULL.

ERRORS
       The following error can occur, among others:

       ENOMEM Not enough memory available.

BUGS
       The  return type ought to be const char *, but is char * to avoid warn-
       ings in C code predating ANSI C.

SEE ALSO
       gettext(3),  dgettext(3),  dcgettext(3),   ngettext(3),   dngettext(3),
       dcngettext(3), textdomain(3), nl_langinfo(3), iconv_open(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2017 Hurricane Electric. All Rights Reserved.