Imported Upstream version 1.16.10
[services/dpkg.git] / lib / dpkg / i18n.h
1 /*
2  * libdpkg - Debian packaging suite library routines
3  * i18n.h - i18n support
4  *
5  * Copyright © 2008-2011 Guillem Jover <guillem@debian.org>
6  *
7  * This is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #ifndef LIBDPKG_I18N_H
22 #define LIBDPKG_I18N_H
23
24 #include <dpkg/macros.h>
25
26 DPKG_BEGIN_DECLS
27
28 /**
29  * @defgroup i18n Internationalization support
30  * @ingroup dpkg-internal
31  * @{
32  */
33
34 #include <gettext.h>
35
36 /* We need to include this because pgettext() uses LC_MESSAGES, but libintl.h
37  * which gets pulled by gettext.h only includes it if building optimized. */
38 #include <locale.h>
39
40 #define _(str) gettext(str)
41 #define P_(str, str_plural, n) ngettext(str, str_plural, n)
42 #define N_(str) gettext_noop(str)
43 #define C_(ctxt, str) pgettext(ctxt, str)
44
45 /** @} */
46
47 DPKG_END_DECLS
48
49 #endif /* LIBDPKG_I18N_H */