Modul:Währung
Dieses Modul ist getestet und für den projektweiten Gebrauch geeignet. Es kann in Vorlagen benutzt und auf Hilfeseiten erläutert werden. Entwicklungen an dem Modul sollten auf Währung/Test und die Anwendung auf der Spielwiese getestet werden, da wiederholte Trial-and-Error-Edits die Resourcen stark belasten können. |
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
- Modul:Währung/Params – enthält ein mehrdimensionales Array mit allen erlaubten Parametern für jede Funktion/Vorlage und ihre Standardbelegung.
- Modul:Währung/Länder – Liste der Länder mit ihren Währungen
Benötigte weitere Module
- Die obige Dokumentation wurde aus der Seite Modul:Währung/Doku eingefügt. (bearbeiten | Versionsgeschichte) Die Kategorien für dieses Modul sollten in der Dokumentation eingetragen werden. Die Interwiki-Links sollten auf Wikidata eingepflegt werden.
- Liste der Unterseiten
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