Module:Sandbox: Difference between revisions

From Donate
Jump to navigation Jump to search
Content deleted Content added
No edit summary
No edit summary
 
(10 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, 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