Módulo:Categorização AD e AB de outras wikis

local p = { }

local badgesList = {
    Q6540291 = 'portal destacado',
    Q17437796 = 'artigo destacado',
    Q17437798 = 'artigo bom',
    Q17506997 = 'lista destacada',
    --Q6540326 = 'tema destacado',
    Q17507019 = 'Sabias que',
    Q17559452 = 'artigo recomendado',
    Q17580674 = 'portal destacado',
    Q17580678 = 'artigo de qualidade alta',
    Q17580679 = 'artigo de qualidade media',
    Q17580680 = 'artigo de qualidade baixa',
    Q17580682 = 'artigo de alta importância',
}

local badgesCategory = {
    Q17437796 = '!Artigos destacados',
    Q17437798 = '!Artigos bons',
    Q17506997 = '!Listas destacadas',
}

local linkCategoryPrefix = {
    default = '',
}

local linkCategorySuffix = {
    default = ' em Wikipédias sem categoria específica',
    afwiki = ' na Wikipédia em africâner‎',
    alswiki = ' na Wikipédia em alemânico',
    amwiki = ' na Wikipédia em amárico',
    anwiki = ' na Wikipédia em aragonês',
    arwiki = ' na Wikipédia em árabe',
    arzwiki = ' na Wikipédia em árabe egípcio‎ ',
    astwiki = ' na Wikipédia em asturiano',
    aswiki = ' na Wikipédia em assamês',
    azwiki = ' na Wikipédia em azeri',
    bawiki = ' na Wikipédia em baskir',
    barwiki = ' na Wikipédia em bávaro',
    bat_smgwiki = ' na Wikipédia em samogício',
    bewiki = ' na Wikipédia em bielorrusso‎',
    be_taraskwiki = ' na Wikipédia em bielorrusso (taraškievica)',
    bgwiki = ' na Wikipédia em búlgaro',
    bnwiki = ' na Wikipédia em bengali',
    bpywiki = ' na Wikipédia em bishnupriya manipuri',
    brwiki = ' na Wikipédia em bretão',
    bswiki = ' na Wikipédia em bósnio',
    cawiki = ' na Wikipédia em catalão',
    cdowiki = ' na Wikipédia em min dong',
    cebwiki = ' na Wikipédia em cebuano',
    cewiki = ' na Wikipédia em checheno‎',
    cswiki = ' na Wikipédia em checo‎',
    cvwiki = ' na Wikipédia em chuvasio',
    cywiki = ' na Wikipédia em galês',
    dawiki = ' na Wikipédia em dinamarquês',
    dewiki = ' na Wikipédia em alemão',
    dvwiki = ' na Wikipédia em divehi‎',
    elwiki = ' na Wikipédia em grego',
    enwiki = ' na Wikipédia em inglês',
    eowiki = ' na Wikipédia em esperanto',
    eswiki = ' na Wikipédia em espanhol',
    etwiki = ' na Wikipédia em estoniano',
    euwiki = ' na Wikipédia em basco',
    extwiki = ' na Wikipédia em estremenho‎ ',
    fawiki = ' na Wikipédia em persa',
    fiwiki = ' na Wikipédia em finlandês',
    fowiki = ' na Wikipédia em feroês',
    frwiki = ' na Wikipédia em francês',
    frrwiki = ' na Wikipédia em frísio setentrional',
    fywiki = ' na Wikipédia em frísio',
    gawiki = ' na Wikipédia em irlandês',
    gdwiki = ' na Wikipédia em gaélico escocês',
    glwiki = ' na Wikipédia em galego',
    guwiki = ' na Wikipédia em guzerate',
    gvwiki = ' na Wikipédia em manês',
    hewiki = ' na Wikipédia em hebraico',
    hiwiki = ' na Wikipédia em hindi',
    hrwiki = ' na Wikipédia em croata',
    hsbwiki = ' na Wikipédia em alto sorábio',
    htwiki = ' na Wikipédia em crioulo haitiano',
    huwiki = ' na Wikipédia em húngaro',
    hywiki = ' na Wikipédia em armênio',
    iawiki = ' na Wikipédia em interlíngua',
    idwiki = ' na Wikipédia em indonésio',
    iswiki = ' na Wikipédia em islandês',
    itwiki = ' na Wikipédia em italiano',
    jawiki = ' na Wikipédia em japonês',
    jvwiki = ' na Wikipédia em javanês',
    kawiki = ' na Wikipédia em georgiano',
    klwiki = ' na Wikipédia em gronelandês',
    kkwiki = ' na Wikipédia em cazaque',
    kmwiki = ' na Wikipédia em khmer',
    knwiki = ' na Wikipédia em canarês',
    kowiki = ' na Wikipédia em coreano',
    krcwiki = ' na Wikipédia em carachai-balcar‎',
    kuwiki = ' na Wikipédia em curdo',
    kvwiki = ' na Wikipédia em komi',
    lawiki = ' na Wikipédia em latim',
    lbwiki = ' na Wikipédia em luxemburguês',
    lezwiki = ' na Wikipédia em lezgui',
    liwiki = ' na Wikipédia em limburguês',
    lmowiki = ' na Wikipédia em lombardo',
    lowiki = ' na Wikipédia em laociano',
    ltwiki = ' na Wikipédia em lituano',
    lvwiki = ' na Wikipédia em letão',
    map_bmswiki = ' na Wikipédia em banyumasan',
    mgwiki = ' na Wikipédia em malgache',
    minwiki = ' na Wikipédia em minangkabau',
    mkwiki = ' na Wikipédia em macedônio',
    mlwiki = ' na Wikipédia em malaiala‎ ',
    mrwiki = ' na Wikipédia em marata',
    mswiki = ' na Wikipédia em malaio',
    mtwiki = ' na Wikipédia em maltês',
    mwlwiki = ' na Wikipédia em mirandês',
    nahwiki = ' na Wikipédia em náuatle‎',
    napwiki = ' na Wikipédia em napolitano',
    nds_nlwiki = ' na Wikipédia em baixo-saxão neerlandês‎',
    nlwiki = ' na Wikipédia em neerlandês‎',
    nnwiki = ' na Wikipédia em novo norueguês',
    nowiki = ' na Wikipédia em norueguês',
    nvwiki = ' na Wikipédia em navajo',
    ocwiki = ' na Wikipédia em occitano',
    orwiki = ' na Wikipédia em oriá',
    oswiki = ' na Wikipédia em osseta',
    pamwiki = ' na Wikipédia em pamgano',
    piwiki = ' na Wikipédia em pali',
    plwiki = ' na Wikipédia em polonês',
    ptwiki = '',
    quwiki = ' na Wikipédia em quíchua‎',
    rowiki = ' na Wikipédia em romeno',
    ruwiki = ' na Wikipédia em russo',
    sawiki = ' na Wikipédia em sânscrito',
    scnwiki = ' na Wikipédia em siciliano',
    scowiki = ' na Wikipédia em scots',
    shwiki = ' na Wikipédia em servo-croata',
    simplewiki = ' na Wikipédia em inglês básico',
    skwiki = ' na Wikipédia em eslovaco',
    slwiki = ' na Wikipédia em esloveno',
    sqwiki = ' na Wikipédia em albanês',
    srwiki = ' na Wikipédia em sérvio',
    srnwiki = ' na Wikipédia em sranan tongo',
    stqwiki = ' na Wikipédia em frísio oriental',
    svwiki = ' na Wikipédia em sueco',
    swwiki = ' na Wikipédia em suaíli‎',
    szlwiki = ' na Wikipédia em silesiano',
    tawiki = ' na Wikipédia em tâmil',
    tewiki = ' na Wikipédia em telugu',
    thwiki = ' na Wikipédia em tailandês',
    tlwiki = ' na Wikipédia em tagalo',
    tnwiki = ' na Wikipédia em tsuana',
    trwiki = ' na Wikipédia em turco',
    ttwiki = ' na Wikipédia em tártaro',
    ukwiki = ' na Wikipédia em ucraniano',
    urwiki = ' na Wikipédia em urdu',
    uzwiki = ' na Wikipédia em uzbeque',
    vecwiki = ' na Wikipédia em vêneto',
    vepwiki = ' na Wikipédia em vepsio',
    viwiki = ' na Wikipédia em vietnamita',
    vlswiki = ' na Wikipédia em flamengo ocidental',
    vowiki = ' na Wikipédia em volapuque‎',
    wawiki = ' na Wikipédia em valão',
    warwiki = ' na Wikipédia em samareno',
    yiwiki = ' na Wikipédia em iídiche',
    yowiki = ' na Wikipédia em iorubá',
    zhwiki = ' na Wikipédia em chinês',
    zh_classicalwiki = ' na Wikipédia em chinês clássico',
    zh_min_nanwiki = ' na Wikipédia em chinês min nan',
    zh_yuewiki = ' na Wikipédia em cantonês',
    }

function p.badgesCategories( frame )
    local entity = mw.wikibase.getEntityObject()
    local wikitext = {}
    local categoryNs = mw.site.namespaces[14].name
    if not entity or not entity.sitelinks then
        return ''
    end
   
    for siteid, linkTable in pairs( entity.sitelinks ) do
        for i, badgeId in ipairs( entity.sitelinks[ siteid ].badges ) do
            if badgesCategory[ badgeId ] and string.sub(siteid, -4) == 'wiki' then
                local prefix = linkCategoryPrefix[ siteid ] or linkCategoryPrefix.default or ''
                local main = badgesCategory[ badgeId ] or ''
                local suffix = linkCategorySuffix[ siteid ] or linkCategorySuffix.default or ''
                local category = string.format('[[%s:%s]]', categoryNs, prefix .. main .. suffix )
                table.insert( wikitext, category )
            end
        end
    end
    return table.concat( wikitext )
end

function p.hasAnyBadge( frame )
    local entity = mw.wikibase.getEntityObject()
    if not entity then
        return ''
    end
    for siteid, linkTable in pairs( entity.sitelinks ) do
        if next(entity.sitelinks[ siteid ].badges) ~= nil then
            return '1'
        end
    end
    return ''
end

return p