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