git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6908 e016b1c5-ed68-44aa-a2f7-31cac88cffde
27 lines
820 B
C++
27 lines
820 B
C++
// internationalization and localization
|
|
|
|
#include "cube.h"
|
|
#include <locale.h>
|
|
|
|
SVARFP(lang, "en", filterlang(lang, lang));
|
|
|
|
i18nmanager::i18nmanager(const char *domain, const char *basepath) : domain(domain), basepath(basepath)
|
|
{
|
|
locale = setlocale(LC_ALL, ""); // use current default locale
|
|
bindtextdomain(domain, basepath); // set base path
|
|
textdomain(domain);
|
|
bind_textdomain_codeset(domain, "UTF-8"); // we use the utf-8 charset only
|
|
|
|
setlocale(LC_NUMERIC, "C"); // make sure numeric is consistent (very important for float usage in scripts)
|
|
}
|
|
|
|
// export gettext to cubescript
|
|
// this way we can provide localization of strings within cubescript
|
|
void script_gettext(char *msgid)
|
|
{
|
|
const char *translated = _gettext(msgid);
|
|
result(translated);
|
|
}
|
|
|
|
COMMANDN(gettext, script_gettext, "s");
|