aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/client_lua_api.md1
-rw-r--r--src/script/lua_api/l_client.cpp8
-rw-r--r--src/script/lua_api/l_client.h2
3 files changed, 11 insertions, 0 deletions
diff --git a/doc/client_lua_api.md b/doc/client_lua_api.md
index fb00ada66..d8e2da69c 100644
--- a/doc/client_lua_api.md
+++ b/doc/client_lua_api.md
@@ -618,6 +618,7 @@ Minetest namespace reference
### Utilities
* `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
engine version. Components:
* `project`: Name of the project, eg, "Minetest"
diff --git a/src/script/lua_api/l_client.cpp b/src/script/lua_api/l_client.cpp
index ba22a0424..a3605be79 100644
--- a/src/script/lua_api/l_client.cpp
+++ b/src/script/lua_api/l_client.cpp
@@ -188,6 +188,13 @@ int ModApiClient::l_get_node_or_nil(lua_State *L)
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)
{
Client *client = getClient(L);
@@ -373,4 +380,5 @@ void ModApiClient::Initialize(lua_State *L, int top)
API_FCT(take_screenshot);
API_FCT(get_privilege_list);
API_FCT(get_builtin_path);
+ API_FCT(get_language);
}
diff --git a/src/script/lua_api/l_client.h b/src/script/lua_api/l_client.h
index 791038f7d..b0ece7205 100644
--- a/src/script/lua_api/l_client.h
+++ b/src/script/lua_api/l_client.h
@@ -66,6 +66,8 @@ private:
// get_node(pos)
static int l_get_node_or_nil(lua_State *L);
+ static int l_get_language(lua_State *L);
+
// get_wielded_item()
static int l_get_wielded_item(lua_State *L);