From 3a3da7359c1acc46bd6aca86c5cb351eb15e0d76 Mon Sep 17 00:00:00 2001 From: ShadowNinja Date: Wed, 12 Feb 2014 17:27:09 -0500 Subject: [PATCH] Add get_strings() --- init.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/init.lua b/init.lua index e63d709..62a8f51 100644 --- a/init.lua +++ b/init.lua @@ -16,6 +16,8 @@ LANG = LANG:sub(1, 2) -- Support the old multi-load method intllib.getters = intllib.getters or {} +intllib.strings = {} + local function noop_getter(s) return s end @@ -27,6 +29,7 @@ function intllib.Getter(modname) if modpath then local filename = modpath.."/locale/"..LANG..".txt" local msgstr = intllib.load_strings(filename) + intllib.strings[modname] = msgstr or false if msgstr then intllib.getters[modname] = function (s) if msgstr[s] and msgstr[s] ~= "" then @@ -42,3 +45,14 @@ function intllib.Getter(modname) return intllib.getters[modname] end +function intllib.get_strings(modname) + modname = modname or minetest.get_current_modname() + local msgstr = intllib.strings[modname] + if msgstr == nil then + local modpath = minetest.get_modpath(modname) + msgstr = intllib.load_strings(modpath.."/locale/"..LANG..".txt") + intllib.strings[modname] = msgstr + end + return msgstr or nil +end +