Wikipedia:Lua/Modul/TemplateData/Global
From Wikipedia, the free encyclopedia
Mit dem Plug-In global kann eine vielsprachige Dokumentation für weltweit genutzte Standardvorlagen geteilt werden.
| Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
| Modul | Deutsch | English | Modul: | Dokumentation | |||
Voraussetzung ist, dass der Parametersatz in den verschiedenen Wiki-Projekten identisch oder mit nur geringen Abweichungen verwendet wird.
Parameter der TemplateData-Vorlage
Statt des üblichen Parameters JSON= wird verwendet:
Global=Bezeichner
Der Bezeichner identifiziert eine Ressource im globalen Repositorium.
Außerdem kann ein weiterer Parameter für notwendige lokale Anpassungen benutzt werden:
Local=JSON code
Globales Repositorium
- Es wird das Projekt Commons: (Wikimedia Commons) erwartet, und zwar zurzeit nur im Namensraum
Data:. - Dort wird, sofern dem Bezeichner kein expliziter Pfadname vorangestellt wurde, eine „Oberseite“ Commons:Data:TemplateData angenommen.
- Sofern keine explizite „Datei-Endung“ angehängt wurde, wird das Format
.tabangenommen; dies ist „Tabular Data“.
Tabellenformat
Die Beschreibung description der Gesamt-Tabelle umreißt die vorgesehene Vorlage und verweist auf deren Eintrag bei Wikidata.
Die sonstigen formalen Einträge (Lizenz usw.) entsprechen den üblichen Gepflogenheiten.
Die Daten-Sektion spezifiziert dann vor allem die einzelnen Vorlagenparameter.
Vom Daten-Schema wird erwartet, dass es die meisten der nachstehenden Felder definiert, sofern benötigt:
| name | type | Anmerkung |
|---|---|---|
name |
string |
Obligatorisch |
label |
localized | |
description |
localized | |
type |
string | |
required |
boolean | |
suggested |
boolean | |
default |
localized | |
example |
localized | |
aliases |
string |
aliaseswäre eine durch Pipe-Symbole|getrennte Auflistung der Parameternamen.deprecateddarf (muss), anders als beim MediaWiki TemplateData, vom Typlocalizedsein.
deprecatedwäre für eine globale Beschreibung einer stabilen Vorlage ungewöhnlich, könnte aber eines Tages ebenfalls auftreten, falls eine Umstellung vorgenommen werden muss.autovalueundinheritssowiestylewerden nicht erwartet, sind jedoch möglich.
Anders als bei dem von MediaWiki für TemplateData vorgesehenen JSON-Objekt, bei dem die Komponenten als set (assoziativ, map) in beliebiger Reihenfolge wiedergegeben werden können, wird hier ein Array von Objekten verwendet. Damit ist sichergestellt, dass die Parameter in genau der definierten Reihenfolge gehandhabt werden.
Allgemein gilt:
nameist der Name des einzelnen Vorlagenparameters.- Alle anderen Bezeichner entsprechen den gängigen TemplateData-Attributen.
- Sofern Elemente vom Typ
localizedoderstringfür diesen Parameter nicht verwendet werden sollen, kann ihnen der Wertnullzugewiesen werden. - Es müssen immer genauso viele Felder zugewiesen werden wie im Schema definiert wurde, die Aufzählung also ggf. mit
nullaufgefüllt werden. - Eine Zeichenkette darf maximal 400 Zeichen lang werden.
Der Parametername |, der in der Vorlagenprogrammierung nicht möglich wäre, hat eine Sonderbedeutung:
- Er definiert die Vorlage als Ganzes.
- Die
descriptionist die Anwenderbeschreibung des Vorlagenzwecks. - Das Feld
typebeschreibt das Quelltextformatformat(block/inline).
Lokale Anpassung
Mit dem Parameter Local= der TemplateData-Vorlage können alle globalen Werte lokal überschrieben werden.
Der Wert ist eine Zeichenkette als JSON im gleichen Format wie der Parameter JSON=, definiert jedoch nur solche Eigenschaften, die sich lokal unterscheiden sollen.
Bei der Parameterliste gibt es folgende Abweichungen:
- Sie ist ein Array von Objekten, genauso wie auch in der globalen Tabelle.
- Sie enthält jedoch nur die Vorlagenparameter.
- Statt als assoziativ benannte Komponente enthält jede Parameterspezifikation einen oder zwei der möglichen
string-Werteglobalund/oderlocal.
| global | local | Bedeutung |
|---|---|---|
string |
fehlend | Weise die sonstigen Eigenschaften dem global mit gleichem name spezifizierten Parameter zu. |
string |
string |
Benenne den globalen Parameter entsprechend um; ansonsten wie vor. |
string |
false |
Entferne diesen globalen Parameter aus der Liste. |
| fehlend | string |
Füge einen entsprechenden lokalen Parameter an dieser Stelle der Liste hinzu. |
Die Reihenfolge im Array definiert die Reihenfolge in der Darstellung.
Für die Kombination bereits vorhandener Definitionen gilt:
- Ist noch kein Wert gesetzt, wird der lokale Wert verwendet.
- Ist ein atomarer (string/boolean) globaler Wert vorhanden, wird er durch den lokalen Wert überschrieben.
- Ist ein
localizedbereits vorhanden, sollte der lokale Wert ebenfalls vom Typlocalizedsein. Vorhandene Sprachkomponenten werden dann mit lokalen Werten überschrieben, zusätzliche Sprachkomponenten hinzugefügt.