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