45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
/// \file tuklib_gettext.h
|
||
|
/// \brief Wrapper for gettext and friends
|
||
|
//
|
||
|
// Author: Lasse Collin
|
||
|
//
|
||
|
// This file has been put into the public domain.
|
||
|
// You can do whatever you want with this file.
|
||
|
//
|
||
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#ifndef TUKLIB_GETTEXT_H
|
||
|
#define TUKLIB_GETTEXT_H
|
||
|
|
||
|
#include "tuklib_common.h"
|
||
|
#include <locale.h>
|
||
|
|
||
|
#ifndef TUKLIB_GETTEXT
|
||
|
# ifdef ENABLE_NLS
|
||
|
# define TUKLIB_GETTEXT 1
|
||
|
# else
|
||
|
# define TUKLIB_GETTEXT 0
|
||
|
# endif
|
||
|
#endif
|
||
|
|
||
|
#if TUKLIB_GETTEXT
|
||
|
# include <libintl.h>
|
||
|
# define tuklib_gettext_init(package, localedir) \
|
||
|
do { \
|
||
|
setlocale(LC_ALL, ""); \
|
||
|
bindtextdomain(package, localedir); \
|
||
|
textdomain(package); \
|
||
|
} while (0)
|
||
|
# define _(msgid) gettext(msgid)
|
||
|
# define N_(msgid1, msgid2, n) ngettext(msgid1, msgid2, n)
|
||
|
#else
|
||
|
# define tuklib_gettext_init(package, localedir) \
|
||
|
setlocale(LC_ALL, "")
|
||
|
# define _(msgid) (msgid)
|
||
|
# define N_(msgid1, msgid2, n) ((n) == 1 ? (msgid1) : (msgid2))
|
||
|
#endif
|
||
|
|
||
|
#endif
|