forked from Mirrorlandia_minetest/minetest
Add support for ContentDB package translation (#14410)
This commit is contained in:
parent
4caf0e4cb9
commit
f4eba3bfba
@ -154,7 +154,9 @@ local function start_install(package, reason)
|
|||||||
|
|
||||||
if conf_path then
|
if conf_path then
|
||||||
local conf = Settings(conf_path)
|
local conf = Settings(conf_path)
|
||||||
conf:set("title", package.title)
|
if not conf:get("title") then
|
||||||
|
conf:set("title", package.title)
|
||||||
|
end
|
||||||
if not name_is_title then
|
if not name_is_title then
|
||||||
conf:set("name", package.name)
|
conf:set("name", package.name)
|
||||||
end
|
end
|
||||||
@ -642,8 +644,21 @@ local function fetch_pkgs()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local languages
|
||||||
|
local current_language = core.get_language()
|
||||||
|
if current_language ~= "" then
|
||||||
|
languages = { current_language, "en;q=0.8" }
|
||||||
|
else
|
||||||
|
languages = { "en" }
|
||||||
|
end
|
||||||
|
|
||||||
local http = core.get_http_api()
|
local http = core.get_http_api()
|
||||||
local response = http.fetch_sync({ url = url })
|
local response = http.fetch_sync({
|
||||||
|
url = url,
|
||||||
|
extra_headers = {
|
||||||
|
"Accept-Language: " .. table.concat(languages, ", ")
|
||||||
|
},
|
||||||
|
})
|
||||||
if not response.succeeded then
|
if not response.succeeded then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -933,6 +933,17 @@ int ModApiMainMenu::l_get_video_drivers(lua_State *L)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
int ModApiMainMenu::l_get_language(lua_State *L)
|
||||||
|
{
|
||||||
|
std::string lang = gettext("LANG_CODE");
|
||||||
|
if (lang == "LANG_CODE")
|
||||||
|
lang = "";
|
||||||
|
|
||||||
|
lua_pushstring(L, lang.c_str());
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
int ModApiMainMenu::l_gettext(lua_State *L)
|
int ModApiMainMenu::l_gettext(lua_State *L)
|
||||||
{
|
{
|
||||||
@ -1151,6 +1162,7 @@ void ModApiMainMenu::Initialize(lua_State *L, int top)
|
|||||||
API_FCT(get_mainmenu_path);
|
API_FCT(get_mainmenu_path);
|
||||||
API_FCT(show_path_select_dialog);
|
API_FCT(show_path_select_dialog);
|
||||||
API_FCT(download_file);
|
API_FCT(download_file);
|
||||||
|
API_FCT(get_language);
|
||||||
API_FCT(gettext);
|
API_FCT(gettext);
|
||||||
API_FCT(get_video_drivers);
|
API_FCT(get_video_drivers);
|
||||||
API_FCT(get_window_info);
|
API_FCT(get_window_info);
|
||||||
@ -1191,5 +1203,6 @@ void ModApiMainMenu::InitializeAsync(lua_State *L, int top)
|
|||||||
API_FCT(download_file);
|
API_FCT(download_file);
|
||||||
API_FCT(get_min_supp_proto);
|
API_FCT(get_min_supp_proto);
|
||||||
API_FCT(get_max_supp_proto);
|
API_FCT(get_max_supp_proto);
|
||||||
|
API_FCT(get_language);
|
||||||
API_FCT(gettext);
|
API_FCT(gettext);
|
||||||
}
|
}
|
||||||
|
@ -74,6 +74,8 @@ private:
|
|||||||
|
|
||||||
static int l_get_mapgen_names(lua_State *L);
|
static int l_get_mapgen_names(lua_State *L);
|
||||||
|
|
||||||
|
static int l_get_language(lua_State *L);
|
||||||
|
|
||||||
static int l_gettext(lua_State *L);
|
static int l_gettext(lua_State *L);
|
||||||
|
|
||||||
//packages
|
//packages
|
||||||
|
Loading…
Reference in New Issue
Block a user