upgrade intllib interfacing

master
upsilon 2019-02-11 17:50:31 +01:00
parent 46ecf9a42b
commit b67fe9ea0d
No known key found for this signature in database
GPG Key ID: A80DAE1F266E1C3C
3 changed files with 55 additions and 16 deletions

45
intllib.lua Normal file
View File

@ -0,0 +1,45 @@
-- Fallback functions for when `intllib` is not installed.
-- Code released under Unlicense <http://unlicense.org>.
-- Get the latest version of this file at:
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
local function format(str, ...)
local args = { ... }
local function repl(escape, open, num, close)
if escape == "" then
local replacement = tostring(args[tonumber(num)])
if open == "" then
replacement = replacement..close
end
return replacement
else
return "@"..open..num..close
end
end
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
end
local gettext, ngettext
if minetest.get_modpath("intllib") then
if intllib.make_gettext_pair then
-- New method using gettext.
gettext, ngettext = intllib.make_gettext_pair()
else
-- Old method using text files.
gettext = intllib.Getter()
end
end
-- Fill in missing functions.
gettext = gettext or function(msgid, ...)
return format(msgid, ...)
end
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
return format(n==1 and msgid or msgid_plural, ...)
end
return gettext, ngettext

13
pvp.lua
View File

@ -4,14 +4,11 @@ local pvptable = {}
-- Public table, containing global functions
pvpplus = {}
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(translated)
return translated
end
end
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(
MP .. "/intllib.lua"
)
minetest.register_privilege("pvp", S("Can change own PvP state"))
minetest.register_privilege("pvp_admin", S("Can change others PvP state"))

View File

@ -1,11 +1,8 @@
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(translated)
return translated
end
end
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(
MP .. "/intllib.lua"
)
if minetest.get_modpath("unified_inventory") then
unified_inventory.register_button("pvp", {