ManaPlus
gettext.h
Go to the documentation of this file.
1 /*
2  * The ManaPlus Client
3  * Copyright (C) 2007-2009 The Mana World Development Team
4  * Copyright (C) 2009-2010 The Mana Developers
5  * Copyright (C) 2011-2019 The ManaPlus Developers
6  * Copyright (C) 2019-2021 Andrei Karas
7  *
8  * This file is part of The ManaPlus Client.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #ifndef UTILS_GETTEXT_H
25 #define UTILS_GETTEXT_H
26 
27 #ifdef HAVE_CONFIG_H
28 #include "config.h"
29 #endif // HAVE_CONFIG_H
30 
31 #ifdef ENABLE_NLS
32 
33 #include <libintl.h>
34 
35 #define _(s) (const_cast <char*>(gettext(s)))
36 #define N_(s) (const_cast <char*>(s))
37 
38 #elif defined(ENABLE_CUSTOMNLS) // ENABLE_NLS
39 
41 
42 #define gettext(s) const_cast <char*>(mainTranslator->getChar(s))
43 #define _(s) const_cast <char*>(mainTranslator->getChar(s))
44 #define N_(s) (const_cast <char*>(s))
45 #define ngettext(s1, s2, i1) const_cast <char*>(mainTranslator->getChar(s1))
46 
47 #else // ENABLE_NLS
48 
49 #define gettext(s) (const_cast <char*>(s))
50 #define _(s) (const_cast <char*>(s))
51 #define N_(s) (const_cast <char*>(s))
52 #define ngettext(s1, s2, i1) (const_cast <char*>(s1))
53 
54 #endif // ENABLE_NLS
55 
56 #endif // UTILS_GETTEXT_H