mirror of
https://github.com/minetest-mods/moreores.git
synced 2024-12-22 22:02:28 +01:00
Update intllib support to avoid using deprecated functions
This commit is contained in:
parent
2fe764ba79
commit
09e69ec0b6
@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Update intllib support to avoid using deprecated functions.
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Brazilian and Dutch translations.
|
- Brazilian and Dutch translations.
|
||||||
|
11
init.lua
11
init.lua
@ -10,15 +10,12 @@ Licensed under the zlib license. See LICENSE.md for more information.
|
|||||||
|
|
||||||
moreores = {}
|
moreores = {}
|
||||||
|
|
||||||
local S
|
|
||||||
if minetest.get_modpath("intllib") then
|
|
||||||
S = intllib.Getter()
|
|
||||||
else
|
|
||||||
S = function(s) return s end
|
|
||||||
end
|
|
||||||
|
|
||||||
local modpath = minetest.get_modpath("moreores")
|
local modpath = minetest.get_modpath("moreores")
|
||||||
|
|
||||||
|
local S, NS = dofile(modpath .. "/intllib.lua")
|
||||||
|
moreores.S = S
|
||||||
|
moreores.NS = NS
|
||||||
|
|
||||||
dofile(modpath .. "/_config.txt")
|
dofile(modpath .. "/_config.txt")
|
||||||
|
|
||||||
-- `mg` mapgen support
|
-- `mg` mapgen support
|
||||||
|
44
intllib.lua
Normal file
44
intllib.lua
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
-- 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
|
Loading…
Reference in New Issue
Block a user