]> git.lyx.org Git - lyx.git/blob - src/gettext.h
copy some code over to allow work to start on prefs
[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 #include "LString.h"
34
35 #ifdef ENABLE_NLS
36
37 ///
38 char const * _(char const *);
39 ///
40 string const _(string const &);
41
42 #else // ENABLE_NLS
43
44 ///
45 #  define _(str) (str)
46 ///
47 #  define S_(str) (str)
48
49 #endif
50
51 #  define N_(str) (str)              // for detecting static strings
52
53 ///
54 void locale_init();
55 ///
56 void gettext_init(string const & localedir);
57
58 #endif