forked from Mirrorlandia_minetest/minetest
[CSM] Fix and improve minetest.get_language()
Previously this method would accidentally reset the locale and break everything.
This commit is contained in:
parent
2c4cf508a9
commit
c44318a253
@ -9,6 +9,7 @@ core.register_on_shutdown(function()
|
|||||||
end)
|
end)
|
||||||
local id = nil
|
local id = nil
|
||||||
|
|
||||||
|
do
|
||||||
local server_info = core.get_server_info()
|
local server_info = core.get_server_info()
|
||||||
print("Server version: " .. server_info.protocol_version)
|
print("Server version: " .. server_info.protocol_version)
|
||||||
print("Server ip: " .. server_info.ip)
|
print("Server ip: " .. server_info.ip)
|
||||||
@ -17,6 +18,10 @@ 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")
|
mod_channel = core.mod_channel_join("experimental_preview")
|
||||||
|
|
||||||
core.after(4, function()
|
core.after(4, function()
|
||||||
|
@ -634,7 +634,9 @@ Minetest namespace reference
|
|||||||
the trailing separator. This is useful to load additional Lua files
|
the trailing separator. This is useful to load additional Lua files
|
||||||
contained in your mod:
|
contained in your mod:
|
||||||
e.g. `dofile(minetest.get_modpath(minetest.get_current_modname()) .. "stuff.lua")`
|
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
|
* `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"
|
||||||
|
@ -230,9 +230,14 @@ int ModApiClient::l_get_node_or_nil(lua_State *L)
|
|||||||
|
|
||||||
int ModApiClient::l_get_language(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);
|
lua_pushstring(L, locale);
|
||||||
return 1;
|
lua_pushstring(L, lang.c_str());
|
||||||
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ModApiClient::l_get_wielded_item(lua_State *L)
|
int ModApiClient::l_get_wielded_item(lua_State *L)
|
||||||
|
Loading…
Reference in New Issue
Block a user