aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clientmods/preview/init.lua17
-rw-r--r--doc/client_lua_api.txt4
-rw-r--r--src/script/lua_api/l_client.cpp9
3 files changed, 21 insertions, 9 deletions
diff --git a/clientmods/preview/init.lua b/clientmods/preview/init.lua
index 2e679b866..5777adcaf 100644
--- a/clientmods/preview/init.lua
+++ b/clientmods/preview/init.lua
@@ -9,13 +9,18 @@ core.register_on_shutdown(function()
end)
local id = nil
-local server_info = core.get_server_info()
-print("Server version: " .. server_info.protocol_version)
-print("Server ip: " .. server_info.ip)
-print("Server address: " .. server_info.address)
-print("Server port: " .. server_info.port)
+do
+ local server_info = core.get_server_info()
+ print("Server version: " .. server_info.protocol_version)
+ print("Server ip: " .. server_info.ip)
+ print("Server address: " .. server_info.address)
+ print("Server port: " .. server_info.port)
-print("CSM restrictions: " .. dump(core.get_csm_restrictions()))
+ print("CSM restrictions: " .. dump(core.get_csm_restrictions()))
+
+ local l1, l2 = core.get_language()
+ print("Configured language: " .. l1 .. " / " .. l2)
+end
mod_channel = core.mod_channel_join("experimental_preview")
diff --git a/doc/client_lua_api.txt b/doc/client_lua_api.txt
index a7e928f56..c24de8d85 100644
--- a/doc/client_lua_api.txt
+++ b/doc/client_lua_api.txt
@@ -634,7 +634,9 @@ Minetest namespace reference
the trailing separator. This is useful to load additional Lua files
contained in your mod:
e.g. `dofile(minetest.get_modpath(minetest.get_current_modname()) .. "stuff.lua")`
-* `minetest.get_language()`: returns the currently set gettext language.
+* `minetest.get_language()`: returns two strings
+ * the current gettext locale
+ * the current language code (the same as used for client-side translations)
* `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 fa369a360..4aa7d814d 100644
--- a/src/script/lua_api/l_client.cpp
+++ b/src/script/lua_api/l_client.cpp
@@ -230,9 +230,14 @@ int ModApiClient::l_get_node_or_nil(lua_State *L)
int ModApiClient::l_get_language(lua_State *L)
{
- char *locale = setlocale(LC_ALL, "");
+ char *locale = setlocale(LC_MESSAGES, NULL);
+ std::string lang = gettext("LANG_CODE");
+ if (lang == "LANG_CODE")
+ lang = "";
+
lua_pushstring(L, locale);
- return 1;
+ lua_pushstring(L, lang.c_str());
+ return 2;
}
int ModApiClient::l_get_wielded_item(lua_State *L)