From 4be56b9d6ba239be166f25f0f37d5d4c1e06f2bd Mon Sep 17 00:00:00 2001 From: poikilos <7557867+poikilos@users.noreply.github.com> Date: Mon, 1 Nov 2021 17:40:02 -0400 Subject: [PATCH] Fix incorrect upstream use of the NS function. Use intllib.lua as per intllib docs. --- .../mods/codercore/api.lua | 3 +- .../mods/codercore/depends.txt | 1 + .../mods/codercore/group.lua | 3 +- .../mods/codercore/internal.lua | 3 +- .../mods/codercore/intllib.lua | 45 +++++++++++++++++++ .../mods/codercore/register.lua | 9 ++-- 6 files changed, 57 insertions(+), 7 deletions(-) create mode 100644 Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/intllib.lua diff --git a/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/api.lua b/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/api.lua index c5dee5d..16d50cf 100644 --- a/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/api.lua +++ b/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/api.lua @@ -1,4 +1,5 @@ -local S = function (str) return str end +local modpath = minetest.get_modpath("unified_inventory") +local S, NS = dofile(modpath .. "/intllib.lua") local F = minetest.formspec_escape -- Create detached creative inventory after loading all mods diff --git a/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/depends.txt b/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/depends.txt index c1c449a..057539f 100644 --- a/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/depends.txt +++ b/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/depends.txt @@ -4,3 +4,4 @@ sfinv? datastorage? farming? ocsethome? +intllib? diff --git a/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/group.lua b/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/group.lua index 518652b..af3fd10 100644 --- a/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/group.lua +++ b/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/group.lua @@ -1,4 +1,5 @@ -local S = function (str) return str end +local modpath = minetest.get_modpath("unified_inventory") +local S, NS = dofile(modpath .. "/intllib.lua") function unified_inventory.canonical_item_spec_matcher(spec) local specname = ItemStack(spec):get_name() diff --git a/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/internal.lua b/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/internal.lua index 1e17312..795a6d1 100644 --- a/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/internal.lua +++ b/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/internal.lua @@ -1,4 +1,5 @@ -local S = function (str) return str end +local modpath = minetest.get_modpath("unified_inventory") +local S, NS = dofile(modpath .. "/intllib.lua") local F = minetest.formspec_escape -- This pair of encoding functions is used where variable text must go in diff --git a/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/intllib.lua b/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/intllib.lua new file mode 100644 index 0000000..90da1a2 --- /dev/null +++ b/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/intllib.lua @@ -0,0 +1,45 @@ + +-- Fallback functions for when `intllib` is not installed. +-- Code released under Unlicense . + +-- 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("unified_inventory") + else + -- Old method using text files. + gettext = intllib.Getter("unified_inventory") + 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 diff --git a/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/register.lua b/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/register.lua index 278acfb..2c34606 100644 --- a/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/register.lua +++ b/Bucket_Game-branches/unified_inventory_recipe_fix-vs-211031/mods/codercore/register.lua @@ -1,5 +1,6 @@ -local S = function (str) return str end -local NS = function(s) return s end +local modpath = minetest.get_modpath("unified_inventory") +local S, NS = dofile(modpath .. "/intllib.lua") +-- NS = S local F = minetest.formspec_escape minetest.register_privilege("creative", { @@ -233,8 +234,8 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item) end local recipe_text = { - recipe = NS("Recipe @1 of @2"), - usage = NS("Usage @1 of @2"), + recipe = S("Recipe @1 of @2"), + usage = S("Usage @1 of @2"), } local no_recipe_text = { recipe = S("No recipes"),