X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fgettext.h;h=0e6ee0fd5f779965a1dc7d10caeb3f214c880284;hb=cd563473fa298db3b910009f26ba263bacd84be9;hp=751b83774e49c1791db40d8e1214f53d2c07c1cd;hpb=c578efb32b57b08275b9a0a2fd4a76b4e4b9e87d;p=oweals%2Fminetest.git diff --git a/src/gettext.h b/src/gettext.h index 751b83774..0e6ee0fd5 100644 --- a/src/gettext.h +++ b/src/gettext.h @@ -1,4 +1,8 @@ -#if defined(GETTEXT_FOUND) && defined(USE_GETTEXT) +#ifndef GETTEXT_HEADER +#include "config.h" // for USE_GETTEXT +#include + +#if USE_GETTEXT #include #else #define gettext(String) String @@ -10,7 +14,10 @@ inline void init_gettext(const char *path) { #if USE_GETTEXT - setlocale(LC_MESSAGES, ""); + // don't do this if MSVC compiler is used, it gives an assertion fail + #ifndef _MSC_VER + setlocale(LC_MESSAGES, ""); + #endif bindtextdomain(PROJECT_NAME, path); textdomain(PROJECT_NAME); #endif @@ -23,3 +30,20 @@ inline wchar_t* chartowchar_t(const char *str) mbstowcs(nstr, str, l); return nstr; } + +inline wchar_t* wgettext(const char *str) +{ + return chartowchar_t(gettext(str)); +} + +inline void changeCtype(const char *l) +{ + char *ret = NULL; + ret = setlocale(LC_CTYPE, l); + if(ret == NULL) + std::cout<<"locale could not be set"<