1999-09-27 18:44:28 +00:00
|
|
|
// -*- C++ -*-
|
|
|
|
#ifndef _GETTEXT_H_
|
|
|
|
#define _GETTEXT_H_
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Native Language Support
|
|
|
|
*
|
|
|
|
* The general idea is that any string that should be translated is handled
|
|
|
|
* as follows:
|
|
|
|
* _("string")
|
|
|
|
*
|
|
|
|
* Static strings are special, obviously and must be flagged as follows:
|
|
|
|
* static str = N_("string");
|
|
|
|
*
|
|
|
|
* And wherever they are used:
|
|
|
|
* _(str)
|
|
|
|
*
|
|
|
|
* Every file where there are strings needs:
|
|
|
|
* #include "gettext.h"
|
|
|
|
*
|
|
|
|
* Remember to mention each of these files in "po/POFILES.in"
|
|
|
|
*
|
|
|
|
* The main() needs a locale_init() and a gettext_init() in the beginning.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* General translation notes:
|
|
|
|
* Commands/options are not translated
|
|
|
|
* Debug messages are not translated
|
|
|
|
* Panic/fatal (that should not happen) messages need not be translated
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifdef ENABLE_NLS
|
|
|
|
|
2000-10-11 21:06:43 +00:00
|
|
|
#include "LString.h"
|
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
# if HAVE_GETTEXT
|
|
|
|
# include <libintl.h> // use the header already in the system *EK*
|
|
|
|
# ifdef HAVE_LOCALE_H
|
|
|
|
# include <locale.h> // for LC_MESSAGES
|
|
|
|
# endif
|
|
|
|
# else
|
|
|
|
# include "../intl/libintl.h"
|
|
|
|
# endif
|
|
|
|
|
2000-10-11 21:06:43 +00:00
|
|
|
char const * _(char const *);
|
|
|
|
|
|
|
|
string const _(string const &);
|
|
|
|
|
|
|
|
//# define _(str) gettext(str)
|
1999-09-27 18:44:28 +00:00
|
|
|
# define N_(str) (str) // for detecting static strings
|
|
|
|
|
|
|
|
# ifdef HAVE_LC_MESSAGES
|
|
|
|
// LC_TIME, LC_CTYPE, even LC_ALL
|
2000-12-06 13:41:44 +00:00
|
|
|
# define locale_init() { setlocale (LC_MESSAGES, ""); setlocale (LC_CTYPE, ""); setlocale(LC_NUMERIC, "C"); }
|
1999-09-27 18:44:28 +00:00
|
|
|
# else
|
|
|
|
# define locale_init()
|
|
|
|
# endif
|
|
|
|
# define gettext_init() { bindtextdomain (PACKAGE, lyx_localedir.c_str()); \
|
|
|
|
textdomain (PACKAGE); }
|
|
|
|
#else
|
2000-08-07 20:58:24 +00:00
|
|
|
///
|
1999-09-27 18:44:28 +00:00
|
|
|
# define _(str) (str)
|
2000-08-07 20:58:24 +00:00
|
|
|
///
|
2000-10-11 21:06:43 +00:00
|
|
|
# define S_(str) (str)
|
|
|
|
///
|
1999-09-27 18:44:28 +00:00
|
|
|
# define N_(str) (str)
|
2000-08-07 20:58:24 +00:00
|
|
|
///
|
1999-09-27 18:44:28 +00:00
|
|
|
# define locale_init()
|
2000-08-07 20:58:24 +00:00
|
|
|
///
|
1999-09-27 18:44:28 +00:00
|
|
|
# define gettext_init()
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|