Op den Inhalt sprangen

Modul:GenderedLabels

Vu Wikipedia
Dokumentatioun vum Modul:GenderedLabels [liesen] [änneren] [Versioune weisen]

D'Dokumentatioun fir dëst Modul steet hei ënnendrënner an ass vun der Säit Modul:GenderedLabels/doc hei agebonne ginn. Kuckt och: Hëllef:Moduler.

Eng automatesch generéiert Lëscht vun alle feelende Forme fir weiblech Form vum Label (P2521) oder männlech Form vum Label (P3321) fir Aktivitéiten oder Fonctiounen, déi mat enger Persoun, déi op der Wikipedia op Lëtzebuergesch en Artikel huet, verknäppt sinn, fënnt een ënner Modul:GenderedLabels/Feelend Formen.

local p = {}

function p.getGenderedLabels(frame)
    local list   = frame.args[1] or ''
    local gender = frame.args[2]

    local genderProperties = {
        Q6581072 = 'P2521', -- female
        Q1052281 = 'P2521', -- transgender female
        Q43445   = 'P2521', -- animal female
        Q6581097 = 'P3321', -- male
        Q2449503 = 'P3321', -- transgender male
        Q44148   = 'P3321', -- animal male
    }
    local property = genderProperties[gender]

    local items   = mw.text.split(list, '%s*,%s*')
    local results = {}

    for _, item in ipairs(items) do
        if item ~= '' then
            local qid, qualifiers = item:match('^(Q%d+)%s*(.*)$')
            local title = mw.wikibase.getSitelink(qid)

            local label = ''
            if property then
                label = frame:expandTemplate{
                    title = 'wikidata',
                    args  = { 'property', qid, property }
                }
            end

            if label == '' then
                label = frame:expandTemplate{
                    title = 'wikidata',
                    args  = { 'label', qid }
                }
            end

            if label ~= '' then
                local res
                if title ~= nil then
                    res = string.format('[[%s|%s]]', title, label)
                else
                    res = label
                end
                if qualifiers ~= '' then
                    res = res .. ' ' .. qualifiers
                end
                table.insert(results, res)
            end
        end
    end

    return table.concat(results, ', ')
end

return p