diff options
author | pyrollo <dev@pyrollo.com> | 2017-08-26 10:22:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-26 10:22:54 +0200 |
commit | d59c475162da02695a85ebd92a44e53129aa8be3 (patch) | |
tree | b72e4a139bd574119c2d67f93354178557642237 /signs/intllib.lua | |
parent | e29f085c32caa485ce407b574641bd5f0a492820 (diff) | |
parent | 2fef15d878f00c72a799aebc5b8a6bd61489296e (diff) | |
download | display_modpack-d59c475162da02695a85ebd92a44e53129aa8be3.tar.gz display_modpack-d59c475162da02695a85ebd92a44e53129aa8be3.tar.bz2 display_modpack-d59c475162da02695a85ebd92a44e53129aa8be3.zip |
Merge pull request #6 from fat115/master
add intllib support (i18n)
Diffstat (limited to 'signs/intllib.lua')
-rw-r--r-- | signs/intllib.lua | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/signs/intllib.lua b/signs/intllib.lua new file mode 100644 index 0000000..6669d72 --- /dev/null +++ b/signs/intllib.lua @@ -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 |