www.delorie.com/gnu/docs/gettext/gettext_188.html   search  
Buy GNU books!

GNU gettext utilities

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.4.12 `gettext.h' in `lib/'

Internationalization of packages, as provided by GNU gettext, is optional. It can be turned off in two situations:

A C preprocessor macro can be used to detect these two cases. Usually, when libintl.h was found and not explicitly disabled, the ENABLE_NLS macro will be defined to 1 in the autoconf generated configuration file (usually called `config.h'). In the two negative situations, however, this macro will not be defined, thus it will evaluate to 0 in C preprocessor expressions.

`gettext.h' is a convenience header file for conditional use of `<libintl.h>', depending on the ENABLE_NLS macro. If ENABLE_NLS is set, it includes `<libintl.h>'; otherwise it defines no-op substitutes for the libintl.h functions. We recommend the use of "gettext.h" over direct use of `<libintl.h>', so that portability to older systems is guaranteed and installers can turn off internationalization if they want to. In the C code, you will then write

#include "gettext.h"

instead of

#include <libintl.h>

The location of gettext.h is usually in a directory containing auxiliary include files. In many GNU packages, there is a directory `lib/' containing helper functions; `gettext.h' fits there. In other packages, it can go into the `src' directory.

Do not install the gettext.h file in public locations. Every package that needs it should contain a copy of it on its own.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003