12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- 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
-
- gettext, ngettext = intllib.make_gettext_pair()
- else
-
- gettext = intllib.Getter()
- end
- end
- 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
|