Difference between revisions of "Module:HonorTabs"
From Pathfinder Wiki
DesignerThan (talk | contribs) |
DesignerThan (talk | contribs) |
||
Line 22: | Line 22: | ||
t_variants = explode(";;", variants) | t_variants = explode(";;", variants) | ||
− | -- get the subvariants | + | -- get the subvariants & translate it |
− | for key, | + | for key, variant in pairs(t_variants) do |
− | t_variants[key] = explode(";", | + | t_variants[key] = explode(";", variant) |
+ | for subkey, subVariant in pairs(t_variants[key]) do | ||
+ | t_variants[key][subkey] = { | ||
+ | str=subVariant, | ||
+ | translation=frame:expandTemplate{title = 'Localize', args = {subVariant,'Answer Variants'}} | ||
+ | } | ||
+ | end | ||
end | end | ||
− | + | result_string = "" | |
− | |||
for key, value in pairs(t_variants) do | for key, value in pairs(t_variants) do | ||
− | + | result_string = result_string .. "top level\n" | |
− | for | + | for subkey, val in pairs(value) do |
− | + | result_string = result_string .. "* " .. key .. " -- " .. val['str'] .. " -- " .. val['translation'] .."\n" | |
end | end | ||
end | end |
Revision as of 22:04, 27 April 2021
Documentation for this module may be created at Module:HonorTabs/doc
local p = {}
function p.hello( frame )
return "Hello, world!"
end
function p.getLangSuffix( frame )
return frame:expandTemplate{ title = 'GetLangSuffix' }
end
function p.createAnswerTab( frame )
if frame.args.answerVariants then
return "There are answer variants:\n" .. prepareAnswerVariants(frame.args.answerVariants)
else
return "There aren't any answer variants!"
end
end
function prepareAnswerVariants(variants)
-- get the variants
t_variants = explode(";;", variants)
-- get the subvariants & translate it
for key, variant in pairs(t_variants) do
t_variants[key] = explode(";", variant)
for subkey, subVariant in pairs(t_variants[key]) do
t_variants[key][subkey] = {
str=subVariant,
translation=frame:expandTemplate{title = 'Localize', args = {subVariant,'Answer Variants'}}
}
end
end
result_string = ""
for key, value in pairs(t_variants) do
result_string = result_string .. "top level\n"
for subkey, val in pairs(value) do
result_string = result_string .. "* " .. key .. " -- " .. val['str'] .. " -- " .. val['translation'] .."\n"
end
end
return result_string2
end
-- explode(seperator, string)
function explode(seperator,str)
local t, ll
t={}
ll=0
if(#p == 1) then
return {str}
end
while true do
l = string.find(str, seperator, ll, true) -- find the next d in the string
if l ~= nil then -- if "not not" found then..
table.insert(t, string.sub(str,ll,l-1)) -- Save it in our array.
ll = l + string.len(seperator) -- save just after where we found it for searching next time.
else
table.insert(t, string.sub(str,ll)) -- Save what's left in our array.
break -- Break at end, as it should be, according to the lua manual.
end
end
return t
end
return p