xref: /dflybsd-src/contrib/xz/src/common/tuklib_gettext.h (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino ///////////////////////////////////////////////////////////////////////////////
286d7f5d3SJohn Marino //
386d7f5d3SJohn Marino /// \file       tuklib_gettext.h
486d7f5d3SJohn Marino /// \brief      Wrapper for gettext and friends
586d7f5d3SJohn Marino //
686d7f5d3SJohn Marino //  Author:     Lasse Collin
786d7f5d3SJohn Marino //
886d7f5d3SJohn Marino //  This file has been put into the public domain.
986d7f5d3SJohn Marino //  You can do whatever you want with this file.
1086d7f5d3SJohn Marino //
1186d7f5d3SJohn Marino ///////////////////////////////////////////////////////////////////////////////
1286d7f5d3SJohn Marino 
1386d7f5d3SJohn Marino #ifndef TUKLIB_GETTEXT_H
1486d7f5d3SJohn Marino #define TUKLIB_GETTEXT_H
1586d7f5d3SJohn Marino 
1686d7f5d3SJohn Marino #include "tuklib_common.h"
1786d7f5d3SJohn Marino #include <locale.h>
1886d7f5d3SJohn Marino 
1986d7f5d3SJohn Marino #ifndef TUKLIB_GETTEXT
2086d7f5d3SJohn Marino #	ifdef ENABLE_NLS
2186d7f5d3SJohn Marino #		define TUKLIB_GETTEXT 1
2286d7f5d3SJohn Marino #	else
2386d7f5d3SJohn Marino #		define TUKLIB_GETTEXT 0
2486d7f5d3SJohn Marino #	endif
2586d7f5d3SJohn Marino #endif
2686d7f5d3SJohn Marino 
2786d7f5d3SJohn Marino #if TUKLIB_GETTEXT
2886d7f5d3SJohn Marino #	include <libintl.h>
2986d7f5d3SJohn Marino #	define tuklib_gettext_init(package, localedir) \
3086d7f5d3SJohn Marino 		do { \
3186d7f5d3SJohn Marino 			setlocale(LC_ALL, ""); \
3286d7f5d3SJohn Marino 			bindtextdomain(package, localedir); \
3386d7f5d3SJohn Marino 			textdomain(package); \
3486d7f5d3SJohn Marino 		} while (0)
3586d7f5d3SJohn Marino #	define _(msgid) gettext(msgid)
3686d7f5d3SJohn Marino #else
3786d7f5d3SJohn Marino #	define tuklib_gettext_init(package, localedir) \
3886d7f5d3SJohn Marino 		setlocale(LC_ALL, "")
3986d7f5d3SJohn Marino #	define _(msgid) (msgid)
4086d7f5d3SJohn Marino #	define ngettext(msgid1, msgid2, n) ((n) == 1 ? (msgid1) : (msgid2))
4186d7f5d3SJohn Marino #endif
4286d7f5d3SJohn Marino #define N_(msgid) msgid
4386d7f5d3SJohn Marino 
4486d7f5d3SJohn Marino #endif
45