Module:Sandbox/Awesome Aasim/Fandomi18ntoWMi18n: Difference between revisions

Content deleted Content added
Created page with 'local p = {} p.toWMi18n = function(frame) local data = mw.loadData(frame.args[1]) local out = "" for k,v in data do l = mw.ustring.gsub(k, '"', '\"') w = mw.ustring.gsub(v, '"', '\"') out = out .. "[\"" .. l .. "\", " .. w .. "],\n" end return frame:callParserFunction("#tag", "syntaxhighlight", out, {lang="json"}) end return p'
 
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 3:
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
l = mw.ustring.gsub(k, '"', '\"')
wmdata[l] = wmdata[l] and wmdata[l] or {}
w = mw.ustring.gsub(v, '"', '\"')
wmdata[l][k] = w
out = out .. "[\"" .. l .. "\", " .. w .. "],\n"
end
end
 
for k,v in pairs(wmdata) do
return frame:callParserFunction("#tag", "syntaxhighlight", out, {lang="json"})
llocal key = mw.ustring.gsub(k, '"', '\"')
out = out .. "\t[\n\t\t\"" .. key .. "\",\n\t\t" .. mw.ustring.gsub(mw.ustring.gsub(mw.text.jsonEncode(v, mw.text.JSON_PRETTY), " ", "\t\t\t"), "\t\t\t}", "\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