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
|
|
|
|
*/
|
|
|
|
|
2000-10-11 21:06:43 +00:00
|
|
|
#include "LString.h"
|
|
|
|
|
2001-06-08 13:34:41 +00:00
|
|
|
#ifdef ENABLE_NLS
|
|
|
|
|
2001-03-08 14:22:43 +00:00
|
|
|
///
|
2000-10-11 21:06:43 +00:00
|
|
|
char const * _(char const *);
|
2001-03-08 14:22:43 +00:00
|
|
|
///
|
2000-10-11 21:06:43 +00:00
|
|
|
string const _(string const &);
|
|
|
|
|
2001-06-05 17:05:51 +00:00
|
|
|
#else // ENABLE_NLS
|
|
|
|
|
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)
|
2001-03-08 14:22:43 +00:00
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
#endif
|
|
|
|
|
2001-03-08 14:22:43 +00:00
|
|
|
# define N_(str) (str) // for detecting static strings
|
|
|
|
|
2001-06-05 17:05:51 +00:00
|
|
|
///
|
|
|
|
void locale_init();
|
|
|
|
///
|
|
|
|
void gettext_init(string const & localedir);
|
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
#endif
|