Modul:External links/conf/Musikk
< Modul:External links | conf
Dokumentasjon for denne modulen kan opprettes på Modul:External links/conf/Musikk/dok
local function commons_formatter(id) return "https://commons.wikimedia.org/wiki/Category:" .. id:gsub(" ", "_") end -- forekomster-variablen er en liste over hvilke forekomster (P31 fra Wikidata-Q-element til artikkel) som ikke skal bli håndtert som et verk (kursiv tekst) for Last.fm-lenker local forekomster = { "Q5", -- menneske "Q215380", -- band "Q5741069", -- rockeband "Q9212979", -- musikkduo "Q641066", -- jentegruppe "Q113292621", -- folkemusikkgruppe "Q216337", -- guttegruppe "Q42998", -- orkester "Q10648343", -- duo "Q56816954", -- heavy metal band "Q18127", -- platemerke } -- $1 er etiketten på lenka som genereres. local lenkeEn = "''$1''" -- sjekker om siden har wikidata-element og sjekker om det er et band eller individ if mw.wikibase.getEntityIdForCurrentPage() ~= nil then -- henter egenskaper for P31 (forekomst av) og spesifiserer første tabell (egenskap) local egenskap = mw.wikibase.getBestStatements(mw.wikibase.getEntityIdForCurrentPage(), 'P31') -- sjekker om Q-id for første P31-egenskap matcher en av verdiene i forekomster-variablen for k,v in pairs(forekomster) do for i, e in pairs(egenskap) do if egenskap[i].mainsnak.datavalue.value.id == v then -- om én forekomst av-egenskapen samsvarer med en av opplistingene i forekomster-variablen, fjernes kursivt formatering lenkeEn = "$1" break end end end end local configured_claims = {} configured_claims['nb'] = { -- (HENTES FRA {{Offisielt nettsted}}) { prop ='P373', message ="$3 [$2 " .. lenkeEn .. "] – bilder, video eller lyd på [[Wikimedia Commons]]", langcode = 'en', genitiv = false, url_f=commons_formatter }, { prop='P2850', message ="$3 [$2 " .. lenkeEn .. "] på [[Apple Music]]", short="[$2 Apple Music]", langcode ='en', genitiv = false }, --band, artist på Apple Music { prop='P2281', message ="$3 [$2 " .. lenkeEn .. "] på [[Apple Music]]", short="[$2 Apple Music]", langcode ='en', genitiv = false }, --utgivelse på Apple Music { prop='P11090', message ="$3 [$2 " .. lenkeEn .. "] på [[Boomplay]]", short="[$2 Boomplay]", langcode ='en', genitiv = false }, --sang { prop='P2206', message ="$3 [$2 " .. lenkeEn .. "] på [[Discogs]]", short="[$2 Discogs]", langcode ='en', genitiv = false }, -- Utgivelse { prop='P1953', message ="$3 [$2 " .. lenkeEn .. "] på [[Discogs]]", short="[$2 Discogs]", langcode ='en', genitiv = false }, -- Artist { prop='P1954', message ="$3 [$2 " .. lenkeEn .. "] på [[Discogs]]", short="[$2 Discogs]", langcode ='en', genitiv = false }, -- Verk { prop='P1955', message ="$3 [$2 " .. lenkeEn .. "] på [[Discogs]]", short="[$2 Discogs]", langcode ='en', genitiv = false }, -- Label { prop='P9003', message ="$3 [$2 " .. lenkeEn .. "] på Google Podcasts", short="[$2 Google Podcasts]", langcode ='en', genitiv = false }, -- podkast på Google Podcasts { prop='P434', message ="$3 [$2 " .. lenkeEn .. "] på [[MusicBrainz]]", short="[$2 MusicBrainz]", langcode ='en', genitiv = false }, --Artist { prop='P435', message ="$3 [$2 " .. lenkeEn .. "] på [[MusicBrainz]]", short="[$2 MusicBrainz]", langcode ='en', genitiv = false }, --Utgivelse { prop='P436', message ="$3 [$2 " .. lenkeEn .. "] på [[MusicBrainz]]", short="[$2 MusicBrainz]", langcode ='en', genitiv = false }, --Verk { prop='P2721', message ="$3 [$2 " .. lenkeEn .. "] på [[Encyclopaedia Metallum]]", short="[$2 Encyclopaedia Metallum]", langcode ='en', genitiv = false }, { prop='P9010', message ="$3 [$2 " .. lenkeEn .. "] på Player FM", short="[$2 Player FM]", langcode ='en', genitiv = false }, --podkast på Player FM { prop='P9012', message ="$3 [$2 " .. lenkeEn .. "] på Podtail", short="[$2 Podtail]", langcode ='en', genitiv = false }, --podkast på Podtail { prop='P1989', message ="$3 [$2 " .. lenkeEn .. "] på [[Encyclopaedia Metallum]]", short="[$2 Encyclopaedia Metallum]", langcode ='en', genitiv = false }, -- artistoppføring { prop='P1952', message ="$3 [$2 " .. lenkeEn .. "] på [[Encyclopaedia Metallum]]", short="[$2 Encyclopaedia Metallum]", langcode ='en', genitiv = false }, -- bandoppføring { prop='P3040', message ="$3 [$2 " .. lenkeEn .. "] på [[SoundCloud]]", short="[$2 SoundCloud]", langcode ='en', genitiv = false }, { prop='P1902', message ="$3 [$2 " .. lenkeEn .. "] på [[Spotify]]", short="[$2 Spotify]", langcode ='en', genitiv = false }, --band, artist på Spotify { prop='P2205', message ="$3 [$2 " .. lenkeEn .. "] på [[Spotify]]", short="[$2 Spotify]", langcode ='en', genitiv = false }, --utgivelse på Spotify { prop='P2207', message ="$3 [$2 " .. lenkeEn .. "] på [[Spotify]]", short="[$2 Spotify]", langcode ='en', genitiv = false }, --sang på Spotify { prop='P5916', message ="$3 [$2 " .. lenkeEn .. "] på [[Spotify]]", short="[$2 Spotify]", langcode ='en', genitiv = false }, --podkast på Spotify { prop='P3478', message ="$3 [$2 " .. lenkeEn .. "] på [[Songkick]]", short="[$2 Songkick]", langcode ='en', genitiv = false }, { prop='P3192', message ="$3 [$2 " .. lenkeEn .. "] på [[Last.fm]]", short="[$2 Last.fm]", langcode ='en', genitiv = false }, { prop='P5172', message ="$3 [$2 " .. lenkeEn .. "] på [[Rockipedia]]", short="[$2 Rockipedia]", langcode ='no', genitiv = false }, --artist/band { prop='P5171', message ="$3 [$2 " .. lenkeEn .. "] på [[Rockipedia]]", short="[$2 Rockipedia]", langcode ='no', genitiv = false }, --utgivelse { prop='P6217', message ="$3 [$2 " .. lenkeEn .. "] på [[Genius (nettsted)|Genius]] — sangtekster", short="[$2 Genius]", langcode ='en', genitiv = false }, --utgivelse { prop='P6218', message ="$3 [$2 " .. lenkeEn .. "] på [[Genius (nettsted)|Genius]] — sangtekst", short="[$2 Genius]", langcode ='en', genitiv = false }, --sang { prop='P2373', message ="$3 [$2 " .. lenkeEn .. "] på [[Genius (nettsted)|Genius]] — sangtekster", short="[$2 Genius]", langcode ='en', genitiv = false }, --artist/band { prop='P1728', message ="$3 [$2 " .. lenkeEn .. "] på [[AllMusic]]", short="[$2 AllMusic]", langcode ='en', genitiv = false }, --artist { prop='P1729', message ="$3 [$2 " .. lenkeEn .. "] på [[AllMusic]]", short="[$2 AllMusic]", langcode ='en', genitiv = false }, --sang { prop='P5842', message ="$3 [$2 " .. lenkeEn .. "] på Apple Podcasts", short="[$2 Apple Podcasts]", langcode ='no', genitiv = false }, --podcast { prop='P4300', message ="$3 [$2 " .. lenkeEn .. "] på YouTube Music", short="[$2 YouTube Music]", langcode ='en', genitiv = false }, --på YouTube Music { prop='P3283', message ="$3 [$2 " .. lenkeEn .. "] på Bandcamp", short="[$2 Bandcamp]", langcode ='en', genitiv = false }, --på Bandcamp } local messages_conf = {} messages_conf['nb'] = { ['short-list-separator'] = " '''·''' ", ['no-data-cat'] = '[[Kategori:Artikler uten musikklenker fra Wikidata]]', ['with-data-cat'] = '[[Kategori:Artikler med musikklenker fra Wikidata]]', ['with-local-cat'] = '[[Kategori:Artikler med musikklenker fra lokale verdier]]', ['no-data-text'] = "''Artikkelen har ingen egenskaper for musikkdatabaser i Wikidata''", ['no-wikilink'] = "''Artikkelen mangler oppslag i Wikidata''", ['no-wikilink-cat'] = "[[Kategori:Artikler med musikklenker og uten kobling til Wikidata]]", ['track-cat-wd-wd'] = '[[Kategori:Artikler med musikklenker for $1 fra Wikidata]]', ['track-cat-local-local'] = '', ['track-cat-wd-local'] = '', ['track-cat-local-wd'] = '', ['track-cat-local-wd-equal'] = '', ['track-cat-local-wd-unequal'] = '', } local limits = { ['links-shown'] = 10, -- maximum number of links shown in the article. } local p = {} function p.getConfiguredClaims (self, lang) return configured_claims[lang] end function p.getMessage (self, lang, msg) return messages_conf[lang][msg] end function p.getLimits (self) return limits end -- metatable for the export local mt = { -- adjust the installation of the module ['__call'] = function (self, lang) self.configured_claims = configured_claims[lang] self.messages_conf = messages_conf[lang] return self end } -- install the metatable setmetatable(p, mt) return p