Jump to content

Module:ForeignLanguageTextTable

From Wikipedia, the free encyclopedia
local p = {}

function p.generateTable(frame)
    -- Input variables from the template
    local lang1 = frame.args["lang1"]
    local lang2 = frame.args["lang2"]
    
    -- Start building the table
    local tableStr = '{| class="wikitable"\n'
    tableStr = tableStr .. "! " .. lang1 .. " !! " .. lang2 .. "\n"
    
    -- Loop through potential text and translation pairs (up to 10)
    for i = 1, 10 do
        -- Get text and translation
        local text = frame.args["text" .. i]
        local trans = frame.args["trans" .. i]
        
        -- Check if the text or translation are unresolved template parameters like {{{text3}}}
        if text and trans and text:sub(1, 3) ~= "{{{" and trans:sub(1, 3) ~= "{{{" then
            -- Only add the row if both text and translation exist and are not unresolved
            if text ~= "" and trans ~= "" then
                tableStr = tableStr .. "|-\n"
                tableStr = tableStr .. "| " .. text .. " || " .. trans .. "\n"
            end
        end
    end
    
    -- Close the table
    tableStr = tableStr .. "|}"
    
    return tableStr
end

return p