Module:Msg: Difference between revisions
Created page with "-- Module:Msg local p = {} -- Load the data from submodules local data = { types = mw.loadData("Module:Msg/types"), moves = mw.loadData("Module:Msg/moves"), items = mw.loadData("Module:Msg/items") } -- Helper to get page language local function getPageLang() return mw.getCurrentFrame():preprocess("{{PAGELANGUAGE}}") end -- Lookup function -- frame.args[1] = key (e.g., "pokehero-type-energy") -- frame.args[2] = category (optional, e.g., "types") -- fram..." |
No edit summary |
||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
-- Helper to get page language | -- Helper to get page language | ||
Line 14: | Line 6: | ||
end | end | ||
function p.msg(frame) | function p.msg(frame) | ||
local key = frame.args[1] | local key = frame.args[1] | ||
local category = frame.args[2] | local category = frame.args[2] | ||
local lang = frame.args.lang or getPageLang() | local lang = frame.args.lang or getPageLang() | ||
local catTable | |||
local success, result = pcall(function() | |||
return mw.loadData("Module:Msg/" .. category) | |||
end) | |||
if success and result then | |||
catTable = result | |||
else | |||
-- Fallback: category table does not exist | |||
return key .. " (missing category: " .. category .. ")" | |||
end | |||
if catTable[key] then | |||
if | |||
if catTable[key][lang] then | if catTable[key][lang] then | ||
return catTable[key][lang] | return catTable[key][lang] | ||
elseif catTable[key]["en"] then | elseif catTable[key]["en"] then | ||
return catTable[key]["en"] | return catTable[key]["en"] -- fallback to English | ||
else | |||
return key .. " (missing translation)" .. " in category " .. category | |||
end | end | ||
else | |||
-- Key does not exist | |||
return key .. " (missing key)" .. " in category " .. category | |||
end | end | ||
end | end | ||
return p | return p |