Wikifunctions:Status-Updates/2025-09-07
| ◀ | ▶ |
Funktionsaufrufe aus einer Wikipedia in eine andere kopieren
Wir haben nun die Möglichkeit, natürliche Sprachen als Standardwert in eingebetteten Funktionsaufrufen zu verwenden. Wenn ein Argument vom Typ natürliche Sprache weggelassen wird, verwenden wir automatisch die Sprache der Seite als Standardwert für dieses Argument.
Zusammen mit Wikidata-Datenobjekten und Daten des Gregorianischen Kalenders ermöglicht dies eine recht hohe Flexibilität: Beispielsweise kann ein Funktionsaufruf ein Datum, ein Wikidata-Datenobjekt und eine Sprache weglassen und automatisch auf das Datenobjekt der Seite angewendet werden, in der Sprache des jeweiligen Wikis zurückgegeben werden und das aktuelle Datum für die Berechnung verwenden. Ein solcher Aufruf kann dann von einem Artikel in einen anderen kopiert und eingefügt werden — sogar zwischen Wikipedias oder Wiktionarys unterschiedlicher Sprachen!
Wir haben noch keine Funktion, die alle drei Standardwerte verwendet. Wenn du jedoch eine solche Funktion erstellst, die für Wikipedias nützlich ist, lass es uns wissen! Wir würden sie gerne hier vorstellen.
Einer der am häufigsten vorkommenden Sätze in der Englischen Wikipedia ist beispielsweise “She is a vegetarian.” beziehungsweise “He is a vegetarian.”.

Nun kann man einen eingebetteten Funktionsaufruf haben, wie zum Beispiel
{{#function:Z26039||Q18338317|}}
Wenn du das in den Artikel von Brian May in der Englischen Wikipedia kopierst (nachdem wir es in der Englischen Wikipedia eingeführt haben), wird der folgende Satz angezeigt:
- “Brian May is a vegetarian.”
Du kannst genau denselben Aufruf kopieren und in den Artikel über Paul McCartney in der Englischen Wikipedia einfügen und erhältst den folgenden Satz:
- “Paul McCartney is a vegetarian.”
Du kannst ihn auch in den Deutschen Wikipedia-Artikel von Paul McCartney kopieren und erhältst den folgenden Satz:
- “Paul McCartney ist ein Vegetarier.”
Oder auf Schwedisch:
- “Paul McCartney är en vegetarian.”
Oder auf Arabisch:
- "بول مكارتني نباتي"
Oder auf Esperanto:
- “Paul McCartney estas vegetarano.”
Und wenn das erledigt ist, kannst du zum Artikel über Brian May auf Englisch zurückkehren und ihn wie folgt ändern:
{{#function:Z26039||Q27522900|}}
Das Ergebnis ist der etwas korrektere Satz:
- “Brian May is a vegan.”
Wenn wir das doch nur in allen Sprachen gleichzeitig aktualisieren könnten… 😉[1]
Dank des Visual Editors bearbeitest du nicht die rohen QIDs, sondern verwendest einen formularbasierten Editor zum Erstellen und Verwalten des Funktionsaufrufs. Nur bei Verwendung des Quelltext-Editors wirst du direkt mit ZIDs und QIDs konfrontiert.
- ↑ Dies ist eine nicht sonderlich verschleierte Werbung für die Abstrakte Wikipedia.
Letzte Änderungen an der Software

Im Rahmen unserer Arbeit in diesem Quartal zur Verbesserung der Benutzerfreundlichkeit von in Wiki-Artikeln eingebetteten Wikifunctions (T397411) haben wir die Benutzeroberfläche um benutzerdefinierte, übersetzbare Fehler erweitert (T402382). Dadurch profitiert die Wikifunktions-Community von der Erstellung klarer, spezifischer Fehlertypen und deren Beseitigung aus ihrem Code. Endbenutzer verstehen so, was sie möglicherweise falsch gemacht haben und wie sie es beheben können. Wir planen, in Kürze eine Anleitung zur Nutzung dieser Funktion zu schreiben und ihre Nutzung zu fördern.
Neben dieser Arbeit haben wir in diesem Quartal viel Zeit damit verbracht, den Back-End-Funktionsauswerterdienst neu zu schreiben, sodass er Rust statt Node verwendet, da dieses besser für die Koordination mehrerer WASM-Unterprozesse geeignet ist (T343720). Letzte Woche haben wir den Meilenstein des Prototyps des Rust-Codes erreicht, der den Lebenszyklus der Weiterleitung eingehender Aufrufe an den richtigen JavaScript- oder Python-Ausführer (T399321) und die Aufrechterhaltung eines Pools bereitstehender Ausführer für die Weiterleitung von Anfragen umfasst (T399322). Im Rahmen umfassenderer Wikimedia-Service-Updates haben wir außerdem die Basis-Images von Node 20 auf Node 22 umgestellt.
Leider kam es am Mittwochnachmittag/-abend (US-Zeit) zu einem teilweisen Dienstausfall, der durch ein beschädigtes zwischengespeichertes Objekt verursacht wurde (T403671). Die Caching-Schicht, die wir im letzten Quartal für Objekte hinzugefügt hatten, wies einen Fehler auf. Sie speicherte alles, was die API ihr lieferte, einschließlich eines beschädigten/defekten Objekts, und versuchte es nicht erneut. In diesem Fall wurde der wichtige Typ Z13518/natürliche Zahl falsch zwischengespeichert. Da er in vielen anderen Typen und Funktionen verwendet wird, führte dies dazu, dass das System weitgehend nicht mehr verwendet werden konnte. Wir haben dringende Korrekturen vorgenommen, um fehlerhafte Objekte aus dem Cache zu entfernen und sie in Zukunft nicht mehr zwischenzuspeichern. In der Nacht haben wir die neue Version des Dienstes notfallmäßig bereitgestellt, um neue Aufrufe zu reparieren. Frühere Aufrufversuche können in einem fehlerhaften Zustand zwischengespeichert sein, verfallen jedoch und werden mit der Zeit ersetzt. Wir entschuldigen uns nochmals bei allen Betroffenen und danken den Mitgliedern der Wikifunctions-Community, die das Problem zuerst entdeckt und uns darauf aufmerksam gemacht haben.
Neuigkeiten zu Typen: grammatikalische Person und keltische Mutationen
Wir haben zwei neue Aufzählungen implementiert, Grammatical person (3) (Z27970) und Celtic mutation (Z27971).
In vielen Sprachen gibt es das Konzept einer grammatikalischen Person und oft gibt es drei verschiedene grammatikalische Personen: sie beziehen sich auf den Sprecher, den Zuhörer oder eine andere Person. Basierend auf dem Vorschlag von Dv103 verfügen wir nun über eine Aufzählung für diese drei Werte.
Bretonisch und andere keltische Sprachen zeichnen sich durch Konsonantenmutationen am Anfang bestimmter Wörter aus. Um diese einfacher beschreiben zu können, wurde ein Vorschlag von Dv103 zur Identifizierung der fünf verschiedenen Mutationen erstellt, sich darauf geeinigt und umgesetzt.
Wir haben auch versucht, einen Typ für chemische Elemente zu erstellen, aber aufgrund der für uns beispiellosen Größe des Typs treten bisher zwei Probleme auf, an denen wir derzeit arbeiten. Wir hoffen, diese bald beheben zu können.
Es gibt weitere Typenvorschläge und ich werde sie regelmäßig prüfen und weiter umsetzen – insbesondere diejenigen, die Konsens oder breite Unterstützung finden. Macht also weiterhin Vorschläge, diskutiert und stimmt über die bestehenden Vorschläge ab, und wir setzen sie weiter um.
Wöchentliche neue Funktionen: 36 neue Funktionen
Letzte Woche hat die Community 36 neue Funktionen erstellt. Hier ist eine unvollständige Liste von Funktionen mit Implementierungen und bestandenen Tests, um einen Eindruck davon zu bekommen, welche Funktionen erstellt wurden. Vielen Dank an alle für ihre Beiträge!
- round rational with numerator length (Z27699)
- round rational to fixed decimal places, simplified (Z27705)
- round rational to fix decimal places, unsimplified (Z27719)
- decimal places in rational significant figures (Z27730)
- decimal exponent in unrounded scientific notation (Z27737)
- switch on gender (m/f) and number (s/p) (Z27748)
- age of a person in years (Z27758)
- decimal exponent in rounded scientific notation (Z27762)
- round to decimal (simplified) with sig figs (Z27765)
- round natural to significant figures (Z27778)
- winning probability from ELO rating (Z27783)
- update ELO rating after matches (Z27791)
- round to decimal (unsimplified) with sig figs (Z27803)
- is simplified denominator divisible by factor (Z27811)
- is simplified denominator a factor of multiple (Z27815)
- signed numerator of simplified rational number (Z27820)
- multiply natural by integer (Z27826)
- unsimplified rational from Z, N (Z27836)
- scale Wikidata quantity to new units (Z27846)
- join two HTML fragments (Z27849)
- raw content of HTML fragment (Z27854)
- HTML raw content to HTML fragment (Z27861)
- string to HTML fragment (Z27868)
- wrap an HTML fragment in a tag (Z27873)
- create wikitable with columns and rows headers (Z27878)
- name for table header (Z27885)
- choose the language and replace the parameters (Z27893)
- label of item in fallback language (Z27899)
- choose string in first available language (Z27905)
- replace parameters in a string (Z27908)
- typed key–value pairs from typed map (Z27915)
- Body Mass Index (metric, rational) (Z27919)
- Portuguese article-less instantiating sentence (Z27924)
- join multiple HTML fragments (Z27926)
- transform HTML fragment with unary string function (Z27932)
- weight of a configuration (Z27938)
Eine vollständige Liste aller Funktionen, sortiert nach Erstellungsdatum, ist verfügbar.