X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=share%2Flang.c;h=48a13ae560be70535ec3fc7ce92fd4d8758013dc;hb=70da92a0efb91317f15717e7cc0725ba820a0334;hp=03aaf7c80bdd2fc0fca11357b3f43a4e5d87c18c;hpb=7794d0676d04f9daf4aaff9a7be333749ef2ce7d;p=neverball diff --git a/share/lang.c b/share/lang.c index 03aaf7c..48a13ae 100644 --- a/share/lang.c +++ b/share/lang.c @@ -14,27 +14,41 @@ */ #include -#include #include +#include +#include #include "lang.h" /*---------------------------------------------------------------------------*/ +#define DEFAULT_CODESET "UTF-8" + +/*---------------------------------------------------------------------------*/ + void lang_init(const char *domain, const char *default_dir) { +#if ENABLE_NLS char *dir = getenv("NEVERBALL_LOCALE"); setlocale(LC_ALL, ""); + setlocale(LC_NUMERIC, "C"); bindtextdomain(domain, dir ? dir : default_dir); - bind_textdomain_codeset(domain, "UTF-8"); + bind_textdomain_codeset(domain, DEFAULT_CODESET); textdomain(domain); +#else + return; +#endif } const char *sgettext(const char *msgid) { +#if ENABLE_NLS const char *msgval = gettext(msgid); +#else + const char *msgval = msgid; +#endif if (msgval == msgid) { @@ -45,4 +59,19 @@ const char *sgettext(const char *msgid) return msgval; } +const char *get_local_text(const char *msgid) +{ +#if ENABLE_NLS + char *msgstr, *domain = textdomain(NULL); + + bind_textdomain_codeset(domain, ""); + msgstr = gettext(msgid); + bind_textdomain_codeset(domain, DEFAULT_CODESET); + + return msgstr; +#else + return msgid; +#endif +} + /*---------------------------------------------------------------------------*/