*/
#include <string.h>
-#include <stdlib.h>
#include <locale.h>
+#include <stdlib.h>
+#include <stdio.h>
#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)
{
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
+}
+
/*---------------------------------------------------------------------------*/