local p = {}
p.toWMi18n = function(frame)
local data = mw.loadData(frame.args[1])
local wmdata = {}
local out = ""
for k,v in pairs(data) do
for l,w in pairs(v) do
wmdata[l] = wmdata[l] and wmdata[l] or {}
wmdata[l][k] = w
end
end
for k,v in pairs(wmdata) do
local key = mw.ustring.gsub(k, '"', '\"')
out = out .. "\t[\n\t\t\"" .. key .. "\",\n" .. mw.ustring.gsub(mw.text.jsonEncode(v, mw.text.JSON_PRETTY), " ", "\t\t") .. "\n\t],\n"
end
out = mw.ustring.sub(out, 1, mw.ustring.len(out) - 2)
return frame:callParserFunction("#tag", {"syntaxhighlight", "[\n" .. out .. "\n]", lang="json"})
end
return p