Modul:VCard/Unesco

Aus Wikivoyage
Dokumentation für das Modul VCard/Unesco[Ansicht] [Bearbeiten] [Versionsgeschichte] [Aktualisieren]

Die Funktion unesco.getUnescoImage( countryData ) liefert ein Unesco-Symbol zurück, das auf einen durch countryData spezifizierten Artikel verlinkt.

Versionsbezeichnung auf Wikidata: 2023-02-18 Ok!
Hinweise
-- This module presenting a Unesco icon with a link to the related article
-- has to be adapted to the needs of the local wiki. It depends on the
-- existence of Unesco heritage articles.

-- modul variable and administration
local unesco = {
	moduleInterface  = {
		suite  = 'vCard',
		sub    = 'Unesco',
		serial = '2023-02-18',
		item   = 111232404
	}
}

-- heritage articles by continent, taken from Module:Unesco/i18n
local articles = {
	af      = 'Welterbe/Afrika', -- africa
	am      = 'Welterbe/Amerika', -- america
	as      = 'Welterbe/Asien und Ozeanien', -- asia
	au      = 'Welterbe/Asien und Ozeanien', -- australia
	eu      = 'Welterbe/Europa', -- europe
	na      = 'Welterbe/Amerika', -- north america
	oc      = 'Welterbe/Asien und Ozeanien', -- oceania
	sa      = 'Welterbe/Amerika', -- south america
	default = 'Welterbe',
	title   = 'Welterbe in %s'
}

-- image titles by continent, taken from Module:Unesco/i18n
local titles = {
	af      = 'Unesco-Welterbestätten in Afrika',
	am      = 'Unesco-Welterbestätten in Amerika',
	as      = 'Unesco-Welterbestätten in Asien',
	au      = 'Unesco-Welterbestätten in Australien',
	eu      = 'Unesco-Welterbestätten in Europa',
	na      = 'Unesco-Welterbestätten in Nordamerika',
	oc      = 'Unesco-Welterbestätten in Ozeanien',
	sa      = 'Unesco-Welterbestätten in Südamerika',
	default = 'Unesco-Welterbestätten'
}

local exceptions = {
	Niue           = 'Welterbe auf Niue',
	Samoa          = 'Welterbe auf Samoa',
	Tonga          = 'Welterbe auf Tonga',
	Bahamas        = 'Welterbe auf den Bahamas',
	Cookinseln     = 'Welterbe auf den Cookinseln',
	Komoren        = 'Welterbe auf den Komoren',
	Malediven      = 'Welterbe auf den Malediven',
	Marshallinseln = 'Welterbe auf den Marshallinseln',
	Philippinen    = 'Welterbe auf den Philippinen',
	Salomonen      = 'Welterbe auf den Salomonen',
	Seychellen     = 'Welterbe auf den Seychellen',

	Irak           = 'Welterbe im Irak',
	Jemen          = 'Welterbe im Jemen',
	Kosovo         = 'Welterbe im Kosovo',
	Libanon        = 'Welterbe im Libanon',
	Sudan          = 'Welterbe im Sudan',
	['Südsudan']   = 'Welterbe im Südsudan',
	Tschad         = 'Welterbe im Tschad',
	['Vereinigtes Königreich'] = 'Welterbe im Vereinigten Königreich',

	['Föderierten Staaten von Mikronesien'] = 'Welterbe in den Föderierten Staaten von Mikronesien',
	Niederlande    = 'Welterbe in den Niederlanden',
	['Vereinigte Staaten'] = 'Welterbe in den Vereinigten Staaten',
	['Vereinigte Arabische Emirate'] = 'Welterbe in den Vereinigten Arabischen Emiraten',

	['Demokratische Republik Kongo'] = 'Welterbe in der Demokratischen Republik Kongo',
	['Dominikanische Republik'] = 'Welterbe in der Dominikanischen Republik',
	['Elfenbeinküste'] = 'Welterbe in der Elfenbeinküste',
	Mongolei       = 'Welterbe in der Mongolei',
	['Republik Kongo'] = 'Welterbe in der Republik Kongo',
	Schweiz        = 'Welterbe in der Schweiz',
	Slowakei       = 'Welterbe in der Slowakei',
	['Türkei']     = 'Welterbe in der Türkei',
	Ukraine        = 'Welterbe in der Ukraine',
	Vatikanstadt   = 'Welterbe in der Vatikanstadt',
	['Zentralafrikanische Republik'] = 'Welterbe in der Zentralafrikanischen Republik'
}

-- create unesco image with link and title
function unesco.getUnescoInfo( countryData )
	local article = exceptions[ countryData.country ] or
		articles.title:format( countryData.country )

	if article then
		-- try to get the country article
		local title = mw.title.new( article )
		if title and title.exists then
			return article, article
		end

		-- try to get the continent article
		title = titles[ countryData.cont ]
		if title then
			article = articles[ countryData.cont ] .. '#' .. countryData.country
			return article, title
		end
	end

	return articles.default, titles.default
end

return unesco