Dokumentation für das Modul ISO 3166-2[Ansicht] [Bearbeiten] [Versionsgeschichte] [Aktualisieren]

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

Dieses Modul benötigt folgende weitere Module: Check2
Hinweise
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