From 18c7f0a422643bf8e00352fc52625323e1881a5a Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Thu, 20 Jan 2022 08:54:08 +0000 Subject: [PATCH] update translation checks (thanks mckaygerhard) --- api.lua | 28 ++++++++++++++++++++++++---- intllib.lua | 3 --- 2 files changed, 24 insertions(+), 7 deletions(-) delete mode 100644 intllib.lua diff --git a/api.lua b/api.lua index 66c7f42..be305bc 100644 --- a/api.lua +++ b/api.lua @@ -1,14 +1,34 @@ --- Load support for intllib. local MP = minetest.get_modpath(minetest.get_current_modname()) -local S = minetest.get_translator and minetest.get_translator("mobs") or - dofile(MP .. "/intllib.lua") + +-- Check for translation method +local S +if minetest.get_translator ~= nil then + S = minetest.get_translator("mobs") -- 5.x translation function +else + if minetest.get_modpath("intllib") then + dofile(minetest.get_modpath("intllib") .. "/init.lua") + if intllib.make_gettext_pair then + gettext, ngettext = intllib.make_gettext_pair() -- new gettext method + else + gettext = intllib.Getter() -- old text file method + end + S = gettext + else -- boilerplate function + S = function(str, ...) + local args = {...} + return str:gsub("@%d+", function(match) + return args[tonumber(match:sub(2))] + end) + end + end +end -- CMI support check local use_cmi = minetest.global_exists("cmi") mobs = { mod = "redo", - version = "20220116", + version = "20220120", intllib = S, invis = minetest.global_exists("invisibility") and invisibility or {} } diff --git a/intllib.lua b/intllib.lua deleted file mode 100644 index 7decdf7..0000000 --- a/intllib.lua +++ /dev/null @@ -1,3 +0,0 @@ --- Support for the old multi-load method -return dofile(minetest.get_modpath("intllib").."/init.lua") -