
![]() | 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 ISO 3166-2/Test und die Anwendung auf der Spielwiese getestet werden, da wiederholte Trial-and-Error-Edits die Resourcen stark belasten können. |
Submodule
- Modul:ISO 3166-2/Params – enthält ein mehrdimensionales Array mit allen erlaubten Parametern für jede Funktion/Vorlage und ihre Standardbelegung.
Funktion
Dieses Modul enthält Funktionen zur Abfragen von Provinznamen und ihrem ISO 3166-2. Es kann ebenfalls zum Übersetzen von Provinznamen in andere Sprachen genutzt werden. Vorlagenprogrammierer können damit den deutschen oder englischen Provinznamen bei gegebenem ISO 3166-2-Code abfragen oder beispielsweise in Provinzartikel automatisiert Karten (bei denen der Dateiname im Regelfall die englische Bezeichnung enthält) einbinden.
Verwendung in Vorlagen
- {{ISO 3166-2}} – Die allgemeine Funktion liefert den Namen einer Region in gewünschter Sprache zu einem ISO-Code und umgedreht. Auch die Übersetzung von einer Sprache in eine andere ist möglich.
- {{ISO 3166-2 nach DE}} – Liefert den deutschen Namen einer Region bei gegebenem ISO-Code
- {{ISO 3166-2 nach EN}} – Liefert den englischen Namen einer Region bei gegebenem ISO-Code
- {{BASEPAGENAME/<Sprachcode>}} und {{BASEPAGENAMEX/<Sprachcode>}} – Liefert den englischen Namen des Region, in deren Artikel die Vorlage eingebunden ist.
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 ISO 3166-2 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 ISO 3166-2.
Benötigte weitere Module
- Die obige Dokumentation wurde aus der Seite Modul:ISO 3166-2/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 check = require('Modul:Check2') local p = {} function p.arguments ( paraFrame , paraParams, paraOption ) argsParent = paraFrame:getParent().args argsFrame = paraFrame.args local value = argsParent[paraOption] if value == nil then value = argsFrame[paraOption] end if value == nil then value = paraParams[paraOption] end return value end function p.translateBasic ( isoSet, region, from, to ) local result = {} result[1] = false result[2] = 'Kein Eintrag für Region ' .. region .. ' gefunden' for key,value in pairs ( isoSet ) do if ( value[from] == region ) then if ( value[to] ~= nil ) then result[1] = true result[2] = value[to] else result[1] = false result[2] = 'Eintrag gefunden, aber Sprache ' .. to .. ' ist nicht definiert.' end end end return result end function p.translate ( frame ) -- zulässige Parameter einlesen params = mw.loadData('Modul:ISO 3166-2/Params') funcParams = params['translate'] -- Argumente holen, die der Vorlage übergeben wurden args = frame:getParent().args -- Argumente auswerten, auf Vorhandensein prüfen und ggf. mit Standardwerten belegen local tld = string.lower ( p.arguments ( frame, funcParams, 'tld') ) local region = p.arguments ( frame, funcParams, 'region') local from = p.arguments ( frame, funcParams, 'von') local to = p.arguments ( frame, funcParams, 'nach') -- ISO-Angabe in Großbuchstaben wandeln if ( from == 'ISO3166-2' ) then region = string.upper ( region ) end -- Variable für die Ausgabe erzeugen local display = '' local errorStr = '' local resultSet = {} local success, countryList = pcall(mw.loadData, 'Modul:ISO 3166-2/' .. tld) if not success then -- return check._error ( 'Landesinfo zu ' .. tld .. ' existiert nicht. Bitte [[Modul:ISO 3166-2/' .. tld .. ']] anlegen.', 'ISO 3166-2' ) return 'Landesinfo zu ' .. tld .. ' existiert nicht. Bitte [[Modul:ISO 3166-2/' .. tld .. ']] anlegen.' else resultSet = p.translateBasic ( countryList, region, from, to ) if resultSet[1] then display = resultSet[2] else errorStr = errorStr .. check._error ( resultSet[2], 'ISO 3166-2' ) end -- Fehlertext und Ausgabe zurückgeben return errorStr .. check._testParams ( args, funcParams, 'ISO 3166-2' ) .. display end end function p.codetable ( frame ) -- zulässige Parameter einlesen params = mw.loadData('Modul:ISO 3166-2/Params') funcParams = params['translate'] -- Argumente holen, die der Vorlage übergeben wurden args = frame:getParent().args -- Argumente auswerten, auf Vorhandensein prüfen und ggf. mit Standardwerten belegen local tld = string.lower ( p.arguments ( frame, funcParams, 'tld') ) -- Variable für die Ausgabe erzeugen local display = '' local errorStr = '' local thead = true local success, countryList = pcall(mw.loadData, 'Modul:ISO 3166-2/' .. tld) if not success then -- return check._error ( 'Landesinfo zu ' .. tld .. ' existiert nicht. Bitte [[Modul:ISO 3166-2/' .. tld .. ']] anlegen.', 'ISO 3166-2' ) return 'Landesinfo zu ' .. tld .. ' existiert nicht. Bitte [[Modul:ISO 3166-2/' .. tld .. ']] anlegen.' else display = '<table id="iso3166-2_' .. tld .. '" class="prettytable sortable">' for key,value in pairs ( countryList ) do if thead then display = display .. '<tr>' for key2,value2 in pairs ( value ) do display = display .. '<th>' .. key2 .. '</th>' end display = display .. '</tr>' for key2,value2 in pairs ( value ) do display = display .. '<td>' .. value2 .. '</td>' end thead = false else display = display .. '<tr>' for key2,value2 in pairs ( value ) do display = display .. '<td>' .. value2 .. '</td>' end display = display .. '</tr>' end end display = display .. '</table>' -- Fehlertext und Ausgabe zurückgeben return errorStr .. check._testParams ( args, funcParams, 'ISO 3166-2' ) .. display end -- Fehlertext und Ausgabe zurückgeben return errorStr .. check._testParams ( args, funcParams, 'ISO 3166-2' ) .. display end return p