Module:Sandbox: Difference between revisions

From Donate
Jump to navigation Jump to search
Content deleted Content added
test
 
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
local p = {} -- p stands for package
local p = {}


-- supported languages
function p.get_appeal( frame )
local lang_list = { 'ca', 'da', 'de', 'es', 'es-419', 'fr', 'he', 'hu', 'it', 'ja', 'lv', 'nb', 'nl', 'pl', 'pt', 'pt-br', 'ro', 'ru', 'sk', 'sv', 'uk', 'zh-hans' }


function p.get_langlinks( frame )
local appeal_name = string.gsub( frame.args.appeal , 'Appeal-', '' )
local language = frame.args.language
local country = frame.args.country


local output = '<ul>'
local p1 = mw.title.new( 'Template:Appeal/' .. appeal_name .. '/' .. language .. '/' .. country )
local root = 'Problems donating'
local p2 = mw.title.new( 'Template:Appeal/' .. appeal_name .. '/' .. language )
local p3 = mw.title.new( 'Template:Appeal/' .. appeal_name .. '/en' )
local p4 = mw.title.new( 'Template:Appeal/default/' .. language )


output = output .. string.format('<li lang="en" style="white-space: nowrap;">[[%s|English]]</li>', root)
if p1.exists then

page = p1
for i, lang in ipairs(lang_list) do
elseif p2.exists then
page = p2
local title = root .. '/' .. lang
local p = mw.title.new( title )
elseif p3.exists then
page = p3
if p.exists then
local lang_name = mw.language.fetchLanguageName( lang )
else
output = output .. string.format('<li lang="%s" style="white-space: nowrap;">[[%s|%s]]</li>', lang, title, lang_name)
page = p4
end
end
end


output = output .. '</ul>'
local expanded = frame:expandTemplate{ title = page.title, args = { } }
return output


end
return expanded

function p.get_langtable( frame )

local output = ''

for i, lang in ipairs(lang_list) do
local lang_name = mw.language.fetchLanguageName( lang )
local row = string.format([==[
|-
! scope="row" | %s
| [[Thank You/%s]]
| [[Ways to Give/%s]]
| [[Problems donating/%s]]
| [[Cancel or change recurring giving/%s]]
| [[Matching Gifts/%s]]
| [[FAQ/%s]]
| [[Tax deductibility/%s]]
]==], lang_name, lang, lang, lang, lang, lang, lang, lang)
output = output .. row
end

return output

end

country_names_data = mw.loadJsonData( 'User:Pcoombe/sandbox.json' )

function p.get_country_name( language_code, country_code )

local name = country_names_data[language_code][country_code]
return name

end

function p.make_donate_link( language_code, country_code )

local url = 'https://donate.wikimedia.org/wiki/Special:FundraiserLandingPage?utm_medium=Waystogive&utm_source=Waystogive&utm_campaign=C11_Waystogive'
url = url .. '&uselang=' .. language_code
url = url .. '&country=' ..country_code
local link_text = p.get_country_name( language_code, country_code )
local link = '[' .. url .. ' ' .. link_text .. ']'

return link

end
end



Latest revision as of 09:42, 29 April 2023

Documentation for this module may be created at Module:Sandbox/doc

local p = {}

-- supported languages
local lang_list = { 'ca', 'da', 'de', 'es', 'es-419', 'fr', 'he', 'hu', 'it', 'ja', 'lv', 'nb', 'nl', 'pl', 'pt', 'pt-br', 'ro', 'ru', 'sk', 'sv', 'uk', 'zh-hans' }

function p.get_langlinks( frame )

    local output = '<ul>'
    local root = 'Problems donating'

    output = output .. string.format('<li lang="en" style="white-space: nowrap;">[[%s|English]]</li>', root)

    for i, lang in ipairs(lang_list) do
        local title = root .. '/' .. lang
        local p = mw.title.new( title )
        if p.exists then
            local lang_name = mw.language.fetchLanguageName( lang )
            output = output .. string.format('<li lang="%s" style="white-space: nowrap;">[[%s|%s]]</li>', lang, title, lang_name)
        end
    end

    output = output .. '</ul>'
    return output

end

function p.get_langtable( frame )

    local output = ''

    for i, lang in ipairs(lang_list) do
        local lang_name = mw.language.fetchLanguageName( lang )
        local row = string.format([==[
|-
! scope="row" | %s
| [[Thank You/%s]]
| [[Ways to Give/%s]]
| [[Problems donating/%s]]
| [[Cancel or change recurring giving/%s]]
| [[Matching Gifts/%s]]
| [[FAQ/%s]]
| [[Tax deductibility/%s]]
]==], lang_name, lang, lang, lang, lang, lang, lang, lang)
        output = output .. row
    end

    return output

end

country_names_data = mw.loadJsonData( 'User:Pcoombe/sandbox.json' )

function p.get_country_name( language_code, country_code )

	local name = country_names_data[language_code][country_code]
	return name

end

function p.make_donate_link( language_code, country_code )

    local url = 'https://donate.wikimedia.org/wiki/Special:FundraiserLandingPage?utm_medium=Waystogive&utm_source=Waystogive&utm_campaign=C11_Waystogive'
    url = url .. '&uselang=' .. language_code
    url = url .. '&country=' ..country_code
    
    local link_text = p.get_country_name( language_code, country_code )
    
    local link = '[' .. url .. ' ' .. link_text .. ']'

    return link

end

return p