1*86d7f5d3SJohn Marino /////////////////////////////////////////////////////////////////////////////// 2*86d7f5d3SJohn Marino // 3*86d7f5d3SJohn Marino /// \file tuklib_gettext.h 4*86d7f5d3SJohn Marino /// \brief Wrapper for gettext and friends 5*86d7f5d3SJohn Marino // 6*86d7f5d3SJohn Marino // Author: Lasse Collin 7*86d7f5d3SJohn Marino // 8*86d7f5d3SJohn Marino // This file has been put into the public domain. 9*86d7f5d3SJohn Marino // You can do whatever you want with this file. 10*86d7f5d3SJohn Marino // 11*86d7f5d3SJohn Marino /////////////////////////////////////////////////////////////////////////////// 12*86d7f5d3SJohn Marino 13*86d7f5d3SJohn Marino #ifndef TUKLIB_GETTEXT_H 14*86d7f5d3SJohn Marino #define TUKLIB_GETTEXT_H 15*86d7f5d3SJohn Marino 16*86d7f5d3SJohn Marino #include "tuklib_common.h" 17*86d7f5d3SJohn Marino #include <locale.h> 18*86d7f5d3SJohn Marino 19*86d7f5d3SJohn Marino #ifndef TUKLIB_GETTEXT 20*86d7f5d3SJohn Marino # ifdef ENABLE_NLS 21*86d7f5d3SJohn Marino # define TUKLIB_GETTEXT 1 22*86d7f5d3SJohn Marino # else 23*86d7f5d3SJohn Marino # define TUKLIB_GETTEXT 0 24*86d7f5d3SJohn Marino # endif 25*86d7f5d3SJohn Marino #endif 26*86d7f5d3SJohn Marino 27*86d7f5d3SJohn Marino #if TUKLIB_GETTEXT 28*86d7f5d3SJohn Marino # include <libintl.h> 29*86d7f5d3SJohn Marino # define tuklib_gettext_init(package, localedir) \ 30*86d7f5d3SJohn Marino do { \ 31*86d7f5d3SJohn Marino setlocale(LC_ALL, ""); \ 32*86d7f5d3SJohn Marino bindtextdomain(package, localedir); \ 33*86d7f5d3SJohn Marino textdomain(package); \ 34*86d7f5d3SJohn Marino } while (0) 35*86d7f5d3SJohn Marino # define _(msgid) gettext(msgid) 36*86d7f5d3SJohn Marino #else 37*86d7f5d3SJohn Marino # define tuklib_gettext_init(package, localedir) \ 38*86d7f5d3SJohn Marino setlocale(LC_ALL, "") 39*86d7f5d3SJohn Marino # define _(msgid) (msgid) 40*86d7f5d3SJohn Marino # define ngettext(msgid1, msgid2, n) ((n) == 1 ? (msgid1) : (msgid2)) 41*86d7f5d3SJohn Marino #endif 42*86d7f5d3SJohn Marino #define N_(msgid) msgid 43*86d7f5d3SJohn Marino 44*86d7f5d3SJohn Marino #endif 45