]> git.lyx.org Git - lyx.git/blob - src/gettext.h
another pesky \#warning snuck in
[lyx.git] / src / gettext.h
1 // -*- C++ -*-
2 #ifndef _GETTEXT_H_
3 #define _GETTEXT_H_
4
5 /*
6  * Native Language Support
7  *
8  * The general idea is that any string that should be translated is handled
9  * as follows:
10  *      _("string")
11  *
12  * Static strings are special, obviously and must be flagged as follows:
13  *      static str = N_("string");
14  *
15  * And wherever they are used:
16  *      _(str)
17  *
18  * Every file where there are strings needs:
19  *      #include "gettext.h"
20  *
21  * Remember to mention each of these files in "po/POFILES.in"
22  *
23  * The main() needs a locale_init() and a gettext_init() in the beginning.
24  */
25
26 /*
27  * General translation notes:
28  *   Commands/options are not translated
29  *   Debug messages are not translated
30  *   Panic/fatal (that should not happen) messages need not be translated
31  */
32
33 #ifdef ENABLE_NLS
34
35 #include "LString.h"
36
37 ///
38 char const * _(char const *);
39 ///
40 string const _(string const &);
41 ///
42 void locale_init();
43 ///
44 void gettext_init(string const & localedir);
45
46 #else
47 ///
48 #  define _(str) (str)
49 ///
50 #  define S_(str) (str)
51 ///
52 #  define locale_init()
53 ///
54 #  define gettext_init(localedir)
55
56 #endif
57
58 #  define N_(str) (str)              // for detecting static strings
59
60 #endif