Wikipedia:Lua/Modul/TemplateData/Global

Wikipedia:Lua/Modul/TemplateData/Global
Vorlagenprogrammierung Diskussionen Lua Test Unterseiten
Modul Deutsch English

Modul: Dokumentation

Switch to English

Mit dem Plug-In global kann eine vielsprachige Dokumentation für weltweit genutzte Standardvorlagen geteilt werden.

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 .tab angenommen; 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
  • aliases wäre eine durch Pipe-Symbole | getrennte Auflistung der Parameternamen.
  • deprecated darf (muss), anders als beim MediaWiki TemplateData, vom Typ localized sein.
    deprecated wäre für eine globale Beschreibung einer stabilen Vorlage ungewöhnlich, könnte aber eines Tages ebenfalls auftreten, falls eine Umstellung vorgenommen werden muss.
  • autovalue und inherits sowie style werden 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:

  • name ist der Name des einzelnen Vorlagenparameters.
  • Alle anderen Bezeichner entsprechen den gängigen TemplateData-Attributen.
  • Sofern Elemente vom Typ localized oder string für diesen Parameter nicht verwendet werden sollen, kann ihnen der Wert null zugewiesen werden.
  • Es müssen immer genauso viele Felder zugewiesen werden wie im Schema definiert wurde, die Aufzählung also ggf. mit null aufgefü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 description ist die Anwenderbeschreibung des Vorlagenzwecks.
  • Das Feld type beschreibt das Quelltextformat format (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-Werte global und/oder local.
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 localized bereits vorhanden, sollte der lokale Wert ebenfalls vom Typ localized sein. Vorhandene Sprachkomponenten werden dann mit lokalen Werten überschrieben, zusätzliche Sprachkomponenten hinzugefügt.

Implementierung

Anregung

en:User:Yurik

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.