DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(gettext.info.gz) Interface to gettext

Info Catalog (gettext.info.gz) gettext (gettext.info.gz) gettext (gettext.info.gz) Ambiguities
 
 11.2.1 The Interface
 --------------------
 
 The minimal functionality an interface must have is a) to select a
 domain the strings are coming from (a single domain for all programs is
 not reasonable because its construction and maintenance is difficult,
 perhaps impossible) and b) to access a string in a selected domain.
 
    This is principally the description of the `gettext' interface.  It
 has a global domain which unqualified usages reference.  Of course this
 domain is selectable by the user.
 
      char *textdomain (const char *domain_name);
 
    This provides the possibility to change or query the current status
 of the current global domain of the `LC_MESSAGE' category.  The
 argument is a null-terminated string, whose characters must be legal in
 the use in filenames.  If the DOMAIN_NAME argument is `NULL', the
 function returns the current value.  If no value has been set before,
 the name of the default domain is returned: _messages_.  Please note
 that although the return value of `textdomain' is of type `char *' no
 changing is allowed.  It is also important to know that no checks of
 the availability are made.  If the name is not available you will see
 this by the fact that no translations are provided.
 
 To use a domain set by `textdomain' the function
 
      char *gettext (const char *msgid);
 
 is to be used.  This is the simplest reasonable form one can imagine.
 The translation of the string MSGID is returned if it is available in
 the current domain.  If it is not available, the argument itself is
 returned.  If the argument is `NULL' the result is undefined.
 
    One thing which should come into mind is that no explicit dependency
 to the used domain is given.  The current value of the domain for the
 `LC_MESSAGES' locale is used.  If this changes between two executions
 of the same `gettext' call in the program, both calls reference a
 different message catalog.
 
    For the easiest case, which is normally used in internationalized
 packages, once at the beginning of execution a call to `textdomain' is
 issued, setting the domain to a unique name, normally the package name.
 In the following code all strings which have to be translated are
 filtered through the gettext function.  That's all, the package speaks
 your language.
 
Info Catalog (gettext.info.gz) gettext (gettext.info.gz) gettext (gettext.info.gz) Ambiguities
automatically generated byinfo2html