Dokumentation für das Modul Landesbezeichnung[Ansicht] [Bearbeiten] [Versionsgeschichte] [Aktualisieren]

Dieses Modul enthält Funktionen für Vorlagen die Landesbezeichnungen verwenden. Man kann die Landesbezeichnungen einfach ausgeben oder sich für die Weiterverarbeitung in anderen Vorlagen und Modulen erzeugen lassen, um z.B. standardisierte Datei-, Artikel- und Kategoriennamen auf Wikivoyage oder Commons zu generieren.

Die Funktionen holen sich die Argumente aus der Vorlage und müssen beim Modulaufruf nicht nochmals übergeben werden. Vergessene Parameter werden mit Standardwerten belegt, unbekannte Parameter werden als Fehlermeldung zusätzlich mit im Artikel ausgegeben.

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 Landesbezeichnung 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 Landesbezeichnung.

Submodule

Funktionen

nameTLD

Die Funktion gibt den Landesnamen zu einer Top-Level-Domain aus. Sie erwartet von der aufrufenden Vorlage folgende Parameter:

  • |sprache= Sprachcode für die Sprache, in der die Landesbezeichnungen ausgegeben werden (Standard: de)
  • |tld= Top-Level-Domain des Landes

Vorlagen

  • Syntax: {{Landesbezeichnung|sprache=Sprachcode|tld=Top-Level-Domain}}
  • Lua-Funktion: p.nameTLD

Benötigte weitere Module

Dieses Modul benötigt folgende weitere Module: Check2
Hinweise
local check = require('Modul:Check2')   local p = {}  local nameList = { 	de = 'deutsch', 	en = 'englisch' 	}  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.nameTLD ( frame ) 	 	-- zulässige Parameter einlesen 	params = mw.loadData('Modul:Landesbezeichnung/Params') 	funcParams = params['nameTLD'] 	 	-- Argumente holen, die der Vorlage übergeben wurden 	args = frame:getParent().args  	-- Argumente auswerten, auf Vorhandensein prüfen und ggf. mit Standardwerten belegen 	local lang = p.arguments ( frame, funcParams, 'sprache') 	local tld = p.arguments ( frame, funcParams, 'tld')  	-- Variable für die Ausgabe erzeugen 	local display = '' 	local errorStr = '' 	 	-- Ist die Namensliste bekannt? 	if nameList[lang] == nil then 		errorStr = check._error ('Landesbezeichungen sind für die Sprache ' .. lang .. ' nicht eingerichtet. Bitte [[Modul:Landesbezeichnung/' .. lang .. ']] anlegen.', 'Landesbezeichnung' )	 	end 	 	-- Ausgabe der Landesbezeichnung 	countryList = mw.loadData('Modul:Landesbezeichnung/'..lang) 	countryName = countryList[tld]; 	if countryName == nil then  		countryName = '' 		 		-- Nochmal in den Provinzlisten nachsehen 		local province = require('Modul:ISO 3166-2') 		local country = string.lower ( string.sub(tld,1,2) ) 		local success, countryList = pcall(mw.loadData, 'Modul:ISO 3166-2/' .. country ) 		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 ' .. country .. ' existiert nicht. Bitte [[Modul:ISO 3166-2/' .. country .. ']] anlegen.' 		else 			local result = province.translateBasic ( countryList, string.upper ( tld ), 'ISO3166-2', lang ) 			if ( result[1] ) then 				countryName = result[2] 			else 				errorStr = errorStr .. check._error ('Übergebene Top-Level-Domain ' .. tld .. ' ist nicht bekannt', 'Landesbezeichnung' ) 				errorStr = errorStr .. check._error (result[2] .. '(country=' .. country .. ', lang=' .. lang .. ')', 'ISO 3166-2' ) 			end 		end  	end 	display = countryName  	-- Fehlertext und Ausgabe zurückgeben 	return errorStr .. check._testParams ( args, funcParams, 'Landesbezeichnung' ) .. display 	 end  return p