Modul:Währung

Aus Wikivoyage
Template-info.png Dokumentation für das Modul Währung[Ansicht] [Bearbeiten] [Versionsgeschichte] [Aktualisieren]

Dieses Modul enthält Funktionen für den Umgang mit Währungen.

Allgemein gültige Parameter

Die allgemein gültigen Parameter kann man sowohl innerhalb der Vorlage in der Parserfunktion invoke benutzen, als auch innerhalb des Artikels der Vorlage selbst übergeben. Der Paramter, der bei der Einbindung der Vorlage benutzt wird, hat dabei Vorrang. So kann man bestimmte Funktionalitäten für den generellen Gebrauch der Vorlage aktivieren (über invoke) und im Einzelfall im Artikel abschalten (bei der Verwendung der Vorlage).

  • |ignore_errors= auf 1 oder true gesetzt, werden die Ausgabe der Fehlermeldungen der Funktionen unterdrückt. Standardmäßig werden die Fehler angezeigt.
  • |no_category= auf 1 oder true gesetzt, werden die Artikel bei Fehlermeldungen des Moduls einer Fehlerkategorie zugeordnet. Standardmäßig werden Fehlermeldungen in die Kategorie Fehlerberichte des Moduls Währung eingefügt. Wurden unbekannte Parameter verwendet landen die Artikel zusätzlich in der Kategorie Vorlagen mit unbekannten Parametern.
  • |error_category= gibt den Namen einer Fehlerkategorie an, in der der Artikel bei auftretenden Fehlern einsortiert wird. Standardmäßig ist das Fehlerberichte des Moduls Währung.

Funktionen

Folgende Funktionen können im Artikeltext und Vorlagen benutzt werden.

getCurrencyNameByCode

Die Funktion gibt den Namen einer Währung bei gegebenem ISO-4217-Währungscode zurück.

  • |code= – ISO-4217-Währungscode

getCurrencyOfCountryWithCode

Die Funktion gibt den Namen und ISO-4217-Währungscode eines Landes in der Form „<Währung> (<ISO-4217>)“ zurück. Ist das Land unbekannt oder keine Währungsinfo verfügbar, wird der Artikel in der Wartungskategorie Artikel ohne Währung auf Wikidata einsortiert. Die Daten werrden nicht direkt von Wikidata bezogen sondern sind im Modul Währung/Länder abgelegt, welches unter Umständen aktualisiert werden muss.

  • |id= – Wikidata-ID des Landes

getCurrencyNameOfCountry

Die Funktion gibt den Namen der Währung eines Landes. Ist das Land unbekannt oder keine Währungsinfo verfügbar, wird der Artikel in der Wartungskategorie Artikel ohne Währung auf Wikidata einsortiert. Die Daten werrden nicht direkt von Wikidata bezogen sondern sind im Modul Währung/Länder abgelegt, welches unter Umständen aktualisiert werden muss.

  • |id= – Wikidata-ID des Landes

getCurrencyCodeOfCountry

Die Funktion gibt den ISO-4217-Währungscode eines Landes zurück. Ist das Land unbekannt oder keine Währungsinfo verfügbar, wird der Artikel in der Wartungskategorie Artikel ohne Währung auf Wikidata einsortiert. Die Daten werrden nicht direkt von Wikidata bezogen sondern sind im Modul Währung/Länder abgelegt, welches unter Umständen aktualisiert werden muss.

  • |id= – Wikidata-ID des Landes

Submodule

Benötigte weitere Module

Dieses Modul benötigt folgende weitere Module: Check2 • ISO 4217
Hinweise
local iso4217 = require ('Modul:ISO 4217')
local check = require ('Modul:Check2')

local cfgParams   = mw.loadData('Modul:Währung/Params')

-- Auswertung und Prüfung von übergebenen Parametern
local function getParameter ( Frame, Params, Parameter )
   local argsParent = Frame:getParent().args
   local argsFrame = Frame.args
   for key,value in pairs ( argsParent ) do
      argsParent[mw.ustring.lower(tostring(key))] = value
   end
   for key,value in pairs ( argsFrame ) do
      argsParent[mw.ustring.lower(tostring(key))] = value
   end
   return argsParent[Parameter] or argsFrame[Parameter] or Params[Parameter]
end

local currency = {}

function currency.getCurrencyNameByCode ( frame )
	local display = ''
	local name = iso4217.getNameLong ( getParameter ( frame, cfgParams["getCurrencyNameByCode"], 'code' ) )
	if ( name == '' ) then display = display .. check._error ( 'Währungscode ist nicht bekannt', 'Währung' ) end
	return display .. name
end

function currency.getCurrencyOfCountryWithCode ( frame )
	local cfgCountries = mw.loadData('Modul:Währung/Länder')
	local country = getParameter ( frame, cfgParams["getCurrencyOfCountryWithCode"], 'id' )
	local display = check._testParams ( frame:getParent().args, cfgParams["getCurrencyOfCountryWithCode"], 'Währung' )
	if ( cfgCountries[country] == nil ) then
		display = display .. '[[Kategorie:Artikel ohne Währung auf Wikidata]]'
	else
		display = display .. '<span class="wikidata-content">' .. cfgCountries[country][3] .. ' (' .. cfgCountries[country][4] .. ')</span>[[Kategorie:Seiten, die die Wikidata-Eigenschaft P38 benutzen]][[Kategorie:Seiten, die die Wikidata-Eigenschaft P498 benutzen]]'
	end
	return display
end

function currency.getCurrencyNameOfCountry ( frame )
	local cfgCountries = mw.loadData('Modul:Währung/Länder')
	local country = getParameter ( frame, cfgParams["getCurrencyNameOfCountry"], 'id' )
	local display = check._testParams ( frame:getParent().args, cfgParams["getCurrencyNameOfCountry"], 'Währung' )
	display = display .. '<span class="wikidata-content">' .. cfgCountries[country][3] .. '</span>[[Kategorie:Seiten, die die Wikidata-Eigenschaft P38 benutzen]]' or display .. '[[Kategorie:Artikel ohne Währung auf Wikidata]]'
	return display
end

function currency.getCurrencyCodeOfCountry ( frame )
	local cfgCountries = mw.loadData('Modul:Währung/Länder')
	local country = getParameter ( frame, cfgParams["getCurrencyCodeOfCountry"], 'id' )
	local display = check._testParams ( frame:getParent().args, cfgParams["getCurrencyCodeOfCountry"], 'Währung' )
	display = display .. '<span class="wikidata-content">' .. cfgCountries[country][4] .. '</span>[[Kategorie:Seiten, die die Wikidata-Eigenschaft P38 benutzen]][[Kategorie:Seiten, die die Wikidata-Eigenschaft P498 benutzen]]' or display .. '[[Kategorie:Artikel ohne Währung auf Wikidata]]'
	return display
end

return currency