CSM: Add a way to get current locale from CSM

This commit is contained in:
lisacvuk 2017-10-28 08:56:10 +02:00 committed by paramat
parent 241fe649f7
commit c252ed506e
3 changed files with 11 additions and 0 deletions

@ -618,6 +618,7 @@ Minetest namespace reference
### Utilities ### Utilities
* `minetest.get_current_modname()`: returns the currently loading mod's name, when we are loading a mod * `minetest.get_current_modname()`: returns the currently loading mod's name, when we are loading a mod
* `minetest.get_language()`: returns the currently set gettext language.
* `minetest.get_version()`: returns a table containing components of the * `minetest.get_version()`: returns a table containing components of the
engine version. Components: engine version. Components:
* `project`: Name of the project, eg, "Minetest" * `project`: Name of the project, eg, "Minetest"

@ -188,6 +188,13 @@ int ModApiClient::l_get_node_or_nil(lua_State *L)
return 1; return 1;
} }
int ModApiClient::l_get_language(lua_State *L)
{
char *locale = setlocale(LC_ALL, "");
lua_pushstring(L, locale);
return 1;
}
int ModApiClient::l_get_wielded_item(lua_State *L) int ModApiClient::l_get_wielded_item(lua_State *L)
{ {
Client *client = getClient(L); Client *client = getClient(L);
@ -373,4 +380,5 @@ void ModApiClient::Initialize(lua_State *L, int top)
API_FCT(take_screenshot); API_FCT(take_screenshot);
API_FCT(get_privilege_list); API_FCT(get_privilege_list);
API_FCT(get_builtin_path); API_FCT(get_builtin_path);
API_FCT(get_language);
} }

@ -66,6 +66,8 @@ private:
// get_node(pos) // get_node(pos)
static int l_get_node_or_nil(lua_State *L); static int l_get_node_or_nil(lua_State *L);
static int l_get_language(lua_State *L);
// get_wielded_item() // get_wielded_item()
static int l_get_wielded_item(lua_State *L); static int l_get_wielded_item(lua_State *L);