1*3b35e7eeSXin LI // SPDX-License-Identifier: 0BSD 2*3b35e7eeSXin LI 381ad8388SMartin Matuska /////////////////////////////////////////////////////////////////////////////// 481ad8388SMartin Matuska // 581ad8388SMartin Matuska /// \file tuklib_gettext.h 681ad8388SMartin Matuska /// \brief Wrapper for gettext and friends 781ad8388SMartin Matuska // 881ad8388SMartin Matuska // Author: Lasse Collin 981ad8388SMartin Matuska // 1081ad8388SMartin Matuska /////////////////////////////////////////////////////////////////////////////// 1181ad8388SMartin Matuska 1281ad8388SMartin Matuska #ifndef TUKLIB_GETTEXT_H 1381ad8388SMartin Matuska #define TUKLIB_GETTEXT_H 1481ad8388SMartin Matuska 1581ad8388SMartin Matuska #include "tuklib_common.h" 1681ad8388SMartin Matuska #include <locale.h> 1781ad8388SMartin Matuska 1881ad8388SMartin Matuska #ifndef TUKLIB_GETTEXT 1981ad8388SMartin Matuska # ifdef ENABLE_NLS 2081ad8388SMartin Matuska # define TUKLIB_GETTEXT 1 2181ad8388SMartin Matuska # else 2281ad8388SMartin Matuska # define TUKLIB_GETTEXT 0 2381ad8388SMartin Matuska # endif 2481ad8388SMartin Matuska #endif 2581ad8388SMartin Matuska 2681ad8388SMartin Matuska #if TUKLIB_GETTEXT 2781ad8388SMartin Matuska # include <libintl.h> 2881ad8388SMartin Matuska # define tuklib_gettext_init(package, localedir) \ 2981ad8388SMartin Matuska do { \ 3081ad8388SMartin Matuska setlocale(LC_ALL, ""); \ 3181ad8388SMartin Matuska bindtextdomain(package, localedir); \ 3281ad8388SMartin Matuska textdomain(package); \ 3381ad8388SMartin Matuska } while (0) 3481ad8388SMartin Matuska # define _(msgid) gettext(msgid) 3581ad8388SMartin Matuska #else 3681ad8388SMartin Matuska # define tuklib_gettext_init(package, localedir) \ 3781ad8388SMartin Matuska setlocale(LC_ALL, "") 3881ad8388SMartin Matuska # define _(msgid) (msgid) 39e0f0e66dSMartin Matuska # define ngettext(msgid1, msgid2, n) ((n) == 1 ? (msgid1) : (msgid2)) 4081ad8388SMartin Matuska #endif 41e0f0e66dSMartin Matuska #define N_(msgid) msgid 4281ad8388SMartin Matuska 4381ad8388SMartin Matuska #endif 44